普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 4987|回复: 0

有兴趣一起学习用汇编语言编程3

 关闭 [复制链接]

42

主题

563

帖子

1907

积分

金牌会员

Rank: 6Rank: 6

积分
1907
发表于 2016-10-15 19:40:28 | 显示全部楼层 |阅读模式
《动态数码管0~7显示》-----请指教

ORG 0000H
AJMP START
ORG 000BH ;定时器0的中断向量地址
AJMP TIME0 ;跳转到真正的定时器程序处
ORG 30H
START:
MOV P0,#00H;初始化,关闭所以显示器
MOV P2,#00H
MOV 30H,#00H ;软件计数器预清0
MOV TMOD,#00000001B ;定时/计数器0工作于方式1
MOV TH0,#0FCH
MOV TL0,#18H ;即数1000
SETB EA ;开总中断允许
SETB ET0 ;开定时/计数器0允许
SETB TR0 ;定时/计数器0开始运行
LOOP:
AJMP LOOP ;可写入其他程序
TIME0: ;定时器0的中断处理程序
PUSH ACC
PUSH PSW ;将PSW ,ACC推入堆栈保护
INC 30H
MOV A,30H
CJNE A,#08,T_RET ;30H 单元中的值到了08了吗?
T_CLR:
MOV 30H,#0 ;清软件计数器
T_RET:
MOV A, 30H
MOV DPTR,#TAB
MOVC A,@A+DPTR 2口8个数码管的COM端开关进行查表形式的动态显示
MOV P2,A
MOV A,30H ;将现有的30H单元中的值给A
ADD A,#08H ;将30H中的值+8,使之指向查表的下一行字符0开始显示
MOVC A,@A+DPTR
MOV P0,A  ;将重新查表后的数值给P0口,使之显示相应的字符
MOV TH0,#0FCH
MOV TL0,#18H ;重置定时常数
POP PSW
POP ACC
RETI
TAB: DB  00H,04H,08H,0CH,10H,14H,18H,01CH
     DB 03FH,06H,05BH,04FH,66H
     DB 06DH,07DH,07H,07FH,06FH
     DB 77H,07CH,39H,05EH,79H,71H
END
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-5-5 10:48 , Processed in 0.085952 second(s), 30 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表