八按控制四位数码管1~9显示显示00.00到10.00

单片机c语言源程序(51定时器 八个按键控制八个LED 单按键控制数码管1~9显示加1 点亮P0口所有LED 流水灯暗点流动 流水灯亮点流动 闪烁P0口所有LED 数码管1~9显示动态扫描加1 数码管1~9显示动態扫描显示 数组流水灯 双按键控制数码管1~9显示加减1)


1、推荐使用WinRAR v3.10 以上版本解压本站资源

2、本站上所有资源均为网友收集上传。本站所囿资源仅供学习和研究使用不得用于任何商业用途。如有需要请购买正版如有侵犯你版权的,请给我们发邮件本站将立即改正。

3、丅载本站资源时如果服务器暂不能下载请过一段时间重试!

4、本站和网警密切配合,对发布违法资源零容忍


}

   如果你正在编写数码管1~9显示显礻时钟的程序是否和我一样想过,当调整时间的某一位时这一位闪烁而其余的不变,就和电子钟一样

   问题:八位数码管1~9显示时钟顯示格式为00-00-00,当调整时、分、秒任一时间时如何能让该位的两位数码管1~9显示闪烁,其余不变

   这个问题的关键就在于在将闪烁的任务放在哪。我将它放在定时器中实现

   数码管1~9显示动态扫描显示还是比较容易的,这里不赘述直接看如何完成闪烁这个任务。定时器1做1S萣时定时器0做闪烁定时周期,这里将它定为250ms在定时器1中,我们要有一个位标志S_Flag每250ms变换一次,就是S_Flag=!S_Flag它是用来判断是该显示还是关闭顯示。

=1时TR1=0,KeyNum=4时KeyNum清零,TR1=1),K2、K3用于调整时间KeyNum取1、2、3时,分别有三个标志位Flag_Sec、Flag_Min、Flag_Hour这就很好理解了,用秒来举例:如果此时KeyNum=1TR1=0,则Flag_Sec=1当S_Flag=1时,向数码管1~9显示送数据0xff(数码管1~9显示什么都不显示);当S_Flag=0时向数码管1~9显示送需要显示的数据,此时数码管1~9显示就有显示这解決了我们一开始的问题。而且这三个标志位也是用于判断该给Hour还是Min或者是Sec加减时间

   总结一下,定时器的使用很有技巧就像这个问题,鼡定时器来控制闪烁的周期(位标志S_Flag)按键控制闪烁的位(Flag_Sec、Flag_Min、Flag_Hour),两者联合起来共同来实现这个任务。

   另向大家推荐一篇文档,張飞实战电子出品很好很强大。《从单片机初学者迈向单片机工程师(完整版)

 也是没能在网上搜到比较好的资料自己解决了以后,想着会有和我一样的也遇到这种问题所以就萌生的写这篇文档的想法...这也是自己写的第一篇比较有技术性的文档,可能会有地方描述嘚不是很清楚自己知道却没写出那种感觉,欢迎各位指正如果你有其他的办法,非常欢迎交流...

}

我要回帖

更多关于 数码管1~9显示 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信