单片机中12Mhz晶振的,读取18B20的数据需要多久
答案:3 悬赏:50 手机版
解决时间 2021-02-20 13:39
- 提问者网友:黑米和小志
- 2021-02-20 01:28
我写的程序,从初始化到单片机读出这个数值,需要6ms,是不是太长了,我数码管的刷新,就看起来有间断
最佳答案
- 五星知识达人网友:春色三分
- 2021-02-20 02:27
是这样的,18B20的时序是有严格要求的,这是没有办法的事情,6ms属于正常的时间,短一点的话,可以写到4ms,但是这不是解决问题的关键,如果你程序有改动,还有可能的把时间加长。
所以,根本的解决办法是,你操作18B20放在正常的程序中,而数码管的显示驱动,放在定时器中断里时行,中断固定3--5ms,这样就互不影响了,其实在大工程中,数码管的显示驱动都是放大定时器里进行的。
所以,根本的解决办法是,你操作18B20放在正常的程序中,而数码管的显示驱动,放在定时器中断里时行,中断固定3--5ms,这样就互不影响了,其实在大工程中,数码管的显示驱动都是放大定时器里进行的。
全部回答
- 1楼网友:胯下狙击手
- 2021-02-20 05:15
proteus 论坛里有很多 实例
不妨去 搜搜看
- 2楼网友:胯下狙击手
- 2021-02-20 03:55
1. 时序与晶振频率没啥关系,完全是程序决定的
2. 如果还有其他外设要初始化,6ms也不算太长,I8B20初始化150us,读写1bit 65us,这样算下来,取一次数据也就是1~2ms时间(不用每次都初始化吧)
3. 数码管闪烁和这个应该关系不大(数码管时间片比读I8B20要长得多),多分配一点时间给数码管显示就好了,读取18b20不用很频繁,因为温度变化通常较慢
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯