《2021單片機課程設計——基于51單片機的溫度控制系統(tǒng)設計》由會員分享,可在線閱讀,更多相關《2021單片機課程設計——基于51單片機的溫度控制系統(tǒng)設計(12頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、單片機課程設計——基于51單片機的溫度控制系統(tǒng)設計
--
單片機課程設計報告
題目:溫度控制系統(tǒng)設計
學院:通信與信息工程學院
專業(yè):測控技術與儀器專業(yè)
班級: 測控三班
成員: 徐郡
二〇一四年六月十二日
--
--
一、引言
溫度是工業(yè)控制中主要的被控參數(shù)之一,特別是在冶金、化工、建材、食品、機械、石油等工業(yè)中,具有舉足重輕的作用。對于不同場所、不同工藝、所需溫度高低范圍不同、精度不同,則采用的測溫元件、測方法以及對溫度的控制方法也將不同;產(chǎn)品工藝不同、控制溫度的精度不同、時效不同,則對數(shù)據(jù)采集的精度和采用的控制算法也不同,因而,對溫度的測控方法多種多樣。
2、
隨著電子技術和微型計算機的迅速發(fā)展,微機測量和控制技術也得到了迅速的發(fā)展和廣泛的應用。利用微機對溫度進行測控的技術,也便隨之而生,并得到日益發(fā)展和完善,越來越顯示出其優(yōu)越性。
作為獲取信息的手段——傳感器技術得到了顯著的進步,其應用領域較廣泛。傳感器技術已成為衡量一個國家科學技術發(fā)展水平的重要標志之一。因此,了解并掌握各類傳感器的基本結構、工作原理及特性是非常重要的。
為了提高對傳感器的認識和了解,尤其是對溫度傳感器的深入研究以及其用法與用途,基于實用、廣泛和典型的原則而設計了本系統(tǒng)。本系統(tǒng)利用傳感器與單片機相結合,應用性比較強,本系統(tǒng)可以作為倉庫溫度監(jiān)控系統(tǒng),如果稍微改裝可以做熱水器溫
3、度調(diào)節(jié)系統(tǒng)、實驗室溫度監(jiān)控系統(tǒng),以及構成智能電飯煲等等。課題主要任務是完成環(huán)境溫度監(jiān)測,利用單片機實現(xiàn)溫度監(jiān)測并通過報警信號提示溫度異常。本設計具有操作方便,控制靈活等優(yōu)點。
本設計系統(tǒng)包括單片機,溫度采集模塊,顯示模塊,按鍵控制模塊,報警和指示模塊五個部分。文中對每個部分功能、實現(xiàn)過程作了詳細介紹。整個系統(tǒng)的核心是進行溫度監(jiān)控,完成了課題所有要求。
二、實驗目的和要求
2.1學習DS18B20溫度傳感芯片的結構和工作原理。
2.2掌握LED數(shù)碼管顯示的原理及編程方法。
2.3掌握獨立式鍵盤的原理及使用方法。
2.4掌握51系列單片機數(shù)據(jù)采集及處理的方法。
三、方案設計
--
4、
--
總體設計方案采用AT89C52單片機作控制器,溫度傳感器選用DS18B20來設計數(shù)字溫度計,系統(tǒng)由5個模塊組成:主控制器、測溫電路、顯示電路、控制電路、報警及指示電路。主控制器由單片機AT89C52實現(xiàn),測溫電路由DS18B20溫度傳感器實現(xiàn),顯示電路由4位LED數(shù)碼管直讀顯示,,報警指示電路由蜂鳴器和發(fā)光二級管構成,控制電路由按鍵構成。本設計所使用的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準確等特點,其輸出溫度采用數(shù)字顯示,主要用于對溫度的精度要求較高的場所,或科研實驗室使用,并且加有報警裝置,超過限制溫度可發(fā)出報警信號,還可以調(diào)整報警上下限溫度。該設計控制器使
5、用單片機AT89C52,測溫傳感器使用DS18B20,用4位共陽極LED數(shù)碼管以I/O口傳送數(shù)據(jù),實現(xiàn)溫度顯示,能準確達到以上要求。
四、實驗原理
利用溫度傳感器芯片監(jiān)測環(huán)境溫度,將溫度信號轉換為數(shù)字信號傳送到單片機內(nèi)部,單片機通過對溫度數(shù)據(jù)進行處理,利用四位八段數(shù)碼管顯示環(huán)境溫度,并利用蜂鳴器和發(fā)光二極管發(fā)出超限警報信號。通過按鍵操作可以改變報警溫度的上下限。
五、材料清單
--
--
六、基本芯片及其原理
6.1單片機
89C52是INTEL公司MCS-51系列單片機中基本的產(chǎn)品,它采用INTEL 公司可靠的CHMOS工藝技術制造的高性能8位單片機,屬于標準的MCS-51的
6、HCMOS產(chǎn)品。它結合了HMOS的高速和高密度技術及CHMOS的低功耗特征,它基于標準的MCS-51單片機體系結構和指令系統(tǒng),屬于80C51增強型單片機版本,集成了時鐘輸出和向上或向下計數(shù)器等更多的功能,適合于類似馬達控制等應用場合。89C52內(nèi)置8位中央處理單元、256字節(jié)內(nèi)部數(shù)據(jù)存儲器RAM、8k片內(nèi)程序存儲器(ROM)32個雙向輸入/輸出(I/O)口、3個16位定時/計數(shù)器和5個兩級中斷結構,一個全雙工串行通信口,片內(nèi)時鐘振蕩電路。此外,89C52還可工作于低功耗模式,可通過兩種軟件選擇空閑和掉電模式。在空閑模式下凍結CPU而RAM定時器、串行口和中斷系統(tǒng)維持其功能。掉電模式下,保存RA
7、M數(shù)據(jù),時鐘振蕩停止,同時停止芯片內(nèi)其它功能。89C52有PDIP(40pin)和PLC C(44pin)兩種封裝形式。
本次課程設計所使用的單片機為STC89C52單片機,是深圳宏晶科技生產(chǎn)的完全兼容INTEL公司MCS-51系列的單片機。
6.2溫度傳感器及其原理
傳感器DS18B20具有體積小、精度高、適用電壓寬、采用一線總線、可組網(wǎng)等優(yōu)點,在實際應用中取得了良好的測溫效果。
美國Dallas半導體公司的數(shù)字化溫度傳感器DS1820是世界上第一片支持“一線總線”接口的溫度傳感器,在其內(nèi)部使用了在板(ON-B0ARD)專利技術。全部傳感元件及轉換電路集成在形如一只三極管的集成電路內(nèi)
8、。“一線總線”獨特而且經(jīng)濟的特點,使用戶可輕松地組建傳感器網(wǎng)絡,為測量系統(tǒng)的構建引入全新概念。
現(xiàn)在,新一代的DS18B20體積更小、更經(jīng)濟、更靈活。使用戶可以充分發(fā)揮“一線總線”的優(yōu)點。同DS1820一樣,DS18B20也支持“一線總線”接口,測量溫度范圍為-55C~+125C,在-10~+85C范圍內(nèi),精度為0.5C。現(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設備或過程控制、測溫類消費電子產(chǎn)品等。與前一代產(chǎn)品不同,新的產(chǎn)品支持3V~5.5V的電壓范圍,使系統(tǒng)設計更靈活、方便。而且新一代產(chǎn)品更便宜,體積更小。
6.2.
9、1 DS18B20的特性
(1)適應電壓范圍更寬,電壓范圍:3.0~5.5V,寄生電源方式下可由數(shù)據(jù)線
--
--
-- 供電。
(2)獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與D S18B 20的雙向通訊。
(3)DS18B20支持多點組網(wǎng)功能,多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。
(4)D S18B20在使用中不需要任何外圍元件,全部傳感元件及轉換電路集成在形如一只三極管的集成電路內(nèi)。
(5)溫范圍-55℃~+125℃,在-10~+85℃時精度為0.5℃。
(6)可編程的分辨率為9~12位,對應的可分辨溫度
10、分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實現(xiàn)高精度測溫。
(7)在9位分辨率時最多在93.75m s內(nèi)把溫度轉換為數(shù)字,12位分辨率時最多在750ms 內(nèi)把溫度值轉換為數(shù)字,速度更快。
(8)測量結果直接輸出數(shù)字溫度信號,以“一線總線”串行傳送給CPU,同時可傳送C RC 校驗碼,具有極強的抗干擾糾錯能力。
(9)負壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀,但不能正常工作。 6.2.2
DS18B20內(nèi)部結構及DS 18B 20的管腳排列
64位光刻R OM 是出廠前被光刻好的,它可以看作是該D S18B20的地址序列號。不同的器件地址序列號不同。D S18B
11、20內(nèi)部結構主要由四部分組成:64位光刻RO M,溫度傳感器,非揮發(fā)的溫度報警觸發(fā)器TH 和TL,高速暫存器。
DS18B20的引腳定義:
圖一 D S18B20引腳定義
(1)D Q為數(shù)字信號輸入/輸出端。
--
-- (2)G ND為電源地。
(3)VDD 為外接供電電源輸入端(在寄生電源接線方式時接地)。
6.2.3 DS 18B20的編程
(1)DS18B20的初始化:
①先將數(shù)據(jù)線置高電平“1”。
②延時(該時間要求的不是很嚴格,但是盡可能的短一點)
③數(shù)據(jù)線拉到低電平“0”。
④延時750us (該時間的時間范圍可以從480us 到960us )
12、。
⑤數(shù)據(jù)線拉到高電平“1”。
⑥延時等待(如果初始化成功則在15到60毫秒時間之內(nèi)產(chǎn)生一個由DS18B20所返回的低電平“0”。據(jù)該狀態(tài)可以來確定它的存在,但是應注意不能無限的進行等待,不然會使程序進入死循環(huán),所以要進行超時控制)。
⑦若CPU 讀到了數(shù)據(jù)線上的低電平“0”后,還要做延時,其延時的時間從發(fā)出的高電平算起(第(5)步的時間算起)最少要480微秒。
⑧將數(shù)據(jù)線再次拉高到高電平“1”后結束。
初始化程序代碼如下:
void ds_r eset(voi d) { char presence=1; while(pr ese nce) ?{ ? wh ile(prese
13、nce) ?{ ???DQ=1; ? ?_n op_(); ?_nop_(); ?DQ=0; ? dela y(50); ? DQ=1; ??delay(6); ?? pr esence=DQ ; ??} ??delay(45); prese nce=~D Q; } DQ=1; }
(2)DS18B 20的寫操作:
①數(shù)據(jù)線先置低電平“0”。
②延時確定的時間為15us 。
--
-- ③按從低位到高位的順序發(fā)送字節(jié)(一次只發(fā)送一位)。 ④延時時間為45u s。
⑤將數(shù)據(jù)線拉到高電平。
⑥重復上(1)到(6)的操作直到所有的字節(jié)
14、全部發(fā)送完為止。 ⑦最后將數(shù)據(jù)線拉高。
寫操作程序代碼如下:
void ds_write(uc har ds_w rdata )
{ ?u char i; f or(i=8;i>0;i--) ?{ ? DQ=1; ? _no p_(); _no p_(); ? D Q=0; ? _n op_(); ?_nop_(); ??_no p_(); ?_n op_(); ? DQ=ds_wrdata&0x 01; //最低位移出 ?d el ay(6); d s_w rda ta=d s_wrdata/2; //右
15、移1位 ?} DQ =1; ?dela y(1); }
(3)DS18B20的讀操作:
①將數(shù)據(jù)線拉高“1”。
②延時2us 。
③將數(shù)據(jù)線拉低“0”。
④延時15us 。
⑤將數(shù)據(jù)線拉高“1”。
⑥延時15us 。
⑦讀數(shù)據(jù)線的狀態(tài)得到1個狀態(tài)位,并進行數(shù)據(jù)處理。
⑧延時30us 。
讀操作程序代碼如下:
uc har ds_rea d(void ) { ?u ch ar i; ?uc har val ue=0; for(i =8;i>0;i--) {
--
-- DQ=1;_nop_(); ??_nop_(); ? valu e>>=1; ? D Q=0
16、; ??_nop_(); ??_nop_(); ? _nop_(); ? _nop_(); ??DQ=1; ??_nop_(); ?_nop _(); ? _no p_(); _nop_(); ?if (DQ)va lue|=0x80; del ay(6); ?} DQ=1; return(va lue ); }
6.2.4 DS18B20傳感器的溫度數(shù)據(jù)關系
:
圖二 溫度傳感器的溫度數(shù)據(jù)關系
6.2.5 DS18B20的外部電源供電方式:
在外部電源供電方式下,DS18B20工作電源由VDD 引腳接入,此時I/O 線不需要強上拉,不存在電源
17、電流不足的問題,可以保證 轉換精度,同時在總線上理論可以掛接任意多個DS18B 20傳感器,組成多點測溫系統(tǒng)。
--
--
圖三 外部電源供電連接圖
七、系統(tǒng)框圖
本系統(tǒng)設計由5個模塊組成:主控制器(單片機)、溫度采集模塊、溫度顯示模塊、控制電路模塊、報警及指示模塊。主控制器由單片機AT89C52實現(xiàn),測溫電路由DS 18B 20溫度傳感器實現(xiàn),顯示電路由4位LED 數(shù)碼管直讀顯示,報警指示電路由蜂鳴器和發(fā)光二級管構成,控制電路由按鍵構成。
系統(tǒng)框圖如下:
圖四 系統(tǒng)框圖 溫度顯示 溫度采集 控制按鍵 報警指示 P1.0 P1.3~P1.7 P0.0~P0.7 P2.0~P2.3
P3.0~P3.3 單片機
--
八、工作流程圖
8.1主程序流程圖
圖五主要功能流程圖
--
--
圖六指示、報警模塊流程圖
圖七
--
--
九、硬件電路圖
圖八顯示模塊
圖九按鍵控制模塊
--