数码管动态显示程序设计
展开全部
我先来帮你分析一下这个程序:
(1)到(4)的功能是由p0口给出数码管的段码。我猜想在p0口和数码管的段码线之间是一个锁存器,这样能够保证当p0口的数据变化之后,数码管的数字不变化。这时,数码管不能显示相应数字,因为位码线还没有被选中。
(5)到(8)的功能是由p0口给出数码管的位码。这时位码线被选中,在段码和位码的同时作用下,数码管被激活,显示shi对应的数字。
然后延时delay(5);
执行到时(10),由于p0给出了ge的段码,而位码还没改变,这时候当然要在第一个数码管上显示第二个数码管的内容。
执行到(14),位码改变,第二个数码管被选中,这时段码和位码共同作用,第二个数码管显示ge所对应的数字。
然后延时。
由于第一个数码管显示ge的时间很短,只有不到十个机器周期,而正常显示的时间很长,这个时间是delay(5),所以看不出ge曾经在第一个数码管上经过,所以看上去显示效果是对的。
这也就是为什么要加延时程序(8)和(16)。如果不加的话,第一个数码管会快速的在ge和shi之间进行“切换”,最后的结果是数码管一显示8,而数码管二正常显示,你可以试一下。
因此回答如下:
问题一:延时程序的目的是为了掩盖数码管一上的“切换”,给你的眼睛“错觉”。
问题二:没有讲究,是锁存器的锁存特性造成的,延时程序很好解决了这一问题。
楼上的回答很不准确,我不赞同。即使把13.14.15和9.10.11换一下,如果不加延时程序,问题同样存在,只不过成了数字shi经过数码管二而已。
郭天祥讲的时候,程序不是现成的,是当时现场写的,出现错误也是正常的。
(1)到(4)的功能是由p0口给出数码管的段码。我猜想在p0口和数码管的段码线之间是一个锁存器,这样能够保证当p0口的数据变化之后,数码管的数字不变化。这时,数码管不能显示相应数字,因为位码线还没有被选中。
(5)到(8)的功能是由p0口给出数码管的位码。这时位码线被选中,在段码和位码的同时作用下,数码管被激活,显示shi对应的数字。
然后延时delay(5);
执行到时(10),由于p0给出了ge的段码,而位码还没改变,这时候当然要在第一个数码管上显示第二个数码管的内容。
执行到(14),位码改变,第二个数码管被选中,这时段码和位码共同作用,第二个数码管显示ge所对应的数字。
然后延时。
由于第一个数码管显示ge的时间很短,只有不到十个机器周期,而正常显示的时间很长,这个时间是delay(5),所以看不出ge曾经在第一个数码管上经过,所以看上去显示效果是对的。
这也就是为什么要加延时程序(8)和(16)。如果不加的话,第一个数码管会快速的在ge和shi之间进行“切换”,最后的结果是数码管一显示8,而数码管二正常显示,你可以试一下。
因此回答如下:
问题一:延时程序的目的是为了掩盖数码管一上的“切换”,给你的眼睛“错觉”。
问题二:没有讲究,是锁存器的锁存特性造成的,延时程序很好解决了这一问题。
楼上的回答很不准确,我不赞同。即使把13.14.15和9.10.11换一下,如果不加延时程序,问题同样存在,只不过成了数字shi经过数码管二而已。
郭天祥讲的时候,程序不是现成的,是当时现场写的,出现错误也是正常的。
专业语音导览
2024-11-15 广告
2024-11-15 广告
展厅分区讲解系统是用于展览、展示厅等场所的讲解系统,可以根据不同的展示内容和需求进行分区,实现不同区域间的独立讲解。选择合适的展厅分区讲解系统需要考虑以下几个方面:1. 讲解区域的数量和分布:根据展示场所的实际情况,确定需要分几个区域,以及...
点击进入详情页
本回答由专业语音导览提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询