完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这次的项目姑且算作旧瓶装新酒吧,以前做过STM32和DHT11的温度探测,这一次是较为低价版的C51和DS18B20温度探测。
DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。 个人感觉主要特点就是价格低,这对于很多精度要求不高的量产产品来说很重要。 这个设计实现了:温度探测功能。DS18B20模块采用排针和杜邦线与单片机连接。同时还设置了临界温度(温度上限),超过该温度使用蜂鸣器鸣响报警。临界温度可以采用两个按键调整。 proteus里有专门的一个DS18B20模块用来仿真,也可以按动上下箭头来模拟传感器输出的温度变化情况。模块上直接显示温度数据,比一些模拟传感器要好用一些。 在PCB设计里还是采用排针+杜邦线的形式,把传感器做成了一个外置模块(J1)。整体设计还是中规中矩,没有很大难度,亮点在于我这一次没使用通孔[/xk][/xk]。 代码主要则集中在DS18B20传感器的处理方面,大致有六个函数来实现数据传输功能。 部分代码如下: void main() { int tp,ts; int s=30; unsigned char x,y; while(1) { s=keyscan(s); temp=ds18b20readtemp(); if(temp<0) { temp=temp-1; temp=~temp; tp=temp; temp=tp*0.0625*100+0.5; } else { tp=temp; temp=tp*0.0625*100+0.5; } digdisplay(temp); ts=temp/100; if(ts>s) { beep=0; for(y=2;y>0;y--) { for(x=110;x>0;x--) { digdisplay(temp); } } beep=1; for(y=2;y>0;y--) { for(x=110;x>0;x--) { digdisplay(temp); } } } } } |
|
|
|
只有小组成员才能发言,加入小组>>
2514 浏览 0 评论
1092浏览 2评论
703浏览 1评论
456浏览 0评论
200浏览 0评论
340浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 08:14 , Processed in 1.331213 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号