基于STM32的DS18B20多点测温系统(Proteus仿真+程序)
创始人
2024-01-31 02:32:28
0

编号:22

基于STM32的DS18B20多点测温系统

功能描述:

      本设计由STM32F103单片机+三路DS18B20温度传感器+1602液晶显示模块组成。
1、主控制器是STM32F103单片机
2、三路共用“单总线”DS1820温度传感器测量温度
3、1602液晶显示温度,保留一位小数,精度0.5℃ 测温范围-55~125摄氏度

Proteus 8.11版本才可使用 8.12 8.13不兼容

视频演示链接:

22、基于STM32的多点测温系统

仿真图:

程序源码:

#include "delay.h"
#include "LCD1602.h" 
#include "ds18b20.h"
#include "timer.h"#include "stdio.h" 	
#include "stdlib.h" 	int main(void)
{	unsigned char i = 0;short temprature[3];		   			        //定义温度变量short Temp;		   			  		            //定义显示温度变量NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);	//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级Lcd1602_Init();									//液晶1602初始化DS18B20_Init();while(DS18B20_Init()!=0)						//ds18b20初始化检测  {Lcd1602_String(0,0,(u8 *)" DS18B20 Error! ");delay_ms(800);Lcd1602_String(0,0,(u8 *)"                ");delay_ms(800);}	TIM2_Int_Init(199,7199);						//10Khz的计数频率,计数到200为20ms while(1){	if(flag_timer==1)					    //600毫秒赋一次值 flag_timer是标志位{flag_timer = 0;					    //清除标志  等待下一次600msTIM_Cmd(TIM2, DISABLE);  //使能TIMx	for(i=0;i<3;i++){temprature[i]=DS18B20_Get_Temp(i); 	//读取温度}TIM_Cmd(TIM2, ENABLE);  //使能TIMx	Lcd1602_String(0,0,"1:");			//从第一行第一列开始显示if(temprature[0]>=0)  				//如果温度大于等于0{	Temp = temprature[0]; 			//				Lcd1602_Write_Data(' ');}	else	 							//如果温度是负的{Temp = abs(temprature[0]); 		//取绝对值Lcd1602_Write_Data('-');		//显示负号}Lcd1602_Write_Data(Temp/1000+0X30);Lcd1602_Write_Data(Temp%1000/100+0X30);Lcd1602_Write_Data(Temp%1000%100/10+0X30);Lcd1602_Write_Data('.');Lcd1602_Write_Data(Temp%1000%100%10+0X30);Lcd1602_Write_Data(0XDF);Lcd1602_Write_Data('C');Lcd1602_String(0,1,"2:");			//从第二行第一列开始显示if(temprature[1]>=0)  				//如果温度大于等于0{	Temp = temprature[1]; 			//				Lcd1602_Write_Data(' ');}	else	 							//如果温度是负的{Temp = abs(temprature[1]); 		//取绝对值Lcd1602_Write_Data('-');		//显示负号}Lcd1602_Write_Data(Temp/1000+0X30);Lcd1602_Write_Data(Temp%1000/100+0X30);Lcd1602_Write_Data(Temp%1000%100/10+0X30);Lcd1602_Write_Data('.');Lcd1602_Write_Data(Temp%1000%100%10+0X30);Lcd1602_Write_Data(0XDF);Lcd1602_Write_Data('C');	Lcd1602_String(13,0,"3:");				//从第一行第14列开始显示Lcd1602_Write_Com(0xc0+11);if(temprature[2]>=0)  					//如果温度大于等于0{	Temp = temprature[2]; 				//				Lcd1602_Write_Data(' ');}	else	 								//如果温度是负的{Temp = abs(temprature[2]); 			//取绝对值Lcd1602_Write_Data('-');			//显示负号}//		Lcd1602_Write_Data(Temp/1000+0X30);Lcd1602_Write_Data(Temp%1000/100+0X30);Lcd1602_Write_Data(Temp%1000%100/10+0X30);Lcd1602_Write_Data('.');Lcd1602_Write_Data(Temp%1000%100%10+0X30);Lcd1602_Write_Data(0XDF);Lcd1602_Write_Data('C');		}}	
}

软件免费下载地址:

1、Proteus仿真软件
文件内容:Proteus7.8安装包、Proteus8.6安装包、Proteus.8.10安装包、Proteus Professional 8.11 SP0安装包

链接:https://pan.baidu.com/s/11LNUZ9BJXWvXf1C4dPc3_w 
提取码:2756 


3、KEIL5 MDK软件(STM32开发软件)
链接:https://pan.baidu.com/s/1t3eY-3yRdTa7jZMlijq_jg 

提取码:ab58 

文件下载:

https://pan.baidu.com/s/17i6EYSWTVTi8vKrzVEdCVA?pwd=h589

相关内容

热门资讯

河北邯郸市联合调查组发布情况通...   12月24日,河北邯郸市联合调查组发布情况通报——  2025年12月23日,媒体刊发“顾客称从...
数说绿色发展成绩单 “十四五”...   央视网消息:我国是草原大国,面积近40亿亩,约占国土面积27%,位居世界首位。记者12月23日从...
惟实笃行 重庆争先②|内陆开放...   岁末寒冬,重庆团结村中心站暖意涌动。  隆隆的汽笛声中,一列满载货物的班列从站台缓缓驶出,它的目...
四中全会关键词解读⑤:国内大循...   党的二十届四中全会是在向第二个百年奋斗目标进军的新征程上举行的一次十分重要的会议,全会审议通过了...
新场景激发新活力(新视窗·扩大...   中央经济工作会议指出,“扩大优质商品和服务供给。”消费新场景是新业态、新模式、新产品的系统集成,...
【世界说】日本官员“拥核言论”...   中国日报网12月24日电 日前,日本首相官邸一名负责安全保障政策的高官扬言“日本应拥有核武器”。...
外交部:日本首相官邸高官拥核言...   新华社北京12月24日电(记者刘杨、袁睿)外交部发言人林剑24日在例行记者会上说,此次日本首相官...
为什么保险配置顺序,比买什么更... 一对三十岁夫妻在二线城市打拼,丈夫做销售月均一万五,妻子做文员月入六千。有个一岁孩子,每月房贷四千五...
能抵物业费、大病支出、装电梯!...   中央经济工作会议12月10日至11日在北京举行,会议提出要深化住房公积金制度改革,有序推动“好房...
韩媒:日本强征韩籍军人遗属首次...   参考消息网12月24日报道 据韩联社12月23日报道,二战时期被日军强制征兵的韩籍遇难者遗属,2...