




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