• 方案介紹
  • 附件下載
  • 推薦器件
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)的多路溫度檢測調(diào)節(jié)串口傳輸系統(tǒng)

2024/07/15
1108
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

設(shè)計資料獲取聯(lián)系方式.doc

共1個文件

本設(shè)計基于51單片機(jī)的多路溫度檢測調(diào)節(jié)串口傳輸系統(tǒng)(仿真+源碼+視頻講解)
仿真:proteus8.9
程序編譯器:keil 4
編程語言:C語言
編號C0009
騰訊文檔】C0009 網(wǎng)盤鏈接
資料下載鏈接

功能說明:
1、采用四個DS18B20溫度傳感器測溫并用LCD1602顯示四路溫度值;
2、按鍵為設(shè)置按鍵、加鍵和減鍵,可設(shè)置上下限溫度控制范圍;
3、當(dāng)每路溫度值超過設(shè)定的上或下限時,相應(yīng)的指示燈亮;
4、當(dāng)平均溫度值超過設(shè)定的上限時,繼電器吸合,風(fēng)扇轉(zhuǎn)動表示降溫;
5、當(dāng)平均溫度值低于設(shè)定的下限時,繼電器吸合,加熱膜工作表示升溫;
6、利用串口傳輸模塊實時將平均溫度值發(fā)送到串口調(diào)試助手。

仿真圖(提供源文件):
在這里插入圖片描述
在這里插入圖片描述

源程序(提供源文件):

unsigned char ReadOneChar1(void)
{
  unsigned char i=0;
  unsigned char dat = 0;
  for (i=8;i>0;i--)
  {
    DQ1 = 0;     // 給脈沖信號
    dat>>=1;
    DQ1 = 1;     // 給脈沖信號
    if(DQ1)
    dat|=0x80;
    Delay_DS18B20(4);
  }
  return(dat);
}
void WriteOneChar1(unsigned char dat)
{
  unsigned char i=0;
  for (i=8; i>0; i--)
  {
    DQ1 = 0;
    DQ1 = dat&0x01;
    Delay_DS18B20(5);
    DQ1 = 1;
    dat>>=1;
  }
}

/*****讀取溫度*****/
unsigned int ReadTemperature1(void)
{
  unsigned char a=0;
  unsigned char b=0;
  unsigned int t=0;
  float tt=0;
  Init1_DS18B20();
  WriteOneChar1(0xCC);  //跳過讀序號列號的操作
  WriteOneChar1(0x44);  //啟動溫度轉(zhuǎn)換
  Init1_DS18B20();
  WriteOneChar1(0xCC);  //跳過讀序號列號的操作
  WriteOneChar1(0xBE);  //讀取溫度寄存器
  a=ReadOneChar1();     //讀低8位
  b=ReadOneChar1();    //讀高8位
  t=b;
  t<<=8;
  t=t|a;
  tt=t*0.0625;
 // t= tt*10+0.5;     //放大10倍輸出并四舍五入
  t= tt*10+0.5; 
  return(t);
}


/*****初始化DS18B20  溫度傳感器3*****/
void Init2_DS18B20(void)
{
  unsigned char x=0;
  DQ2 = 1;         //DQ復(fù)位
  Delay_DS18B20(8);    //稍做延時
  DQ2 = 0;         //單片機(jī)將DQ拉低
  Delay_DS18B20(80);   //精確延時,大于480us
  DQ2 = 1;         //拉高總線
  Delay_DS18B20(14);
  x = DQ2;           //稍做延時后,如果x=0則初始化成功,x=1則初始化失敗
  Delay_DS18B20(20);
}

unsigned char ReadOneChar2(void)
{
  unsigned char i=0;
  unsigned char dat = 0;
  for (i=8;i>0;i--)
  {
    DQ2 = 0;     // 給脈沖信號
    dat>>=1;
    DQ2 = 1;     // 給脈沖信號
    if(DQ2)
    dat|=0x80;
    Delay_DS18B20(4);
  }
  return(dat);
}
void WriteOneChar2(unsigned char dat)
{
  unsigned char i=0;
  for (i=8; i>0; i--)
  {
    DQ2 = 0;
    DQ2 = dat&0x01;
    Delay_DS18B20(5);
    DQ2 = 1;
    dat>>=1;
  }
}

/*****讀取溫度*****/
unsigned int ReadTemperature2(void)
{
  unsigned char a=0;
  unsigned char b=0;
  unsigned int t=0;
  float tt=0;
  Init2_DS18B20();
  WriteOneChar2(0xCC);  //跳過讀序號列號的操作
  WriteOneChar2(0x44);  //啟動溫度轉(zhuǎn)換
  Init2_DS18B20();
  WriteOneChar2(0xCC);  //跳過讀序號列號的操作
  WriteOneChar2(0xBE);  //讀取溫度寄存器
  a=ReadOneChar2();     //讀低8位
  b=ReadOneChar2();    //讀高8位
  t=b;
  t<<=8;
  t=t|a;
  tt=t*0.0625;
 // t= tt*10+0.5;     //放大10倍輸出并四舍五入
  t= tt*10+0.5; 
  return(t);
}

在這里插入圖片描述

資料清單如下:
在這里插入圖片描述

  • 設(shè)計資料獲取聯(lián)系方式.doc
    下載

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風(fēng)險等級 參考價格 更多信息
ATXMEGA64A3U-AU 1 Atmel Corporation RISC Microcontroller, 16-Bit, FLASH, AVR RISC CPU, 32MHz, CMOS, PQFP64, 14 X 14 MM, 1 MM THICKNESS, 0.80 MM PITCH, GREEN, PLASTIC, MS-026AEB, TQFP-64

ECAD模型

下載ECAD模型
$4.53 查看
STM32F767ZIT6 1 STMicroelectronics High-performance and DSP with FPU, Arm Cortex-M7 MCU with 2 Mbytes of Flash memory, 216 MHz CPU, Art Accelerator, L1 cache, SDRAM, TFT, JPEG codec, DFSDM

ECAD模型

下載ECAD模型
$25.18 查看
ATSAMA5D31A-CU 1 Atmel Corporation RISC Microprocessor, 32-Bit, 536MHz, CMOS, PBGA324, 15 X 15 MM, 1.40 MM HEIGHT, 0.80 MM PITCH, GREEN, MO-275KAAE-1, LFBGA-324

ECAD模型

下載ECAD模型
$22.61 查看

相關(guān)推薦