加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專(zhuān)業(yè)用戶(hù)
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

基于51單片機(jī)的多路溫度采集控制系統(tǒng)的設(shè)計(jì)

07/11 09:00
2989
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買(mǎi)成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買(mǎi)后不支持退換且無(wú)法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

本設(shè)計(jì)是基于51單片機(jī)的多路溫度采集控制系統(tǒng)的設(shè)計(jì)
(仿真+源碼+原理圖+視頻講解+硬件清單)
仿真:proteus8.9
程序編譯器:keil 4
編程語(yǔ)言:C語(yǔ)言
編號(hào)C0008
下載地址

C0008 網(wǎng)盤(pán)鏈接

功能說(shuō)明:
本設(shè)計(jì)是基于單片機(jī)的多路溫度采集控制系統(tǒng)的設(shè)計(jì),主要實(shí)現(xiàn)以下功能:
1.可實(shí)現(xiàn)通過(guò)三個(gè)DS18B20采集三個(gè)不同位置的溫度值,并通過(guò)RS485傳送給主機(jī);
2.可實(shí)現(xiàn)通過(guò)繼電器控制加熱降溫模塊,進(jìn)行異常溫度處理;
3.可實(shí)現(xiàn)通過(guò)按鍵調(diào)整初始設(shè)定的最大最小溫度閾值;
4.可實(shí)現(xiàn)通過(guò)主機(jī)的LCD1602顯示溫度值、繼電器狀態(tài)、上下限溫度閾值等信息

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

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

源程序(提供源文件):

在這里插入圖片描述
在這里插入圖片描述

從機(jī)main函數(shù)

/***
**函數(shù)名:main()
**功能:  主函數(shù)
****/
void main()
{
	int ans;
	int ans1; 	//讀取的溫度寄存器
	int ans2; 	//讀取的溫度寄存器
	int ans3; 	//讀取的溫度寄存器
	uchar flag;   //正負(fù)位標(biāo)志
	UART_init();

	while(1)
	{  	
		key_scan();

		/************* 正常溫度*********************/
		if(Uart_flag == 0)
		{
			DS18B20_start_change1();	 //開(kāi)始讀溫度
			delay(100);
			ans1=DS18B20_read_date1();
			DS18B20_start_change2();	 //開(kāi)始讀溫度
			delay(100);
			ans2=DS18B20_read_date2();					
			DS18B20_start_change3();
			delay(100);
			ans3=DS18B20_read_date3();
			delay(100);
			ans=(ans1+ans2+ans3)/3;

			if(ans < TL)
			{
				P0=0x3f;
				beep=0;
				RELAY1=0;
				RELAY2=1;

			}
			else if(ans > TH)
			{
				P0=0xcf;
				beep=0;
				RELAY1=1;
				RELAY2=0;

			}
			else
			{
				P0=0xff;
				beep=1;
				RELAY1=1;
				RELAY2=1;
			}

			UART_sent('1');
			_nop_();
			_nop_();
			UART_sent( ( uchar )ans);
		}

		/**********調(diào)節(jié)上限溫度*****************/
		if(Uart_flag == 1)
		{
			UART_sent('2');		//調(diào)節(jié)上限溫度標(biāo)志
		  _nop_();
			_nop_();
		  UART_sent(TH);		//發(fā)送上限溫度標(biāo)志
		}
		/**********調(diào)節(jié)下限溫度**************/
		if(Uart_flag == 2)
		{
			UART_sent('3');		//調(diào)節(jié)下限溫度標(biāo)志
		  _nop_();
			_nop_();
		  UART_sent(TL);		//發(fā)送下限溫度標(biāo)志
		}
	}
}

主機(jī)mian函數(shù)

/****
*******	主函數(shù) 
*****/
void main()
{
	Temp_H = 30;
	Temp_L = 10;

	uart_init();
	lcd_init();

	lcd_write_str(0x80, tab1);
	lcd_write_str(0x80+0x40, tab2);
	lcd_write_str(0x80+0x0d,"T_H:30C");
	lcd_write_str(0x80+0x4d,"T_L:10C");

	while(1)
	{
		if(Temp > Temp_H)
		{
			P1=0xf3;
			lcd_write_str(0x80+0x46, "Cool  ");
		}
		else if(Temp < Temp_L)
		{
			P1=0xfc;
			lcd_write_str(0x80+0x46, "Heat  ");
		}
		else
		{
			P1=0xff;
			lcd_write_str(0x80+0x40, tab2);
		}

		if(flag == 0)
		{
			lcd_wendu(0x85,Temp);
		}

		if(flag == 1)			  						//顯示限溫最高值
		{
			lcd_wendu(0x80 + 0x11,Temp_H);	
		}

		if(flag == 2)									//顯示限溫最低值
		{
			lcd_wendu(0x80 + 0x51,Temp_L);	
		}	
	}
}

軟件設(shè)計(jì)介紹:
在這里插入圖片描述

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

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

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
MCF5282CVM66 1 Freescale Semiconductor MCF5282 V2CORE 512KFLASH
$40.57 查看
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 查看
ATMEGA328P-AU 1 Atmel Corporation RISC Microcontroller, 8-Bit, FLASH, AVR RISC CPU, 20MHz, CMOS, PQFP32, 7 X 7 MM, 1 MM HEIGHT, 0.80 MM PITCH, GREEN, PLASTIC, MS-026ABA, TQFP-32

ECAD模型

下載ECAD模型
$2.05 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜