注:昨天有同学指正说流水灯会影响脉冲输出,造成4s时间的延误。这里说明下,程序设计的初衷是让每个任务独立运行,意思就是当流水灯任务执行的时候脉冲输出任务就被挂起,不过实际上流水灯工作的时候脉冲输出引脚的确会一直维持一个电平,没考虑周详,多谢这位同学提出。最后附上了新的解决方案,中断方式,欢迎同道指正。
需求:通过按下不同的按键让STC89C52RC控制电机以不同的转速运行或者控制LED实现流水灯。
需求分析:
按下按键1流水灯开始工作,按下按键2电机以低转速运行,按下按键3电机以中转速运行,按下按键4电机以高
转速运行。
总结下,程序可分为如下三块:
(1)扫描按键
(2)流水灯
(3)发出三种不同速度的脉冲信号(用以控制电机不同转速)
解决方案:
程序分为两层,应用层和底层,应用层实现各个任务,底层实现一些基本操作(例如延时程序)
(1)应用层函数:单片机运行三个任务,分别是:扫描键盘、控制LED、控制电机。
(2)底层函数:延时函数、流水灯函数、脉冲输出函数
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !