找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 598|回复: 11
打印 上一主题 下一主题
收起左侧

请教一个扣脑壳的问题 单片机程序多个功能冲突

[复制链接]
跳转到指定楼层
楼主
DIY练手:程序中有红外接收,有PWM调光(LED)中断100us,和18b20读取温度有冲突,不知该怎么办?
想用STC408测温,用51来调光,感觉数码管难看想用LCD显示,请问两个系统可以共用LCD12864来显示吗?

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



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:883242 发表于 2024-1-6 19:38 | 只看该作者
18b20时序里面没有最大时间限制就随便加,你担心什么?
回复

使用道具 举报

板凳
ID:1088185 发表于 2024-1-6 20:48 | 只看该作者
这是关于多任务时间分配的问题,看似是一条简单的问题,实在是难以三言两语之间能让你解决问题,去了解一下类似FreeRTOS的操作系统吧。
回复

使用道具 举报

地板
ID:891876 发表于 2024-1-6 21:43 | 只看该作者
这是18B20读取温度时PWM的波形受影响,LED很明显有频闪干扰
回复

使用道具 举报

5#
ID:628113 发表于 2024-1-8 00:06 | 只看该作者
不要用18B20.  如果关中断,可以保住自己, 但是 可能影响别人; 不关中断,自己的数据不可靠。除非其他设备都没有时序要求。
回复

使用道具 举报

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

8051跑FreeRTOS,你是认真的吗?
回复

使用道具 举报

7#
ID:57657 发表于 2024-1-8 09:05 | 只看该作者
如果想要PWM不被其他中断打扰、你应该配置寄存器启用硬件PWM功能,并不是所有单片机都有硬件PWM,具体见数据手册。
回复

使用道具 举报

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

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

使用道具 举报

9#
ID:145357 发表于 2024-1-13 08:55 来自手机 | 只看该作者
多任务不好搞,我也搞了多个模块一起用,有时候一个模块调整一下时序会影响其他模块,头疼
回复

使用道具 举报

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

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

使用道具 举报

11#
ID:275826 发表于 2024-1-14 12:18 | 只看该作者
调光PWM不需要非常精确的话,读18B20关中断,一片51完全可以实现功能
回复

使用道具 举报

12#
ID:161164 发表于 2024-1-15 16:00 | 只看该作者
STC15W408有硬件PWM
红外接收用CCP捕获模式
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表