單片機(jī)水溫控制器設(shè)計(jì)1.doc
《單片機(jī)水溫控制器設(shè)計(jì)1.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《單片機(jī)水溫控制器設(shè)計(jì)1.doc(41頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、摘 要隨著國(guó)民經(jīng)濟(jì)的發(fā)展,單片機(jī)技術(shù)應(yīng)用已經(jīng)成為高、新科學(xué)技術(shù)的重要內(nèi)容和標(biāo)志之一,它在國(guó)民經(jīng)濟(jì)的各個(gè)領(lǐng)域正在發(fā)揮著引人注目的作用。本系統(tǒng)設(shè)計(jì)熱水器溫度控制系統(tǒng)是以單片機(jī)AT89S52為核心,通過(guò)3個(gè)數(shù)碼管顯示溫度和4個(gè)按鍵實(shí)現(xiàn)人機(jī)對(duì)話(huà),使用單總線溫度轉(zhuǎn)換芯片DS18B20實(shí)時(shí)采集溫度并通過(guò)數(shù)碼管顯示,并提供各種運(yùn)行指示燈用來(lái)指示系統(tǒng)現(xiàn)在所處狀態(tài),如:溫度設(shè)置、加熱、停止加熱等,整個(gè)系統(tǒng)通過(guò)四個(gè)按鍵來(lái)設(shè)置加熱溫度和控制運(yùn)行模式,可以用于熱水器溫度控制系統(tǒng)和飲水機(jī)等各種電器電路中。采用單片機(jī)的熱水器溫度控制系統(tǒng)不僅具有控制方便,簡(jiǎn)單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高產(chǎn)品的性能比指標(biāo),提高產(chǎn)品的
2、質(zhì)量和數(shù)量。關(guān)鍵詞:AT89S52;DS18B20;溫度控制系統(tǒng)AbstractWith the development of the national economy, the application of SCM technology has become one of the important content and symbol of high, new science and technology in all fields of the national economy, it is playing the role of attract sb.s attention.Heate
3、r temperature control system design of the system of hot water is AT89S52 MCU core, the realization of human-computer dialogue temperature and 4 buttons displayed by the 3 digital tube, using a single bus temperature conversion real-time collection of temperature chip DS18B20 and through the digital
4、 tube display, and provide various operation indicator lamps are used to indicate the system present status, such as: temperature setting stop heating, heating, etc., the whole system to set the temperature and control mode of operation through the four buttons, can be used for the water heater temp
5、erature control system and water dispensers and other electrical circuit.The water heater temperature control system based on single chip is not only easy to control, simple and flexible and other advantages, and can greatly improve the performance index of the product, improve the quality and quant
6、ity of products.Keywords:AT89S52; DS18B20; temperature control system目 錄摘 要IAbstractII第1章 緒 論11.1 選題的目的和意義11.2 國(guó)內(nèi)外研究狀況及發(fā)展11.3 論文研究的主要內(nèi)容1第2章 系統(tǒng)總體設(shè)計(jì)32.1 系統(tǒng)需求及可行性分析32.2 硬件總體設(shè)計(jì)32.3 軟件總體設(shè)計(jì)4第3章 硬件系統(tǒng)設(shè)計(jì)53.1 設(shè)計(jì)思想53.2 AT89S5253.3 單片機(jī)最小系統(tǒng)電路73.4 鍵盤(pán)電路73.5 數(shù)碼管及指示燈顯示電路73.6 溫度采集電路93.7 存儲(chǔ)電路設(shè)計(jì)123.8 電源電路153.9 報(bào)警電路設(shè)計(jì)16
7、3.10 加熱管控制電路設(shè)計(jì)16第4章 系統(tǒng)軟件設(shè)計(jì)184.1 主程序流程圖184.2 各個(gè)模塊的流程圖194.2.1 讀取溫度DS18B20模塊的流程194.2.2 鍵盤(pán)掃描處理流程214.2.3 報(bào)警處理流程21第5章 系統(tǒng)調(diào)試235.1 硬件電路調(diào)試235.2 軟件調(diào)試235.3 系統(tǒng)操作說(shuō)明245.4 數(shù)據(jù)測(cè)試24結(jié) 論25致 謝26參考文獻(xiàn)27附錄A28附錄B32-IV-第1章 緒 論1.1 選題的目的和意義溫度控制系統(tǒng)可以說(shuō)是無(wú)所不在,熱水器系統(tǒng)、空調(diào)系統(tǒng)、冰箱、電煲電風(fēng)扇等家電產(chǎn)品以至手持式高速高效的計(jì)算機(jī)和電子設(shè)備,均需要提供溫度控制功能。以計(jì)算機(jī)為例,當(dāng)中的中央處理器的運(yùn)行速
8、度愈快,所耗散的熱量便愈多,為免計(jì)算機(jī)系統(tǒng)過(guò)熱而受損,有關(guān)系統(tǒng)必須加強(qiáng)溫度過(guò)高保護(hù)功能。傳統(tǒng)的溫度采集電路相當(dāng)復(fù)雜,需要經(jīng)過(guò)溫度采集、信號(hào)放大、濾波、AD轉(zhuǎn)換等一系列工作才能得到溫度的數(shù)字量,并且這種方式不僅電路復(fù)雜,元器件個(gè)數(shù)多,而且線性度和準(zhǔn)確度都不理想,抗干擾能力弱?,F(xiàn)在常用的溫度傳感器芯片不但功率消耗低、準(zhǔn)確率高,而且比傳統(tǒng)的溫度傳感器有更好的線性表現(xiàn),最重要的一點(diǎn)是使用起來(lái)方便。自動(dòng)控制儀器儀表總的發(fā)展趨勢(shì)是高性能、數(shù)字化、集成化、智能化和網(wǎng)絡(luò)化。智能溫度控制系統(tǒng)的設(shè)計(jì)是為了滿(mǎn)足市場(chǎng)對(duì)成本低、性能穩(wěn)定、可遠(yuǎn)程監(jiān)測(cè)、控制現(xiàn)場(chǎng)溫度的需求而做的課題,具有較為廣闊的市場(chǎng)前景。目前,測(cè)溫控溫系
9、統(tǒng)得到快速的發(fā)展,國(guó)外的測(cè)量控制系統(tǒng)已經(jīng)成熟,產(chǎn)品也較多。近兩年,國(guó)內(nèi)也出現(xiàn)了許多高精度的溫度控制系統(tǒng)產(chǎn)品,但相對(duì)于用戶(hù)來(lái)說(shuō),價(jià)格還是偏高。而由于競(jìng)爭(zhēng)越來(lái)越激烈,現(xiàn)在企業(yè)發(fā)展的趨勢(shì)是如何最有效的提高生產(chǎn)效率,降低生產(chǎn)成本。尋求性能可靠、價(jià)格低廉,且應(yīng)用廣泛的元器件是生產(chǎn)過(guò)程的首先要考慮的問(wèn)題,因此設(shè)計(jì)一種控制簡(jiǎn)單、精度較高、價(jià)格低廉的控制系統(tǒng)會(huì)有很好的發(fā)展前景。1.2 國(guó)內(nèi)外研究狀況及發(fā)展1. 國(guó)外溫度測(cè)控系統(tǒng)研究國(guó)外對(duì)溫度控制技術(shù)研究較早,始于20世紀(jì)70年代。先是采用模擬式的組合儀表,采集現(xiàn)場(chǎng)信息并進(jìn)行指示、記錄和控制。80年代末出現(xiàn)了分布式控制系統(tǒng)。目前正開(kāi)發(fā)和研制計(jì)算機(jī)數(shù)據(jù)采集控制系統(tǒng)
10、的多因子綜合控制系統(tǒng)?,F(xiàn)在世界各國(guó)的溫度測(cè)控技術(shù)發(fā)展很快,一些國(guó)家在實(shí)現(xiàn)自動(dòng)化的基礎(chǔ)上正向著完全自動(dòng)化、無(wú)人化的方向發(fā)展。2. 國(guó)內(nèi)溫度測(cè)控系統(tǒng)研究我國(guó)對(duì)于溫度測(cè)控技術(shù)的研究較晚,始于20世紀(jì)80年代。我國(guó)工程技術(shù)人員在吸收發(fā)達(dá)國(guó)家溫度測(cè)控技術(shù)的基礎(chǔ)上,才掌握了溫度室內(nèi)微機(jī)控制技術(shù),該技術(shù)僅限于對(duì)溫度的單項(xiàng)環(huán)境因子的控制。我國(guó)溫度測(cè)控設(shè)施計(jì)算機(jī)應(yīng)用,在總體上正從消化吸收、簡(jiǎn)單應(yīng)用階段向?qū)嵱没⒕C合性應(yīng)用階段過(guò)渡和發(fā)展。在技術(shù)上,以單片機(jī)控制的單參數(shù)單回路系統(tǒng)居多,尚無(wú)真正意義上的多參數(shù)綜合控制系統(tǒng),與發(fā)達(dá)國(guó)家相比,存在較大差距。我國(guó)溫度測(cè)量控制現(xiàn)狀還遠(yuǎn)遠(yuǎn)沒(méi)有達(dá)到工廠化的程度,生產(chǎn)實(shí)際中仍然有許
11、多問(wèn)題困擾著我們,存在著裝備配套能力差,產(chǎn)業(yè)化程度低,環(huán)境控制水平落后,軟硬件資源不能共享和可靠性差等缺點(diǎn)。1.3 論文研究的主要內(nèi)容本設(shè)計(jì)利用單片機(jī)結(jié)合傳感器技術(shù)而開(kāi)發(fā)設(shè)計(jì)了這一溫度控制系統(tǒng),文中傳感器與單片機(jī)實(shí)際應(yīng)用有機(jī)結(jié)合,簡(jiǎn)單講述了利用新型芯片探測(cè)環(huán)境溫度的過(guò)程,以及實(shí)現(xiàn)模數(shù)轉(zhuǎn)換的原理過(guò)程。1. 功能實(shí)現(xiàn)本設(shè)計(jì)的目的是以單片機(jī)為核心設(shè)計(jì)出一個(gè)溫度采集系統(tǒng)。通過(guò)本課題設(shè)計(jì),綜合運(yùn)用單片機(jī)及接口技術(shù)、微機(jī)原理、微電子技術(shù),鍛煉動(dòng)手操作能力。綜合運(yùn)用能力,學(xué)習(xí)論文的寫(xiě)作方法和步驟。設(shè)計(jì)的溫度控制器有以下功能:(1) 測(cè)溫范圍:-55+125;(2) 測(cè)溫分辨力:=0.5;(3) 測(cè)溫準(zhǔn)確度:
12、=0.5;(4) 溫度顯示:采用6個(gè)7段數(shù)碼管;(5) 溫限可經(jīng)鍵盤(pán)實(shí)現(xiàn)簡(jiǎn)單的人機(jī)互動(dòng),靈活設(shè)定溫度范圍;(6) 超溫度范圍報(bào)警。2. 方案設(shè)計(jì)本系統(tǒng)采用了單片機(jī)AT89S52,利用數(shù)字溫度傳感器DS18B20對(duì)環(huán)境進(jìn)行測(cè)溫,同時(shí)采用MAX7219驅(qū)動(dòng)六位7段共陰極數(shù)碼管,同時(shí)還采用EEPROM對(duì)溫度上下限進(jìn)行存儲(chǔ),此外還有鍵盤(pán)設(shè)備來(lái)實(shí)現(xiàn)溫度上下限值的設(shè)置,紅綠燈報(bào)警溫度的越線,繼電器和電機(jī)對(duì)溫度進(jìn)行調(diào)整等來(lái)實(shí)現(xiàn)該溫度控制器的智能化??傮w硬件結(jié)構(gòu)框圖如圖1-1所示。AT89S52EEPROM按鍵繼電器電機(jī)驅(qū)動(dòng)LED顯示報(bào)警電路溫度傳感器DS18B20MAX7219圖1-1 系統(tǒng)硬件結(jié)構(gòu)第2章
13、系統(tǒng)總體設(shè)計(jì)當(dāng)將單片機(jī)用作測(cè)控系統(tǒng)時(shí),系統(tǒng)總要有被測(cè)信號(hào)的輸入通道,由計(jì)算機(jī)拾取必要的輸入信息。對(duì)于測(cè)量系統(tǒng)而言,如何準(zhǔn)確獲得被測(cè)信號(hào)是其核心任務(wù);而對(duì)測(cè)控系統(tǒng)來(lái)講,對(duì)被控對(duì)象狀態(tài)的測(cè)試和對(duì)控制條件的監(jiān)察也是不可缺少的環(huán)節(jié)。2.1 系統(tǒng)需求及可行性分析溫度傳感器 DS18B20 從設(shè)備環(huán)境的不同位置采集溫度,單片機(jī) AT89S5獲取采集的溫度值,經(jīng)處理后得到當(dāng)前環(huán)境中一個(gè)比較穩(wěn)定的溫度值,再根據(jù)當(dāng)前設(shè)定的溫度上下限值,通過(guò)加熱和降溫對(duì)當(dāng)前溫度進(jìn)行調(diào)整。當(dāng)采集的溫度經(jīng)處理后超過(guò)設(shè)定溫度的上限時(shí),單片機(jī)通過(guò)三極管驅(qū)動(dòng)繼電器開(kāi)啟降溫設(shè)備(壓縮制冷器),當(dāng)采集的溫度經(jīng)處理后低于設(shè)定溫度的下時(shí),單片機(jī)通
14、過(guò)三極管驅(qū)動(dòng)繼電器開(kāi)啟升溫設(shè)備(加熱器)。當(dāng)由于環(huán)境溫度變化太劇烈或由于加熱或降溫設(shè)備出現(xiàn)故障,或者溫度傳感頭出現(xiàn)故障導(dǎo)致在一段時(shí)間內(nèi)不能將環(huán)境溫度調(diào)整到規(guī)定的溫度限內(nèi)的時(shí)候,單片機(jī)通過(guò)三極管驅(qū)動(dòng)揚(yáng)聲器發(fā)出警笛聲。2.2 硬件總體設(shè)計(jì)設(shè)計(jì)并制作一個(gè)基于單片機(jī)的熱水器溫度控制系統(tǒng)的電路,其結(jié)構(gòu)框圖如圖2-1所示:電源單片機(jī)AT89S52數(shù)碼管顯示繼電器溫度傳感器DS18B20報(bào)警鍵盤(pán)指示燈圖2-1 系統(tǒng)結(jié)構(gòu)框圖硬件系統(tǒng)子模塊(1) 單片機(jī)最小系統(tǒng)電路部分(2) 鍵盤(pán)掃描電路部分(3) 數(shù)碼管溫度顯示和運(yùn)行指示燈電路部分(4) 溫度采集電路部分(5) 繼電器控制部分(6) 報(bào)警部分2.3 軟件總體
15、設(shè)計(jì)良好的設(shè)計(jì)方案可以減少軟件設(shè)計(jì)的工作量,提高軟件的通用性,擴(kuò)展性和可讀性。本系統(tǒng)的設(shè)計(jì)方案和步驟如下:(1) 根據(jù)需求按照系統(tǒng)的功能要求,逐級(jí)劃分模塊。(2) 明確各模塊之間的數(shù)據(jù)流傳遞關(guān)系,力求數(shù)據(jù)傳遞少,以增強(qiáng)各模塊的獨(dú)立性,便于軟件編制和調(diào)試。(3) 確定軟件開(kāi)發(fā)環(huán)境,選擇設(shè)計(jì)語(yǔ)言,完成模塊功能設(shè)計(jì),并分別調(diào)試通過(guò)。(4) 按照開(kāi)發(fā)式軟件設(shè)計(jì)結(jié)構(gòu),將各模塊有機(jī)的結(jié)合起來(lái),即成一個(gè)較完善的系統(tǒng)。首先接通電源系統(tǒng)開(kāi)始工作,系統(tǒng)開(kāi)始工作后,通過(guò)按鍵設(shè)定溫度值的上限值和下限值,確定按鍵將設(shè)定的溫度值存儲(chǔ)到指定的地址空間,溫度傳感器開(kāi)始實(shí)時(shí)檢測(cè),調(diào)用顯示子程序顯示檢測(cè)結(jié)果,調(diào)用比較當(dāng)前顯示溫度
16、值與開(kāi)始設(shè)定的溫度值比較,如果當(dāng)前顯示值低于設(shè)定值就通過(guò)繼電器起動(dòng)加熱裝置,直到達(dá)到設(shè)定值停止加熱,之后進(jìn)行保溫,如果溫度高于上限進(jìn)行報(bào)警。第3章 硬件系統(tǒng)設(shè)計(jì)3.1 設(shè)計(jì)思想本設(shè)計(jì)是基于單片機(jī)對(duì)數(shù)字信號(hào)的高敏感和可控性、溫濕度傳感器可以產(chǎn)生模擬信號(hào),和A/D模擬數(shù)字轉(zhuǎn)換芯片的性能,本設(shè)計(jì)了以51單片機(jī)基本系統(tǒng)為核心的一套檢測(cè)系統(tǒng),其中包括A/D轉(zhuǎn)換、單片機(jī)、復(fù)位電路、溫度檢測(cè)、濕度檢測(cè)、鍵盤(pán)及顯示、報(bào)警電路、系統(tǒng)軟件等。本次設(shè)計(jì)主要思路是通過(guò)對(duì)單片機(jī)編程將由溫度傳感器DS18B20采集的溫度外加驅(qū)動(dòng)電路顯示出來(lái),包括對(duì)繼電器的控制,進(jìn)行升溫,當(dāng)溫度達(dá)到上下限蜂鳴器進(jìn)行報(bào)警。P1.7開(kāi)關(guān)按鈕是
17、用于確認(rèn)設(shè)定溫度的,初始按下表示開(kāi)始進(jìn)入溫度設(shè)定狀態(tài),然后通過(guò)P1.5和P1.6設(shè)置溫度的升降,再次按下P1.7時(shí),表示確認(rèn)所設(shè)定的溫度,然后轉(zhuǎn)入升溫或降溫。P2.3所接的發(fā)光二極管用于表示加熱狀態(tài),P2.5所接的發(fā)光二極管用于表示保溫狀態(tài)。P2.3接繼電器。P3.1是溫度信號(hào)線。整個(gè)電路都是通過(guò)軟件控制實(shí)現(xiàn)設(shè)計(jì)要求。3.2 AT89S52AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash 存儲(chǔ)器。AT89S52使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng) 可編程,亦適于常規(guī)編程器
18、。在單芯片上,AT89S52擁有靈巧的8 位CPU和在系統(tǒng)可編程Flash,使AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。采用40引腳雙列直插封裝(DIP)的AT89S52單片機(jī)引腳分配如圖3-1所示。圖2-1 AT89S52引腳分配圖1. 主要性能參數(shù)(1) 與MCS51兼容;(2) 1000次擦寫(xiě)壽命;(3) 工作電壓為4.0V5.5V;(4) 全靜態(tài)工作:024MHz;(5) 3級(jí)程序安全加密保護(hù);(6) 2568位內(nèi)部RAM;(7) 32個(gè)可編程I/O端口;(8) 3個(gè)16位定時(shí)器/計(jì)數(shù)器;(9) 8個(gè)中斷源;(10) 支持低功耗及掉電模式;(11) 支持中斷從
19、掉電模式喚醒;(12) 內(nèi)置看門(mén)狗 。2. 引腳功能(1) P0口:P0口是一個(gè)8位漏極開(kāi)路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫(xiě) “1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。(2) P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P1端口寫(xiě) “1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外
20、部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(TTL)。此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)和定時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入。P2口:P2 口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O 口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL 邏輯電平。對(duì)P2端口寫(xiě) “1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(TTL)。在訪問(wèn)外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX A,DPTR)時(shí),P2口送出高八位地址。P3口:P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O 口,P3輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL 邏輯電平。
21、對(duì)P3 端口寫(xiě) “1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(TTL)。RST:復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。 ALE/PROG:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,
22、該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無(wú)效。PSEN:程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89C52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將跳過(guò)兩次PSEN信號(hào)。EA/VPP:外部訪問(wèn)允許,欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。FLASH存儲(chǔ)器編程時(shí),該引腳加上+12V的編程允許電源Vp
23、p,當(dāng)然這必須是該器件是使用12V編程電壓Vpp。3.3 單片機(jī)最小系統(tǒng)電路單片機(jī)最小系統(tǒng)有復(fù)位電路和振蕩器電路。值得注意的一點(diǎn)是單片機(jī)的31腳必須接高電平,否則系統(tǒng)將不能運(yùn)行。因?yàn)樵撃_不接時(shí)為低電平,單片機(jī)將直接讀取外部程序存儲(chǔ)器,而系統(tǒng)沒(méi)有外部程序存儲(chǔ)器,所以必須接VCC。在按鍵兩端并聯(lián)一個(gè)電解電容,濾除交流干擾,增加系統(tǒng)抗干擾能力。 3.4 鍵盤(pán)電路鍵盤(pán)是單片機(jī)應(yīng)用系統(tǒng)中的主要輸入設(shè)備,單片機(jī)使用的鍵盤(pán)分為編碼鍵盤(pán)和非編碼鍵盤(pán)。編碼鍵盤(pán)采用硬件線路來(lái)實(shí)現(xiàn)鍵盤(pán)的編碼,每按下一個(gè)鍵,鍵盤(pán)能夠自動(dòng)生成按鍵代碼,并有去抖功能。因此使用方便,但硬件較復(fù)雜。非編碼鍵盤(pán)僅僅提供鍵開(kāi)關(guān)狀態(tài),由程序來(lái)識(shí)別
24、閉合鍵,消除抖動(dòng),產(chǎn)生相應(yīng)的代碼,轉(zhuǎn)入執(zhí)行該鍵的功能程序。非編碼鍵盤(pán)中鍵的數(shù)量較少,硬件簡(jiǎn)單,在單片機(jī)中應(yīng)用非常廣泛。圖為按鍵和AT89S52的接線圖,檢測(cè)儀共設(shè)有4個(gè)按鍵,每個(gè)按鍵由軟件來(lái)決定其功能,4個(gè)按鍵功能分別為:(1) SW1:設(shè)定按鍵(設(shè)定按鍵)(2) SW2:加法按鍵(當(dāng)前位加5)(3) SW3:減法按鍵(當(dāng)前位減5)(4) SW4:退出設(shè)置鍵(系統(tǒng)初始化) 圖3-1 單片機(jī)最小系統(tǒng)3.5 數(shù)碼管及指示燈顯示電路1. 數(shù)碼管顯示說(shuō)明各個(gè)數(shù)碼管的段碼都是單片機(jī)的數(shù)據(jù)口輸出,即各個(gè)數(shù)碼管輸入的段碼都是一樣的,為了使其分別顯示不同的數(shù)字,可采用動(dòng)態(tài)顯示的方式,即先只讓最低位顯示0(含點(diǎn)
25、),經(jīng)過(guò)一段延時(shí),再只讓次低位顯示1,如此類(lèi)推。由視覺(jué)暫留,只要我們的延時(shí)時(shí)間足夠短,就能夠使得數(shù)碼的顯示看起來(lái)非常的穩(wěn)定清楚,過(guò)程如表3-1所示。表3-1 數(shù)碼管編碼表段碼位碼顯示器狀態(tài)08H01H0abH02H112H04H222H08H3a1H10H424H20H504H40H6aaH80H7本論文中使用了3個(gè)數(shù)碼管,其中前兩位使用動(dòng)態(tài)掃描顯示實(shí)測(cè)溫度,在設(shè)置加熱溫度的時(shí)候,兩個(gè)數(shù)碼管是閃爍,以提示目前處在溫度設(shè)置狀態(tài)。第三位數(shù)碼管靜態(tài)顯示符號(hào)“”。(2) 運(yùn)行指示燈說(shuō)明本熱水器溫度控制系統(tǒng)中共使用到3個(gè)LED指示燈和3個(gè)數(shù)碼管。右上角的紅色LED是電源指示燈;數(shù)碼管右邊的紅色LED是加
26、熱指示燈,當(dāng)剛開(kāi)機(jī)或溫度降到設(shè)定溫度5以下時(shí),該燈會(huì)亮,表示目前處于加熱狀態(tài);當(dāng)溫度上升到設(shè)定溫度時(shí),該LED滅,同時(shí)數(shù)碼管右邊的綠色LED亮,表示目前處于保溫狀態(tài),用戶(hù)可以使用熱水器;當(dāng)溫度再次下降到設(shè)定溫度5以下時(shí),綠色LED滅,紅色加熱的LED燈亮,不斷循環(huán)。圖3-2 LED數(shù)碼管顯示電路圖3.6 溫度采集電路(1) DS18B20介紹Dallas最新單線數(shù)字溫度傳感器DS18B20簡(jiǎn)介新的“一線器件”體積更小、適用電壓更寬、更經(jīng)濟(jì)。Dallas半導(dǎo)體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持“一線總線”接口的溫度傳感器。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶(hù)可輕松地組建傳感器網(wǎng)絡(luò)
27、,為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。DS18B20、DS1822 “一線總線”數(shù)字化溫度傳感器同DS18B20一樣,DS18B20也支持“一線總線”接口,測(cè)量溫度范圍為 -55+125,在-10+85范圍內(nèi),精度為0.5。DS1822的精度較差為2?,F(xiàn)場(chǎng)溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。其DS18B20的管腳配置和封裝結(jié)構(gòu)如圖3-3所示。 圖3-3 DS18B20封裝引腳定義: DQ為數(shù)字信號(hào)輸入/輸出端; GND為電源地; VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。 (2) DS18B20的單線(1wire bus)系統(tǒng)單線總線結(jié)構(gòu)是DS18B20的突
28、出特點(diǎn),也是理解和編程的難點(diǎn)。從兩個(gè)角度來(lái)理解單線總線:第一,單線總線只定義了一個(gè)信號(hào)線,而且DS18B20智能程度較低(這點(diǎn)可以與微控制器和SPI器件間的通信做一個(gè)比較),所以DS18B20和處理器之間的通信必然要通過(guò)嚴(yán)格的時(shí)序控制來(lái)完成。第二,DS18B20的輸出口是漏級(jí)開(kāi)路輸出,這里給出一個(gè)微控制器和DS18B20連接原理圖。這種設(shè)計(jì)使總線上的器件在合適的時(shí)間驅(qū)動(dòng)它。顯然,總線上的器件與(wired AND)關(guān)系。這就決定:(1) 微控制器不能單方面控制總線狀態(tài)。之所以提出這點(diǎn),是因?yàn)橄喈?dāng)多的文獻(xiàn)資料上認(rèn)為,微控制器在讀取總線上數(shù)據(jù)之前的I/O口的置1操作是為了給DS18B20一個(gè)發(fā)送數(shù)
29、據(jù)的信號(hào)。這是一個(gè)錯(cuò)誤的觀點(diǎn)。如果當(dāng)前DS18b20發(fā)送0,即使微控制器I/O口置1,總線狀態(tài)還是0;置1操作是為了是I/O口截止(cut off),以確保微控制器正確讀取數(shù)據(jù)。(2) 除了DS18B20發(fā)送0的時(shí)間段,其他時(shí)間其輸出口自動(dòng)截止。自動(dòng)截止是為確保:1時(shí),在總線操作的間隙總線處于空閑狀態(tài),即高態(tài)。2時(shí),確保微控制器在寫(xiě)1的時(shí)候DS18B20可以正確讀入。由于DS18B20采用的是1Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,而對(duì)AT89S52單片機(jī)來(lái)說(shuō),硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來(lái)模擬單總線的協(xié)議時(shí)序來(lái)完成對(duì)DS18B20芯片的訪問(wèn)。 DS
30、18B20的復(fù)位時(shí)序,如圖3-4所示:圖3-4 DS18B20的復(fù)位時(shí)序圖 DS18B20的讀時(shí)序?qū)τ贒S18B20的讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個(gè)過(guò)程。對(duì)于DS18B20的讀時(shí)隙是從主機(jī)把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個(gè)讀時(shí)序過(guò)程,至少需要60us才能完成。DS18B20的讀時(shí)序圖如圖3-5所示。圖3-5 DS18B20的讀時(shí)序 DS18B20的寫(xiě)時(shí)序?qū)τ贒S18B20的寫(xiě)時(shí)序仍然分為寫(xiě)0時(shí)序和寫(xiě)1時(shí)序兩個(gè)過(guò)程。對(duì)于DS18B20寫(xiě)0時(shí)序和寫(xiě)1時(shí)序的要求不同,當(dāng)要寫(xiě)0時(shí)序時(shí),單總線要被拉低至少60us,保證DS18
31、B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當(dāng)要寫(xiě)1時(shí)序時(shí),單總線被拉低之后,在15us之內(nèi)就得釋放單總線。如圖3-6所示。圖3-6 DS18B20的寫(xiě)時(shí)序圖(3) DS18B20的供電方式在圖3-7中示出了DS18B20的寄生電源電路。當(dāng)DQ或VDD引腳為高電平時(shí),這個(gè)電路便“取”的電源。寄生電路的優(yōu)點(diǎn)是雙重的,遠(yuǎn)程溫度控制監(jiān)測(cè)無(wú)需本地電源,缺少正常電源條件下也可以讀ROM。為了使DS18B20能完成準(zhǔn)確的溫度變換,當(dāng)溫度變換發(fā)生時(shí),DQ線上必須提供足夠的功率。有兩種方法確保 DS18B20 在其有效變換期內(nèi)得到足夠的電源電流。第一種方法是發(fā)生溫度變換時(shí),在 DQ
32、 線上提供一強(qiáng)的上拉,這期間單總線上不能有其它的動(dòng)作發(fā)生。如圖3-8所示,通過(guò)使用一個(gè) MOSFET 把 DQ 線直接接到電源可實(shí)現(xiàn)這一點(diǎn),這時(shí)DS18B20 工作在寄生電源工作方式,在該方式下 VDD 引腳必須連接到地。圖3-7 DS18B20供電方式1另一種方法是 DS18B20 工作在外部電源工作方式,如圖 3-8 所示。這種方法的優(yōu)點(diǎn)是在 DQ 線上不要求強(qiáng)的上拉,總線上主機(jī)不需要連接其它的外圍器件便在溫度變換期間使總線保持高電平,這樣也允許在變換期間其它數(shù)據(jù)在單總線上傳送。此外,在單總線上可以并聯(lián)多個(gè) DS18B20,而且如果它們?nèi)坎捎猛獠侩娫垂ぷ鞣绞?,那么通過(guò)發(fā)出相應(yīng)的命令便可以
33、同時(shí)完成溫度變換。圖3-8 DS18B20供電方式2(4) DS18B20設(shè)計(jì)中應(yīng)注意的幾個(gè)問(wèn)題DS18B20具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用接口線少等優(yōu)點(diǎn),但在實(shí)際應(yīng)用中也應(yīng)注意以下幾方面的問(wèn)題:較小的硬件開(kāi)銷(xiāo)需要相對(duì)復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS18B20與微處理器間采用串行數(shù)據(jù)傳送。因此,在對(duì)DS18B20 進(jìn)行讀寫(xiě)編程時(shí),必須嚴(yán)格的保證讀寫(xiě)時(shí)序,否則將無(wú)法讀取測(cè)溫結(jié)果。在DS18B20 有關(guān)資料中均未提及1Wire上所掛DS18B20數(shù)量問(wèn)題,容易使人誤認(rèn)為可以?huà)烊我舛鄠€(gè)DS18B20,在實(shí)際應(yīng)用中并非如此。當(dāng)1Wire上所掛DS18B20超過(guò)8個(gè)時(shí),就需要考慮微處理器的總線
34、驅(qū)動(dòng)問(wèn)題,這一點(diǎn)在進(jìn)行多點(diǎn)測(cè)溫系統(tǒng)設(shè)計(jì)時(shí)要加以注意。連接DS18B20的總線電纜是有長(zhǎng)度限制的。實(shí)際應(yīng)用中,測(cè)溫電纜線建議采用屏蔽4芯雙絞線,其中一對(duì)線接地線與信號(hào)線,另一組接VCC 和地線,屏蔽層在源端單點(diǎn)接地。本文以廣泛應(yīng)用的數(shù)字溫度傳感器DS18B20為例,說(shuō)明了1Wire總線的操作過(guò)程和基本原理。事實(shí)上,基于1Wire總線的產(chǎn)品還有很多種,如1Wire總線的E2PROM、實(shí)時(shí)時(shí)鐘、電子標(biāo)簽等。他們都具有節(jié)省I/O資源、結(jié)構(gòu)簡(jiǎn)單、開(kāi)發(fā)快捷、成本低廉、便于總線擴(kuò)展等優(yōu)點(diǎn),因此有廣闊的應(yīng)用空間,具有較大的推廣價(jià)值。本設(shè)計(jì)將溫度傳感器DS18B20與單片機(jī)TXD引腳相連,讀取溫度傳感器的數(shù)值。
35、DS18B20與單片機(jī)連接圖如圖所示3-9所示。圖3-9 DS18B20與單片機(jī)連接圖3.7 存儲(chǔ)電路設(shè)計(jì)系統(tǒng)通過(guò)AT24C02存儲(chǔ)溫度信息,AT24C02內(nèi)部存儲(chǔ)地址0 x00和0 x01分別存儲(chǔ)溫度上下限數(shù)據(jù)信息;溫度上下限數(shù)據(jù)可通過(guò)外部按鍵進(jìn)行修改,并通過(guò)數(shù)碼管實(shí)時(shí)顯示。數(shù)據(jù)存儲(chǔ)格式如表3-2所示。表3-2 數(shù)據(jù)存儲(chǔ)格式地址0 x000 x010 x020 x030 xFF數(shù)據(jù)溫度上限溫度下限1. 存儲(chǔ)芯片簡(jiǎn)介CAT24WC02是一個(gè)2K位串行CMOS EPROM內(nèi)部含有256個(gè)8位字節(jié)CATALYST公司的先進(jìn)CMOS技術(shù)實(shí)質(zhì)上減少了器件的功耗,CAT24WC02有一個(gè)16字節(jié)頁(yè)寫(xiě)緩沖
36、器該器件通過(guò)C總線接口進(jìn)行操作有一個(gè)專(zhuān)門(mén)的寫(xiě)保護(hù)功能。2. 特性(1) 與400KHz IC總線兼容;(2) 1.8到6.0伏工作電壓范圍;(3) 寫(xiě)保護(hù)功能當(dāng)WP為高電平時(shí)進(jìn)入寫(xiě)保護(hù)狀態(tài);(4) 頁(yè)寫(xiě)緩沖器;(5) 自定時(shí)擦寫(xiě)周期;(6) 1,000,000編程/擦除周期;(7) 可保存數(shù)據(jù)100年。2. 極限參數(shù)(1) 工作溫度工業(yè)級(jí) -55+125;(2) 貯存溫度-65+150;(3) 各管腳承受電壓-2.0V+2.0V;(4) Vcc管腳承受電壓-2.0V+7.0V;(5) 焊接溫度(10秒)300;(6) 輸出短路電流100mA。3. AT24C02管腳結(jié)構(gòu)AT24C02管腳結(jié)構(gòu)如
37、圖3-10所示。圖3-10 管腳結(jié)構(gòu)1. 管腳描述:SCL:串行時(shí)鐘CAT24WC02串行時(shí)鐘輸入管腳用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘這是一個(gè)輸入管腳。SDA:串行數(shù)據(jù)/地址CAT24WC01/02/04/08/16雙向串行數(shù)據(jù)/地址管腳用于器件所有數(shù)據(jù)的發(fā)送或接收SDA是一個(gè)開(kāi)漏輸出管腳可與其它開(kāi)漏輸出或集電極開(kāi)路輸出進(jìn)行線或wire-OR。A0、A1、A2:器件地址輸入端這些輸入腳用于多個(gè)器件級(jí)聯(lián)時(shí)設(shè)置器件地址當(dāng)這些腳懸空時(shí)默認(rèn)值為0。使用24WC02時(shí)最大可級(jí)聯(lián)8個(gè)器件,如果只有一個(gè)24WC02被總線尋址這三個(gè)地址輸入腳A0、A1、A2可懸空或連接到Vss。WP:寫(xiě)保護(hù)如果WP管腳連
38、接到Vcc所有的內(nèi)容都被寫(xiě)保護(hù)只能讀當(dāng)WP管腳連接到Vss或懸空允許器件進(jìn)行正常的讀/寫(xiě)操作。Vcc:+1.8V6.0V工作電壓。Vss:接地。2. 工作原理只有在總線非忙時(shí)才被允許進(jìn)行數(shù)據(jù)傳送。在數(shù)據(jù)傳送時(shí),當(dāng)時(shí)鐘線為高電平,數(shù)據(jù)線必須為固定狀態(tài),不允許有跳變。時(shí)鐘線為高電平時(shí),數(shù)據(jù)線的任何電平變化將被當(dāng)作總線的啟動(dòng)或停止條件。3. 啟始條件:起始條件必須在所有操作命令之前發(fā)送。時(shí)鐘線保持高電平期問(wèn),數(shù)據(jù)線電平從高到低的跳變作為IC總線的啟動(dòng)信號(hào)。CAT24C02一直監(jiān)視SDA和SCL電平信號(hào)直到條件滿(mǎn)足時(shí)才響應(yīng)。4. 停止條件:時(shí)鐘線保持高平期問(wèn),數(shù)據(jù)線電平從低到高的跳變作為IC總線的停止
39、信號(hào)。操作結(jié)束時(shí)必須發(fā)送停止條件。5. 器件地址的約定:主器件在發(fā)送啟動(dòng)命令后開(kāi)始傳送,主器件發(fā)送相應(yīng)的從器件的地址(見(jiàn)表3-3),8位從器件地址的高4位固定為1010。接下來(lái)的3位無(wú)意義。最后一位為讀寫(xiě)控制位?!?”表示對(duì)從器件進(jìn)行讀操作,“0”表示對(duì)從器件進(jìn)行寫(xiě)操作。在主器件發(fā)送啟動(dòng)命令和發(fā)送一字節(jié)從器件地址后,如果從器件地址相吻合,CAT24C02發(fā)送一個(gè)應(yīng)答信號(hào)(通過(guò)SDA線)。然后CAT24C02再根據(jù)讀/寫(xiě)控制位進(jìn)行讀或?qū)懖僮鳌1?-3 從器件尋址1010A2A1A0R/6. 時(shí)序圖CAT24C02工作時(shí)序包括起始/停止時(shí)序、應(yīng)答時(shí)序、寫(xiě)時(shí)序和讀時(shí)序。圖3-11 起始/停止時(shí)序圖圖
40、3-12 應(yīng)答時(shí)序圖圖3-13 時(shí)序圖圖3-14 讀時(shí)序圖7. 存儲(chǔ)電路A0、A1、A2接地,SDA、SCL與單片機(jī)I/O口連接,通過(guò)程序軟件模擬I C時(shí)序,WP引腳接地,如圖3-15所示。圖3-15 硬件連接圖3.8 電源電路采用L7805穩(wěn)壓塊,輸出為5V。電子組件要正常運(yùn)作都需要電源電壓供電,一般常用的電源電壓為+5V或+12V,因?yàn)閿?shù)字IC(Ingegrated Circuit:集成電路)所供給的電壓為+5V,而CMOS IC所供給的電壓為+12V,7805是一個(gè)穩(wěn)壓塊。7805穩(wěn)壓管把高電壓轉(zhuǎn)換到低電壓,7805穩(wěn)壓管具有保護(hù)單片機(jī)的作用。L7805輸出端要并聯(lián)上一個(gè)電解電容,濾除交
41、流電干擾,防止損壞單片機(jī)系統(tǒng)。本設(shè)計(jì)采用兩種供電方式,一種為DC718V直流穩(wěn)壓電源變換成5V的直流電;另一種為四節(jié)干電池共6V經(jīng)二極管加壓后得到將近5V的直流電源,電源配以開(kāi)關(guān)和指示燈,以方便使用。黃色發(fā)光二極管表示保溫,紅色的表示加熱狀態(tài)。圖3-16 系統(tǒng)電源設(shè)計(jì)圖3.9 報(bào)警電路設(shè)計(jì)同時(shí)可以在系統(tǒng)里設(shè)定溫度上限值,由于加熱停止后,加熱管還有余熱當(dāng)采集到的外界溫度高于當(dāng)前所設(shè)定溫度上限值時(shí),程序就會(huì)進(jìn)入報(bào)警子程序,觸發(fā)蜂鳴器進(jìn)行報(bào)警。報(bào)警電路原理圖如圖3-17所示。圖3-17 報(bào)警電路圖3.10 加熱管控制電路設(shè)計(jì)繼電器是常用的輸出控制接口,可以做交直流信號(hào)的輸出切換。它具有控制系統(tǒng)(又稱(chēng)
42、輸入回路)和被控制系統(tǒng)(又稱(chēng)輸出回路),通常應(yīng)用于自動(dòng)控制電路中,它實(shí)際上是用較小的電流去控制較大電流的一種“自動(dòng)開(kāi)關(guān)”。故在電路中起著自動(dòng)調(diào)節(jié)、安全保護(hù)、轉(zhuǎn)換電路等作用。繼電器控制接點(diǎn)操作說(shuō)明如下:COM:Common,共同點(diǎn)。輸出控制接點(diǎn)的共同接點(diǎn)。NC:Normal Close常閉點(diǎn)。以Com為共同點(diǎn),NC與COM在平時(shí)是呈導(dǎo)通狀態(tài)的。NO:Normal Open常開(kāi)點(diǎn)。NO與COM在平時(shí)是呈開(kāi)路狀態(tài)的,當(dāng)繼電器動(dòng)作時(shí),NO與COM導(dǎo)通,NC與COM則呈開(kāi)路狀態(tài)。當(dāng)89S52的P2.5輸出高電平時(shí),繼電器不導(dǎo)通,反之當(dāng)輸出低電平時(shí),繼電器導(dǎo)通,這樣就激活了連接回路。第4章 系統(tǒng)軟件設(shè)計(jì)本
43、系統(tǒng)采用的是循環(huán)查詢(xún)方式,來(lái)顯示和控制溫度的。主要包括四段程序的設(shè)計(jì):DS18B20讀溫度程序,數(shù)碼管的驅(qū)動(dòng)程序,鍵盤(pán)掃描程序,以及抱經(jīng)處理程序。4.1 主程序流程圖圖4-1 主程序流程圖4.2 各個(gè)模塊的流程圖4.2.1 讀取溫度DS18B20模塊的流程由于DS18B20采用的是一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸,而對(duì)AT89S52單片機(jī)來(lái)說(shuō),硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件的方法來(lái)模擬單總線的協(xié)議時(shí)序來(lái)完成對(duì)DS18B20芯片的訪問(wèn)。DS18B20單線通信功能是分時(shí)完成的,它有嚴(yán)格的時(shí)隙概念。因此系統(tǒng)對(duì)DS18B20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)
44、位脈沖)發(fā)ROM功能命令發(fā)存儲(chǔ)器操作命令處理數(shù)據(jù)DS18B20雖然具有測(cè)溫系統(tǒng)簡(jiǎn)單、測(cè)溫精度高、連接方便、占用口線少等優(yōu)點(diǎn), DS18B20必須首先調(diào)用啟動(dòng)溫度轉(zhuǎn)換函數(shù),根據(jù)數(shù)據(jù)手冊(cè)上對(duì)應(yīng)轉(zhuǎn)換時(shí)間來(lái)超作,如為12位轉(zhuǎn)換,則應(yīng)該是最大750mS,另外在對(duì)DS18B20超作時(shí),時(shí)序要求非常嚴(yán)格,因此最好禁止系統(tǒng)中斷。由于DS18B20是在一根I/O線上讀寫(xiě)數(shù)據(jù),因此,對(duì)讀寫(xiě)的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。DS18B20有嚴(yán)格的通信協(xié)議來(lái)保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫(xiě)時(shí)序。所有時(shí)序都是將主機(jī)作為主設(shè)備,而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫(xiě)時(shí)序
45、開(kāi)始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫(xiě)命令后,主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。DS18B20的讀時(shí)序:(1) 對(duì)于DS18B20的讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個(gè)過(guò)程。 (2) 對(duì)于DS18B20的讀時(shí)隙是從主機(jī)把單總線拉低之后,在15秒之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個(gè)讀時(shí)序過(guò)程,至少需要60us才能完成。DS18B20的寫(xiě)時(shí)序:(1) 對(duì)于DS18B20的寫(xiě)時(shí)序仍然分為寫(xiě)0時(shí)序和寫(xiě)1時(shí)序兩個(gè)過(guò)程。 (2) 對(duì)于DS18B20寫(xiě)0時(shí)序和寫(xiě)1時(shí)序的要求不同,當(dāng)要寫(xiě)0時(shí)序時(shí),單總線要被拉低至少60us,保證DS18
46、B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當(dāng)要寫(xiě)1時(shí)序時(shí),單總線被拉低之后,在15us之內(nèi)就得釋放單總線。系統(tǒng)程序設(shè)計(jì)主要包括三部分:讀出溫度子程序、溫度轉(zhuǎn)換命令子程序、顯示溫度子程序。圖4-2 讀取溫度DS18B20模塊的流程圖程序代碼為:GET_TEMPER:SETBDQ;讀出轉(zhuǎn)換后的溫度值LCALLINIT_1820;先復(fù)位DS18B20JBFLAG1,TSS2RET;判斷DS1820是否存在?若DS18B20不存在則返回TSS2:MOVA,#0CCH;DS18B20已經(jīng)被檢測(cè)到!跳過(guò)ROM匹配LCALLWRITE_1820MOVA,#44H;發(fā)出溫度轉(zhuǎn)換命
47、令LCALLWRITE_1820LCALL DISPLAY;這里通過(guò)調(diào)用顯示子程序?qū)崿F(xiàn)延時(shí)一段時(shí)間,等待AD轉(zhuǎn)換結(jié)束,12位的話(huà)750微秒LCALLINIT_1820;準(zhǔn)備讀溫度前先復(fù)位MOVA,#0CCH;跳過(guò)ROM匹配LCALLWRITE_1820MOVA,#0BEH;發(fā)出讀溫度命令LCALLWRITE_1820LCALLREAD_18200;將讀出的溫度數(shù)據(jù)保存到35H/36HRET4.2.2 鍵盤(pán)掃描處理流程此流程為鍵盤(pán)掃描處理,CPU通過(guò)檢測(cè)各數(shù)據(jù)線的狀態(tài)(0或1)就能知道是否有按鍵閉合以及哪個(gè)按鍵閉合。鍵盤(pán)管理程序的功能是檢測(cè)是否有按鍵閉合,如果有按鍵閉合,消除抖動(dòng),根據(jù)鍵號(hào)轉(zhuǎn)到相
48、應(yīng)的鍵處理程序,按鍵流程圖如圖4-3所示。圖4-3 鍵盤(pán)掃描子程序流程圖4.2.3 報(bào)警處理流程運(yùn)行程序后,溫度傳感器DS18B20即可對(duì)環(huán)境進(jìn)行溫度采集,并送LED數(shù)碼管顯示。我們可以在程序里設(shè)定溫度上限值,當(dāng)采集到的外界溫度高于當(dāng)前所設(shè)定溫度上限值時(shí),程序就會(huì)進(jìn)入報(bào)警子程序,觸發(fā)蜂鳴器進(jìn)行報(bào)警。其程序流程圖如圖4-4所示。圖4-4 報(bào)警子程序流程圖第5章 系統(tǒng)調(diào)試5.1 硬件電路調(diào)試仔細(xì)檢查所接電路,按照硬件原理圖接線,理論上是能實(shí)現(xiàn)的,如果數(shù)碼管不顯示,則應(yīng)該檢查線路是否正確,或是因?yàn)閱纹瑱C(jī)沒(méi)有工作,還有集電極和發(fā)射極是否接對(duì)。如果只顯示兩個(gè)八,則可能是DS18B20沒(méi)有接正確,檢查上拉
49、電路是否接好。另外要注意的是,由單片機(jī)輸出的控制信號(hào)比較小,需要進(jìn)行放大才能驅(qū)動(dòng)繼電器工作,否則就不能實(shí)現(xiàn)升溫過(guò)程,通常選用8550三極管來(lái)進(jìn)行放大。還有220V交流電綠色接頭和加熱管黃色接頭必須接正確,否則導(dǎo)致電路燒壞。蜂鳴器是低電平有效。如果能注意這些問(wèn)題,電路基本不會(huì)出錯(cuò)。5.2 軟件調(diào)試如果硬件電路檢查后,沒(méi)有問(wèn)題卻實(shí)現(xiàn)不了設(shè)計(jì)要求,則可能是軟件編程的問(wèn)題,首先應(yīng)檢查初始化程序,然后是讀溫度程序,顯示程序,以及繼電器控制程序,對(duì)這些分段程序,要注意邏輯順序,調(diào)用關(guān)系,以及涉及到了標(biāo)號(hào),有時(shí)會(huì)因?yàn)橐粋€(gè)標(biāo)號(hào)而影響程序的執(zhí)行,除此之外,還要熟悉各指令的用法,以免出錯(cuò)。還有一個(gè)容易忽略的問(wèn)題就
50、是,源程序生成的代碼是否燒入到單片機(jī)中,如果這一過(guò)程出錯(cuò),那不能實(shí)現(xiàn)設(shè)計(jì)要求也是情理之中的事。本人在設(shè)計(jì)的時(shí)候在偉福仿真軟件進(jìn)行調(diào)試,通過(guò)此軟件進(jìn)行調(diào)試可以很方便的觀察單片機(jī)內(nèi)部各個(gè)寄存器及內(nèi)部存儲(chǔ)器變化情況,以方便進(jìn)行調(diào)試。圖為單片機(jī)功能調(diào)試圖。圖5-1 單片機(jī)功能調(diào)試圖硬件與軟件調(diào)試相結(jié)合,仔細(xì)檢查各個(gè)模塊的設(shè)計(jì),舊能順利完成任務(wù),實(shí)現(xiàn)設(shè)計(jì)要求,在調(diào)試過(guò)程中必須認(rèn)真耐心,不能有一點(diǎn)馬虎,否則遺漏一個(gè)小的問(wèn)題就會(huì)導(dǎo)致整個(gè)設(shè)計(jì)的失敗。5.3 系統(tǒng)操作說(shuō)明本系統(tǒng)上電后數(shù)碼管顯示當(dāng)前測(cè)量溫度,此時(shí)加熱指示燈和保溫指示燈均不點(diǎn)亮;若此時(shí)按“自動(dòng)加熱”鍵,則單片機(jī)自動(dòng)將預(yù)加熱溫度設(shè)置為80并開(kāi)始加熱,
51、送出一個(gè)加熱信號(hào),并點(diǎn)亮加熱指示燈;若按“溫度設(shè)置”鍵,則進(jìn)入預(yù)加熱溫度設(shè)置界面,此時(shí)數(shù)碼管閃爍顯示預(yù)設(shè)置溫度,此時(shí)通過(guò)按鍵“”和“”進(jìn)行設(shè)置溫度,預(yù)設(shè)置溫度按“5”遞增或遞減,設(shè)置好溫度后再按一次“溫度設(shè)置”鍵確定,單片機(jī)保存預(yù)設(shè)置溫度,并開(kāi)始加熱。此時(shí)單片機(jī)通過(guò)數(shù)碼管顯示實(shí)時(shí)檢測(cè)的溫度并和預(yù)設(shè)置溫度進(jìn)行對(duì)比,如果實(shí)測(cè)溫度大于或等于預(yù)設(shè)置溫度,則單片機(jī)發(fā)出停止加熱信號(hào)并熄滅加熱指示燈,點(diǎn)亮保溫指示燈,且當(dāng)超過(guò)預(yù)設(shè)溫度時(shí)發(fā)出報(bào)警;當(dāng)溫度下降到預(yù)設(shè)置溫度以下5度時(shí),單片機(jī)再次發(fā)出加熱信號(hào),同時(shí)熄滅保溫指示燈,點(diǎn)亮加熱指示燈,依次循環(huán)控制。5.4 數(shù)據(jù)測(cè)試1. 靜態(tài)數(shù)據(jù)測(cè)試取一桶凈水,改變它的溫度
52、,觀察數(shù)碼管上顯示的溫度值,并用溫度計(jì)進(jìn)行測(cè)溫,記錄兩組數(shù)據(jù),比較差異。記錄表如下:表5-1 靜態(tài)溫度數(shù)據(jù)測(cè)試表溫度123456顯示溫度234763778490測(cè)量溫度244763808491有測(cè)試數(shù)據(jù)可知,本系統(tǒng)測(cè)溫結(jié)果與溫度計(jì)測(cè)溫基本一致,能滿(mǎn)足設(shè)計(jì),證明了設(shè)計(jì)的合理性。2. 動(dòng)態(tài)數(shù)據(jù)測(cè)試進(jìn)行溫度設(shè)定,通過(guò)設(shè)定溫度值(75),觀察加熱管的加熱情況,以及數(shù)碼管的顯示值,再用溫度計(jì)測(cè)量水溫,每隔一段時(shí)間記錄一次數(shù)據(jù),將兩組值進(jìn)行比較。記錄表如下:(設(shè)定前溫度為25)表5-2 靜態(tài)溫度數(shù)據(jù)測(cè)試表組數(shù)分組12345678910111213顯示溫度25293439424853586267707375
53、測(cè)量溫度25283438424953596367717475通過(guò)上表可看出在加熱的過(guò)程中,顯示的溫度與實(shí)測(cè)的溫度近似一樣,說(shuō)明系統(tǒng)的設(shè)計(jì)達(dá)到精度要求,但還是略有偏差,基本不影響設(shè)計(jì)結(jié)果。整個(gè)測(cè)試過(guò)程表明設(shè)計(jì)達(dá)到了任務(wù)書(shū)的要求,證明了該方案是合理可行的,順利完成了設(shè)計(jì),達(dá)到了預(yù)想結(jié)果。結(jié) 論通過(guò)本次的設(shè)計(jì),使我們不僅對(duì)單片機(jī)這門(mén)課程有了更深刻的認(rèn)識(shí),懂得了如何運(yùn)用課本知識(shí)結(jié)合實(shí)際來(lái)完成定時(shí)器的顯示和編程方法以及數(shù)碼顯示電路的驅(qū)動(dòng)方法,使我們能夠很快的適應(yīng)現(xiàn)代控制技術(shù)發(fā)展的需求,同時(shí)也提高了我們的思維能力和實(shí)際操作能力,為以后更好的走上工作崗位奠定了堅(jiān)實(shí)的基礎(chǔ)。另外,這次的設(shè)計(jì)還讓我更進(jìn)一步的認(rèn)識(shí)
54、了關(guān)于AT89S52等芯片的引腳功能以及使用方法,使我學(xué)會(huì)了應(yīng)用不同的芯片來(lái)配合完成整個(gè)設(shè)計(jì)的操作。在做硬件電路的這段時(shí)間里,從思考設(shè)計(jì)到對(duì)電路的調(diào)試經(jīng)過(guò)了許多困難。同樣在對(duì)軟件進(jìn)行設(shè)計(jì)時(shí),也可為一路坎坷。但是通過(guò)對(duì)軟硬件不斷撞墻,不斷思考解決問(wèn)題的過(guò)程中,我學(xué)會(huì)了很多東西,同時(shí)對(duì)單片機(jī)也有了更深的認(rèn)識(shí)。在做設(shè)計(jì)的時(shí)候,很需要耐心和對(duì)事物的細(xì)心,很多時(shí)候一個(gè)簡(jiǎn)單問(wèn)題的一個(gè)簡(jiǎn)單的疏忽就會(huì)導(dǎo)致整個(gè)電路的不工作,只有不斷的檢查不斷的調(diào)試,才能真正完成一個(gè)設(shè)計(jì)的制作。只有不斷的發(fā)現(xiàn)問(wèn)題解決問(wèn)題,才能從問(wèn)題中改變自己,提升自己對(duì)單片機(jī)的能力。此設(shè)計(jì)雖然能夠完成溫度的顯示和控制,但功能和精度有待于進(jìn)一步提
55、高。以后可以通過(guò)加入PID算法優(yōu)化控制功能,并通過(guò)液晶顯示屏實(shí)時(shí)顯示溫度。致 謝時(shí)間如梭,轉(zhuǎn)眼畢業(yè)在即?;叵朐诖髮W(xué)求學(xué)的四年,心中充滿(mǎn)無(wú)限感激和留戀之情。感謝母校為我們提供的良好學(xué)習(xí)環(huán)境,使我們能夠在此專(zhuān)心學(xué)習(xí),陶冶情操。謹(jǐn)向我的論文指導(dǎo)老師多智華教授致以最誠(chéng)摯的謝意!老師不僅在學(xué)業(yè)上言傳身教,而且以其高尚的品格給我以情操上的熏陶。本文的寫(xiě)作更是直接得益于他的悉心指點(diǎn),從論文的選題到體系的安排,從觀點(diǎn)推敲到字句斟酌,無(wú)不凝聚著他的心血。滴水之恩,當(dāng)以涌泉相報(bào),師恩重于山,師恩難報(bào)。我只有在今后的學(xué)習(xí)、工作中,以鍥而不舍的精神,努力做出點(diǎn)成績(jī),以博恩師一笑。另外,我必須感謝我的父母。焉得諼草,言
56、樹(shù)之背,養(yǎng)育之恩,無(wú)以回報(bào)。作為他們的孩子,我秉承了他們樸實(shí)、堅(jiān)韌的性格,也因此我有足夠的信心和能力戰(zhàn)勝前進(jìn)路上的艱難險(xiǎn)阻;也因?yàn)樗麄兊娜找剐羷?,我才有機(jī)會(huì)如愿完成自己的大學(xué)學(xué)業(yè),進(jìn)而取得進(jìn)一步發(fā)展的機(jī)會(huì)。最后,我必須感謝我的朋友,正是因?yàn)樗麄冊(cè)陔娔X技術(shù)上的無(wú)私指引,我才能得以順利完成該論文。參考文獻(xiàn)1 樂(lè)建波.溫度控制系統(tǒng).化學(xué)工業(yè)出版社, 2003;2 Ken C.Pohlmann.數(shù)字音頻原理及應(yīng)用.電子工業(yè)出版社,2005年6月;3 謝自美.電子線路設(shè)計(jì)實(shí)驗(yàn)測(cè)試.華中科技大學(xué)出版社,2000;4 陳東光.單片微型計(jì)算機(jī)原理及C語(yǔ)言程序設(shè)計(jì).華中科技大學(xué)出版社,2004年4月;5 武慶生
57、,仇梅.單片機(jī)原理與應(yīng)用.電子科技大學(xué)出版社,1998年2月;6 譚浩強(qiáng).C程序設(shè)計(jì).清華大學(xué)出版社,2007;7 華中理工大學(xué)電子學(xué)教研室編.電子技術(shù)基礎(chǔ)模擬部分.高等教育出版社, 2009年7月;8 華中理工大學(xué)電子學(xué)教研室編.電子技術(shù)基礎(chǔ)數(shù)字部分.高等教育出版社,2008年10月;9 趙晶.電路設(shè)計(jì)與制版Protel 99se 的高級(jí)應(yīng)用.人民郵電出版社,2000年1月;10 王彬,任艷穎.Digital IC System Design.西安電子科技大學(xué)出版社,2005年9月;11 趙麗娟,邵欣.基于單片機(jī)的溫度監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).人民大學(xué)出版社,2008;12 郭炳坤.簡(jiǎn)單的恒溫箱
58、溫控電路.電子工業(yè)出版社,1991;13 Guiyun Tian.Foundation and Application of Microcontraller.高等教育出版社,2004.附錄AIntroductions to SCMThe single chip microcomputer referred to as SCM, is typical of embedded micro-controller (Microcontroller Unit), the commonly used letters of the abbreviation MCU MCU, it was first use
59、d in the field of industrial control. Master microcontroller technology to enable more people in the industry, students, enthusiasts, product developers, the question arose due to the extensive application of SCM in the field of industrial control, microcontroller development board, the more famous
60、such as e-DZR-01A microcontroller development board . SCM evolved by the only dedicated processor CPU chip.The first design concept by a large number of peripherals and CPU integrated in a single chip, the computer system is smaller, more easily integrated into complex and require strict control equipment on the volume. INTEL Z80 is the first processor designed in accordance with this idea, since then, the development of microcontroller and dedicated processor have grown apart. Early microcontrollers are 8 or 4. One of the most successful is the INTEL 8031, because the simple and reliable pe
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 新人教版小學(xué)數(shù)學(xué)二年級(jí)下冊(cè)《總復(fù)習(xí)圖形的運(yùn)動(dòng)》ppt課件
- 鉆石小鳥(niǎo)電子商務(wù)案例分析x
- 貴州專(zhuān)版201x中考語(yǔ)文復(fù)習(xí)第二輪古詩(shī)文閱讀專(zhuān)題十文言文閱讀專(zhuān)項(xiàng)訓(xùn)練二課外古詩(shī)詞賞析課件
- 計(jì)算機(jī)發(fā)展簡(jiǎn)史
- 五年級(jí)最小公倍數(shù)
- 分?jǐn)?shù)除法應(yīng)用題(一)1
- 人教版小學(xué)科學(xué)三年級(jí)《空氣占據(jù)空間嗎》
- 腹腔鏡脾切除技巧探討
- 水下溷凝土的灌注
- 主題班會(huì)關(guān)注小環(huán)境共享大健康
- 章引言數(shù)字圖像處理
- 學(xué)情通報(bào)會(huì)二課件
- 醫(yī)療企業(yè)組織氣氛建設(shè)方案分析
- 數(shù)據(jù)中心供配電系統(tǒng)概述
- 小學(xué)三年級(jí)口算題卡課件