單片機(jī)編程:找出最大數(shù),并存入BIG單元中
單片機(jī)編程:找出最大數(shù),并存入BIG單元中。
設(shè)內(nèi)部RAM從LIST單元開始存有一組無符號(hào)數(shù),數(shù)據(jù)個(gè)數(shù)為30,編程找出最大數(shù),并存入BIG單元中。
;----------------------------------------------------------------
最佳答案:
程序如下:
MOV BIG, #0
MOV R0, #LIST
MOV R2, #30
CHA:
MOV A, @R0
CJNE A, BIG, QQQ
QQQ:
JC WWW
MOV BIG, A
WWW:
INC R0
DJNZ R2, CHA
SJMP $
END
;完
;----------------------------------------------------------------
===============================================================
另一個(gè)題目:
單片機(jī)編程題 急!??!高手進(jìn),小弟送分?。?!
懸賞分:20 | 解決時(shí)間:2010-4-11 21:41 |
1。編程將外部數(shù)據(jù)存儲(chǔ)器2100H單元中的高4位置“1”,其余位清“0”
2。編程將內(nèi)部數(shù)據(jù)存儲(chǔ)器40H單元的第0位和第7位置“1”,其余位取反。
加以注釋,謝謝
;----------------------------------------------------------------
最佳答案:
1。編程將外部數(shù)據(jù)存儲(chǔ)器2100H單元中的高4位置“1”,其余位清“0”
MOV DPTR, #2100H ;設(shè)定地址
MOV A, #11110000B ;準(zhǔn)備數(shù)字
MOVX @DPTR, A ;送到外部數(shù)據(jù)存儲(chǔ)器2100H單元中
2。編程將內(nèi)部數(shù)據(jù)存儲(chǔ)器40H單元的第0位和第7位置“1”,其余位取反。
MOV A, 40H
ORL A, #10000001B ;或,即是按照“位”相加
XRL A, #01111110B ;用1異或,相當(dāng)與取反
MOV 40H, A
;----------------------------------------------------------------
后記:
51 單片機(jī)的邏輯運(yùn)算指令,是可以直接針對(duì)片內(nèi)RAM地址進(jìn)行的。
采用這種方法,只需兩條指令:
ORL 40H, #10000001B ;或,即是按照“位”相加
XRL 40H, #01111110B ;用1異或,相當(dāng)與取反
即可。這種做法,也就太簡單了 !
但是,如果是寫作業(yè),恐怕是不行,因?yàn)槔蠋焸?,都是希望用笨辦法解決。