📄 用at89c51实验板的两位数码管显示00~99依次循环的汇编语言程序.txt
字号:
用AT89C51实验板的两位数码管显示00~99依次循环的汇编语言程序
栏 目 树 形 导 航
| 首页 | 学习中心 | 课设与竞赛 | 下载中心 | 图片现场 | 技术留言 | 关于我们 | 本站提供 |
|
竞赛与设计首页
|
关于竞赛
|
历届电子竞赛题目
|
竞赛作品选编
|
历届仪器元器件范围
|
单片机课程设计
|
您现在的位置: 奔跑的单片机 >> 课设与竞赛 >> 单片机课程设计 >> 信息正文 用户登录 新用户注册
用AT89C51实验板的两位数码管显示00~99依次循环的汇编语言程序 【字体:小 大】
用AT89C51实验板的两位数码管显示00~99依次循环的汇编语言程序
作者:佚名 信息来源:本站原创 点击数:382 更新时间:2007-12-4
用AT89C51实验板的两位数码管显示00~99依次循环的汇编语言程序
a_bit equ 20h ;数码管个位数存放内存位置
b_bit equ 21h ;数码管十位数存放内存位置
temp equ 22h ;计数器数值存放内存位置
star: mov temp,#0 ;初始化计数器,从0开始
stlop: acall display;调用显示子程序
inc temp;对计数器加1
mov a,temp
cjne a,#100,next ;判断计数器是否满100?
mov temp,#0;满100就清零重新开始
next: ljmp stlop;不满就循环执行
;显示子程序
display: mov a,temp ;将temp中的十六进制数转换成10进制
mov b,#10 ;10进制/10=10进制
div ab
mov b_bit,a ;十位在a
mov a_bit,b ;个位在b
mov dptr,#numtab ;指定查表启始地址
mov r0,#4
dpl1: mov r1,#250 ;
dplop: mov a,a_bit ;取个位数
MOVC A,@A+DPTR ;查个位数的7段代码
mov p0,a ;送出个位的7段代码
clr p2.7 ;开个位显示
acall d1ms ;显示162微秒
setb p2.7;关闭个位显示,防止鬼影
mov a,b_bit ;取十位数
MOVC A,@A+DPTR ;查十位数的7段代码
mov p0,a ;送出十位的7段代码
clr p2.6 ;开十位显示
acall d1ms ;显示162微秒
setb p2.6;关闭十位显示,防止鬼影
djnz r1,dplop ;循环执行250次
djnz r0,dpl1 ;循环执行250X4=1000次
ret
;2+2X80=162微秒,延时按12MHZ计算
D1MS: MOV R7,#80
DJNZ R7,$
RET
;实验板上的7段数码管0~9数字的共阴显示代码
numtab: DB 0CFH,03H,5DH,5BH,93H,0DAH,0DEH,43H,0DFH,0DBH
end
;如果是共阳数码管的显示代码
numtab: DB 30H,0FCH,0A2H,0A4H,06CH,25H,21H,0BCH,20H,24H
信息录入:lintel 责任编辑:lintel
上一条信息: 步进电机运行系统控制设计
下一条信息: 数字温度计_单片机课程设计1
【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】
最新热点最新推荐相关信息
步进电机运行系统控制设计
电子时钟4
电子时钟3
电子时钟系统2
电子时钟系统
电子时钟2
单片机课设_电子时钟
关于召开2006年全国大学生…
悬挂运动控制系统(设计报告…
悬挂运动控制系统
没有推荐信息
数字温度计_单片机课程设计4
数字温度计_单片机课程设计3
数字温度计_单片机课程设计2
数字温度计_单片机课程设计1
步进电机运行系统控制设计
电子时钟4
电子时钟3
电子时钟系统2
电子时钟系统
电子时钟2
网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
没有任何评论
| 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |
《奔跑的单片机》All Rights Reserved Lintel 站长:驿风
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -