版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
單片機(jī)原理及應(yīng)用課程設(shè)計PAGE1前言單片微型計算機(jī)簡稱單片機(jī),是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的縮寫MCU表示單片機(jī),單片機(jī)又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機(jī)系統(tǒng)集成到一個芯片上。相當(dāng)于一個微型的計算機(jī),和計算機(jī)相比,單片機(jī)只缺少了I/O設(shè)備。概括的講:一塊芯片就成了一臺計算機(jī)。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機(jī)是了解計算機(jī)原理與結(jié)構(gòu)的最佳選擇。單片機(jī)是靠程序運(yùn)行的,并且可以修改。通過不同的程序?qū)崿F(xiàn)不同的功能,尤其是特殊的獨(dú)特的一些功能,這是其它器件需要費(fèi)很大力氣才能做到的,有些則是花大力氣也很難做到的。一個不是很復(fù)雜的功能要是用美國50年代開發(fā)的74系列,或者60年代的CD4000系列這些純硬件來搞定的話,電路一定是一塊大PCB板,但是如果要是用美國70年代成功投放市場的系列單片機(jī),結(jié)果就會有天壤之別,因為單片機(jī)的通過編寫的程序可以實現(xiàn)高智能,高效率,以及高可靠性。單片機(jī)又稱微控制器,以體積小、功能全、性價比高等諸多優(yōu)點而獨(dú)具特色,因此單片機(jī)技術(shù)已經(jīng)普及到我們的生活、工作、科研等各個領(lǐng)域,本文主要介紹了一個基于AT89C51單片機(jī)的測溫報警系統(tǒng),描述了單片機(jī)的基本信息以及利用DS18B20數(shù)字溫度傳感器開發(fā)測溫系統(tǒng),對其外圍硬件進(jìn)行連接、軟件編程等模塊都進(jìn)行了詳細(xì)介紹。該系統(tǒng)可以實現(xiàn)溫度的采集和顯示,并且可以根據(jù)需要設(shè)定溫度的上下限報警溫度,它使用起來相當(dāng)方便,具有精度高、量程寬、靈敏度高、功耗低等優(yōu)點,非常適合日常生活的溫度測量。DS18B20與AT89C51結(jié)合實現(xiàn)最簡單的溫度檢測系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡單,抗干擾能力強(qiáng),適合于惡劣環(huán)境下進(jìn)行現(xiàn)場溫度測量,有著廣泛的應(yīng)用前景。1概述1.1數(shù)字溫度計簡介隨著人們生活水平的不斷提高,單片機(jī)控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。數(shù)字溫度計可以準(zhǔn)確的判斷和測量溫度,以數(shù)字顯示,而非指針或水銀顯示。故稱數(shù)字溫度計或數(shù)字溫度表。數(shù)字溫度計采用溫度敏感元件也就是溫度傳感器,將溫度的變化轉(zhuǎn)換成電信號的變化,這個電信號可以使用模數(shù)轉(zhuǎn)換的電路即AD轉(zhuǎn)換電路將模擬信號轉(zhuǎn)換為數(shù)字信號,數(shù)字信號再送給處理單元,處理單元經(jīng)過內(nèi)部的軟件計算將這個數(shù)字信號和溫度聯(lián)系起來,成為可以顯示出來的溫度數(shù)值,如25.0攝氏度,然后通過顯示單元(如LED)顯示出來給人觀察。這樣就完成了數(shù)字溫度計的基本測溫功能。此次課程設(shè)計所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,其讀數(shù)方便,測溫范圍廣,測溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,該系統(tǒng)的總體設(shè)計思路如下:溫度傳感器DS18B20把所測得的溫度發(fā)送到AT89C51單片機(jī)上,經(jīng)過51單片機(jī)處理,將把溫度在顯示電路上顯示,本系統(tǒng)顯示器用4位共陰LED1.2設(shè)計內(nèi)容及要求本次單片機(jī)課程設(shè)計將以51系列單片機(jī)為核心,以開發(fā)板為平臺;利用Proteus及KEIL仿真軟件設(shè)計一個簡易數(shù)字溫度計,要求使用溫度傳感器(DS18B20)測量溫度,再經(jīng)單片機(jī)(簡稱MCU)處理后,在LED數(shù)碼管顯示當(dāng)前的溫度值,分別為百位、十位、個位和小數(shù)點后一位。并且可以實現(xiàn)超限報警功能。1.3系統(tǒng)組成及工作原理本系統(tǒng)功能是由硬件和軟件兩大部分協(xié)調(diào)完成的,硬件部分主要完成各種新號的采集和各種信息的顯示的;軟件主要完成信號的處理及控功能等。基于工作原理是AT89C51單片機(jī)對按鈕的輸入信號的查詢和檢測,然后對輸入信號進(jìn)行相應(yīng)處理后通過LED數(shù)碼管輸出。溫度計電路設(shè)計控制器采用單片機(jī)AT89C51,溫度傳感器采用DS18B20,DS18B20溫度傳感器能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式,僅需要一個端口引腳進(jìn)行通信。顯示電路采用4位共陰極LED數(shù)碼管,采用LED動態(tài)顯示方式,從P1口輸出段碼,P2.0~P2.3作為位選控制端。2系統(tǒng)總體設(shè)計及軟件設(shè)計2.1設(shè)計思路本實驗設(shè)計4個開關(guān)按鍵K1,K2,K3,K4:其中K2按鍵按下去時,進(jìn)入報警上下限設(shè)置,按動K2,K3分別對報警上限和下限進(jìn)行設(shè)置,增減由K1進(jìn)行控制,當(dāng)設(shè)置完畢后,按K4保存并退出。該實驗要求對環(huán)境溫度進(jìn)行測量并在LED上顯示數(shù)據(jù),則可利用AT89C51芯片的P0.7-P0.0管腳對應(yīng)了接數(shù)碼管的A,B,C,D,E,F,G和小數(shù)點位,P2.0~P2.3接顯示數(shù)據(jù)的小數(shù)位、個位、十位、百位(符號位),P3.4端口與DS18B20進(jìn)行數(shù)據(jù)傳遞和通信端口,P3.7端口輸出報警信號。2.2硬件構(gòu)成2.2.1主控模塊AT89C51單片機(jī)AT89C51是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89C51具有8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路另外,AT89C51可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個中斷或硬件復(fù)位為止。P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。P1口和P2口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,輸出緩沖器能驅(qū)動4個TTL邏輯電平。對端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(2.2.2溫度傳感器DS18B20DS18B20溫度傳感器是美國DALLAS半導(dǎo)體公司最新推出的一種改進(jìn)型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過簡單的編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式。DS18B20的性能特點如下:獨(dú)特的單線接口僅需要一個端口引腳進(jìn)行通信;多個DS18B20可以并聯(lián)在惟一的三線上,實現(xiàn)多點組網(wǎng)功能;無須外部器件;可通過數(shù)據(jù)線供電,電壓范圍為3.0~5.5V;零待機(jī)功耗;溫度以9或12位數(shù)字;用戶可定義報警設(shè)置;報警搜索命令識別并標(biāo)志超過程序限定溫度(溫度報警條件)的器件;負(fù)電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。DS18B20溫度傳感器的內(nèi)部存儲器還包括一個高速暫存RAM和一個非易失性的可電擦除的EERAM。高速暫存RAM的結(jié)構(gòu)為8字節(jié)的存儲器,DS18B20完成溫度轉(zhuǎn)換后,就把測得的溫度值與RAM中的TH、TL字節(jié)內(nèi)容作比較。若T>TH或T<TL,則將該器件內(nèi)的報警標(biāo)志位置位,并對主機(jī)發(fā)出的報警搜索命令作出響應(yīng)。因此,可用多只DS18B20同時測量溫度并進(jìn)行報警搜索。DS18B20的測溫原理:器件中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1;高溫度系數(shù)晶振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2的脈沖輸入。器件中還有一個計數(shù)門,當(dāng)計數(shù)門打開時,DS18B20就對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖進(jìn)行計數(shù)進(jìn)而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55℃所對應(yīng)的一個基數(shù)分別置入減法計數(shù)器1、溫度寄存器中,計數(shù)器1和溫度寄存器被預(yù)置在-55℃所對應(yīng)的一個基數(shù)值。表表1一部分溫度對應(yīng)值表溫度/℃二進(jìn)制表示十六進(jìn)制表示+125000001111101000007D0H+8500000101010100000550H+25.062500000001100100000191H+10.125000000001010000100A2H+0.500000000000000100008H000000000000010000000H-0.51111111111110000FFF8H-10.1251111111101011110FF5EH-25.06251111111001101111FE6FH-551111110010010000FC90HDS18B20器件僅在主機(jī)發(fā)出讀時隙時,才向主機(jī)傳輸數(shù)據(jù)。所以在主機(jī)發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時隙,以便DS18B20能夠傳輸數(shù)據(jù)。所有的讀時隙至少需要60us,且在兩次獨(dú)立的讀時隙之間,至少需要1us的恢復(fù)時間。每個讀時隙都由主機(jī)發(fā)起,至少拉低總線1us。在主機(jī)發(fā)起讀時隙之后,DS18B20器件才開始在總線上發(fā)送0或1,若DS18B20發(fā)送1,則保持總線為高電平。若發(fā)送為0,則拉低總線當(dāng)發(fā)送0時,DS18B20在該時隙結(jié)束后,釋放總線,由上拉電阻將總線拉回至高電平狀態(tài)。DS18B20發(fā)出的數(shù)據(jù),在起始時隙之后保持有效時間為15us。因而主機(jī)在讀時隙期間,必須釋放總線。并且在時隙起始后的15us之內(nèi)采樣總線的狀態(tài)。2.3顯示模塊顯示電路采用4位共陰極LED數(shù)碼管,采用LED動態(tài)顯示方式,從P1口輸出段碼,P2.0~P2.3作為位選控制端。其中P1做輸出口時需要加上拉電阻。圖2-1顯示模塊2.4開關(guān)控制電路模塊本模塊有四個按鍵來實現(xiàn)報警溫度的設(shè)置功能,當(dāng)K2鍵按下時,系統(tǒng)進(jìn)入報警溫度上下限調(diào)整程序,按動K2可以實現(xiàn)對報警溫度上限TH增一或減一,按動K3可以實現(xiàn)對報警溫度下限TL增一或減一,其加減由按動K1來控制,同時LED顯示當(dāng)前在調(diào)的報警溫度值,當(dāng)調(diào)整完畢后,按K4鍵退出調(diào)整程序。圖2-2開關(guān)控制電路3軟件設(shè)計系統(tǒng)程序主要包括主程序,讀溫度子程序,,溫度轉(zhuǎn)換命令子程序,計算溫度子程序,溫度比較子程序,報警溫度調(diào)整子程序和顯示子程序。3.1主程序主程序的主要功能是負(fù)責(zé)溫度的實時顯示、讀出并處理DS18B20的測量的當(dāng)前溫度值,并與溫度報警上下限設(shè)定值進(jìn)行比較,同時查詢K2是否按下進(jìn)行報警溫度的設(shè)置,然后循環(huán)執(zhí)行。其程序流程見圖3-1所示。YY發(fā)DS18B20復(fù)位命令發(fā)跳過ROM命令發(fā)讀取溫度命令讀取操作,CRC校驗9字節(jié)完?CRC校驗正?確?移入溫度暫存器結(jié)束NNY調(diào)用顯示子程序調(diào)用顯示子程序讀取溫度轉(zhuǎn)換溫度溫度顯示溫度比較按鍵檢測初始化圖3-1主程序流程圖圖3-2讀取溫度流程圖3.2讀取溫度子程序讀出溫度子程序的主要功能是讀出RAM中的9字節(jié),在讀出時需進(jìn)行CRC校驗,校驗有錯時不進(jìn)行溫度數(shù)據(jù)的改寫。其程序流程圖如圖3-2所示。3.3溫度轉(zhuǎn)換命令子程序溫度轉(zhuǎn)換命令子程序主要是發(fā)溫度轉(zhuǎn)換開始命令,當(dāng)采用12位分辨率時轉(zhuǎn)換時間約為750ms,在本程序設(shè)計中采用1s顯示程序延時法等待轉(zhuǎn)換的完成。溫度轉(zhuǎn)換命令子程序流程圖如圖3-3所示。發(fā)DS18B20復(fù)位命令發(fā)DS18B20復(fù)位命令發(fā)跳過ROM命令發(fā)溫度轉(zhuǎn)換開始命令結(jié)束圖3-3溫度轉(zhuǎn)換流程圖3.4計算溫度子程序計算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如下圖3-4所示。開始溫度零下?溫度值取補(bǔ)碼置“—”標(biāo)志計算小數(shù)位溫度BCD值計算整數(shù)位溫度BCD值結(jié)束置“+”標(biāo)志NY圖3-4計算溫度流程圖3.5溫度比較子程序此程序是將實際溫度與設(shè)置的報警上下限比較,決定是否發(fā)出報警信號。由于T為實際溫度的絕對值,TH、TL也是溫度的絕對值,因此判斷大小關(guān)系時要通過其正負(fù)符號來確定。4Proteus軟件仿真4.1系統(tǒng)整體硬件電路系統(tǒng)整體硬件電路包括:傳感器數(shù)據(jù)采集電路,溫度顯示電路,上下限報警溫度調(diào)整電路和報警電路,如附錄所示。圖中有4個獨(dú)立式按鍵可以分別調(diào)整溫度計的上下限報警溫度,蜂鳴器可以在被測溫度超出上下限范圍內(nèi)時,發(fā)出報警鳴叫聲音,同時報警指示燈超高亮發(fā)光二極管將被點亮。圖中畫出來的是上電復(fù)位電路,實際電路將采用按健加上電復(fù)位電路,使用比較方便,在程序跑飛時,可以手動復(fù)位,這樣就不用重啟單片機(jī)電源,就可以實現(xiàn)復(fù)位。顯示電路采用動態(tài)掃描方式,這樣不僅使用單片機(jī)端口較少,而且外圍電路也比較簡單。4.2溫度顯示由于18B20的測溫范圍是-55~125°C,所以當(dāng)溫度為負(fù)值時,第一位數(shù)碼管用來顯示溫度的負(fù)號,當(dāng)溫度值的十位數(shù)字為0時,不顯示,溫度值為正且小于100°C時,第一位數(shù)碼管也是用來顯示符號,為正時不顯示,當(dāng)溫度值大于等于100°C4.3報警溫度調(diào)節(jié)調(diào)節(jié)高溫報警溫度時,先按下高溫調(diào)節(jié)按鍵,進(jìn)入高溫調(diào)節(jié)模式,此時4位數(shù)碼管的第一位當(dāng)報警溫度小于100°C時不顯示,大于等于100°C時顯示百位數(shù)字,第二位顯示報警溫度的十位數(shù)字,第三位顯示報警溫度的個位,第一位顯示“H”,表示處于高溫報警溫度調(diào)節(jié)狀態(tài)。按下加一鍵后報警溫度值會加一并且數(shù)碼管閃亮一次顯示更新的高溫報警溫度值,按下減一鍵時執(zhí)行同樣操作。直到按下確定鍵,才退出設(shè)定狀態(tài)。調(diào)節(jié)低溫報警溫度時,先按下低溫調(diào)節(jié)按鍵,進(jìn)入低溫調(diào)節(jié)模式,數(shù)碼管顯示和高溫調(diào)節(jié)時相似,只是第一位顯示“L”,表示處于低溫報警溫度調(diào)節(jié)狀態(tài)。按鍵操作也和高溫調(diào)節(jié)時相同。在此值得一提的是低溫調(diào)節(jié)按鍵和確認(rèn)鍵是復(fù)用的,也就是說如果按下低溫調(diào)節(jié)按鍵后再按一次,就會直接退出低溫設(shè)定狀態(tài)。另外低溫調(diào)節(jié)按鍵還具有關(guān)報警電路的功能,當(dāng)所測溫度值超出上下限報警溫度時,蜂鳴器響同時報警指示燈亮,此時連續(xù)按下2次確認(rèn)鍵即可關(guān)掉報警,再連續(xù)按下2次確認(rèn)鍵就又進(jìn)入了報警狀態(tài)??偨Y(jié)經(jīng)過一周的單片機(jī)課程設(shè)計,終于完成了簡易數(shù)字溫度計的設(shè)計,雖然沒有完全達(dá)到設(shè)計要求,但從心底里說,還是高興的,畢竟這次設(shè)計把理論運(yùn)用到了實踐當(dāng)中。
在本次設(shè)計的過程中,我發(fā)現(xiàn)很多的問題,雖然以前也做過這樣的課程設(shè)計但這次設(shè)計真的讓我成長進(jìn)步了許多,單片機(jī)課程設(shè)計重點就在于軟件算法的設(shè)計,需要用很巧妙的程序算法,雖然以前上課時編寫過幾次程序,但編好一個完整的程序真的不是一件容易的事情,比如此次課設(shè)編寫的程序我參考了一下類似的實例,用的都是16進(jìn)制的數(shù)直接加減,顯示處理時在用對不同的位,求商或求余,感覺效果比較好。還有時序的問題,通過這次的設(shè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度智能家居加盟品牌授權(quán)合同3篇
- 二零二五年度新能源儲能系統(tǒng)購買合同3篇
- 二零二五年度林業(yè)人才培養(yǎng)合作造林協(xié)議3篇
- 2025年度老舊房屋漏水檢測與賠償專項協(xié)議3篇
- 2025年度股東退出與公司知識產(chǎn)權(quán)保護(hù)合同3篇
- 二零二五年度模特服裝租賃拍攝合同3篇
- 2025年度房地產(chǎn)公司合伙人項目合作協(xié)議3篇
- 二零二五年度循環(huán)水養(yǎng)殖養(yǎng)魚合作合同3篇
- 2025年度體育場館物業(yè)用房移交及賽事運(yùn)營服務(wù)合同3篇
- 2025年度企業(yè)年會活動宣傳片制作服務(wù)合同模板3篇
- 普通高校本科招生專業(yè)選考科目要求指引(通用版)
- 基坑工程監(jiān)控方案
- 中考生物試驗操作評分參考標(biāo)準(zhǔn)
- 國家開放大學(xué)電大本科《國際私法》期末試題及答案(n試卷號:1020)
- 四川省德陽市中學(xué)2023年高一物理上學(xué)期期末試卷含解析
- 舉高消防車基礎(chǔ)知識
- 空氣、物表地面消毒登記記錄
- 急性腦梗死診治指南
- 檢察院分級保護(hù)項目技術(shù)方案
- 土木工程建筑中混凝土裂縫的施工處理技術(shù)畢業(yè)論文
- 水電站工程地質(zhì)勘察報告
評論
0/150
提交評論