标题: 51单片机+数码管+dht11,数码管显示问题? [打印本页]

作者: shzx    时间: 2022-7-20 20:22
标题: 51单片机+数码管+dht11,数码管显示问题?
求大神给以下问题一个思路:
1.因为dht11在开始的时候会有拉低总线18ms的延迟,会使主函数while循环变慢数码管显示不流畅。
2.当用定时器动态扫描数码管时,因为需要数码管显示清晰也会有10ms的延迟,这样又会影响到主函数的dht11的数据处理,显示不正确。

作者: XLinliY.Zhang    时间: 2022-7-21 02:24
定时器只要负责切换IO而已,处理也就10us左右,怎么会影响
作者: wulin    时间: 2022-7-21 07:19
给你一个DS18B20数码管显示的示例,看明白就能很好协调数码管与DHT11的时间冲突关系。
4位数码管时钟温度表仿真.rar (175.43 KB, 下载次数: 45)


作者: wufa1986    时间: 2022-7-21 08:39
定时器显示不会影响的,只能说你的程序不合理
作者: lkc8210    时间: 2022-7-21 09:03
延时1ms以上不要用阻塞式延时
动态扫描数码管放到1ms定时器中断中循环显示
作者: shzx    时间: 2022-7-21 11:30
wulin 发表于 2022-7-21 07:19
给你一个DS18B20数码管显示的示例,看明白就能很好协调数码管与DHT11的时间冲突关系。

ds18b20可以那么做它数据处理快
作者: shzx    时间: 2022-7-21 11:32
wufa1986 发表于 2022-7-21 08:39
定时器显示不会影响的,只能说你的程序不合理

为了显示清晰,会在定时器中加了10m延迟,就会影响到dht11的数据处理
作者: shzx    时间: 2022-7-21 11:32
XLinliY.Zhang 发表于 2022-7-21 02:24
定时器只要负责切换IO而已,处理也就10us左右,怎么会影响

可以详细说一说吗,谢谢
作者: shzx    时间: 2022-7-21 11:38
lkc8210 发表于 2022-7-21 09:03
延时1ms以上不要用阻塞式延时
动态扫描数码管放到1ms定时器中断中循环显示

用1ms的扫描,数码管不够清晰啊
作者: wufa1986    时间: 2022-7-21 13:40
shzx 发表于 2022-7-21 11:32
为了显示清晰,会在定时器中加了10m延迟,就会影响到dht11的数据处理

中断不加延时,这不是写程序基本要求吗
作者: lkc8210    时间: 2022-7-21 14:52
shzx 发表于 2022-7-21 11:38
用1ms的扫描,数码管不够清晰啊

1ms显示一位
很清晰的啦~
作者: shzx    时间: 2022-7-21 17:53
lkc8210 发表于 2022-7-21 14:52
1ms显示一位
很清晰的啦~

我试了两位的数码管,只有一位很清晰
作者: sadadasddas2    时间: 2022-7-21 22:51
适当调整刷新速度与消隐 试试看
作者: wulin    时间: 2022-7-22 07:21
shzx 发表于 2022-7-21 11:30
ds18b20可以那么做它数据处理快

你真的不会动脑筋,给你的示例就是给你思路,但你没有仔细琢磨,所以理解不了怎么在dht11长时间等待期间不耽误数码管扫描。下面是根据本坛坛友的1602显示程序改的数码管显,你要看还不明白就没辄了。







数字温度湿度测量仪设计(余浩东 1710720049).rar (152.16 KB, 下载次数: 25) 数码管温度湿度测量仪测试.rar (59.44 KB, 下载次数: 21)


作者: shzx    时间: 2022-7-22 14:52
wulin 发表于 2022-7-22 07:21
你真的不会动脑筋,给你的示例就是给你思路,但你没有仔细琢磨,所以理解不了怎么在dht11长时间等待期间 ...

谢谢,提供案例,已经准备用TM1651了
作者: lkc8210    时间: 2022-7-22 16:12
shzx 发表于 2022-7-21 17:53
我试了两位的数码管,只有一位很清晰

因为你的显示代码逻辑错了
作者: shzx    时间: 2022-7-22 17:24
lkc8210 发表于 2022-7-22 16:12
因为你的显示代码逻辑错了

可以详细说一说吗,谢谢




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