基于51单片机的温度探测

文末下载链接和项目说明哦

这次的项目姑且算作旧瓶装新酒吧,以前做过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&
  • 7
    点赞
  • 134
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值