51单片机定时器控制LED灯

控制/MCU

1876人已加入

描述

考试考完了,闲得无聊,正好手头有一块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 取反,动作一次。

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

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

定时器

下面是程序。

定时器

定时器

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分