|
DS18B20測溫,1602液晶顯示。
有仿真程序,電原理圖及PCB圖。
主要功能:
當(dāng)溫控開關(guān)打開時,若測得環(huán)境溫度大于設(shè)定溫度,則繼電器吸合
,啟動壓縮機工作;若測得環(huán)境溫度小于設(shè)定溫度,則繼電器釋放,
壓縮機停止工作。
該實驗可以應(yīng)用于對溫度控制精度要求不是很高的場合,例如,糧倉,
電冰箱,空調(diào),電飯鍋等。如果配以通訊接口,可以做成多點溫度檢
測監(jiān)控系統(tǒng)。具有極強的擴展性。
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
0.png (19.86 KB, 下載次數(shù): 87)
下載附件
2017-8-10 05:12 上傳
Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
0.png (46.81 KB, 下載次數(shù): 76)
下載附件
2017-8-10 05:12 上傳
0.png (51.39 KB, 下載次數(shù): 77)
下載附件
2017-8-10 05:12 上傳
0.png (37.37 KB, 下載次數(shù): 85)
下載附件
2017-8-10 05:11 上傳
單片機源程序如下:
- /*******************************************************************
- 智能溫控器
- 問題描述:當(dāng)溫控開關(guān)打開時,若測得環(huán)境溫度大于設(shè)定溫度,則繼電器吸合
- ,啟動壓縮機工作;若測得環(huán)境溫度小于設(shè)定溫度,則繼電器釋放,
- 壓縮機停止工作。
- 該實驗可以應(yīng)用于對溫度控制精度要求不是很高的場合,例如,糧倉,
- 電冰箱,空調(diào),電飯鍋等。如果配以通訊接口,可以做成多點溫度檢
- 測監(jiān)控系統(tǒng)。具有極強的擴展性。
- 作者: LI YONG QIANG "XIAN technologcal university"
- 注意: 此文檔為仿真程序,若要在試驗板上驗證,需要須改一下函數(shù)
-
- void lcd_wait(void)
- {
- DATAPORT=0xff;
- LCM_EN=1;
- LCM_RS=0;
- LCM_RW=1;
- _nop_();
- while(DATAPORT&BUSY);
- LCM_EN=0;
-
- }
- *******************************************************************/
- #include<reg51.h>
- #include<intrins.h>
- #include <absacc.h>
- #define uchar unsigned char
- #define uint unsigned int
- #define BUSY 0x80 //lcd忙檢測標(biāo)志
- #define DATAPORT P0 //定義P0口為LCD通訊端口
- #define PLAYE_ADDR XBYTE[0XBFFF] //語音報警地址
- sbit RED_ALARM=P1^0; //紅色指示燈
- sbit WRITE_ALARM=P1^1; //白色指示燈
- sbit GREEN_ALARM=P1^2; //綠色指示燈
- sbit BLUE_ALARM=P1^3;
- sbit P1_4=P1^4; //時鐘調(diào)整
- sbit P1_5=P1^5; //時鐘加
- sbit P1_6=P1^6; //時鐘減
- sbit DQ = P1^7; //定義ds18b20通信端口
- sbit LCM_RS=P2^0; //數(shù)據(jù)/命令端
- sbit LCM_RW=P2^1; //讀/寫選擇端
- sbit LCM_EN=P2^2;
- sbit sda=P2^3; //IO口定義
- sbit scl=P2^4; //LCD使能信號
- sbit ad_busy=P3^2; //adc中斷方式接口
- sbit RECLED_EOC=P3^5; //ISD1420放音結(jié)束查詢標(biāo)志
- sbit OUT=P3^7;
- uchar ad_data; //ad采樣值存儲
- uchar seconde; //定義并初始化時鐘變量
- uchar minite;
- uchar hour;
- uchar mstcnt=0;
- uchar temp1,temp2,temp; //溫度顯示變量
- uchar t,set;
- uchar K;
- bit ON_OFF=0;
- bit outflag;
- bit write=0;
- uchar code str0[]={"--- : : --- "};
- uchar code str1[]={"SET: C SA: . C"};
- void delay_LCM(uint); //LCD延時子程序
- void initLCM( void); //LCD初始化子程序
- void lcd_wait(void); //LCD檢測忙子程序
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
所有資料51hei提供下載:
溫控器.zip
(647.92 KB, 下載次數(shù): 59)
2017-8-9 22:24 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
|