|
|
我是初學(xué)單片機(jī)的學(xué)員只懂匯編語(yǔ)言編的程序是否合理請(qǐng)各位老師指正,使用的學(xué)習(xí)板是在論壇買(mǎi)的。
ORG 0000H ;晶振6,數(shù)碼顯示8051右移程序
AJMP START
START: MOV SP,#60H
MOV R0,#250
aaa1: MOV R1,#250 ;上電延時(shí)
DJNZ R1,$
DJNZ R0,aaa1
KKK: CLR P1.4
MOV R2,#0FFH ;循環(huán)次數(shù)
KK: MOV A,#7FH ;數(shù)碼顯示8
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11111110B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#3FH ;數(shù)碼顯示0
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11111101B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#6DH ;數(shù)碼顯示5
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11111011B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#06H ;數(shù)碼顯示1
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11110111B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
DEC R2
CJNE R2,#0H,KK
MOV R3,#1
DEC R3
CJNE R3,#0H,KK
KK1: MOV A,#7FH ;數(shù)碼顯示8
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11111101B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#3FH ;數(shù)碼顯示0
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11111011B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#6DH ;數(shù)碼顯示5
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11110111B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#06H ;數(shù)碼顯示1
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11101111B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
DEC R2
CJNE R2,#0H,KK1
MOV R3,#1
DEC R3
CJNE R3,#0H,KK1
KK2: MOV A,#7FH ;數(shù)碼顯示8
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11111011B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#3FH ;數(shù)碼顯示0
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11110111B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#6DH ;數(shù)碼顯示5
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11101111B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#06H ;數(shù)碼顯示1
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11011111B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
DEC R2
CJNE R2,#0H,KK2
MOV R3,#1
DEC R3
CJNE R3,#0H,KK2
KK3: MOV A,#7FH ;數(shù)碼顯示8
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11110111B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#3FH ;數(shù)碼顯示0
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11101111B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#6DH ;數(shù)碼顯示5
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11011111B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#06H ;數(shù)碼顯示1
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#10111111B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
DEC R2
CJNE R2,#0H,KK3
MOV R3,#1
DEC R3
CJNE R3,#0H,KK3
KK4: MOV A,#7FH ;數(shù)碼顯示8
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11101111B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#3FH ;數(shù)碼顯示0
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11011111B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#6DH ;數(shù)碼顯示5
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#10111111B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#06H ;數(shù)碼顯示1
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#01111111B ;數(shù)碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
DEC R2
CJNE R2,#0H,KK4
MOV R3,#1
DEC R3
CJNE R3,#0H,KK4
MOV P0,#11111111B ;數(shù)碼顯示關(guān)閉
SETB P2.7
CLR P2.7
LCALL DELAY
LCALL DELAY
LCALL DELAY
LJMP KKK
DELAY: MOV R0,#0A5H ;100毫秒延時(shí)子程序
DL0: MOV R1,#96H
DJNZ R1,$
DJNZ R0, DL0
RET
DELAY1: MOV R0,#31H ;500微秒延時(shí)子程序
DL1: MOV R1,#01H
DJNZ R1,$
DJNZ R0,DL1
RET
END
|
|