完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
读频率实时性要求不高的话,就开这个关那个,轮流来,其他没招了
|
|
|
|
我不知道你用的什么51单片机,根据我的经验就这两句
t0=(u*65536+x)*(12/22.1);//计算脉冲时间宽度(单位:ms) f=1000000/(2*t0);//计算频率 速度低点的单片机拿来测频率就有问题。 |
|
|
|
用速度高一点的单片机,最好是单周期指令的,在中断里面处理频率测量和扫描显示(显示也可以在主程序中处理),读取DS18B20不要关闭中断,这样应该可以的,最好这两部分不要使用同一组寄存器,减少中端开销,应该没有问题。
|
|
|
|
DS18B20 有很多空延时,你想办法把这些浪费的资源合理利用就能解决问题了!! 我用一个stc15w4k48s4同时驱动液晶彩屏,同时输出几路独立的PWM,18B20温度,还有脉冲捕获等等…… 关键的是,你尽量不让单片机做些空延时这种浪费资源的东西……http://www.openedv.com/thread-67777-1-1.html
|
|
|
|
延时尽量不要用,最好使用定时器。
|
|
|
|
18B20在读写的时候时序要求高,所以在对18B20操作的时候,要关闭中断
|
|
|
|
只有小组成员才能发言,加入小组>>
3294 浏览 9 评论
2969 浏览 16 评论
3473 浏览 1 评论
9020 浏览 16 评论
4060 浏览 18 评论
1137浏览 3评论
589浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
579浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2313浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1876浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-3 20:56 , Processed in 1.408703 second(s), Total 91, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号