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

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

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

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

共1個(gè)文件

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

C0008 網(wǎng)盤鏈接

功能說明:
本設(shè)計(jì)是基于單片機(jī)的多路溫度采集控制系統(tǒng)的設(shè)計(jì),主要實(shí)現(xiàn)以下功能:
1.可實(shí)現(xiàn)通過三個(gè)DS18B20采集三個(gè)不同位置的溫度值,并通過RS485傳送給主機(jī);
2.可實(shí)現(xiàn)通過繼電器控制加熱降溫模塊,進(jìn)行異常溫度處理;
3.可實(shí)現(xiàn)通過按鍵調(diào)整初始設(shè)定的最大最小溫度閾值;
4.可實(shí)現(xiàn)通過主機(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();	 //開始讀溫度
			delay(100);
			ans1=DS18B20_read_date1();
			DS18B20_start_change2();	 //開始讀溫度
			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à)格 更多信息
ATXMEGA32A4U-MHR 1 Microchip Technology Inc IC MCU 8BIT 32KB FLASH 44VQFN
$2.99 查看
MC9S12XEP100MAG 1 Freescale Semiconductor 16-bit MCU, S12X core, 1MB Flash, 50MHz, -40/+125degC, QFP 144

ECAD模型

下載ECAD模型
$29.4 查看
MPC5554MZP132 1 Freescale Semiconductor 32-BIT, FLASH, 132MHz, MICROCONTROLLER, PBGA416, 27 X 27 MM, 1 MM PITCH, PLASTIC, MS-034AAL-1, TEBGA-416
$80.8 查看

相關(guān)推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時(shí)響應(yīng)!