編號(hào):53
基于STC15W單片機(jī)的溫度計(jì)(DS18B20)
功能描述:
? ? ? 本設(shè)計(jì)由STC15W4K32S4單片機(jī)+DS18B20溫度傳感器+1602液晶顯示模塊+串口模塊組成。
1、主控制器是STC15W4K32S4單片機(jī)
2、DS18B20溫度傳感器采集溫度,精度0.1攝氏度
3、1602液晶顯示溫度。
4、測(cè)溫范圍-55~110攝氏度,誤差±0.1℃
5、溫度值發(fā)送至串口助手顯示。
Proteus軟件:Proteus8.11版本才可以使用
編程軟件:Keil4 C51
視頻演示鏈接:
53、基于STC15W單片機(jī)的溫度計(jì)(DS18B20)
仿真圖:
程序源碼:
#include "15W4KxxS4.H"
#include "lcd1602.h"
#include "delay.h"
#include "ds18b20.h"
#include "math.h" //數(shù)學(xué)函數(shù)頭文件
#include "stdio.h"
#include "uart.h"
void main(void)
{
unsigned char Cnt = 0;
unsigned char send_buf[20];
short temprature; //定義溫度變量
short Temp; //定義顯示溫度變量
P1M0 = 0x00; //設(shè)置IO工作方式
P1M1 = 0x00;
P2M0 = 0x00;
P2M1 = 0x00;
P3M0 = 0x00;
P3M1 = 0x00;
Lcd1602_Init(); //LCD1602液晶初始化
while(DS18B20_Init()!=0) //ds18b20初始化檢測(cè)
{
Lcd1602_String(0,0," DS18B20 Error! ");
delay_ms(800);
Lcd1602_String(0,0," ");
delay_ms(800);
}
Uart1_Init();
while(1)
{
temprature = DS18B20_Get_Temp(); //讀取溫度
delay_ms(100);
Lcd1602_String(0,0,"Temp:"); //從第一行第一列開始顯示
if(temprature>=0) //如果溫度大于等于0
{
Temp = temprature; //
Lcd1602_Write_Data(' ');
}
else //如果溫度是負(fù)的
{
Temp = abs(temprature); //取絕對(duì)值
Lcd1602_Write_Data('-'); //顯示負(fù)號(hào)
}
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');
Cnt++;
if(Cnt>=5)
{
Cnt = 0;
sprintf(send_buf,"Temp:%5.1f \r\n",(float)temprature/10);
printf(send_buf); //發(fā)送數(shù)據(jù)到串口
}
}
}
軟件免費(fèi)下載地址:
1、Proteus仿真軟件
文件內(nèi)容:Proteus7.8安裝包、Proteus8.6安裝包、Proteus.8.10安裝包、Proteus Professional 8.11 SP0安裝包
鏈接:https://pan.baidu.com/s/11LNUZ9BJXWvXf1C4dPc3_w?
提取碼:2756?
2、Keil4?C51軟件安裝包(51單片機(jī)下載我)
鏈接:https://pan.baidu.com/s/1CTZBqDsPsyIbjCIjI_birA?
提取碼:sy2a文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-776584.html
文件下載:
鏈接:https://pan.baidu.com/s/1N3FkK3N4rpvcwKWpyUs5fg?pwd=ox64?
提取碼:ox64文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-776584.html
到了這里,關(guān)于53、基于STC15W單片機(jī)的溫度計(jì)(DS18B20)(Proteus仿真+程序)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!