标题: 请教一个扣脑壳的问题 单片机程序多个功能冲突 [打印本页]

作者: 芙蓉焊料    时间: 2024-1-6 16:02
标题: 请教一个扣脑壳的问题 单片机程序多个功能冲突
DIY练手:程序中有红外接收,有PWM调光(LED)中断100us,和18b20读取温度有冲突,不知该怎么办?
想用STC408测温,用51来调光,感觉数码管难看想用LCD显示,请问两个系统可以共用LCD12864来显示吗?

程序就不上了,乱七八糟的!这是电路图




作者: Hephaestus    时间: 2024-1-6 19:38
18b20时序里面没有最大时间限制就随便加,你担心什么?
作者: 1600277881    时间: 2024-1-6 20:48
这是关于多任务时间分配的问题,看似是一条简单的问题,实在是难以三言两语之间能让你解决问题,去了解一下类似FreeRTOS的操作系统吧。
作者: 芙蓉焊料    时间: 2024-1-6 21:43
这是18B20读取温度时PWM的波形受影响,LED很明显有频闪干扰

作者: ppcbug    时间: 2024-1-8 00:06
不要用18B20.  如果关中断,可以保住自己, 但是 可能影响别人; 不关中断,自己的数据不可靠。除非其他设备都没有时序要求。

作者: Hephaestus    时间: 2024-1-8 00:40
1600277881 发表于 2024-1-6 20:48
这是关于多任务时间分配的问题,看似是一条简单的问题,实在是难以三言两语之间能让你解决问题,去了解一下 ...

8051跑FreeRTOS,你是认真的吗?
作者: npn    时间: 2024-1-8 09:05
如果想要PWM不被其他中断打扰、你应该配置寄存器启用硬件PWM功能,并不是所有单片机都有硬件PWM,具体见数据手册。
作者: npn    时间: 2024-1-13 07:13
1600277881 发表于 2024-1-6 20:48
这是关于多任务时间分配的问题,看似是一条简单的问题,实在是难以三言两语之间能让你解决问题,去了解一下 ...

这个程序不是什么多任务时间分配就能实现的。
你要能用操作系统实现,单片机内置的硬件串口、PWM等模块都没用了?

作者: 4758866    时间: 2024-1-13 08:55
多任务不好搞,我也搞了多个模块一起用,有时候一个模块调整一下时序会影响其他模块,头疼
作者: npn    时间: 2024-1-13 16:15
4758866 发表于 2024-1-13 08:55
多任务不好搞,我也搞了多个模块一起用,有时候一个模块调整一下时序会影响其他模块,头疼

这样的多任务用单片机没戏,内部结构都要改。
除非用多个单片机分工处理或FPGA。

作者: tyrl800    时间: 2024-1-14 12:18
调光PWM不需要非常精确的话,读18B20关中断,一片51完全可以实现功能
作者: lkc8210    时间: 2024-1-15 16:00
STC15W408有硬件PWM
红外接收用CCP捕获模式




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1