基于STC單片機的溫度控制系統(tǒng)設計_第1頁
基于STC單片機的溫度控制系統(tǒng)設計_第2頁
基于STC單片機的溫度控制系統(tǒng)設計_第3頁
基于STC單片機的溫度控制系統(tǒng)設計_第4頁
基于STC單片機的溫度控制系統(tǒng)設計_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、基于stc單片機的溫度調(diào)控系統(tǒng)設計摘要隨著微機測量和控制技術(shù)的迅速發(fā)展與廣泛應用,單片機的應用同樣正在不斷地走向深入,同時帶動傳統(tǒng)控制檢測日新月益更新。在實時檢測和自動控制的單片機應用系統(tǒng)中,單片機往往是作為一個核心部件來使用,但僅僅單片機方面知識是不夠的,還應根據(jù)具體硬件結(jié)構(gòu),以及具體應用對象特點的軟件結(jié)合,以作完善。本次設計的主題是基于stc單片機的溫度調(diào)控系統(tǒng)設計,此次設計的溫度控制系統(tǒng)主要是對以stc單片機為主控制單元和以溫度測量單元構(gòu)成的單總線數(shù)字溫度傳感器ds18b20進行研究。該系統(tǒng)將設定溫度上下限,并顯示檢測溫度,監(jiān)測數(shù)據(jù)。如果溫度超過設定參數(shù)上限和下限溫度,報警系統(tǒng)將由實驗時

2、的設置和以自動控制方式實現(xiàn),從而達到一定范圍內(nèi)溫度的監(jiān)測與控制。系統(tǒng)設計了相關的硬件電路和相關應用程序。硬件電路主要包括stc12c5a60s2單片機最小系統(tǒng)、測溫電路、實時時鐘電路、lcd液晶顯示電路、超溫報警電路以及通訊模塊電路等。系統(tǒng)程序主要包括主程序,ds18b20通信程序、按鍵處理程序、lcd顯示程序以及數(shù)據(jù)存儲程序等。以單片機為核心的溫度采集與控制系統(tǒng)的研發(fā)與應用在很大程度上提高了生產(chǎn)生活中對溫度的控制水平,經(jīng)過試驗結(jié)果得知本次設計的系統(tǒng)是準確的,可行的。關鍵詞溫度采集;ds18b20;stc單片機;測試程序;超溫報警電路based on stc single chip micro

3、computer temperature control system designabstractalong with the computer measurement and control technology of the rapid development and wide application, the application of scm is to keep at the same time, traditional control testing update on crescent benefits. in real-time detection and automati

4、c control system of single-chip applications, often as a single-chip core component to use only single-chip is not enough knowledge, but also the specific hardware structure and the specific features of application software objects combine to make perfect.the theme of this design is based on the stc

5、 single-chip temperature control system design.the experiment of temperature control system based on stc control unit and the temperature measuring unit consisting of a single bus digital temperature sensor ds research 18b20. the system can be expected to detect the preset temperature, display time

6、and save monitoring data. an alarm will be given by system if the temperature exceeds the upper and lower limit value of the temperature which can be set discretionarily and then automatic control is achieved, thus the temperature is achieved monitoring intelligently within a certain range.the syste

7、m design of the hardware circuit and the related applications. the hardware circuit including stc12c5a60s2mcu minimum system, a temperature measurement circuit, clock circuit, lcd display circuit, alarm circuit and a communication module circuit. system program, including the main program, a ds18b20

8、 communication program, key program, lcd display program and data storage procedure. microcontroller as the core temperature acquisition and control system development and application has greatly improved the production life of the temperature control level, at the same time through the test results

9、 show that the design of the system is accurate,and feasible.keywords temperature acquisition; ds18b20; mcu of stc; test program; temperature alarm circuit目錄摘要iabstractii第1章 緒論11.1 課題背景及研究意義11.2 國內(nèi)外研究和應用現(xiàn)狀11.3 課題研究內(nèi)容2第2章 系統(tǒng)設計的總體方案42.1 設計要求42.2 系統(tǒng)總體方案論述42.2.1 主控單片機42.2.2 溫度傳感器62.2.3 lcd顯示器62.3 系統(tǒng)調(diào)試所用

10、軟件簡述72.3.1 keil軟件簡介72.3.2 keil軟件調(diào)試過程82.3.3 keil使用時注意事項92.4 本章小結(jié)9第3章 主控單片機及溫度傳感器103.1 stc12c5a60s2單片機簡介103.1.1 stc12c5a60s2系列單片機的主要特點103.1.2 stc12c5a60s2系列單片機的優(yōu)點113.1.3 stc12c5a60s2單片機的管腳123.2 stc12c5a60s2單片機的應用133.2.1 stc12c5a60s2單片機i/o口工作模式設定133.2.2 stc12c5a60s2單片機的a/d轉(zhuǎn)換143.3 ds18b20 溫度傳感器153.3.1 d

11、s18b20傳感器的特性153.3.2 ds18b20的外形和內(nèi)部結(jié)構(gòu)153.4 ds18b20的工作原理163.5 ds18b20的使用中注意事項203.6 本章小結(jié)21第4章 系統(tǒng)總體設計224.1 電源輸入部分224.2 鍵盤及顯示電路234.2.1 鍵盤電路設計234.2.2 顯示電路設計264.3 測溫模塊294.3.1 ds18b20的工作時序294.3.2 超溫報警電路314.3.3 溫度檢測324.4 調(diào)試結(jié)果及分析334.5 本章小結(jié)33結(jié)論34致謝35參考文獻36附錄a37附錄b45附錄c52千萬不要刪除行尾的分節(jié)符,此行不會被打印。在目錄上點右鍵“更新域”,然后“更新整個

12、目錄”。打印前,不要忘記把上面“abstract”這一行后加一空行第1章 緒論1.1 課題背景及研究意義溫度控制系統(tǒng)廣泛應用于社會生活的各個領域,如家電、汽車、材料、電力電子等,常用的控制電路根據(jù)應用場合和所要求的性能指標有所不同,在工業(yè)企業(yè)中,如何提高溫度控制對象的運行性能一直以來都是控制人員和現(xiàn)場技術(shù)人員努力解決的問題。這類控制對象慣性大,滯后現(xiàn)象嚴重,存在很多不確定的因素,難以建立精確的數(shù)學模型,從而導致控制系統(tǒng)性能不佳,甚至出現(xiàn)控制不穩(wěn)定、失控現(xiàn)象。傳統(tǒng)的繼電器調(diào)溫電路簡單實用,但由于繼電器動作頻繁 ,可能會因觸點不良而影響正常工作??刂祁I域還大量采用傳統(tǒng)的pid控制方式,但pid控制

13、對象的模型難以建立,并且當擾動因素不明確時,參數(shù)調(diào)整不便仍是普遍存在的問題。而采用數(shù)字溫度傳感器ds18b20,因其內(nèi)部集成了a/d轉(zhuǎn)換器,使得電路結(jié)構(gòu)更加簡單,而且減少了溫度測量轉(zhuǎn)換時的精度損失,使得測量溫度更加精確。數(shù)字溫度傳感器ds18b20只用一個引腳即可與單片機進行通信,大大減少了接線的麻煩,使得單片機更加具有擴展性。由于ds18b20芯片的小型化,更加可以通過單跳數(shù)據(jù)線就可以和主電路連接,故可以把數(shù)字溫度傳感器ds18b20做成探頭,探入到狹小的地方,增加了實用性。更能串接多個數(shù)字溫度傳感器ds18b20進行范圍的溫度檢測。本設計就是基于單片機stc12c5a60s2溫度控制系統(tǒng)的

14、設計,通過本次課程實踐,我們更加的明確了單片機的廣泛用途和使用方法,以及其工作的原理。1.2 國內(nèi)外研究和應用現(xiàn)狀1.國外溫度測控系統(tǒng)研究國外對溫度控制技術(shù)研究較早,始于20世紀70年代。先是采用模擬式的組合儀表,采集現(xiàn)場信息并進行指示、記錄和控制。80年代末出現(xiàn)了分布式控制系統(tǒng)。目前正開發(fā)和研制計算機數(shù)據(jù)采集控制系統(tǒng)的多因子綜合控制系統(tǒng)?,F(xiàn)在世界各國的溫度測控技術(shù)發(fā)展很快,一些國家在實現(xiàn)自動化的基礎上正向著完全自動化、無人化的方向發(fā)展。2.國內(nèi)溫度測控系統(tǒng)研究我國對于溫度測控技術(shù)的研究較晚,始于20世紀80年代。我國工程技術(shù)人員在吸收發(fā)達國家溫度測控技術(shù)的基礎上,才掌握了溫度室內(nèi)微機控制技術(shù)

15、,該技術(shù)僅限于對溫度的單項環(huán)境因子的控制。我國溫度測控設施計算機應用,在總體上正從消化吸收、簡單應用階段向?qū)嵱没?、綜合性應用階段過渡和發(fā)展。在技術(shù)上,以單片機控制的單參數(shù)單回路系統(tǒng)居多,尚無真正意義上的多參數(shù)綜合控制系統(tǒng),與發(fā)達國家相比,存在較大差距。我國溫度測量控制現(xiàn)狀還遠遠沒有達到工廠化的程度,生產(chǎn)實際中仍然有許多問題困擾著我們,存在著裝備配套能力差,產(chǎn)業(yè)化程度低,環(huán)境控制水平落后,軟硬件資源不能共享和可靠性差等缺點。成熟的溫控產(chǎn)品主要以”點位”控制及常規(guī)的pid控制器為主,它們只能適應一般溫度系統(tǒng)控制,而用于較高控制場合的智能化,自適應控制儀表,國內(nèi)技術(shù)還不十分成熟,形成商品化并廣泛應用

16、的控制儀表較少,因此不適合用此種方法作加熱爐的溫控系統(tǒng)。近幾年來快速發(fā)展了多種先進的加熱爐溫度控制方式,如:模糊控制。這個控制技術(shù)大大提高了控制精度,不但是控制變得更簡單,而且是產(chǎn)品的質(zhì)量更好,降低了產(chǎn)品的成本,提高了生產(chǎn)效率。不過,模糊控制系統(tǒng)動態(tài)性能好,單穩(wěn)定性較差,而且很難使兩種性能都達到理想要求。目前普遍采用模糊-線性復合控制器發(fā)揮了模糊控制和線性控制的優(yōu)點,是設計的系統(tǒng)取得了較好的動態(tài)和穩(wěn)態(tài)指標。但是模糊-線性復合控制同時也存在一些問題:線性錢饋復合控制的系統(tǒng)性能對參數(shù)變化比較敏感;模糊-線性雙??刂拼嬖陂_關切換問題;在線性控制的誤差通道并聯(lián)模糊控制器系統(tǒng)和模糊控制器與線性控制器并聯(lián)

17、系統(tǒng)盡管得到了較好的效果,但并不能從根本上解決模糊控制器穩(wěn)態(tài)性能和動態(tài)性能之間的矛盾問題。1.3 課題研究內(nèi)容1.溫度控制原理用戶通過鍵盤輸入系統(tǒng)設定溫度上限值與下限值,溫度信息由集溫度測量和ad轉(zhuǎn)換于一體的ds18b20溫度傳感器測量并轉(zhuǎn)換成數(shù)字信號輸入主機,此信號經(jīng)過標度轉(zhuǎn)換后,通過lcd將溫度顯示出來;當測得的溫度越限時,蜂鳴器報警?;趕tc12c5a60s2單片機,ds18b20將檢測到的溫度信號數(shù)字信號,并將信號送入單片機進行處理。最后的溫度值顯示在液晶顯示器上。這些步驟是用來實現(xiàn)溫度檢測。采用鍵盤接口芯片hd 7279的設定溫度值,通過單片機保持一定的溫度,并用液晶顯示器顯示設定

18、溫度控制。此外,時鐘芯片ds 1302是用來顯示時間和外部的6264是用來保存數(shù)據(jù)。如果溫度超過上限和下限溫度,報警將由蜂鳴器鳴叫報警。這樣就可以控制輸出設備,實時調(diào)節(jié)溫度的變化,使其逐漸趨于給定值且達到控制的目的。2.系統(tǒng)硬件設計系統(tǒng)的硬件結(jié)構(gòu)主要由溫度檢測電路、按鍵掃描與系統(tǒng)框圖中的顯示電路、報警電路、輸出控制電路等部分組成。溫度檢測及控制電路部分本系統(tǒng)中溫度檢測電路選用美國dallas公司生產(chǎn)的一線數(shù)字溫度傳感器ds18b20實現(xiàn)。該器件在使用中不需要外圍元件,與單片機交換信息僅需要一根io線。本系統(tǒng)中 dq管腳為數(shù)據(jù)線與stc的p13連接。ds18b20的溫度檢測與數(shù)字數(shù)據(jù)輸出全集成于

19、一個芯片之上,從而提高了干擾能力。在 ds18b20內(nèi)部,提供0125的 高分辨率的計算,溫度以16位符號擴展的二進制補碼的形式存于溫度寄存器中。當用戶需的時候,ds18b20將通過單線接口串行發(fā)送數(shù)據(jù)。人機對話部分的設計人機對話部分包括顯示、鍵盤和報警三部分。a.顯示部分的設計。在本設計中p0口和p1口的部分位,作為動態(tài)顯示器的顯示輸出口。段碼由o口并行輸出到4位led顯示器,位碼由p14、p15、p16、p17輪流輸出。b.鍵盤的設計。本系統(tǒng)中由于設定溫度只需溫度+ 、溫度-和確認鍵3個鍵,故采用獨立式按鍵。在開機后輸入設定溫度值即可。c.報警功能的實現(xiàn)。當系統(tǒng)溫度高于或低于設定溫度時,p

20、25口送出的低電平經(jīng)反向器驅(qū)動蜂鳴器鳴叫報警。3.系統(tǒng)軟件設計主要是ds 18b20的子程序的編寫。ds 18b20的主要數(shù)據(jù)原件有:64位激光lasers rom,溫度靈敏原件和非易失性溫度報警觸發(fā)器th和tl。ds 18b20可以從總線獲取電源,當信號線位高電平時,將能量貯存在外部電容器中;當單信號線為低電平時,將該電源斷開,直到信號線變?yōu)楦唠娖街匦陆由霞纳娙荩╇娫礊橹埂4送?,還可外接5v電源,給 ds 18b20供電,ds 18bb20的供電方式靈活,利用外接電源還可增加系統(tǒng)的穩(wěn)定性和可靠性。4.對系統(tǒng)數(shù)據(jù)采集功能進行測試。5.根據(jù)測試結(jié)果完成設計報告和期末答辯。第2章 系統(tǒng)設計的總

21、體方案2.1 設計要求1. 設定溫度的溫度的上下限,使用lcd顯示器顯示所測得溫度值,當溫度超過所設定的上下限使,蜂鳴器將會自動鳴叫報警;2. 使用stc12c5a60s2單片機和ds18b20(溫度傳感器,10個)在stc實驗板上成實驗的仿真過程,寫出設計報告書;3.超調(diào)量%20%; 溫度誤差0.5。2.2 系統(tǒng)總體方案論述本課題設計的是一種以stc單片機為主控制單元,以ds18b20為溫度傳感器的溫度控制系統(tǒng)。該控制系統(tǒng)可以實時存儲相關的溫度數(shù)據(jù)并記錄當前的時間。其主要包括:電源模塊、溫度采集模塊、按鍵處理模塊、數(shù)據(jù)存儲模塊、lcd顯示模塊、超溫報警電路以及單片機最小系統(tǒng)。stc12c5a

22、60s2單片機按鍵處理溫度采集輸入電源數(shù)據(jù)存儲超溫報警lcd顯示圖2.1系統(tǒng)設計總體硬件框圖2.2.1 主控單片機在本次設計的溫度控制系統(tǒng)中所使用的核心控制器是stc12c5a60s2單片機。stc12c5a60s2單片機作為核心控制器,該單片機具有高可靠,廉價,功耗低,操作方便,i/o口多等優(yōu)點。該單片機屬于雙列直插式封裝,有4組8位i/o口,p1、p2、p3屬于準雙向口,可作為普通輸入輸出io口,p0口接上拉電阻后可作為普通i/o口使用。該單片機具有3個定時計數(shù)器,1個全雙工串行口。此單片機具有6個中斷源,3個定時計數(shù)器中斷,2個外部中斷,一個串口中斷,內(nèi)部有靜態(tài)非易失性eeprom和看門

23、狗。片內(nèi)集成8只讀存儲器(perom),外擴后可有64k,具有256bytees的隨機存儲器(ram),功能比較強。 晶振電路: 晶振是晶體振蕩器的簡稱,在電氣上它可以等效成一個電容和一個電阻并聯(lián)再串聯(lián)一個電容的二端網(wǎng)絡,電工學上這個網(wǎng)絡有兩個諧振點,以頻率的高低分其中較低的頻率是串聯(lián)諧振,較高的頻率是并聯(lián)諧振。由于晶體自身的特性致使這兩個頻率的距離相當?shù)慕咏谶@個極窄的頻率范圍內(nèi),晶振等效為一個電感,所以只要晶振的兩端并聯(lián)上合適的電容它就會組成并聯(lián)諧振電路。這個并聯(lián)諧振電路加到一個負反饋電路中就可以構(gòu)成正弦波振蕩電路,由于晶振等效為電感的頻率范圍很窄,所以即使其他元件的參數(shù)變化很大,這個振

24、蕩器的頻率也不會有很大的變化。晶振有一個重要的參數(shù),那就是負載電容值,選擇與負載電容值相等的并聯(lián)電容,就可以得到晶振標稱的諧振頻率。一般的晶振振蕩電路都是在一個反相放大器(注意是放大器不是反相器)的兩端接入晶振,再有兩個電容分別接到晶振的兩端,每個電容的另一端再接到地,這兩個電容串聯(lián)的容量值就應該等于負載電容,請注意一般ic的引腳都有等效輸入電容,這個不能忽略。在此次設計的溫度控制系統(tǒng)設計中,控制核心stc12c5a60s2單時鐘/機器周期(it)單片機有32個i/o口,其外部晶振為12mhz,一個指令周期為1/12us.使用該單片機完全可以完成設計任務,其最小系統(tǒng)主要包括:復位電路,震蕩電路

25、等,電路如下圖2.2所示。圖2.2單片機最小電路圖2.2.2 溫度傳感器本次設計中所采用的溫度傳感器是美國達拉斯(dallas)半導體公司推出的應用單總線技術(shù)的ds18b20數(shù)字溫度傳感器。ds18b20數(shù)字溫度傳感器接線方便,封裝成后可應用于多種場合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式,型號多種多樣,有l(wèi)tm8877,ltm8874等等。主要根據(jù)應用場合的不同而改變其外觀。封裝后的ds18b20可用于電纜溝測溫,高爐水循環(huán)測溫,鍋爐測溫,機房測溫,農(nóng)業(yè)大棚測溫,潔凈室測溫,彈藥庫測溫等各種非極限溫度場合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設備數(shù)字測溫和控制領

26、域。在此次設計的溫度控制系統(tǒng)中,采用的是多路測溫電路,所以ds18b20溫度傳感器與主控單片機的連接方式如下圖2.3所示。圖2.3 外部供電方式的多點測溫電路圖2.2.3 lcd顯示器在此設計中需要顯示設定溫度的上下限,并且還要同時顯示多路溫度傳感器所測得溫度值,所以此次的lcd顯示器選用的是12864型號。其引腳及連接如圖2.4所示。帶中文字庫的12864是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國標一級、二級簡體中文字庫的點陣圖形液晶顯示模塊;其顯示分辨率為12864, 內(nèi)置8192個1616點漢字,和128個168點ascii字符集.利用該模塊靈活的接口方式和簡單、方

27、便的操作指令,可構(gòu)成全中文人機交互圖形界面??梢燥@示84行1616點陣的漢字,也可完成圖形顯示,低電壓低功耗是其又一顯著特點。由該模塊構(gòu)成的液晶顯示方案與同類型的圖形點陣液晶顯示模塊相比,不論硬件電路結(jié)構(gòu)或顯示程序都要簡潔得多,且該模塊的價格也略低于相同點陣的圖形液晶模塊。lcd的基本特性:1.低電源電壓(vdd:+3.0-+5.5v)2.顯示分辨率:12864點3.內(nèi)置漢字字庫,提供8192個1616點陣漢字(簡繁體可選)4.內(nèi)置128個168點陣字符5.2mhz時鐘頻率6.顯示方式:stn、半透、正顯7.驅(qū)動方式:1/32duty,1/5bias8.視角方向:6點9.背光方式:側(cè)部高亮白色

28、led,功耗僅為普通led的1/51/1010.通訊方式:串行、并口可選11.內(nèi)置dc-dc轉(zhuǎn)換電路,無需外加負壓12.無需片選信號,簡化軟件設計13.工作溫度: 0 - +55 ,存儲溫度: -20 - +60圖2.4 lcd12864液晶管腳圖2.3 系統(tǒng)調(diào)試所用軟件簡述單片機開發(fā)中除必要的硬件外,同樣離不開軟件。keil軟件是目前最流行開發(fā)mcs-51 系列單片機的軟件,keil提供了包括c編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uvision)將這些部份組合在一起。keil軟件簡單易學,能對程序進行編譯,連接等。2.3.1 k

29、eil軟件簡介keil c51是美國keil software公司出品的51系列兼容單片機c語言軟件開發(fā)系統(tǒng),與匯編相比,c語言在功能上、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。keil提供了包括c編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uvision)將這些部分組合在一起。運行keil軟件需要win98、nt、win2000、winxp等操作系統(tǒng)。如果你使用c語言編程,那么keil幾乎就是你的不二之選,即使不使用c語言而僅用匯編語言編程,其方便易用的集成環(huán)境、強大的軟件仿真調(diào)試工具也會令你事半功倍。keil c51軟件

30、提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,全windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到keil c51生成的目標代碼效率非常之高,多數(shù)語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現(xiàn)高級語言的優(yōu)勢。c51工具包的整體結(jié)構(gòu),uvision與ishell分別是c51 for windows和for dos的集成開發(fā)環(huán)境(ide),可以完成編輯、編譯、連接、調(diào)試、仿真等整個開發(fā)流程。開發(fā)人員可用ide本身或其它它編輯編輯器c或匯編源文件。然后分別由c51及c51編譯器編譯生成目標文件(.obj)。目標文件可由lib51創(chuàng)建生成庫文件,也可以與庫文件

31、一起經(jīng)l51連接定位生成絕對目標文件(.abs)。abs文件由oh51轉(zhuǎn)換成標準的hex文件,以供調(diào)試器dscope51或tscope51使用進行源代碼級調(diào)試,也可由仿真器使用直接對目標板進行調(diào)試,也可以直接寫入程序存貯器如eprom中。2.3.2 keil軟件調(diào)試過程單片機開發(fā)中除必要的硬件外,同樣離不開軟件。keil軟件是目前最流行開發(fā)mcs-51 系列單片機的軟件,keil提供了包括c編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個集成開發(fā)環(huán)境(uvision)將這些部份組合在一起。keil軟件簡單易學,能對程序進行編譯,連接等。下面是我用keil對

32、程序進行調(diào)試的過程。圖2.5 keil調(diào)試文件建立工程的建立:建立一個.c的文件,同時再建立一個和前面的文件名一樣的文件夾,選擇好cpu,使用stc12c5a60s2,同時設好晶振頻率,我們用的是12mhz,如上圖。建立好文件后,就可以進行編譯、鏈接、運行。編譯窗口如下。圖2.6編譯檢查編譯后顯示0個錯誤,有兩個警告,但是不影響程序的下載,使用stc下載軟件進行下載之后程序就存儲在stc12c5a60s2的rom中,通過單片機來運行程序就可以方便檢查出硬件出現(xiàn)的錯誤。等所以硬件都無誤之后,將所有程序模塊整合起來就可以實現(xiàn)所要的功能。2.3.3 keil使用時注意事項1. 仿真器標配11.059

33、2mhz的晶振,但用戶可以在仿真器上的晶振插孔中換插其他頻率的晶振。 2. 仿真器上的復位按鈕只復位仿真芯片,不復位目標系統(tǒng)。3. 仿真芯片的31腳(/ea)已接至高電平,所以仿真時只能使用片內(nèi)rom,不能使用片外rom;但仿真器外引插針中的31腳并不與仿真芯片的31腳相連,故該仿真器仍可插入到擴展有外部rom(其cpu的/ea引腳接至低電平)的目標系統(tǒng)中使用。2.4 本章小結(jié)本章主要論述了此次設計系統(tǒng)的總體結(jié)構(gòu),并簡單介紹了設計中使用的單片機,溫度傳感器等元件的電路連接,最后還介紹了系統(tǒng)調(diào)試時所使用的軟件及調(diào)試過程,本章主要是總體的論述一番,為后面的設計做好鋪墊。第3章 主控單片機及溫度傳感

34、器3.1 stc12c5a60s2單片機簡介stc12c5a60s2系列單片機是宏晶科技生產(chǎn)的單時鐘/機器周期(1t)的單片機,是高速/低功耗/超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統(tǒng) 8051,但速度快8-12倍。內(nèi)部集成max810專用復位電路,2路pwm,8路高速10 位a/d轉(zhuǎn)換(250k/s),針對電機控制,強干擾場合。圖3.1 stc12c5a60s2單片機外形圖3.1.1 stc12c5a60s2系列單片機的主要特點1.增強型8051cpu,1t,單時鐘/機器周期,指令代碼完全兼容傳統(tǒng)8051。2.工作電壓:stc12c5a60s2系列工作電壓:5.5v- 3.3v

35、(5v單片機)stc12c5a60s2系列工作電壓:3.6v- 2.2v(3v單片機)。3.工作頻率范圍:0 - 35mhz,相當于普通8051的 0420mhz4.片上集成1280字節(jié)ram。5.通用i/o口(36/40/44個),復位后為:準雙向口/弱上拉(普通8051傳統(tǒng)i/o口)可設置成四種模式:準雙向口/弱上拉,推挽/強上拉,僅為輸入/高阻,開漏每個i/o口驅(qū)動能力均可達到20ma,但整個芯片最大不要超過55ma。6.isp(在系統(tǒng)可編程)/iap(在應用可編程),無需專用編程器,無需專用仿真器 可通過串口(p3.0/p3.1)直接下載用戶程序,數(shù)秒即可完成一片。7.有eeprom功

36、能(stc12c5a62s2/ad/pwm無內(nèi)部eeprom)8.看門狗。9.內(nèi)部集成max810專用復位電路(外部晶體12m以下時,復位腳可直接1k電阻到地)。10.外部掉電檢測電路:在p4.6口有一個低壓門檻比較器 5v單片機為1.32v,誤差為+/-5%,3.3v單片機為1.30v,誤差為+/-3%,2個時鐘輸出口,可由t0的溢出在p3.4/t0輸出時鐘,可由t1的溢出在p3.5/t1輸出時鐘。11.外部中斷i/o口7路,傳統(tǒng)的下降沿中斷或低電平觸發(fā)中斷,并新增支持上升沿中斷的pca模塊,power down模式可由外部中斷喚醒, int0/p3.2,int1/p3.3, t0/p3.4

37、,t1/p3.5, rxd/p3.0, ,ccp0/p1.3(也可通過寄存器設置到p4.2 ) ,ccp1/p1.4 (也可通過寄存器設置到p4.3)。12.pwm(2路)/pca(可編程計數(shù)器陣列,2路)-也可用來當2路d/a使用 -也可用來再實現(xiàn)2個定時器 -也可用來再實現(xiàn)2個外部中斷(上升沿中斷/下降沿中斷均可分別或同時支持) 。13.a/d轉(zhuǎn)換, 10位精度adc,共8路,轉(zhuǎn)換速度可達250k/s(每秒鐘25萬次) 。14.stc12le5a60s2系列有雙串口,后綴有s2標志的才有雙串口,rxd2/p1.2(可通過寄存器設置到p4.2),txd2/p1.3(可通過寄存器設置到p4.3

38、) 。15.工作溫度范圍:-40 - +85(工業(yè)級) / 0 - 75(商業(yè)級)21.封裝:pdip-40,lqfp-44,lqfp-48;i/o口不夠時,可用2到3根普通i/o口線外接;74hc164/165/595(均可級聯(lián))來擴展i/o口,還可用a/d做按鍵掃描來節(jié)省i/o口,或用雙cpu,三線通信,還多了串口。16.片上集成1280字節(jié)ram。17.用戶應用程序空間8k/16k/20k/32k/40k/48k/52k/60k/62k字節(jié).18.pwm(2 路)/pca(可編程計數(shù)器陣列,2路) - 也可用來當2路 d/a 使用 - 也可用來再實現(xiàn)2個定時器 - 也可用來再實現(xiàn)2個外部

39、中斷(上升沿中斷/下降沿中斷均可分別或同時支持)。3.1.2 stc12c5a60s2系列單片機的優(yōu)點1.速度快,1個時鐘/機器周期,可用低頻晶振,大幅降低emi2.支持掉電喚醒的管腳: int0/p3.2, int1/p3.3, t0/p3.4, t1/p3.5,rxd/p3.0,ccp0/p1.3(或p4.2),ccp1/p1.4(或p4.3), ex_lvd/p4.63.超低功耗: 掉電模式:外部中斷喚醒功耗0.1ua,支持下降沿/上升沿/低電平和遠程喚醒適用于電池供電系統(tǒng),如水表,氣表,便攜設備等空閑模式1.典型功耗1.3ma, 正常工作模式:2ma - 7ma2.輸入/輸出口多,最多

40、有44個i/o 口,a/d 做按鍵掃描還可以節(jié)省很多i/o3.在系統(tǒng)可編程,無需編程器,無需仿真器,可遠程升級4.可送stc-isp下載編程器,1萬片/人/天5.內(nèi)部集成高可靠復位電路,外部復位電路可徹底省掉,當然也可以繼續(xù)用外部復位電路。3.1.3 stc12c5a60s2單片機的管腳圖3.2 單片機管腳圖1.vcc:供電電壓2.gnd:接地3.rst:復位輸入。當振蕩器復位器件時,要保持rst腳兩個機器周期的高電平時間4.xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入5.xtal2:來自反向振蕩器的輸出當將i/o設置為準雙向口/弱上拉時p0口:p0口為一個8位漏級開路雙向i/o口

41、,每腳可吸收8ttl門電流。當p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當fiash進行校驗時,p0輸出原碼,此時p0外部必須被拉高。p1口:p1口是一個內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。p2口:p2口為一個內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當

42、p2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。當p2口用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,p2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。p3口:p3口管腳是8個帶有內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是

43、由于上拉的緣故。3.2 stc12c5a60s2單片機的應用3.2.1 stc12c5a60s2單片機i/o口工作模式設定stc12c5a60s2系列單片機其所有i/o口均可由軟件配置成4中工作類型之一。4種類型分別為:準雙向口(標準8051 輸出模式)、推挽輸出、僅為輸入(高阻)或開漏輸出功能。每個口由2個個控制寄存器中的相應位控制每個引腳工作類型。stc12c5a60s2系列單片機上電復位后為準雙向口(傳統(tǒng)8051的i/o口)模式。2v以上時為高電平,0.8v以下時為低電平。i/o口工作模式設定如下表。表3-1 i/o口工作模式pxm17:0 pxm07:0 i/o口模式0 0 準雙向口(

44、傳統(tǒng) 8051i/o口模式 ),灌電流可達20ma, 拉電流為230ua0 1 推挽輸出(強上拉輸出, 可達20ma, 要加限流電阻)1 0 僅為輸入 (高阻)1 1 開漏 (open dra in), 內(nèi)部上拉電阻斷開,要外加注意:雖然每個i/o口在弱上拉時都能承受20ma的灌電流(還是要加限流電阻,如 1k,560等),在強推挽輸出時都能輸出20ma的拉電流(也要加限流電阻),但整個芯片的工作電流推薦不要超過55ma。即從mcu-vcc流入的電流不超過55ma,從mcu-gnd流出電流不超過55ma,整體流入/流出電流都不能超過55ma。介紹一個宏定義:_bin作用是給寄存器的每個位賦值,

45、比如:adc_contr = _bin(1,0,0,0, 1,0,0,0);就是給adc_contr寄存器的第7位和第3位賦值1,其他位為0。括號中的參數(shù)依次為第7位第0位。在tf卡程序中,若將spi口設置成推挽(強上拉)輸出,就可以這樣寫: p1m1 = _bin (0, 0, 0, 0, 0, 0, 0, 0); p1m0 = _bin (1, 1, 1, 1, 1, 1, 1, 1);3.2.2 stc12c5a60s2單片機的a/d轉(zhuǎn)換stc12c5a60s2單片機的a/d轉(zhuǎn)換口在p1口(p1.7-p1.0),用戶通過軟件設置可將8路中的任意一路作為自己的a/d轉(zhuǎn)換口。首先需要設置p1

46、口的工作模式,因為溫度檢測只有一路,因此我們選擇p1.0口作為模擬量的輸入口,設置其位漏極開漏模式,在這種情況下p1口才可作為a/d轉(zhuǎn)換口使用,否則只能作為一般的i/o口。需要作為a/d轉(zhuǎn)換使用的口需先將p1asf特殊功能寄存器中的相應位置1,將相應的位設置為模擬功能。p1asf特殊功能寄存器如下:表3-2 p1asf特殊功能寄存器p1asf p1asf p1asf p1asf p1asf p1asf p1asf p1asf p1asf7:0 7 6 5 4 3 2 1 0因此需將p1asf0設置為1,其它位設置為0 。表3-3adc_ speed1 speed0 adc_flag adc_s

47、tart chs2 chs1 chs0powerchs2,chs1,chs0為選擇p1口的哪一位作為a/d轉(zhuǎn)換口,如選擇p1.0則應令chs2,chs1,chs0都為0。adc_start為啟動a/d轉(zhuǎn)換位,為1時啟動,為0時關閉。adc_flag為a/d轉(zhuǎn)換結(jié)束標志,可通過查詢此位看a/d是否轉(zhuǎn)換完畢。speed1,speed0為a/d轉(zhuǎn)換速度控制位,其含義如下:表3-4speed1 speed0 a/d轉(zhuǎn)換所需時間1 1 70個時鐘周期轉(zhuǎn)換一次1 0 140個時鐘周期轉(zhuǎn)換一次0 1 280個時鐘周期轉(zhuǎn)換一次0 0 420個時鐘周期轉(zhuǎn)換一次由于采用查詢方式進行讀取數(shù)據(jù),需將ie寄存器的ead

48、c位設置成低電平,否則是采取中斷的方式進行讀取。a/d轉(zhuǎn)換完的結(jié)果存儲在轉(zhuǎn)換結(jié)果寄存器里面,其為adc_res,adc_resl,究竟是低8位存在adc_resl,高兩位存在adc_res,還是高8位存在adc_res,高兩位存在adc_resl里面,取決于auxr1寄存器中的adrj位是1還是0。我們?nèi)djr位1。則模數(shù)轉(zhuǎn)換結(jié)果計算公式為:(adc_res1:0,adc_resl7:0)=1024*vin/vcc。vcc為單片機實際工作電壓。3.3 ds18b20 溫度傳感器3.3.1 ds18b20傳感器的特性1.獨特的單線接口方式,ds18b20在與微處理器連接時僅需要一條口線即可實現(xiàn)

49、微處理器與ds18b20的雙向通訊。2.測溫范圍55+125,固有測溫分辨率0.5。3.支持多點組網(wǎng)功能,多個ds18b20可以并聯(lián)在唯一的三線上,最多只能并聯(lián)8個,實現(xiàn)多點測溫,如果數(shù)量過多,會使供電電源電壓過低,從而造成信號傳輸?shù)牟环€(wěn)定。4.工作電源: 35v/dc5.在使用中不需要任何外圍元件6.測量結(jié)果以912位數(shù)字量方式串行傳送7.不銹鋼保護管直徑68.適用于dn1525, dn40dn250各種介質(zhì)工業(yè)管道和狹小空間設備測溫。9.標準安裝螺紋 m10x1, m12x1.5, g1/2”任選10. pvc電纜直接出線或德式球型接線盒出線,便于與其它電器設備連接。3.3.2 ds18b

50、20的外形和內(nèi)部結(jié)構(gòu)ds18b20的外形及引腳排列圖如下圖3.3。表3-5 ds18b20引腳定義引腳 定義dq 數(shù)字信號輸入/輸出端gnd 電源地vdd 外接供電電源輸入端(在寄生電源接線方式時地)ds18b201 2 3 gnd i/o uddpr-35封裝1 82 7ds18b203 64 5i/ogndncncvccncncncsosi封裝圖3.3 ds18b20外形及引腳ds18b20內(nèi)部結(jié)構(gòu)主要由四部分組成:64位光刻rom、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器th和tl、配置寄存器。ds18b20內(nèi)部結(jié)構(gòu)圖如下:存儲器和控制器高速緩存存儲器8位crc生成器64位rom和單線接口電源

51、檢測溫度靈敏元件低溫觸發(fā)器tl高溫觸發(fā)器th配置寄存器圖3.4 ds18b20內(nèi)部結(jié)構(gòu)圖3.4 ds18b20的工作原理 ds18b20的讀寫時序和測溫原理與ds1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s減為750ms。ds18b20測溫原理如圖3.5所示。圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振 隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫度寄存器被預置在55所對應的一個基數(shù)值。計數(shù)器1對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當計數(shù)器1的預置值減到0時,溫度

52、寄存器的值將加1,計數(shù)器1的預置將重新被裝入,計數(shù)器1重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。下圖中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預置值。累加器預置計數(shù)器1低溫度系數(shù)振蕩器比較器計數(shù)器1=0計數(shù)器2計數(shù)器2=0高溫度系數(shù)振蕩器溫度寄存器增加停止圖3.5 ds18b20工作原理框圖ds18b20有4個主要的數(shù)據(jù)部件1.光刻rom中的64位序列號是出廠前被光刻好的,它可以看作是該ds18b20的地址序列碼。64位光刻rom的排列是:開始8位 (28h)是產(chǎn)品類

53、型標號,接著的48位是該ds18b20自身的序列號,最后8位是前面56位的循環(huán)冗余校驗碼(crc=x8+x5+x4+1)。光刻rom的作用 是使每一個ds18b20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個ds18b20的目的。2.ds18b20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴展的二進制補碼讀數(shù)形式提供,以0.0625/lsb形式表達,其中s為符號位。表3-6 ds18b20溫度值格式表ls bytems bytebit7 bit6 bit5 bit4 bit3 bit2 bit1 bit023 22 21 20 2-1 2-2 2-3 2-4bit15 b

54、it14 bit13 bit12 bit11 bit10 bit9 bit8s s s s s 26 25 24這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在18b20的兩個8比特的ram中,二進制中的前面5位是符號位,如果測得的溫度大于0, 這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0.0625即可得到實際溫度。例如+125的數(shù)字輸出為07d0h,+25.0625的數(shù)字輸出為0191h,-25.0625的數(shù)字輸出為fe6fh,-55的數(shù)字輸出為fc90h。表3-7 ds18b20溫度數(shù)據(jù)表temperature digital output digital output(binary) (hex)+125 0000 0111 1101 0000 07d0h +85 0000 010

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論