×
单片机 > 单片机程序设计 > 详情

51单片机定时器控制LED灯

发布时间:2020-08-26 发布时间:
|

考试考完了,闲得无聊,正好手头有一块51学习板,捣鼓一下。控制任务如下:

P1.0 控制一个LED灯,亮0.5s,灭0.5s。

设计思路:这里我们只用定时器,不用软延时。51的定时器最多定时60ms,所以我们设置定时器每50ms中断一次,通过在中断程序设置一个变量来统计中断次数,从而实现较长时间的定时。这里我们是每500ms执行一次灯亮灯灭的动作,所以每10个中断等于500ms(50ms x 10)。第6行,全局变量timer50msCount 就是中断次数。第19-23行,当timer50msCount 为10时,代表500ms时间到,把P1.0 取反,动作一次。

这里有个繁琐的地方,定时器的初值需要手工计算。不过前人开发了一下小程序,直接拿过来用就可以了。

见下图。把自动生成代码中的第一行删掉就可以了。

下面是程序。


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
STM32单片机的复用端口初始化的步骤及方法