您的当前位置:首页正文

数码管0到9滚动显示

2021-05-11 来源:尚佳旅游分享网


ORG 00H

JMP START

START:MOV DPTR,#TABLE ;取地址

CLR A ;清零

MOV P2,A ;清零

MOV P3,A ;清零

MOVC A,@A+DPTR ;取数值

LOOP:

MOV P1,#11111110B;P1口左移一位

MOV P0,# 0FCH ;输出0

CALL DELAY ;延迟

MOV R0,#20 ;循环20次

LOOP1:MOV P1,#11111110B;P1口左移一位

MOV P0,#60H ;1

CALL delay1 ;延迟

MOV P1,#11111101B;P1口左移一位

MOV P0,#0FCH ;0

CALL delay1 ;延迟

DJNZ R0,LOOP1 ;跳转

MOV R0,#20 ;循环20次

LOOP2:MOV P1,#11111110B;P1口左移一位

MOV P0,#0DAH ;2

CALL delay1 ;延迟

MOV P1,#11111101B;P1口左移一位

MOV P0,#60H ;1

CALL delay1 ;延迟

MOV P1,#11111011B;P1口左移一位

MOV P0,#0FCH ;0

CALL DELAY1 ;延迟

DJNZ R0,LOOP2 ;跳转

MOV R0,#20 ;循环20次

LOOP3:MOV P1,#11110111B;P1口左移一位

MOV P0,# 0FCH ;0

CALL delay1 ;延迟

MOV P1,#11111011B;P1口左移一位

MOV P0,#60H ;1

CALL delay1 ;延迟

MOV P1,#11111101B;P1口左移一位

MOV P0,#0DAH ;2

CALL delay1 ;延迟

MOV P1,#11111110B;P1口左移一位

MOV P0,#0F2H ;3

CALL DELAY1 ;延迟

DJNZ R0,LOOP3 ;跳转

MOV R0,#20 ;循环20次

LOOP4:MOV P1,#11110111B;P1口左移一位

MOV P0,# 60H ;1

CALL delay1 ;延迟

MOV P1,#11111011B;P1口左移一位

MOV P0,#0DAH ;2

CALL delay1 ;延迟

MOV P1,#11111101B;P1口左移一位

MOV P0,#0F2H ;3

CALL delay1 ;延迟

MOV P1,#11111110B;P1口左移一位

MOV P0,#66H ;4

CALL DELAY1 ;延迟

DJNZ R0,LOOP4 ;跳转

MOV R0,#20 ;循环20次

LOOP5:MOV P1,#11110111B;P1口左移一位

MOV P0,# 0DAH ;2

CALL delay1 ;延迟

MOV P1,#11111011B;P1口左移一位

MOV P0,#0F2H ;3

CALL delay1 ;延迟

MOV P1,#11111101B;P1口左移一位

MOV P0,#66H ;4

CALL delay1 ;延迟

MOV P1,#11111110B;P1口左移一位

MOV P0,#0B6H ;5

CALL DELAY1 ;延迟

DJNZ R0,LOOP5 ;跳转

MOV R0,#20 ;循环20次

LOOP6:MOV P1,#11110111B;P1口左移一位

MOV P0,#0F2H ;3

CALL delay1 ;延迟

MOV P1,#11111011B;P1口左移一位

MOV P0,#66H ;4

CALL delay1 ;延迟

MOV P1,#11111101B;P1口左移一位

MOV P0,#0B6H ;5

CALL delay1 ;延迟

MOV P1,#11111110B;P1口左移一位

MOV P0,#0BEH ;6

CALL DELAY1 ;延迟

DJNZ R0,LOOP6 ;跳转

MOV R0,#20 ;循环20次

LOOP7:MOV P1,#11110111B;P1口左移一位

MOV P0,#66H ;4

CALL delay1 ;延迟

MOV P1,#11111011B;P1口左移一位

MOV P0,#0B6H ;5

CALL delay1 ;延迟

MOV P1,#11111101B;P1口左移一位

MOV P0,#0BEH ;6

CALL delay1 ;延迟

MOV P1,#11111110B;P1口左移一位

MOV P0,#0E0H ;7

CALL DELAY1 ;延迟

DJNZ R0,LOOP7 ;跳转

MOV R0,#20 ;循环20次

LOOP8:MOV P1,#11110111B;P1口左移一位

MOV P0,#0B6H ;5

CALL delay1 ;延迟

MOV P1,#11111011B;P1口左移一位

MOV P0,#0BEH ;6

CALL delay1 ;延迟

MOV P1,#11111101B;P1口左移一位

MOV P0,#0E0H ;7

CALL delay1 ;延迟

MOV P1,#11111110B;P1口左移一位

MOV P0,#0FEH ;8

CALL DELAY1 ;延迟

DJNZ R0,LOOP8 ;跳转

MOV R0,#20 ;循环20次

LOOP9:MOV P1,#11110111B;P1口左移一位

MOV P0,#0BEH ;6

CALL delay1 ;延迟

MOV P1,#11111011B;P1口左移一位

MOV P0,#0E0H ;7

CALL delay1 ;延迟

MOV P1,#11111101B;P1口左移一位

MOV P0,#0FEH ;8

CALL delay1 ;延迟

MOV P1,#11111110B;P1口左移一位

MOV P0,#0F6H ;9

CALL DELAY1 ;延迟

DJNZ R0,LOOP9 ;跳转

MOV R0,#20 ;循环20次

LOOP10:MOV P1,#11110111B;P1口左移一位

MOV P0,#0E0H ;7

CALL delay1 ;延迟

MOV P1,#11111011B ;P1口左移一位

MOV P0,#0FEH ;8

CALL delay1 ;延迟

MOV P1,#11111101B;P1口左移一位

MOV P0,#0F6H ;9

CALL delay1 ;延迟

DJNZ R0,LOOP10

MOV R0,#20 ;循环20次

LOOP11:MOV P1,#11110111B;P1口左移一位

MOV P0,#0FEH ;8

CALL delay1 ;延迟

MOV P1,#11111011B;P1口左移一位

MOV P0,#0F6H ;9

CALL delay1 ;延迟

DJNZ R0,LOOP11 ;

MOV R0,#20 ;循环20次

LOOP12:MOV P1,#11110111B;P1口左移一位

MOV P0,#0F6H ;9

CALL delay1 ;延迟

DJNZ R0,LOOP12

INC DPTR ;指针加1

CLR A ;清零

MOVC A,@A+DPTR ;取数值

CJNE A,#00H,LOOPP ;判断是否为最后一个

JMP START ;重新开始循环

LOOPP:LJMP LOOP ;跳转返回

;长延迟

DELAY: MOV R5,#20

D2: MOV R6,#20

D1: MOV R7,#248

DJNZ R7,$

DJNZ R6,D1

DJNZ R5,D2

RET

;短延时

delay1:MOV R6,#5

D3: MOV R5,#248

DJNZ R5,$

DJNZ R6,D3

ret

TABLE:

DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H

DB 00 ;结束标志

END

因篇幅问题不能全部显示,请点此查看更多更全内容