AT89S51单片机怎么用汇编语言让数码管从0到9显示
发布网友
发布时间:2024-02-05 02:59
我来回答
共3个回答
热心网友
时间:2024-03-11 17:37
START:MOV R5,#00H ;次数计数单元R5,后面的程序应该看得懂了,都是教科书式的
MAIN: MOV A,R5
MOV DPTR,#TAB
MOV A,@A+DPTR
LCALL DISPLAY
CJNE,R5,#10,START ;次数到,从头再来
LJMP MAIN
DISPLAY: ;数码管显示子程序
..................
..................
LCALL DLY10MS
DLY10MS:.............. ;数码管显示延时
.............................
TAB: DB .................................... ;数码管七段码表
热心网友
时间:2024-03-11 17:38
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:
MOV R2,#0
MOV DPTR,#LEDTAB
LOOP:
MOV A,R2
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAY
INC R2
MOV A,R2
CJNE A,#10,LOOP
SJMP MAIN
DELAY:
MOV R3,#100
DELAY1:
MOV R4,#250
DJNZ R4,$
DJNZ R3,DELAY1
RET
LEDTAB:
DB 0C0H ;"0" 00H
DB 0F9H ;"1" 01H
DB 0A4H ;"2" 02H
DB 0B0H ;"3" 03H
DB 99H ;"4" 04H
DB 92H ;"5" 05H
DB 82H ;"6" 06H
DB 0F8H ;"7" 07H
DB 80H ;"8" 08H
DB 90H ;"9" 09H
END
热心网友
时间:2024-03-11 17:38
- >