欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
用學習板上數碼管顯示8051
[打印本頁]
作者:
雪中梅花
時間:
2014-10-20 14:14
標題:
用學習板上數碼管顯示8051
我是初學單片機的學員只懂匯編語言編的程序是否合理請各位老師指正,使用的學習板是在論壇買的。
ORG 0000H ;晶振6,數碼顯示8051右移程序
AJMP START
START: MOV SP,#60H
MOV R0,#250
aaa1: MOV R1,#250 ;上電延時
DJNZ R1,$
DJNZ R0,aaa1
KKK: CLR P1.4
MOV R2,#0FFH ;循環次數
KK: MOV A,#7FH ;數碼顯示8
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11111110B ;數碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#3FH ;數碼顯示0
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11111101B ;數碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#6DH ;數碼顯示5
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11111011B ;數碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#06H ;數碼顯示1
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11110111B ;數碼顯示位置
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 ;數碼顯示8
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11111101B ;數碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#3FH ;數碼顯示0
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11111011B ;數碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#6DH ;數碼顯示5
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11110111B ;數碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#06H ;數碼顯示1
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11101111B ;數碼顯示位置
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 ;數碼顯示8
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11111011B ;數碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#3FH ;數碼顯示0
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11110111B ;數碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#6DH ;數碼顯示5
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11101111B ;數碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#06H ;數碼顯示1
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11011111B ;數碼顯示位置
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 ;數碼顯示8
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11110111B ;數碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#3FH ;數碼顯示0
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11101111B ;數碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#6DH ;數碼顯示5
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11011111B ;數碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#06H ;數碼顯示1
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#10111111B ;數碼顯示位置
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 ;數碼顯示8
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11101111B ;數碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#3FH ;數碼顯示0
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#11011111B ;數碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#6DH ;數碼顯示5
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#10111111B ;數碼顯示位置
MOV P0,A
SETB P2.7
CLR P2.7
LCALL DELAY1
MOV A,#06H ;數碼顯示1
MOV P0,A
SETB P2.6
CLR P2.6
MOV A,#01111111B ;數碼顯示位置
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 ;數碼顯示關閉
SETB P2.7
CLR P2.7
LCALL DELAY
LCALL DELAY
LCALL DELAY
LJMP KKK
DELAY: MOV R0,#0A5H ;100毫秒延時子程序
DL0: MOV R1,#96H
DJNZ R1,$
DJNZ R0, DL0
RET
DELAY1: MOV R0,#31H ;500微秒延時子程序
DL1: MOV R1,#01H
DJNZ R1,$
DJNZ R0,DL1
RET
END
作者:
a119
時間:
2014-10-20 21:17
這個程序能成功實現左移動嗎?
作者:
雪中梅花
時間:
2014-10-21 08:14
謝謝老師的回復,這個程序我在學習板上試驗正常但是循環右移請老師指點。
作者:
明白
時間:
2014-10-21 09:20
程序屬于機器操作,其實可以采用算法進行循環
作者:
明白
時間:
2014-10-21 12:45
采用循環程序就短很多了,程式就下面
LP1:循環顯示8位數碼管、
LP2:右移所到之處,重復循環顯示多遍
LP3:右移4個位置
沒有電路板調試,自己調整吧
ORG 0000H ;晶振6,數碼顯示8051右移程序
AJMP START
START: MOV SP,#60H
MOV R6,#250
aaa1: MOV R7,#250 ;上電延時
DJNZ R7,$
DJNZ R6,aaa1
KKK: CLR P1.4
MOV R5,#0 ;數碼管右移4次
LP3: MOV R2,#250 ;每一個花樣顯示遍數
LP2: MOV DPTR,#TAB
MOV R3,#8 ;顯示8位數碼管
MOV R4,#01111111B ;開始數碼顯示的位置
LP1: MOV A,R5
MOVC A,@A+DPTR
MOV P0,A
SETB P2.6
CLR P2.6
MOV P0,R4 ;數碼顯示位置
SETB P2.7
CLR P2.7
LCALL DELAY1
INC DPTR ;指向表格中的下一個數值
MOV A,R4 ;指向下一個數碼顯示的位置
RR A ;指向下一個數碼顯示的位置
MOV R4,A ;指向下一個數碼顯示的位置
DJNZ R3,LP1 ;8位都顯示了嗎?
DJNZ R2,LP2 ;遍數顯示完成了嗎
INC R5
CJNE R5,#4,LP3
MOV P0,#11111111B ;數碼顯示關閉
SETB P2.7
CLR P2.7
LCALL DELAY
LCALL DELAY
LCALL DELAY
LJMP KKK
TAB: DB 0, 0, 0, 0, 06H, 6DH, 3FH, 7FH, 0, 0, 0, 0
; 熄 熄 熄 熄 1 5 0 8 熄 熄 熄 熄
DELAY: MOV R6,#0A5H ;100毫秒延時子程序
DL0: MOV R7,#96H
DJNZ R7,$
DJNZ R6, DL0
RET
DELAY1: MOV R6,#31H ;500微秒延時子程序
DL1: MOV R7,#01H
DJNZ R7,$
DJNZ R6,DL1
RET
END
作者:
雪中梅花
時間:
2014-10-21 15:09
感謝老師的指點學習了今后有不明白的問題在向您請教。
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1