如何利用8253和8259在数码管上闪烁数字编程

如何利用8253和8259在数码管上闪烁数字编程,第1张

LOOP: 标号

CLR P2.6 选中p2.6 数码管左边的8字使能

SETB P2.7 p2.7不使能。 右边的数码管消隐

MOV P0,#28H 把28h送p0口;数码管显示 0

LCALL DELAY 延时

MOV P0,#0FFH 0ffh 送p0口,数码管清除

CLR P1.0点亮p1.0发光管

MOV P0,#7EH 把7eh送p0口;数码管显示 1

LCALL DELAY

MOV P0,#0FFH

CLR P1.1 点亮p1.0发光管

CLR P1.0 点亮p1.0发光管

MOV P0,#0A2H 数码管显示 2

LCALL DELAY

MOV P0,#0FFH

CLR P1.2

CLR P1.1

CLR P1.0

MOV P0,#62H数码管显示 3

LCALL DELAY

MOV P0,#0FFH

CLR P1.3

CLR P1.2

CLR P1.1

CLR P1.0

MOV P0,#74H数码管显示 4

LCALL DELAY

MOV P0,#0FFH

CLR P1.4

CLR P1.3

CLR P1.2

CLR P1.1

CLR P1.0

MOV P0,#61H 数码管显示 5

LCALL DELAY

MOV P0,#0FFH

CLR P1.5

CLR P1.4

CLR P1.3

CLR P1.2

CLR P1.1

CLR P1.0

MOV P0,#21H 数码管显示 6

LCALL DELAY

MOV P0,#0FFH

CLR P1.6

CLR P1.5

CLR P1.4

CLR P1.3

CLR P1.2

CLR P1.1

CLR P1.0

MOV P0,#7AH 数码管显示 7

LCALL DELAY

MOV P0,#0FFH

CLR P1.7

CLR P1.6

CLR P1.5

CLR P1.4

CLR P1.3

CLR P1.2

CLR P1.1

CLR P1.0

MOV P0,#20H 数码管显示 8

LCALL DELAY

MOV P0,#0FFH

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

程序到此结果为左边的数码管显示0,1,2,3,4,5,6,7,8

p1.0------------p1.7指示灯依次点亮

SETB P2.6 左边的8消隐

CLR P2.7 选中p2.7 数码管右边的8字使能 ,;

MOV P0,#28H

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

CLR P1.0

MOV P0,#7EH

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

CLR P1.1

MOV P0,#0A2H

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

CLR P1.2

MOV P0,#62H

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

CLR P1.3

MOV P0,#74H

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

CLR P1.4

MOV P0,#61H

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

CLR P1.5

MOV P0,#21H

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

CLR P1.6

MOV P0,#7AH

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

CLR P1.7

MOV P0,#20H

LCALL DELAY

MOV P0,#0FFH

MOV P1,#0FFH

MOV P0,#0FFH

MOV P1,#0FFH

这一段和上一段基本相同, 不同的是右边的数码管依次显示012345678,左边的不亮;

同时p1口的灯流动显示:

AJMP LOOP注意: 程序运行到此跳转到开始标号,重复执行:

DELAY: 延时子程序;参考前面的教程:

CLR P3.3 注意小喇叭在3.3口, 这里可以使小喇叭发出嗒,嗒声

MOV R7,#255

NOP

NOP

D1:MOV R6,#255

setb p3.3

D2: DJNZ R6,D2

clr p3.3

DJNZ R7,D1

SETB P3.3

RET

END

ORG 0000H

LJMP MAIN

ORG 0030H

MAIN:

MOV R0,#0

MOV R1,#3

LOOP:

MOV DPTR,#TABLE

MOV A,R0

MOVC A,@A+DPTR

MOV P1,A

LCALL DELAY

MOV P1,#00H

LCALL DELAY

DJNZ R1,LOOP

INC R0

MOV R1,#3

CJNE R0,#10,LOOP

MOV R0,#0

SJMP LOOP

DELAY:

MOV R2,#200

DELAY1:

MOV R3,#250

DJNZ R3,$

DJNZ R2,DELAY1

RET

TABLE: 共阴极数码管显示代码表

DB3FH,06H,5BH,4FH,66H 01234

DB6DH,7DH,07H,7FH,6fh 56789

END


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/11834028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存