电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

多位数码管动态显示

多位数码管动态显示_第1页
1/17
多位数码管动态显示_第2页
2/17
多位数码管动态显示_第3页
3/17
【006】多位数码管动态显示 [51] 点击数:2102 发布日期:2006-4-16 16:04:00 【收藏】 【评论】 【打印】 【编程爱好者论坛】 【关闭】 实验目的:数码管动态显示多位数字。 实验参考:笨笨工作室 实验五、多位数码动态显示。(查看原文) 实验板: FB51A(查看)。 该实验用到实验板的资源电路图如下: 其中 P0口是段码,低电平有效。P2口是位码,高电平有效。P2.0口控制第 1个数码管,一直到 P2.7口控制第 8个。该板的段码表如下: 各个数码管的段码都是p0口的输出,即各个数码管输入的段码都是一样的, 为了使其分别显示不同的数字, 可采用动态显示的方式,即先只让最低位显示0(含点),经过一段延时,再只让次低位显示1,如此类推。由视觉暂留,只要我们的延时时间足够短,就能够使得数码的显示看起来非常的稳定清楚。过程如下图。 采用上述方法思路编写如下: org 0000h start: mov a,#08h ;0 ;段码 mov p0,a mov p2,#01h ;位码 lcall delay_1ms mov a,#0abh ;1 mov p0,a mov p2,#02h lcall delay_1ms mov a,#12h ;2 mov p0,a mov p2,#04h lcall delay_1ms mov a,#22h ;3 mov p0,a mov p2,#08h lcall delay_1ms mov a,#0a1h ;4 mov p0,a mov p2,#10h lcall delay_1ms mov a,#24h ;5 mov p0,a mov p2,#20h lcall delay_1ms mov a,#04h ;6 mov p0,a mov p2,#40h lcall delay_1ms ; mov a,#0aah ;7 ; mov p0,a mov p0,#0aah ;感觉用这句和上面两句实现一样,可能这种习惯以后会有用吧 mov p2,#80h lcall delay_1ms ljmp start delay_1ms: mov r6,#2 temp: mov r5,#0ffh djnz r5,$ djnz r6,temp ret end 下载到板上得到测结果为从低到高八位分别显示0到7(含点)。 ★上述方法逐次给 P0或者 P2赋值,一方面程序的复杂程度增加,另外一方面会使得程序的灵活性降低。如果要改变显示的数字,程序改动起来很麻烦。 所以要用 51单片机中常用的一种方法:查表法。例如 P0口输出段码时,我们可以把要显示的段码放在一个表格中,然后每次从这个表格里面取数,送到P0口即可。P2口输出位码时,可以把要用的位码放在另一个表格里,每次从此表中取数,送入 P2口。这样,如果要改变显示的数字,只需要改变表格里面的数。 org 0000h start: mov r7,#0ffh ;r7,r6查表时送入变址寄存器 a (因自加 1后为0,所以预置 ffh) m...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

多位数码管动态显示

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部