[51单片机]

52单片机怎么让多个功能模块同时运行,互不影响呢

[复制链接]
1775|9
手机看帖
扫描二维码
随时随地手机跟帖
airwill| | 2017-11-24 20:41 | 显示全部楼层
你的问题, 都是延时惹的祸.
把那延时子程序改掉, 拿些时间出来做其他几个任务, 就可以了.
这是思路, 具体就看你怎么安排了

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
技术小师弟 + 3 很给力!
技术小师弟|  楼主 | 2017-11-24 20:59 | 显示全部楼层
airwill 发表于 2017-11-24 20:41
你的问题, 都是延时惹的祸.
把那延时子程序改掉, 拿些时间出来做其他几个任务, 就可以了.
这是思路, 具体就 ...

可是没有延时的话,流水灯程序执行太快,看不出效果呀

使用特权

评论回复
jyzhzn| | 2017-11-24 21:25 | 显示全部楼层
技术小师弟 发表于 2017-11-24 20:59
可是没有延时的话,流水灯程序执行太快,看不出效果呀

用定时器中断代替软件延时

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
技术小师弟 + 3 神马都是浮云
技术小师弟|  楼主 | 2017-11-24 21:43 | 显示全部楼层
jyzhzn 发表于 2017-11-24 21:25
用定时器中断代替软件延时

可是已经用了两个定时器了。算了,我这程序写的有点差劲还是重新写个程序吧。

使用特权

评论回复
linqing171| | 2017-11-24 22:27 | 显示全部楼层
主程序就是一个延时程序,不过延时的计数值是个全局的,比如从1到10000。
然后其它的函数都不停看主程序运行到第多少拍了,如果运行到自己该干什么的时间就干什么,如果时间不到就什么都不干。
主程序循环的调用你的显示数码管、流水灯 等的程序。
这样你的这些程序就好像每个都在运行一样。
年轻人,懂了么?

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
技术小师弟 + 3 赞一个!
jyzhzn| | 2017-11-24 22:46 | 显示全部楼层
技术小师弟 发表于 2017-11-24 21:43
可是已经用了两个定时器了。算了,我这程序写的有点差劲还是重新写个程序吧。 ...

一个定时器就能产生多个不同时长的延时,见从单片机基础到程序框架314楼

使用特权

评论回复
技术小师弟|  楼主 | 2017-11-25 00:46 | 显示全部楼层
linqing171 发表于 2017-11-24 22:27
主程序就是一个延时程序,不过延时的计数值是个全局的,比如从1到10000。
然后其它的函数都不停看主程序运 ...

懂了

使用特权

评论回复
xiaoxiong1988| | 2017-11-25 15:58 | 显示全部楼层
不懂时基   学校里的那一套延时程序 不适用于实际   也没人会那么干  你还是没理解程序该如何去写   分时去干活  mcu跑那么快  你就这么喜欢让他一直在哪里计数?

使用特权

评论回复
caijie001| | 2017-11-26 13:23 | 显示全部楼层
不用软件延时在那死等啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

53

帖子

1

粉丝