久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 單片機基礎匯編語言編程實例

單片機基礎匯編語言編程實例

作者: 時間:2013-03-07 來源:網絡 收藏

編程

1.編寫程序,用位處理指令實現“P1.4=P1.0∨(P1.1∧P1.2)∨P1.3”的邏輯功能。

MOV C,P1.1
ANL C,P1.2
ORL C,P1.0
ORL C,P1.3
MOV P1.3,C

2.編寫程序,若累加器A的內容分別滿足下列條件,則程序轉到LABLE存儲單元。設A中存放的的無符號數。
(1)A≥10; (2)A>10; (3)A≤10。
(1)
CJNE A,#10,NEXT
LJMP LABLE
NEXT:
JNC LABLE
(2)
CJNE A,#10,NEXT
LJMP NEXT2
NEXT:
JNC LABLE
NEXT2:
(3)
CJNE A,#10,NEXT
LJMP LABLE
NEXT:
JC LABLE

3.編寫程序,查找片內RAM的30H~50H單元中是否有55H這一數據,若有,則51H單元置為FFH;若未找到,則將51H單元清0。
MOV R0,29H
NEXT:
INC R0
CJNE R0,#51H,NEXT2
MOV 51H,#0FFH
AJMP OVER
NEXT2:
CJNE @R0,#55H,NEXT
MOV 51H,#0
OVER:

4.編寫程序,查找片內RAM的30H~50H單元中出現0的次數,并將查找的結果存入51H單元。
MOV R0,30H
MOV 51H,#0
NEXT:
CJNE @R0,#00H,NEXT2
INC 51H
NEXT2:
INC R0
CJNE R0,#51H,NEXT

5.在片外RAM中有一個數據塊,存有若干字符、數字,首地址為SOURCE要求將該數據塊傳送到片內RAM以DIST開始的區域,直到遇到字符“$”時結束($也要傳送,它的ASCII碼為24H)。
MOV DPTR,#SOURCE
MOV R0,#DIST
NEXT:
MOVX A,@DPTR
MOV @R0,A
INC DPTR
INC R0
CINE A,#24H,NEXT

6.片內RAM的30H和31H單元中存放著一個16位的二進制數,高位在前,低位在后。編寫程序對其求補,并存回原處。
CLR C
MOV A,#0
SUBB A,31H
MOV 31H,A
MOV A,#0
SUBB A,30H
MOV 30H,A

7.片內RAM中有兩個4字節壓縮的BCD碼形式存放的十進制數,一個存放在30H~33H單元中,另一個存放在40H~43H單元中。編寫程序將它們相加,結果的BCD碼存放在30H~33H中。
CLR C
MOV R0,#30H
MOV R1,#40H
MOV R2,#4
NEXT:
MOV A,@R0
ADDC A,@R1
MOV @R0,A
INC R0
INC R1
DJNZ R2,NEXT

8.編寫程序,把片外RAM從2000H開始存放的16字節數據,傳送到片內從30H開始的單元中。
MOV DPTR,#2000H
MOV R0,#30H
MOV R1,#0
NEXT:
MOVX A,@DPTR
MOV @R0,A
INC DPTR
INC R0
INC R1
CINE R1,#16H,NEXT

51單片機相關文章:51單片機教程




評論


相關推薦

技術專區

關閉