基于Proteus+8051汇编应用实例系列之五--数码管显示拨码开关编码

题目描述:
  
           Proteus仿真图如下所示:

通过一个拨码开关来生成一个数,并通过4位数码管以十进制方式显示出来,其中拨码开关与P1口连接,P0口通过一个74LS245来与数码管相连(因为P9口自身的高电平不足以驱动数码管,需要这个器件来帮忙),段选连接到P2口的低四位上。
问题分析:
1)拨码开关因每一位的开关状态,构成一个有8个二进制位的字节,即读取P1口的数值也就是拨码开关的状态
2)将P1口的数值读回来,是以16进制(实质当然还是8个二进制)表示,需要将它转换成三位的十进制数显示在数码管上,通过除以10,余数为个位数,然后再除以10,余数是十位,商是百位数。
3)多位数码管的动态扫描显示,即通过段选指定显示第几个数字,通过引脚将相应信号传入,并保留一个很短的时间段,然后将所以段选再关闭(称作消隐过程),以显示下一位数字。注意这种动态扫描,就是一位一位地显示,在间隔够短时,人眼看到的便是三位同时显示的效果了。另外注意消隐过程,若无消除,当各位显示间隔较大时,出现流动显示的效果,间隔够短时,便显示乱码了,可能每一位都显示不正常了。

代码文件main.asm


                
  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值