【正文】
P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78R S T9P 3 .0 ( R X D )10P 3 .1 ( T X D )11P 3 .2 ( I N T 0 )12P 3 .3 ( I N T 1 )13P 3 .4 ( T 0 )14P 3 .5 ( T 1 )15P 3 .6 ( W R )16P 3 .7 ( R D )17X T A L 218X T A L 119G N D20V C C40( A D 0 ) P 0 .039( A D 1 ) P 0 .138( A D 2 ) P 0 .237( A D 3 ) P 0 .336( A D 4 ) P 0 .435( A D 5 ) P 0 .534( A D 6 ) P 0 .633( A D 7 ) P 0 .732E A / V P P31A L E / P R O G30P S E N29( A 1 5 ) P 2 . 728( A 1 4 ) P 2 . 627( A 1 3 ) P 2 . 526( A 1 2 ) P 2 . 425( A 1 1 ) P 2 . 324( A 1 0 ) P 2 . 223( A 9 ) P 2 . 122( A 8 ) P 2 . 021U1S T C 8 9 C 5 2C O M1R12R23R34R45R56R67R78R89U34 . 7 KR11 0 KC3 2 2 p FC2 2 2 p FJ11 2 M H ZG N DV C CG N DRSRWENS3S4S1S2J D Q 1J D Q 2GND1VCC2V03RS4R/W5EN6D07D18D29D310D411D512D613D714A15K16L C D 1 6 0 2U2 L C D 1 6 0 2V C CRSENG N DG N DL E DA L A R M23154U9J D Q 223154U 1 0J D Q 112U 1 112U 1 2D1I N 4 1 4 8D2I N 4 1 4 8L E D 3L E DL E D 4L E DU 1 4U 1 3R61KR71KR91KR 1 01KV C CV C CG N DG N DJ D Q 2J D Q 1W E N U7P N PU8B E L LR51KR81KL E D 2L E D V C CG N DA L A R MV C CL E DK1K E Y 1K2K E Y 2K3K E Y 3K4K E Y 4G N D231U5P O WL E D 1L E DR21KG N D陶瓷電容 C 2 , C 3 , C 17 , C 18電解電容 C 1 , C 15 , C 16電阻 R 1 , R 1 1電阻 R 2 , 。 兩個(gè)控制通路 針對(duì)不同的溫度值來(lái)進(jìn)行不同的系統(tǒng)反饋。 系統(tǒng)主框架 利用傳感器實(shí)現(xiàn)環(huán)境溫度的測(cè)量,并將采集到的模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),傳送到單片機(jī),單片機(jī)進(jìn)行 數(shù)據(jù)處理。 開(kāi)始 液晶顯示初始化 忙碌信號(hào)檢測(cè) 寫入 RAM地址 寫入顯示數(shù)據(jù) 顯示在液晶上 結(jié)束 中斷? 是 否 第 4 章 系統(tǒng)軟件設(shè)計(jì) 25 圖 45 溫度超限報(bào)警流程圖 開(kāi)始 程序初始化 是否超過(guò)設(shè)定極限 正常采集溫度并顯示 降溫 加熱 蜂鳴且綠燈亮 蜂鳴且綠燈亮 再次檢測(cè)是否超過(guò)極限 結(jié)束 是 否 是 否 溫度超過(guò)上限? 是 否 溫度低于下限? 是 加熱 否 綠燈亮 第 5 章 基于 STC89C52 溫度測(cè)控系統(tǒng)的實(shí)現(xiàn) 26 第 5 章 基于 STC89C52 溫度測(cè)控系統(tǒng)的實(shí)現(xiàn) 系統(tǒng)實(shí)現(xiàn)功能簡(jiǎn)介 根據(jù)溫度傳感器的認(rèn)識(shí)及用法用途的掌握,在實(shí)用、廣泛和典型的原則下,利用單片機(jī)結(jié)合溫度傳感器及其他的串口通信技術(shù)設(shè)計(jì)了這個(gè)溫度測(cè)控系統(tǒng)。程序流程 :開(kāi)始→判斷當(dāng)前溫度是否超限→發(fā)出報(bào)警。蜂鳴器是通過(guò)三極管電流放大來(lái)控制的。 流程圖如圖 44所示。液晶顯示器顯示起來(lái)方便、靈活。本次設(shè)計(jì)使用的 1602 液晶顯示器為 5V電壓驅(qū)動(dòng)的,帶背光,可以顯示兩行,每行 16 個(gè)字符。流程圖如圖 43 所示。而且還在實(shí)時(shí)顯示實(shí) 際溫度。 圖 42 溫度采集流程圖 鍵盤掃描模塊 作為優(yōu)先級(jí)較高的功能控制鍵,系統(tǒng)要實(shí)時(shí)響應(yīng)外部中斷。 數(shù)據(jù)采集程序流程圖: DS18B20 溫度傳感器初始化 →采集溫度→等待溫度轉(zhuǎn)換→讀取溫度 TH? 開(kāi)始 開(kāi)始 液晶顯示、溫度傳感器、中斷 等各部分的程序初始化 測(cè)量水的溫度 讀取、顯示溫度 蜂鳴器工作 溫度 TH 或 TL? 按鍵掃描 繼電器 1啟動(dòng) 加熱棒 繼電器 2啟動(dòng) 風(fēng)扇 是 是 否 否u 第 4 章 系統(tǒng)軟件設(shè)計(jì) 22 溫度→ 傳送給單片機(jī)處理。數(shù)據(jù)采集主要通過(guò) DS18B20 溫度傳感器采集被測(cè)物體的溫度,由于 DS18B20 溫度傳感器將外界的溫度信號(hào)(模擬量) 直接轉(zhuǎn)換成數(shù)字信號(hào),直接送入單片機(jī),這個(gè)過(guò)程就不再經(jīng)過(guò) A/D 轉(zhuǎn)換了,這樣就十分方便,而且抗干擾能力強(qiáng),且測(cè)溫精度高。主程序流程圖如圖 41所示。主程序要協(xié)調(diào)各個(gè)模塊的工作,要把溫度采集、溫度設(shè)置、溫度顯示、 鍵盤掃描輸入、中斷處理等各個(gè)模塊子程序統(tǒng)一協(xié)調(diào)起來(lái),避免混亂沖突的現(xiàn)象,保證各個(gè)模塊正常有序的工作。 主程序 模塊 主程序是通電后對(duì)系統(tǒng)初始化和構(gòu)建系統(tǒng)整體軟件框架, 初始化包括對(duì)單片機(jī)的初始化、芯片初始化和串口初始化等。即整個(gè)控制軟件由獨(dú)立的模塊程序組成,之間通過(guò)接口連接,按功能形成模塊化結(jié)構(gòu)。當(dāng)系統(tǒng)的硬件電路設(shè)計(jì)好之后,系統(tǒng)的主要功能還是要靠 軟件來(lái)實(shí)現(xiàn)的,而且軟件的設(shè)計(jì)在很大程度上決定了測(cè)控系統(tǒng)的性 能。時(shí)鐘電路如 圖 312 所示。 51 系列單片機(jī)還可使用外部時(shí)鐘。該反相放大器可以由片內(nèi)振蕩器,石晶振蕩和陶瓷振蕩配置 。 MCS51 單片機(jī)時(shí)鐘頻率有很多,比較常用的為 12MHz,對(duì)應(yīng)的一個(gè)機(jī)器周期為 1us。 12V 直流電壓經(jīng)過(guò) LM1117 低壓差電壓調(diào)節(jié)器轉(zhuǎn)換為 5V直流電壓,供應(yīng)給 LED 燈, LED燈亮,表示電源電路正常工作。 K1K EY 1K2K EY 2K3K EY 3K4K EY 4G N DS1S2S3S4 圖 310 獨(dú)立按鍵電路 電源供電 模塊 控制通路 需要用 12V 直流電 供電,其電路如圖 311 所示,把頻率 為 50Hz、 220V的單相交流電, 經(jīng)過(guò)電源適配器 轉(zhuǎn)換成 12V直流電壓。 K1, K2 按鍵用于設(shè)定溫度上限, K1為“ +1”鍵, 接 口, K2 為“ 1”鍵 ,接 口 ;而 K3, K4 按鍵用于設(shè)定溫度下限, K3 為“ +1”鍵, 接 口, K4 為“ 1”鍵 ,接 口 。 通過(guò)檢測(cè) 每條 輸入線的電平狀態(tài) ,可以快速確定按鍵是否被按下。當(dāng) 腳輸出低電平時(shí), PNP 型三極管 S8550 導(dǎo)通,有集電極電流通過(guò),蜂鳴器響;當(dāng) 腳輸出高電平時(shí),三極管截止,蜂鳴器關(guān)閉。 23154U9J D Q 223154U 1 0J D Q 112U 1 112U 1 2D1I N 4 1 4 8D2I N 4 1 4 8L E D 3L E DL E D 4L E DU 1 4U 1 3R61KR71KR91KR 1 01KV C CV C CG N DG N DJ D Q 2J D Q 1外接加熱棒外接風(fēng)扇第 3 章 系統(tǒng)硬件設(shè)計(jì) 18 本設(shè)計(jì)中的電磁繼電器具有 的 電氣隔離能力,在控制 通路 中, 三極 管能夠 將 從單片機(jī)輸出的信號(hào) 放大 ,繼電器的通斷就可以由這個(gè)信號(hào)控制,因此能夠 用弱電控制強(qiáng)電 。此外,許多外部設(shè)備在啟停過(guò)程中會(huì)產(chǎn)生電磁干擾信號(hào),如果不隔離,會(huì)導(dǎo)致系統(tǒng)發(fā)出錯(cuò)誤指令 。本設(shè)計(jì)采用的是直流電壓 +5V 驅(qū)動(dòng)繼電器。由輸入電壓大小確定工作電壓大小。 U7P N PU8B E L LR51KV C CG N DA L A R M 圖 39 蜂鳴器電路 本系統(tǒng)的控制部分,采用的是電磁繼電器控制,即通斷控制,是 比較 基礎(chǔ)的控制方法。 圖 38 溫度控制模塊接口電路 與此同時(shí), 單片機(jī)通過(guò)三極管驅(qū)動(dòng) 蜂鳴器發(fā) 聲。 P 1 .01P 1 .12P 1 .23P 1 .34P 1 .45P 1 .56P 1 .67P 1 .78R S T9P 3 .0 ( R X D )10P 3 .1 ( T X D )11P 3 .2 ( I N T 0 )12P 3 .3 ( I N T 1 )13P 3 .4 ( T 0 )14P 3 .5 ( T 1 )15P 3 .6 ( W R )16P 3 .7 ( R D )17X T A L 218X T A L 119G N D20V C C40( A D 0 ) P 0 .039( A D 1 ) P 0 .138( A D 2 ) P 0 .237( A D 3 ) P 0 .336( A D 4 ) P 0 .435( A D 5 ) P 0 .534( A D 6 ) P 0 .633( A D 7 ) P 0 .732E A / V P P31A L E / P R O G30P S E N29( A 1 5 ) P 2 . 728( A 1 4 ) P 2 . 627( A 1 3 ) P 2 . 526( A 1 2 ) P 2 . 425( A 1 1 ) P 2 . 324( A 1 0 ) P 2 . 223( A 9 ) P 2 . 122( A 8 ) P 2 . 021U1S T C 8 9 C 5 2C O M1R12R23R34R45R56R67R78R89U34 . 7 KGND1VCC2V03RS4R/W5EN6D07D18D29D310D411D512D613D714A15K16L C D 1 6 0 2U2 L C D 1 6 0 2V C CRSENG N DG N DRW132R T 1 1 0 KV C C 圖 37 溫度顯示模塊接口電路 U3 是一個(gè) 的外部上拉電阻,一般的 51 單片機(jī)的 P0 口都是 OC 門電路,所以需要加上拉電阻,不過(guò)有些單片機(jī)內(nèi)部有弱上拉 電阻 , 此時(shí) 就可以不接外部上拉電阻,但對(duì)于電路完整性來(lái)說(shuō),一般都加上外部上拉電阻。本系統(tǒng)采用 LCD 與 C52相聯(lián)接的方法,實(shí)現(xiàn)人機(jī)交互的效果。 ( 4) 顯示地址: 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 圖 36 LCD1602顯示地址 LCD1602 內(nèi)部 RAM 顯示緩沖區(qū)地址的映射圖 如圖 36 所示 , 00~ 0F、 40~ 4F分別對(duì)應(yīng)LCD1602的上下兩行的每一個(gè)字符,只要往對(duì)應(yīng)的 RAM地址寫入要顯示字符的 ASCII代碼,LCD 16 字 *2行 第 3 章 系統(tǒng)硬件設(shè)計(jì) 16 就可以顯示出來(lái)。讀 /寫控制端設(shè)置為寫模式,即低電平。 LCD芯片介紹 ( 1) LCD1602 接口信號(hào)說(shuō)明 : 表 38 1602型液晶接口信號(hào)說(shuō)明 編號(hào) 符號(hào) 引腳說(shuō)明 編號(hào)