第1页共13页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共13页“从单片机初学者迈向单片机工程师”之LED主题讨论周第五章--多任务环境下的数码管编程设计数码管在实际应用中非常广泛,尤其是在某些对成本有限制的场合
编写一个好用的LED程序并不是那么的简单
曾经有人这样说过,如果用数码管和按键,做一个简易的可以调整的时钟出来,那么你的单片机就算入门了60%了
此话我深信不疑
我遇到过很多单片机的爱好者,他们问我说单片机我已经掌握了,该如何进一步的学习下去呢
我并不急于回答他们的问题,而是问他们:会编写数码管的驱动程序了吧
会编写按键程序了吧
好,我给你出一个小题目,你做一下
用按键和数码管以及单片机定时器实现一个简易的可以调整的时钟,要求如下:8位数码管显示,显示格式如下时-分-秒XX-XX-XX要求:系统有四个按键,功能分别是调整,加,减,确定
在按下调整键时候,显示时的两位数码管以1Hz频率闪烁
如果再次按下调整键,则分开始闪烁,时恢复正常显示,依次循环,直到按下确定键,恢复正常的显示
在数码管闪烁的时候,按下加或者减键可以调整相应的显示内容
按键支持短按,和长按,即短按时,修改的内容每次增加一或者减小一,长按时候以一定速率连续增加或者减少
结果很多人,很多爱好者一下子都理不清楚思路
其实问题的根源在于没有以工程化的角度去思考程序的编写
很多人在学习数码管编程的时候,都是照着书上或者网上的例子来进行试验
殊不知,这些例子代码仅仅只是具有一个演示性的作用,拿到实际中是很难用的
举一个简单的例子
下面这段程序是在网上随便搜索到的:while(1){for(num=0;num