標(biāo)題: 單片機(jī)新手proteus仿真圖文件與匯編語言源程序 [打印本頁]
作者: yangshunyao2016 時間: 2018-3-7 20:54
標(biāo)題: 單片機(jī)新手proteus仿真圖文件與匯編語言源程序
單片機(jī)新手或教學(xué)使用。
單字節(jié)BCD碼減法.doc:
實現(xiàn)R0指向的單元減去R1指向的RAM單元內(nèi)容(十進(jìn)制減法),結(jié)果存在R0指向的RAM單元中。
答案:
ORG 0000H
LJMP MAIN
ORG 4100H
MAIN:MOV A,#9AH
CLR C
SUBB A,@R1
ADD A,@R0
DA A
MOV @R0,A
END
堆棧操作.doc:
判斷操作結(jié)果
ORG 0000H
LJMP MAIN
ORG 4100H
MAIN: MOV SP,# 2FH
MOV A,#88H
MOV R2,#5
PUSH ACC
PUSH 02H
MOV R2,#10H
MOV A,#80H
ADD A,R2
DA A
MOV R0,A
POP 02H
POP ACC
END
多字節(jié)BCD碼加法.doc
ORG 0000H
LJMP MAIN
ORG 4100H
MAIN:MOV A,R7
MOV R2,A
ADD A,R0
MOV R0,A
MOV A,R2
ADD A,R1
MOV R1,A
CLR C
BCD: DEC R0
DEC R1
MOV A,@R0
ADDC A,@R1
DA A
MOV @R0,A
DJNZ R2,BCD
END
0.jpg (60.48 KB, 下載次數(shù): 27)
下載附件
2018-3-7 21:42 上傳
例如:15362817+29436485=44799302
(R7)=4 (R0)=30H (R1)=40H
外部RAM訪問.doc
1、 將片外RAM2000H單元內(nèi)容傳送到內(nèi)部RAM的30H中。
2、 將片外(2000H)傳送到2001H中。
答案:
ORG 0000H
LJMP MAIN
ORG 4100H
MAIN:MOV DPTR,#2000H
MOVX A,@DPTR
MOV R0,#30H
MOV @R0,A
END
ORG 0000H
LJMP MAIN
ORG 4100H
MAIN:MOV DPTR,#2000H
MOVX A,@DPTR
MOV DPTR,#2001H
MOVX @DPTR,A
END
偽指令練習(xí).doc
1、 建立表格,首地址為4300H,將0----9的平方值存放在表格中。并將0——9送給A,取出A 中對應(yīng) 的平方值且送到外部RAM的30H單元中。
ORG 0000H
LJMP MAIN
ORG 4100H
MAIN:MOV DPTR,#4300H
MOVC A,@A+DPTR
MOV R0,#30H
MOV @R0,A
SJMP $
ORG 4300H
DB 0,1,4,9,16H,25H
DB 36H,49H,64H,81H
END
開關(guān)控制的中斷系統(tǒng)
ORG0000H
LJMPMAIN
ORG 0003H
LJMPINT_0
ORG 4100H
MAIN: MOVIE,#10000001B
SETB IT0
MOV A,#7FH
MOV R0,#1
LOOP: CJNER0,#0H,LEFT
RL A
AJMPDELAYS
LEFT: RR A
DELAYS:MOV P1,A
ACALL DELAY
ACALLDELAY
ACALLDELAY
ACALLDELAY
ACALLDELAY
AJMP LOOP
DELAY: MOV R7,#82H
DL1: MOV R6,#0FFH
DL2: NOP
DJNZ R6,DL2
DJNZR7,DL1
RET
INT_0: CLR EX0
ACALL DELAY
SETBEX0
CJNER0,#0H,SETR0_1;
MOV R0,#1
RETI
SETR0_1:MOV R0,#0H
RETI
END
0.jpg (97.93 KB, 下載次數(shù): 37)
下載附件
2018-3-7 21:47 上傳
0.png (46.08 KB, 下載次數(shù): 36)
下載附件
2018-3-7 21:47 上傳
問題:
1、 R0=1時,左移還是右移?R0什么時候等于0?
2、 MOV IE,#10000001B,定義了哪些位?作用?
3、 中斷服務(wù)程序主要完成什么任務(wù)?
4、 圖中開關(guān)的電位如何變化?
5、 IT0是哪個寄存器中的?作用是什么?
6、 R0在程序中的作用是什么?
7、 CJNE R0,#0H,SETR0-1 指令作用?R0為什么和0比較?
秒表
0.jpg (68.69 KB, 下載次數(shù): 39)
下載附件
2018-3-7 21:48 上傳
ORG 0000H
LJMP MAIN
ORG 000BH
LJMP INT_T0
ORG 0100H
MAIN: MOV TMOD,#00000001B
MOV TH0,#3CH
MOV TL0,#0B0H
MOV R7,#0
MOV DPTR,#TAB
MOV R0,#0
SETB EA
SETB ET0
SETB TR0
LOOP:MOV A,R0
MOVC A,@A+DPTR
MOV P2,A
ACALL DELAY
AJMP LOOP
INT_T0:INC R7
CJNE R7,#10,RETURN
MOV R7,#0
INC R0
CJNE R0,#10,RETURN
MOV R0,#0
RETURN:MOV TH0,#3CH
MOV TL0,#0B0H
RETI
DELAY: MOV R2,#0FFH
DL: DJNZ R2,DL
RET
TAB:DB 40H,4FH,24H,30H,19H
DB 12H,02H,78H,00H,10H
END
1、 SETB EA 和SETB ET0兩條指令變成一條指令,如何編寫?
2、 如果秒表只顯示02468,在不改變表格的基礎(chǔ)上如何改?
3、 如果秒表是2秒進(jìn)一,程序如何改?
4、 如果要顯示3,P2口的值?
5、 R7的作用是什么?
6、 R0的作用是什么?
7、 TMOD都設(shè)置了哪些位?這些位作用是什么?
0.png (11.71 KB, 下載次數(shù): 39)
下載附件
2018-3-7 21:49 上傳
0.png (43.59 KB, 下載次數(shù): 45)
下載附件
2018-3-7 21:50 上傳
全部資料51hei下載地址:
程序和圖.zip
(264.92 KB, 下載次數(shù): 29)
2018-3-7 20:53 上傳
點擊文件名下載附件
程序
下載積分: 黑幣 -5
作者: fgdssdgsd 時間: 2020-6-15 20:05
分享的很幫,很簡單,很易學(xué),對我有很大幫助
歡迎光臨 (http://www.torrancerestoration.com/bbs/) |
Powered by Discuz! X3.1 |