基于單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)
天 津 大 學(xué) 網(wǎng) 絡(luò) 教 育 學(xué) 院本科畢業(yè)設(shè)計(jì)(論文)題目:基于單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)完成期限:2016年1月8日 至 2016年5月10日學(xué)習(xí)中心:選擇一項(xiàng)。專業(yè)名稱:選擇一項(xiàng)。 學(xué)生姓名:學(xué)生學(xué)號(hào):指導(dǎo)教師:摘 要無(wú)論是在現(xiàn)代化的城市生活中,還是在落后的鄉(xiāng)鎮(zhèn)生活中,溫度都扮演著極其重要的角色,我們幾乎所有的日常生活都與溫度息息相關(guān)。自18世紀(jì)工業(yè)革命發(fā)展以來(lái),工業(yè)的發(fā)展與人類掌握對(duì)溫度的控制有著密切的聯(lián)系,都離不開(kāi)對(duì)溫度的掌握。隨著單片機(jī)技術(shù)的飛速發(fā)展,單片機(jī)的一系列優(yōu)點(diǎn)越發(fā)惹人注目,其工作穩(wěn)定可靠等優(yōu)點(diǎn)已經(jīng)被很多企業(yè)接受。本設(shè)計(jì)基于AT89C51單片機(jī)和溫度傳感器實(shí)現(xiàn)溫度控制系統(tǒng),不僅控制簡(jiǎn)便而且高效率控制,大大提高溫度控制系統(tǒng)的靈活性,擴(kuò)大基于單片機(jī)溫度控制系統(tǒng)的適用范圍。本設(shè)計(jì)在具體介紹溫度控制系統(tǒng)整體的設(shè)計(jì)方案之后,詳細(xì)介紹了溫度控制系統(tǒng)硬件設(shè)計(jì)、溫度控制系統(tǒng)軟件設(shè)計(jì)和相關(guān)接口的電路設(shè)計(jì),討論基于單片機(jī)溫度控制系統(tǒng)的相關(guān)應(yīng)用,最后總結(jié)本設(shè)計(jì)的合理性和有效性。關(guān)鍵詞:?jiǎn)纹瑱C(jī); 溫度傳感器; 溫度控制 目 錄第一章 緒論11.1 溫度控制系統(tǒng)概況11.2 國(guó)內(nèi)外研究現(xiàn)狀11.3 課題的主要工作2第二章 總體設(shè)計(jì)32.1總體設(shè)計(jì)方案32.2功能描述32.3溫度控制系統(tǒng)硬件電路框圖4第三章 溫度控制系統(tǒng)硬件設(shè)計(jì)53.1硬件設(shè)計(jì)方案53.2單片機(jī)系統(tǒng)介紹53.3 溫度信號(hào)采集模塊的設(shè)計(jì)93.3.1溫度傳感器的選擇93.3.2 信號(hào)放大電路103.3.3 A/D轉(zhuǎn)換電路103.4鍵盤控制電路的設(shè)計(jì)113.5液晶顯示電路的設(shè)計(jì)123.6蜂鳴器警報(bào)電路的設(shè)計(jì)133.7加熱模塊電路的設(shè)計(jì)14第四章 系統(tǒng)軟件設(shè)計(jì)164.1軟件設(shè)計(jì)方案164.2溫度控制部分程序的設(shè)計(jì)174.3鍵盤部分程序的設(shè)計(jì)184.4數(shù)據(jù)采集模塊程序設(shè)計(jì)184.5液晶顯示部分溫度程序的設(shè)計(jì)19第五章 總結(jié)與展望21參考文獻(xiàn)22附 錄23致 謝29天津大學(xué)網(wǎng)絡(luò)教育學(xué)院本科畢業(yè)設(shè)計(jì)(論文)第一章 緒論1.1 溫度控制系統(tǒng)概況本課題主要是基于單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì)和研究,研究中的控制對(duì)象為溫度。溫度在我們的日常生活中很常見(jiàn),也是很熟悉的東西,很多場(chǎng)所都需要控制溫度來(lái)提供生產(chǎn),比如火力發(fā)電廠、浴室、植物的培植室等場(chǎng)所的溫度控制。縱觀電氣時(shí)代以來(lái)的人類發(fā)展史,很多溫度控制都只是人工操作的,且不夠重視,也因此發(fā)生了很多意外。隨著電子技術(shù)的快速發(fā)展,智能化實(shí)現(xiàn)對(duì)溫度的控制已經(jīng)可以實(shí)現(xiàn)。本課題以芯片為核心,對(duì)溫度傳感器感測(cè)到的溫度進(jìn)行分析、數(shù)值顯示和數(shù)據(jù)存儲(chǔ),從而有效實(shí)現(xiàn)單片機(jī)對(duì)溫度的智能控制。1.2 國(guó)內(nèi)外研究現(xiàn)狀相對(duì)而言,國(guó)外比我國(guó)對(duì)溫度控制系統(tǒng)的研究要早的多。國(guó)外從20世紀(jì)70年代開(kāi)始,通過(guò)模擬組合的方式,采集信號(hào)并發(fā)出指令和存貯。80年代開(kāi)始進(jìn)行分布式控制方式的研究1?,F(xiàn)代世界各國(guó)的溫度控制系統(tǒng)發(fā)展的非常迅速,很多國(guó)家開(kāi)始實(shí)現(xiàn)由半自動(dòng)化向完全自動(dòng)化的方向發(fā)展。我國(guó)對(duì)于溫度控制系統(tǒng)的研究起步較晚,很大部分都只是借鑒一些發(fā)達(dá)國(guó)家的成熟技術(shù),真正自己研究的東西并不多。整體的溫度控制技術(shù)設(shè)施簡(jiǎn)單,控制因素單一。當(dāng)然我國(guó)的溫度控制技術(shù)正在由簡(jiǎn)單到實(shí)用化、綜合性應(yīng)用方向發(fā)展,雖然我國(guó)溫度控制和溫度測(cè)量技術(shù)遠(yuǎn)沒(méi)有達(dá)到工廠化的程度,與歐美一些發(fā)達(dá)國(guó)家相比還存在很大差距,但是近幾年國(guó)家開(kāi)始重視自動(dòng)化設(shè)備控制系統(tǒng)的研究,很多科研人員開(kāi)始著手自動(dòng)化控制設(shè)備的研究,制定很多成功的案例。但是理論研究始終停留在理論研究的層次,無(wú)法適用于工廠生產(chǎn),很多研究方案,要么太過(guò)理論化、理想化,要么太過(guò)復(fù)雜,費(fèi)用太過(guò)昂貴。同樣,近年來(lái)溫度的檢測(cè)在理論上發(fā)展比較成熟,但在實(shí)際測(cè)量和控制中,如何保證快速實(shí)時(shí)地對(duì)溫度進(jìn)行采樣,確保數(shù)據(jù)的正確傳輸,并能對(duì)所測(cè)溫度場(chǎng)進(jìn)行較精確的控制,仍然是目前需要解決的問(wèn)題2。因此,設(shè)計(jì)一款比較實(shí)用的溫度控制系統(tǒng)十分有必要,關(guān)于基于單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì)和研究課題也十分有意義。1.3 課題的主要工作本研究主要是對(duì)溫度的實(shí)時(shí)檢測(cè)和有效控制。首先設(shè)定密閉空間溫度,通過(guò)溫度傳感器感測(cè)密閉空間溫度,由信號(hào)放大電路將溫度信號(hào)放大,然后經(jīng)過(guò)A/D轉(zhuǎn)換電路轉(zhuǎn)換將轉(zhuǎn)換信號(hào)傳遞給芯片,假如感測(cè)器感測(cè)到密閉空間溫度高于設(shè)定溫度,系統(tǒng)立即停止加熱,使溫度達(dá)到密閉空間設(shè)定值溫度;假如感測(cè)器感測(cè)到密閉空間溫度低于設(shè)定溫度,系統(tǒng)立即啟動(dòng)加熱器,對(duì)密閉空間升溫,使密閉空間溫度升高。任意一模塊不工作或工作出錯(cuò),蜂鳴器會(huì)發(fā)出報(bào)警信號(hào),從而達(dá)到智能化目的。液晶顯示器可以實(shí)時(shí)顯示密閉空間溫度。課題研究主要包括如下一些方面:(1) 單片機(jī)的選擇;(2) 溫度傳感器的選擇及溫度傳感器信號(hào)處理電路的設(shè)計(jì);(3) 液晶顯示器電路的設(shè)計(jì);(4) 蜂鳴器報(bào)警模塊的設(shè)計(jì);(5) 加熱模塊控制電路的設(shè)計(jì);(6) 鍵盤電路的設(shè)計(jì)。第二章 總體設(shè)計(jì)課題研究主要包括六個(gè)部分:?jiǎn)纹瑱C(jī)、溫度傳感器及信號(hào)處理電路、液晶顯示器電路、蜂鳴器報(bào)警模塊、加熱模塊控制電路和鍵盤電路。其中,如何有效實(shí)現(xiàn)溫度控制系統(tǒng)的控制,關(guān)鍵在于溫度傳感器的選擇和驅(qū)動(dòng)電路的設(shè)計(jì),鍵盤電路可以實(shí)現(xiàn)對(duì)溫度上限值和下限值的輸入。2.1總體設(shè)計(jì)方案本研究主要包括兩個(gè)方面的研究:硬件設(shè)計(jì)和軟件設(shè)計(jì)。想要實(shí)現(xiàn)完整的功能,必須選擇合適的元器件,對(duì)于整體設(shè)計(jì)的硬件部分主要包括驅(qū)動(dòng)電路的設(shè)計(jì),軟件部分主要包括程序的編寫。本系統(tǒng)采用熱電偶溫度自動(dòng)控制系統(tǒng),具體系統(tǒng)設(shè)計(jì)流程圖如圖2-1所示:圖2-1 系統(tǒng)設(shè)計(jì)流程圖2.2功能描述(1)通過(guò)溫度傳感器感測(cè)密閉空間溫度,將感測(cè)到的溫度信號(hào)經(jīng)過(guò)信號(hào)處理電路,傳遞給單片機(jī)接口,控制系統(tǒng)單片機(jī)對(duì)整個(gè)控制系統(tǒng)進(jìn)行解析;(2) 當(dāng)人在鍵盤上輸入溫度設(shè)定值后,芯片接收輸入信號(hào),單片機(jī)開(kāi)始控制加熱模塊,判斷是否對(duì)系統(tǒng)進(jìn)行加熱,假如沒(méi)有設(shè)定值,系統(tǒng)不給密閉空間加熱,密閉空間溫度不變化;(3) 本系統(tǒng)帶有報(bào)警裝置,假如溫度控系統(tǒng)的任意一模塊不工作,即密閉空間在控制的情況下,偏離設(shè)定值過(guò)大,系統(tǒng)便會(huì)發(fā)生報(bào)警;(4) 液晶顯示器會(huì)顯示密閉空間不同的溫度值,因?yàn)殒I盤上的溫度設(shè)置值不同,整個(gè)系統(tǒng)控制的密閉空間溫度也不同。2.3溫度控制系統(tǒng)硬件電路框圖本研究能夠?qū)崿F(xiàn)單片機(jī)對(duì)密閉空間內(nèi)溫度的有效控制的功能,通過(guò)單片機(jī)對(duì)溫度的智能控制,從而實(shí)現(xiàn)溫度智能化控制的目的。系統(tǒng)結(jié)構(gòu)框圖如圖2-2所示液晶顯示電路AT89C51控制器信號(hào)處理電路溫度信號(hào)采集蜂鳴器警報(bào)模塊鍵盤電路加熱模塊控制圖2-2 系統(tǒng)結(jié)構(gòu)框圖第三章 溫度控制系統(tǒng)硬件設(shè)計(jì)3.1硬件設(shè)計(jì)方案根據(jù)設(shè)計(jì)需求構(gòu)建原理圖,選擇合適的控制芯片,分別實(shí)現(xiàn)對(duì)溫度傳感器的選擇及溫度傳感器信號(hào)處理電路的設(shè)計(jì);液晶顯示器電路的設(shè)計(jì);蜂鳴器報(bào)警模塊的設(shè)計(jì);加熱模塊控制電路的設(shè)計(jì);鍵盤電路的設(shè)計(jì)。其中主要包括電路的設(shè)計(jì),電子器件的選擇。目前在現(xiàn)有的設(shè)計(jì)中,溫度傳感器的選擇及溫度傳感器信號(hào)處理電路的設(shè)計(jì)、液晶顯示器電路的設(shè)計(jì)和加熱模塊控制電路的設(shè)計(jì)參考線路圖樣本較多,選擇難度不大,而蜂鳴器報(bào)警模塊的設(shè)計(jì)難度較大,如何選擇誤差,讓大眾更容易接受,比較有技術(shù)含量。3.2單片機(jī)系統(tǒng)介紹在整個(gè)系統(tǒng)的控制中,采用單片機(jī)處理芯片對(duì)課題的設(shè)計(jì)對(duì)象進(jìn)行控制,主要有一下一些特性3:(1)芯片面向的控制對(duì)象為8位CPU;(2)芯片內(nèi)有4KB ROM 的程序存儲(chǔ)器;(3)芯片內(nèi)有128B的片內(nèi)數(shù)據(jù)存儲(chǔ)器;(4)可尋址64KB的片外程序存儲(chǔ)器和片外數(shù)據(jù)存儲(chǔ)器控制電路;(5)在芯片中有2個(gè)16位的定時(shí)/計(jì)數(shù)器;(6)芯片中共有32條可以單獨(dú)編程的接口,4個(gè)并行I/O接口;(7)芯片中有2個(gè)中斷優(yōu)先級(jí),5個(gè)中斷源;(8)在芯片中還可有掉電保護(hù)模式和低功耗的閑置;單片機(jī)除了以上一些特征外,而且物美價(jià)廉,外圍電路相對(duì)而言較為簡(jiǎn)單。在實(shí)際應(yīng)用中,此款單片機(jī)的工作頻率比較低,但是對(duì)于整個(gè)設(shè)計(jì)系統(tǒng),此工作頻率足以滿足整個(gè)系統(tǒng)的控制。單片機(jī)有32個(gè)I/O端口,這樣便于整體設(shè)計(jì),如圖3-1所示為單片機(jī)控制系統(tǒng)。圖3-1 單片機(jī)控制系統(tǒng)在如圖3-1所示的單片機(jī)控制系統(tǒng)中,AT89C51單片機(jī)擁有兩個(gè)外部中斷、兩個(gè)16位的定時(shí)器和兩個(gè)可編程串行UART的單片機(jī)。因此AT89C51單片機(jī)作為中心控制模塊完全滿足設(shè)計(jì)需求,從而滿足整個(gè)控制系統(tǒng)。AT89C51單片機(jī)的引腳如圖3-2所示圖3-2 AT89C51引腳圖AT89C51單片機(jī)引腳說(shuō)明:VCC:?jiǎn)纹瑱C(jī)電源GND:?jiǎn)纹瑱C(jī)接地引腳端口:端口為8位漏級(jí)開(kāi)路雙向I/O端口。此端口為輸出端口,其中端口的每一位都能帶動(dòng)8個(gè)TTL邏輯電平。當(dāng)端口輸出信號(hào)為“1”時(shí),表示高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),端口為低8位地址/數(shù)據(jù)復(fù)用。此種情況,端口表示內(nèi)部上拉電阻。當(dāng)操作時(shí)假如用flash編程,則端口也可以用來(lái)工作:在程序驗(yàn)證的過(guò)程中,需要上拉電阻,輸出指令字節(jié)。端口:端口有內(nèi)置上拉電阻,8位雙向I/O端口,端口可驅(qū)動(dòng)4個(gè)TTL邏輯電平。當(dāng)端口輸出信號(hào)為“1”時(shí),將輸出電流。并且與其它單片機(jī)不同之處是,和可以作為定時(shí)/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(/)和輸出(/),具體情況如表3-1所示。表 3-1 和的其它功能引腳號(hào)功能特性(定時(shí)/計(jì)數(shù)器2外部計(jì)數(shù)脈沖輸入),時(shí)鐘輸出定時(shí)/計(jì)數(shù)2捕獲/重裝載觸發(fā)和方向控制當(dāng)Flash編程和校驗(yàn)的過(guò)程中,端口會(huì)接收低8位地址字節(jié)。端口:端口有內(nèi)置上拉電阻8位雙向I/O端口,端口可驅(qū)動(dòng)4個(gè)TTL邏輯電平。當(dāng)端口輸出信號(hào)為“1”時(shí),由于端口被內(nèi)部上拉電阻拉高,此端口便有了輸入端口的功能,當(dāng)此端口為輸入端口時(shí),較低的引腳將輸出電流為ILL 。AT89C51單片機(jī)片內(nèi)存儲(chǔ)器售后通常處于擦除狀態(tài),即每個(gè)地址單元內(nèi)容均為FFH,因此人們可隨時(shí)對(duì)其編程4-5。當(dāng)訪問(wèn)外部存儲(chǔ)器或者通過(guò)16位的地址訪問(wèn)外部大量的存儲(chǔ)設(shè)備時(shí),端口會(huì)輸出8位的地址。在此種情況下,端口會(huì)發(fā)送1,在使用8位的地址訪問(wèn)外部大量的存儲(chǔ)設(shè)備時(shí),端口會(huì)輸出端口鎖存器的部分內(nèi)容。在Flash校驗(yàn)的過(guò)程中,端口會(huì)接收8位地址和一些其它的控制信號(hào)。端口:端口有內(nèi)置上拉電阻8位雙向I/O端口,端口可驅(qū)動(dòng)4個(gè)TTL邏輯電平。當(dāng)端口輸出信號(hào)為“1”時(shí),由于端口被內(nèi)部上拉電阻拉高,此端口便有了輸入端口的功能。當(dāng)此端口為輸入端口時(shí),較低的引腳將輸出電流為ILL。端口除了作為I/O接口外,還有其它功能功能,如表3-2所示。表 3-2 端口的其它功能引腳號(hào)第二功能(串行輸入)(串行輸出)(外部中斷0)(外部中斷1)(定時(shí)器0外部輸入)(定時(shí)器1外部輸入)(外部數(shù)據(jù)存儲(chǔ)器寫選通)(外部數(shù)據(jù)存儲(chǔ)器讀選通)當(dāng)Flash編程和校驗(yàn)的過(guò)程中,P3端口會(huì)接收一些控制信號(hào)。:表示復(fù)位。當(dāng)晶振工作,管腳會(huì)以2個(gè)機(jī)器周期高電平使單片機(jī)復(fù)位。:當(dāng)訪問(wèn)外部存儲(chǔ)設(shè)備時(shí),ALE地址鎖存器控制信號(hào)會(huì)鎖存低8位地址輸出脈沖。當(dāng)Flash編程的過(guò)程中,引腳()也會(huì)使用此作為Flash編程的輸入脈沖。在正常使用的過(guò)程中,輸出脈沖僅為晶振的1/6,此時(shí)可用著外部定時(shí)器或者時(shí)鐘,然而,需要注意的是,在訪問(wèn)外部存儲(chǔ)器時(shí),脈沖會(huì)有部分跳動(dòng)。如果將的0位置設(shè)置為“1”,此時(shí)失效。此時(shí)的“1”,僅在執(zhí)行指令或者時(shí),才能正常工作。否則,會(huì)被拉高,在外部執(zhí)行模式下會(huì)失效。:外部程序儲(chǔ)存器選通信號(hào)()是外部程序存儲(chǔ)設(shè)備的選通信號(hào)。當(dāng)AT89C51單片機(jī)執(zhí)行外部存儲(chǔ)設(shè)備的代碼時(shí),在每個(gè)機(jī)器周期會(huì)被激活兩次,而訪問(wèn)外部存儲(chǔ)設(shè)備時(shí),將不能激活。:訪問(wèn)外部程序存儲(chǔ)器控制信號(hào)。當(dāng)接口從0000HFFFFH的外部程序存儲(chǔ)設(shè)備中讀取相應(yīng)的指令時(shí),端口需要保持低電平而接地。而執(zhí)行內(nèi)部的程序指令時(shí),端口需要接。當(dāng)flash編程和校驗(yàn)的過(guò)程中,可以接12V(VPP)電壓。:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。:振蕩器反相放大器的輸出端。3.3 溫度信號(hào)采集模塊的設(shè)計(jì)3.3.1溫度傳感器的選擇溫度傳感器的選擇在溫度控制系統(tǒng)的設(shè)計(jì)中占有重要地位,如今在市場(chǎng)上所見(jiàn)的溫度傳感器,價(jià)格低廉的溫度傳感器靈敏度不高,且很容易出現(xiàn)問(wèn)題,靈敏度高的溫度傳感器,卻價(jià)格昂貴,并不實(shí)用。因此,本設(shè)計(jì)在設(shè)計(jì)之初考慮到了這些因素的影響,根據(jù)具體的應(yīng)用場(chǎng)合選擇使用不同的溫度傳感器,且整體設(shè)計(jì)并不因?yàn)閭鞲衅鞯倪x擇而發(fā)生變化。作為樣本,本設(shè)計(jì)選擇智能溫度傳感器6,樣本溫度傳感器的分辨率可達(dá)到12位,識(shí)別0.0625的溫度。傳感器具有獨(dú)立輸出信號(hào)和處理信號(hào)的功能,而且只需要一位與芯片的接口,抗干擾能力強(qiáng),溫度測(cè)量范圍為,在本設(shè)計(jì)中簡(jiǎn)單實(shí)用。采用1-總線的數(shù)據(jù)傳輸?shù)臏囟葌鞲衅?,采取總線的方式不僅可以大大降低硬件成本,同時(shí)也有利于系統(tǒng)的擴(kuò)展設(shè)計(jì),所以串行總線廣泛應(yīng)用于單片機(jī)測(cè)控中7。此采取的數(shù)字化單總線技術(shù)8,這樣感測(cè)的溫度信息可以從接口單線傳出,指令信號(hào)也可以單線傳入中,因此溫度傳感器與單片機(jī)的接口不像別的傳感器那么復(fù)雜,只需要一條線,連接溫度感測(cè)部分。溫度傳感器的供電方式,可以采用總線的供電方式,也可以采用外部電源供電的方式9。在傳感器上有唯一的系列號(hào),因而一條總線上可以放置多個(gè)溫度傳感器,這樣就可以增多本設(shè)計(jì)的適用場(chǎng)合,比如火力發(fā)電廠、浴室、植物的培植室等眾多場(chǎng)所。關(guān)于溫度傳感器的內(nèi)部結(jié)構(gòu)圖如圖3-3所示,溫度傳感器的引腳說(shuō)明在表3-3所示。圖3-3 內(nèi)部結(jié)構(gòu)圖表3-3 的引腳說(shuō)明引腳符號(hào)說(shuō)明1接地2單線數(shù)據(jù)的輸入/輸出3可供選擇的VDD兩種供電方式 單片機(jī)與溫度傳感器結(jié)合的設(shè)計(jì)可以從通信線上得到電源10,此工作原理為:當(dāng)信號(hào)線為高電平時(shí),接上電源,給電容器充電,當(dāng)信號(hào)線為低電平時(shí),斷開(kāi)電源,此時(shí)電容器供電,直到信號(hào)線再為高電平時(shí),傳感器接上電源,從電容器充電,反復(fù)運(yùn)行。另一種工作方法為溫度傳感器外接5V電源直接供電。此溫度傳感器與芯片的接線如圖3-4所示。圖3-4 圖3.2 與接線方式3.3.2 信號(hào)放大電路在基于單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì)中,信號(hào)放大的電路部分屬于V-V放大,主要是對(duì)溫度傳感器感測(cè)空間溫度信號(hào)的放大。前面溫度傳感器傳輸過(guò)來(lái)的信號(hào)經(jīng)過(guò)差動(dòng)放大器放大后,才能經(jīng)過(guò)A/D轉(zhuǎn)換器進(jìn)行模擬信號(hào)、數(shù)字信號(hào)的轉(zhuǎn)換,最后將數(shù)字信號(hào)送入單片機(jī)中處理,實(shí)現(xiàn)單片機(jī)對(duì)溫度的控制。放大器的極數(shù)與單極放大器的帶寬增益相關(guān),在這里我們選用差分式斬波穩(wěn)零高精度的運(yùn)算放大器。其中,一級(jí)放大器可以接成雙端差分的輸入,單端的輸出形式。將放大器連接成T型反饋網(wǎng)絡(luò)的形式,那么此放大器的放大倍數(shù):在實(shí)際應(yīng)用中,各類元器件可以按照實(shí)際情況選定,通過(guò)電阻微調(diào)電阻實(shí)現(xiàn)系統(tǒng)需求。3.3.3 A/D轉(zhuǎn)換電路A/D轉(zhuǎn)化電路的功能主要是將模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),它是將溫度傳感器測(cè)量的溫度信號(hào)傳遞給單片機(jī)的一個(gè)重要環(huán)節(jié)。如圖3-5所示為芯片的引腳圖。 圖3-5 引腳圖 圖3-6 8255引腳圖 A/D轉(zhuǎn)換芯片主要由兩個(gè)部分組成,一個(gè)為模擬芯片,另一個(gè)為數(shù)字芯片。模擬芯片由高性能的轉(zhuǎn)換器和參考電壓構(gòu)成,數(shù)字芯片由邏輯控制電路和三態(tài)緩沖器構(gòu)成。芯片有以下功能特性:芯片的分辨率:12位;芯片的非線性誤差:<或;芯片的轉(zhuǎn)換速率:25s;模擬電壓輸入范圍:0-10V,0-20V;電源電壓:15V和5V;芯片的數(shù)據(jù)輸出格式:12位/8位芯片工作模式:全速或者單一的工作模式。3.4鍵盤控制電路的設(shè)計(jì)本研究所設(shè)計(jì)的基于單片機(jī)的溫度控制系統(tǒng),因適用場(chǎng)合不同,根據(jù)具體情況會(huì)在設(shè)置不同的溫度值,此時(shí)就需要前面所提到的鍵盤控制電路。在鍵盤控制電路的設(shè)計(jì)中,選用芯片可編程并行接口,具體引腳如圖3-6所示。單片機(jī)有4個(gè)8位的并行接口,這些接口在設(shè)計(jì)中并不是完全提供給用戶的,在外部擴(kuò)展存儲(chǔ)器時(shí),只有和接口的部分口線供用戶使用。因此在單片機(jī)設(shè)計(jì)的過(guò)程中也進(jìn)行了接口局部拓展。芯片的接口沒(méi)那么復(fù)雜,在如圖3-7所示的芯片的片選信號(hào)以及A0、A1地址選擇線主要由單片機(jī)的和、接口經(jīng)過(guò)地址鎖存器來(lái)提供。圖3-7 鍵盤接口電路圖芯片的A、B、C端口以及相應(yīng)的控制端口地址分別為、和。芯片的D0D7端口與單片機(jī)中的端口到端口連接。鍵盤控制電路主要功能有:鍵1表示上升溫度。鍵2表示下降溫度。鍵3表示下限溫度值。鍵4表示確定上限溫度值。鍵5表示查詢上下限的溫度。根據(jù)具體的使用情況可以調(diào)節(jié)鍵1和鍵2來(lái)調(diào)節(jié)溫度,當(dāng)溫度調(diào)到理想溫度時(shí),按下鍵3來(lái)確定下限值,此時(shí)調(diào)節(jié)的下限值將會(huì)保存到一個(gè)專用的寄存器中,在完成設(shè)定下限溫度值后,再來(lái)調(diào)節(jié)鍵1和鍵2來(lái)調(diào)節(jié)溫度,當(dāng)溫度調(diào)到理想溫度時(shí),按下鍵4來(lái)確定上限值,此時(shí)調(diào)節(jié)的上限值將會(huì)保存到一個(gè)專用的寄存器中,然后系統(tǒng)才能正常工作。3.5液晶顯示電路的設(shè)計(jì)關(guān)于液晶顯示器的功能前文已有相關(guān)介紹,液晶顯示電路主要用來(lái)顯示密閉空間的不同溫度值。在如圖3-8所示的電路圖中,液晶顯示模塊用LED顯示塊來(lái)表示,它是由常規(guī)的發(fā)光二極管來(lái)顯示溫度。在圖中的顯示塊中,此類顯示塊有兩種:共陽(yáng)極和共陰極。共陰極LED顯示塊的發(fā)光二極管公共部分接地。圖3-8 顯示電路原理圖本研究選用的是共陰極的LED顯示塊,在圖3-8所示的顯示電路中,當(dāng)二極管的陽(yáng)極為高電平時(shí),LED顯示塊的發(fā)光二極管點(diǎn)亮;LED顯示塊的發(fā)光二極管的引出端口(adp)與單片機(jī)的I/O口的8位線()相連接,此接口共陰極低電平有效,通過(guò)選擇8位線并行的輸出端口來(lái)輸出不同的數(shù)據(jù)點(diǎn)亮對(duì)應(yīng)的LED顯示塊的發(fā)光二極管,從而獲得達(dá)到顯示數(shù)字的效果。3.6蜂鳴器警報(bào)電路的設(shè)計(jì)本研究設(shè)計(jì)的蜂鳴器警報(bào)電路,主要功能是假如溫度控系統(tǒng)的任意一模塊不工作,即密閉空間在控制的情況下,偏離設(shè)定值過(guò)大,系統(tǒng)便會(huì)發(fā)生報(bào)警,該部分為單片機(jī)人機(jī)交互比較重要的部分,蜂鳴器警報(bào)電路如圖3-9所示。圖3-9 蜂鳴器警報(bào)電路在圖3-9所示的電路中,采用繼電器型,240AC的通斷電流。直流線圈的電阻為95,三極管采用,直流線圈的輸出電流為150mA,放大系數(shù)選擇范圍為60至1000之間,如果取200,那么在5V下Ic的電流為50mA左右,基極電流為0.25mA左右。因?yàn)閱纹瑱C(jī)接口只有在高點(diǎn)位輸出信號(hào)時(shí),才能達(dá)到這樣大的電流,而且接口屬于三態(tài)的輸出輸入接口,因此,需要接一個(gè)上拉電阻,上拉電阻的阻值由以下公式計(jì)算: 這里通過(guò)取10電阻來(lái)讓Q1在高電平時(shí)飽和導(dǎo)通,這樣,基極電流便為。二極管D1在設(shè)計(jì)電路中有保護(hù)的功能,當(dāng)Q1關(guān)斷時(shí)續(xù)流之后,能夠避免電感線圈斷路的時(shí)候電壓過(guò)高而損壞三極管。溫度傳感器具有存儲(chǔ)的功能,即溫度傳感器自帶存儲(chǔ)器,這樣溫度傳感器便能將設(shè)計(jì)之初,設(shè)定的溫度差值存儲(chǔ)在溫度傳感器的中,存儲(chǔ)保存,每次系統(tǒng)啟動(dòng)時(shí),系統(tǒng)都會(huì)從中讀取設(shè)定的差值。在圖3-9所示的繼電器中,K1連接降溫的裝置,K2連接加熱的裝置,當(dāng)實(shí)際的溫度的溫差值大于設(shè)定的溫差值時(shí),蜂鳴器發(fā)出提示音,表示超過(guò)設(shè)定值,加熱器立即停止加熱;當(dāng)實(shí)際溫差處于設(shè)計(jì)值之間的時(shí)候,繼電器不工作。3.7加熱模塊電路的設(shè)計(jì)在基于單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)中主要在于對(duì)溫度的控制,一般情況下,密閉空間的溫度與室外溫度相差不多,那么為了滿足生產(chǎn)生活的各類需求,需要在密閉空間中安置加熱塊,這樣便能很方便的加熱空間溫度。又為了使空間溫度均勻,常常將加熱塊均勻分布,這樣溫度傳感器感測(cè)的溫度更加準(zhǔn)確。在現(xiàn)有的參考線路中,加熱模塊的電路很常見(jiàn),對(duì)于本設(shè)計(jì)并非難點(diǎn),主要在于如何使密閉空間受熱均勻,溫度傳感器準(zhǔn)確感測(cè)溫度。第四章 系統(tǒng)軟件設(shè)計(jì)以上主要介紹系統(tǒng)的硬件設(shè)計(jì)部分,但是要實(shí)現(xiàn)單片機(jī)控制溫度的系統(tǒng),還需要對(duì)系統(tǒng)軟件進(jìn)行設(shè)計(jì)。主要包括鍵盤部分程序的設(shè)計(jì)和溫差控制部分程序的設(shè)計(jì)。4.1軟件設(shè)計(jì)方案在軟件的設(shè)計(jì)方案中,首先要了解實(shí)現(xiàn)的功能。先設(shè)定密閉空間溫度,通過(guò)溫度傳感器感測(cè)密閉空間溫度,由信號(hào)放大電路將溫度信號(hào)放大,然后經(jīng)過(guò)A/D轉(zhuǎn)換電路轉(zhuǎn)換將轉(zhuǎn)換信號(hào)傳遞給芯片,假如感測(cè)器感測(cè)到密閉空間溫度高于設(shè)定溫度,系統(tǒng)立即停止加熱,使溫度達(dá)到密閉空間設(shè)定值溫度;假如感測(cè)器感測(cè)到密閉空間溫度低于設(shè)定溫度,系統(tǒng)立即啟動(dòng)加熱器,對(duì)密閉空間升溫,使密閉空間溫度升高。任意一模塊不工作或工作出錯(cuò),蜂鳴器會(huì)發(fā)出報(bào)警信號(hào),從而達(dá)到智能化目的。液晶顯示器可以實(shí)時(shí)顯示密閉空間溫度。系統(tǒng)流程圖如圖4-1所示。圖4-1 系統(tǒng)主程序流程圖啟動(dòng)溫度傳感器感測(cè)感測(cè)溫度,將感測(cè)到的溫度與設(shè)定值進(jìn)行PID運(yùn)算,假如,則加熱,此時(shí)為高電平,在加熱的過(guò)程中還要對(duì)密閉空間的溫度進(jìn)行檢查。當(dāng)時(shí),此時(shí)為低電平,可控硅斷開(kāi),關(guān)閉加熱器。整個(gè)程序反復(fù)運(yùn)行,直至結(jié)束。4.2溫度控制部分程序的設(shè)計(jì)在此部分主要功能是將和兩個(gè)采集的溫度值互相比較,若蜂鳴器報(bào)警,此時(shí)將端口置為低電平,通過(guò)光耦合器打開(kāi)可控硅,這樣可以控制加熱器加熱,液晶顯示器上顯示888;若蜂鳴器報(bào)警,此時(shí)將端口置為高電平,通過(guò)光耦合器關(guān)閉可控硅,這樣便可停止加熱器加熱,液晶顯示器上顯示888。如果,此溫度在正常的范圍內(nèi),液晶顯示器上顯示溫度。溫度控制部分的流程圖如圖4-2所示。 開(kāi)始計(jì)數(shù)器換碼和地址送顯存蜂鳴器響、顯示燈亮置端口為1,開(kāi)加熱器液晶顯示返回計(jì)數(shù)器換碼送顯存 YN圖4-2 溫度控制部分的流程圖4.3鍵盤部分程序的設(shè)計(jì)前面提及鍵盤的硬件設(shè)計(jì)部分,鍵盤主要是用來(lái)根據(jù)具體情況設(shè)置不同的溫度值,選用的芯片在之前也有簡(jiǎn)單介紹。鍵盤部分的流程圖如圖4-3所示圖4-3 鍵盤處理子程序流程圖開(kāi)始有鍵按下?延時(shí)20ms判別鍵號(hào)執(zhí)行鍵處理子程序返回NY在選擇鍵盤的時(shí)候,我們選擇五個(gè)單鍵的鍵盤,這樣更容易識(shí)別鍵盤值。五個(gè)鍵分別對(duì)應(yīng)、端口,在程序執(zhí)行的過(guò)程中,需要對(duì)、端口逐一進(jìn)行判斷高、低電平。如果端口是低電平表示按鍵按下去,如果端口是高電平,則表示按鍵并未按下。根據(jù)生活的習(xí)慣,鍵盤存在抖動(dòng)問(wèn)題,為了解決這一問(wèn)題,采用鍵盤延時(shí)的原理,即有按鍵按下時(shí),系統(tǒng)并不立即讀入此鍵值,而是等待一段時(shí)間,然后判斷按鍵的閉合,如果此時(shí)還是按鍵閉合,則進(jìn)行按鍵處理,否則不進(jìn)行處理。 4.4數(shù)據(jù)采集模塊程序設(shè)計(jì)在數(shù)據(jù)采集模塊程序設(shè)計(jì)模塊,系統(tǒng)采用動(dòng)態(tài)掃描的方式,也就是通過(guò)改變端口輸出的高電平的位及端口相對(duì)應(yīng)的數(shù)據(jù)段,這樣便可輪流點(diǎn)亮液晶顯示器上的數(shù)碼管,數(shù)碼管進(jìn)行內(nèi)部轉(zhuǎn)換將接收的十六位進(jìn)制數(shù)的BCD碼轉(zhuǎn)換成字形碼,在液晶顯示器上顯示相應(yīng)的數(shù)字,因此需要在RAM區(qū)建立一個(gè)顯示緩沖區(qū)。顯示部分流程圖如圖4-4所示。開(kāi)始顯示緩沖區(qū)指針置初值30H送R0掃描模式置初值FEH送R1R1送P2口取顯示數(shù)據(jù)查表轉(zhuǎn)換為段數(shù)據(jù)送P0口延時(shí)1ms顯示緩沖器指針R0+1R1=0?R1左移一位返回YN圖4-4 顯示子程序流程圖4.5液晶顯示部分溫度程序的設(shè)計(jì)液晶顯示器會(huì)顯示密閉空間不同的溫度值,在液晶顯示部分溫度程序的設(shè)計(jì)中,數(shù)據(jù)采集是巡回檢測(cè)三點(diǎn)的溫度參數(shù)并把它們存在外部RAM指定單元,采樣程序如圖4-5所示。采樣程序初始化各通道都采集一次?輸出通道號(hào)啟動(dòng)轉(zhuǎn)換讀寫數(shù)據(jù)修改通道及通道號(hào)重裝定時(shí)器0常數(shù)啟動(dòng)返回NY圖4-5 溫度采樣程序流程第五章 總結(jié)與展望本研究是基于單片機(jī)的溫度控制系統(tǒng)。此系統(tǒng)可以根據(jù)具體的應(yīng)用場(chǎng)合,采用不同類型的溫度感測(cè)元件,通過(guò)對(duì)溫度傳感器感測(cè)到的溫度進(jìn)行分析、數(shù)值顯示和數(shù)據(jù)存儲(chǔ),從而有效實(shí)現(xiàn)單片機(jī)對(duì)溫度的智能控制。論文結(jié)合實(shí)際應(yīng)用,具體介紹了單片機(jī)及其相應(yīng)的一些優(yōu)勢(shì),然后相繼介紹了溫度控制系統(tǒng)的硬件、軟件的設(shè)計(jì)方法,編寫溫度控制系統(tǒng)的程序,通過(guò)軟件測(cè)試,本設(shè)計(jì)完全符合最初的設(shè)計(jì)目的。隨著工業(yè)的發(fā)展,設(shè)計(jì)對(duì)象的復(fù)雜程度會(huì)越加復(fù)雜,尤其在設(shè)計(jì)滯后的、時(shí)變的、非線性的復(fù)雜的系統(tǒng)時(shí),其中一些參數(shù)未知或者變化緩慢,或者帶有延時(shí),或者抗干擾能力差,或者獲取的數(shù)學(xué)模型非常粗糙甚至沒(méi)有2,再加上現(xiàn)今人們對(duì)控制品質(zhì)的要求日益加深,傳統(tǒng)的PID控制的缺陷也逐漸暴露了出來(lái)。因此,設(shè)計(jì)師在應(yīng)用PID控制的同時(shí),也在不斷修改,完善PID控制。本設(shè)計(jì)在研究的過(guò)程中也有很多的不足:(1)在硬件方面,驅(qū)動(dòng)電路的抗干擾能力差,可以考慮采用DSP或者ARM對(duì)系統(tǒng)進(jìn)行重新設(shè)計(jì);(2)在軟件方面,程序較為復(fù)雜,可能會(huì)發(fā)生運(yùn)算錯(cuò)誤,可以摒棄傳統(tǒng)的軟件編程模式,采用基于實(shí)時(shí)操作系統(tǒng)的系統(tǒng)軟件開(kāi)發(fā);(3)在算法方面,因?yàn)槌3?huì)遇到一些參數(shù)的不清晰,可以采用模糊控制的方式?;仡櫥趩纹瑱C(jī)溫度控制系統(tǒng)的設(shè)計(jì)過(guò)程,深刻的體會(huì)到自己在很多方面還有不足,通過(guò)本次畢業(yè)設(shè)計(jì),本人深刻的感悟到理論聯(lián)系實(shí)踐的重要性,并在以后的工作和學(xué)習(xí)中,本人將繼續(xù)加強(qiáng)專業(yè)知識(shí)的理解。參考文獻(xiàn)1 黃鳳娟.基于單片機(jī)的溫度測(cè)控系統(tǒng)在溫室大棚中的設(shè)計(jì)與實(shí)現(xiàn)D.合肥:安徽大學(xué),2006.2 王海寧.基于單片機(jī)的溫度控制系統(tǒng)的研究D.合肥:合肥工業(yè)大學(xué) ,2008.3 吳祿慎, 李彧雯 基于單片機(jī)的多點(diǎn)溫度采集系統(tǒng)設(shè)計(jì)J.飛機(jī)設(shè)計(jì),2010(4):76 804 胡瑞雯.智能檢測(cè)與控制系統(tǒng)(第1版)M.西安:西安交通大學(xué)出版社,19915 Trulove,J.LAN wiring.NEW YORK:McGraw-Hill,1997.6 張姍姍 基于單片機(jī)溫度采集控制系統(tǒng)設(shè)計(jì)J.信息通信,2012(6):69-707 XIAO,X.,and Ni,L.“Internet QoS:A Big PICTURE”IEEE Network,March/April 1999.8 黃宇飛,吳江.單片機(jī)單總線技術(shù)J.單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2001,(l)數(shù)字化單總線技術(shù)9 Dallas Corp.,DS18B20 Programmable Resolution One-wire DigitalThermometerZ.200010 夏志華.基于單片機(jī)的溫度控制系統(tǒng)的研究與實(shí)現(xiàn)J.煤炭技術(shù),2013(2):191-192.附 錄123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960#include <reg52.h>#include <math.h>#include <Ad7366.h>#include <LTC1446_DA.h>#define uchar unsigned char#define uint unsigned int#define ulong unsigned longdoublepv,sv,ei,ex,ey,K,Ti,Td,q0,q1,q2,op,x,ux,tv;uint Ts;voidmain(void)/ 主程序ex=0;ey=0;sv=80;/設(shè)定值K=1;Ti=10;Td=0;Ts=100;LTC1446(0,0);RCAP2H=0x4C;/100ms計(jì)時(shí)RCAP2L=0x00;TR2=1;ET2=1;EA=1;while(1);timer2 () interrupt 5staticuchar t;TF2=0;t+;if(t=2)t=0;pv=ADC7366();/AI1通道采集ei=sv-20*pv;q0=K*(ei-ex);if(Ti=0)q1=0;elseq1=K*0.001*Ts*ei/Ti;q2=1000*K*Td*(ei-2*ex+ey)/Ts;ey=ex;ex=ei;op=op+q0+q1+q2;if(op>4.5)op=4.5;if(op<0)op=0;LTC1446(op*1000,pv*1000);/控制量輸出12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#ifndef _LTC1446_DA_H_#define _LTC1446_DA_ sbit DA_DIN=P25; sbit DA_CLK=P26; sbit DA_CS=P24;voidLTC1446(intb,inta)/單位為mv inti,j; b=2000+b/5; a=2000+a/5; DA_CS=1; DA_CLK=1; DA_CS=0; i=0x800; j=12; for(j=12;j>0;j-)/DA1輸出 if(a&i) DA_DIN=1; else DA_DIN=0; DA_CLK=0; DA_CLK=1; a=a<<1; for(j=12;j>0;j-)/DA0輸出 if(b&i) DA_DIN=1; else DA_DIN=0; DA_CLK=0; DA_CLK=1; b=b<<1; DA_CS=1;#endif123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141/* 十二位ADC轉(zhuǎn)換(AD7366)驅(qū)動(dòng)程序 */#include<math.h>#define uchar unsigned char#define uint unsigned int#define ulong unsigned long sbit cs=P36; sbit addr=P11; sbit busy=P31; sbit sclk=P35; sbit outa=P14; sbit outb=P30; sbit cnvst=P34; sbit rang0=P12; sbit rang1=P13; sbit refsel=P37; uint data1=0x0000,data2=0x0000; uint data3=0x0000,data4=0x0000; floatout1,out2;/*初始化*voidst0(void) refsel=1;/內(nèi)部參考電壓 rang0=0;/輸入范圍-10V到+10V rang1=0; addr=0;/通道選擇 cnvst=1; sclk=1; cs=1;/*啟動(dòng)AD轉(zhuǎn)換*voidst1(void) cs=1; addr=0; sclk=1; cnvst=0;/*啟動(dòng)轉(zhuǎn)換輸出*st3(uint *Hdata1,uint *Hdata2) uchar i; uint j; *Hdata1=0; *Hdata2=0; j=0x0800; cnvst=1; cs=0; for(i=0;i<12;i+) sclk=1; if(i<12) if(outa) *Hdata1=*Hdata1|(j>>i); else *Hdata1=*Hdata1; if(outb) *Hdata2=*Hdata2|(j>>i); else *Hdata2=*Hdata2; sclk=0;/*Hdata2=0x0802;/*等待轉(zhuǎn)換結(jié)束*voidst2(void) while(busy=1); st3(&data1,&data2);/*轉(zhuǎn)換結(jié)束*voidst4(void) cs=1; cnvst=1;/*ADC7366函數(shù)調(diào)用*doubleADC7366(void) uchar i; uint symbol_1=0x0000,symbol_2=0x0000; st0(); st1(); for(i=0;i<5;i+); st2(); st4();/*通道1轉(zhuǎn)換成電壓值 symbol_1=data1&0x0800; if(symbol_1!=0) data3=data1&0x07ff; data3=(data3-1); data3=data3&0x07ff; out1=-(data3/204.8); else data3 = data1&0x07ff; out1=data3/204.8;/*通道2轉(zhuǎn)換成電壓值 symbol_2=data2&0x0800; if(symbol_2!=0) data4=data2&0x07ff; data4=(data4-1); data4=data4&0x07ff; out2=-(data4/204.8); else data4 = data2&0x07ff; out2=data4/204.8; return(out1);致 謝本文是在我的導(dǎo)師老師的悉心指導(dǎo)下完成的。老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度和科學(xué)的工作方法給了我極大的幫助和影響。同時(shí),對(duì)我的論文工作也提出了許多寶貴的意見(jiàn),在此表示衷心的感謝!另外,也感謝我的家人和朋友,他們的理解與支持使我能夠順利完成了我的學(xué)業(yè)!29