單片機(jī)課程設(shè)計(jì)--空調(diào)溫度控制_第1頁(yè)
單片機(jī)課程設(shè)計(jì)--空調(diào)溫度控制_第2頁(yè)
單片機(jī)課程設(shè)計(jì)--空調(diào)溫度控制_第3頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、燕山大學(xué)課程設(shè)計(jì)說明書課程名稱單片機(jī)原理及應(yīng)用技術(shù)題目空調(diào)溫度控制學(xué)院係)電氣工程學(xué)院年級(jí)專業(yè)2011級(jí)檢測(cè)技術(shù)與儀器班學(xué)號(hào)4學(xué)生余焊威指導(dǎo)教師吳希軍教師職稱副教授燕山大學(xué)課程設(shè)計(jì)(論文)任務(wù)書院(系):電氣工程學(xué)院基層教學(xué)單位:儀器科學(xué)與工程系學(xué)號(hào)4學(xué)生余焊威專業(yè)(班級(jí))檢測(cè)11-1設(shè)計(jì)題目空調(diào)溫度控制設(shè) 計(jì) 技 術(shù) 參 數(shù)利用實(shí)驗(yàn)儀上顯示電路、鍵盤或開關(guān)電路、 A/D轉(zhuǎn)換電路,模擬空 調(diào)恒溫控制??梢岳脤?shí)驗(yàn)儀上的電位器模仿溫度變化, 制冷可以用發(fā) 光二極管模擬,也可以控制直流電機(jī)模仿壓縮機(jī)的運(yùn)行。 要求可以用鍵 盤或開關(guān)設(shè)定恒溫溫度,當(dāng)外界溫度超過設(shè)定溫度 1C時(shí),就要啟動(dòng)加 熱或制冷壓

2、縮機(jī)。設(shè) 計(jì) 要 求顯示電路、鍵盤或開關(guān)電路、A/D轉(zhuǎn)換電路的硬件電路設(shè)計(jì); 編制相應(yīng)的程序。工 作 量設(shè)計(jì)的容滿足課程設(shè)計(jì)的教學(xué)目的與要求, 設(shè)計(jì)題目的難度和工作量適 合學(xué)生的知識(shí)和能力狀況,工作量飽滿。工 作 計(jì) 劃查閱資料進(jìn)行設(shè)計(jì)準(zhǔn)備、設(shè)計(jì)硬件電路、編制程序,編制程序、驗(yàn)證設(shè) 計(jì)、撰寫任務(wù)書。參 考 資 料單片微型計(jì)算機(jī)接口技術(shù)及其應(yīng)用 淑清 國(guó)防工業(yè) 單片機(jī)原理及應(yīng)用技術(shù)淑清國(guó)防工業(yè)單片機(jī)應(yīng)用技術(shù)匯編指導(dǎo)教師簽字基層教學(xué)單位主任簽字說明:此表一式四份,學(xué)生、指導(dǎo)教師、基層教學(xué)單位、系部各一份。2014年7月6 日目錄引言 3摘要 4第一章設(shè)計(jì)說明 51.1 設(shè)計(jì)要求 51.2設(shè)計(jì)目的

3、51.3設(shè)計(jì)過程 5第二章設(shè)計(jì)總體說明 6第三章各個(gè)模塊介紹 73.1總體模塊介紹 73.2 8051單片機(jī)介紹 73.3可調(diào)模擬輸入電路介紹 83.4 A/D轉(zhuǎn)換器模塊介紹 93.5 8255與LED顯示介紹 103.6數(shù)碼管與鍵盤工作介紹 12第四章硬件連接 15第五章程序流程圖 16第七章程序設(shè)計(jì) 19總結(jié) 25參考文件 26燕山大學(xué)課程設(shè)計(jì)評(píng)審意見表 27溫度是表示物體冷熱程度的物理量,微觀上來講是物體分子熱運(yùn)動(dòng)的劇烈程度。溫度只能通過物體隨溫度變化的某些特性來間接測(cè)量, 而用來量度物體溫度數(shù)值的標(biāo)尺叫溫標(biāo)。 它 規(guī)定了溫度的讀數(shù)起點(diǎn)(零點(diǎn))和測(cè)量溫度的基本單位。國(guó)際單位為熱力學(xué)溫標(biāo)(

4、K)。目前國(guó)際上用得較多的其他溫標(biāo)有華氏溫標(biāo) (° F)、攝氏溫標(biāo)(° C)和國(guó)際實(shí)用溫標(biāo)。從分子運(yùn)動(dòng) 論觀點(diǎn)看,溫度是物體分子運(yùn)動(dòng)平均動(dòng)能的標(biāo)志。 溫度是大量分子熱運(yùn)動(dòng)的集體表現(xiàn), 含有 統(tǒng)計(jì)意義。對(duì)于個(gè)別分子來說,溫度是沒有意義的。在現(xiàn)代社會(huì)中,溫度控制不僅應(yīng)用在工廠生產(chǎn)方面,其作用也體現(xiàn)到了各個(gè)方面,隨著人們生活質(zhì)量的提高,酒店廠房及家庭生活中都會(huì)見到溫度控制的影子,溫度控制將更好的服務(wù)于社會(huì)而今,空調(diào)等家用電器隨著生產(chǎn)技術(shù)的發(fā)展和生活水平的提高越來越普及,一個(gè) 簡(jiǎn)單,穩(wěn)定的溫度控制系統(tǒng)能更好的適應(yīng)市場(chǎng)。摘要在現(xiàn)代自動(dòng)控制領(lǐng)域中,溫度檢測(cè)占據(jù)這至關(guān)重要的作用。溫度檢測(cè)

5、系統(tǒng)在科研領(lǐng)域、安全監(jiān)控以及人們的日常生活發(fā)揮著無可替代的作用。溫度控制系統(tǒng)正從模擬式向數(shù)字式飛速發(fā)展。本論文概述了空調(diào)溫度控制系統(tǒng)的原理及特性,在此基礎(chǔ)上描述了系統(tǒng)研制的理論基礎(chǔ),溫度采集等部分的電路設(shè)計(jì),并對(duì)測(cè)溫系統(tǒng)的一些主要參數(shù)進(jìn)行了討論。針對(duì)測(cè)溫系統(tǒng)溫度采集、接收、處理、顯示部分的總體設(shè)計(jì)方案進(jìn)行了論證,進(jìn)一步介紹了單片機(jī)在系統(tǒng)中的應(yīng)用,分析了系統(tǒng)各部分的硬件及軟件實(shí)現(xiàn)。本空調(diào)溫度控制系統(tǒng)采用以 MCS51單片機(jī)為核心,以控制室溫度穩(wěn)定為目的。 通過單片機(jī) 處理經(jīng)A/D轉(zhuǎn)換后的模擬信號(hào),控制制冷制熱電機(jī)的運(yùn)轉(zhuǎn),以達(dá)到控制室溫度穩(wěn)定的目的。關(guān)鍵字:51單片機(jī)溫度控制第一章設(shè)計(jì)說明1.1設(shè)

6、計(jì)要求利用實(shí)驗(yàn)儀上顯示電路、鍵盤或開關(guān)電路、A/D轉(zhuǎn)換電路,模擬空調(diào)恒溫控制??梢岳脤?shí)驗(yàn)儀上的電位器模仿溫度變化,制冷可以用發(fā)光二極管模擬,也可以控制直流電機(jī)模仿壓縮機(jī)的運(yùn)行。要求可以用鍵盤或開關(guān)設(shè)定恒溫溫度,當(dāng)外界溫度超過設(shè)定溫度1C時(shí),就要啟動(dòng)加熱或制冷壓縮機(jī)。而且要求顯示電路、鍵盤或開關(guān)電路、A/D轉(zhuǎn)換電路的硬件電路設(shè)計(jì),編制相應(yīng)的程序。1.2設(shè)計(jì)目的溫度是科學(xué)技術(shù)中最基本的物理量之一,物理、化學(xué)、生物等學(xué)科都離不開溫度。在工業(yè)生產(chǎn)中,電流、電壓、溫度、壓力、流量、流速和開關(guān)量都是常用的主要被控參數(shù)。其中, 溫度控制越來越重要,沒有合適的溫度,許多電子設(shè)備就不能正常的工作。由此可見,溫

7、度影響的各方各面,而溫度的控制也顯得日益重要。傳統(tǒng)的人工操作控制溫度,效率低,精度小,誤差大,操作受到很大的人為因素的影響。為了提高工業(yè)生產(chǎn)效率,減小誤差,基于單片機(jī)的智能化的溫度控制是主流?,F(xiàn)代的智能空調(diào),不僅利用了數(shù)字電路技術(shù)和模擬電子技術(shù),而且采用了單片機(jī)技術(shù),實(shí)現(xiàn)了軟硬件的結(jié)合,既完善了空調(diào)的功能, 又簡(jiǎn)化了空調(diào)的控制與操作,不僅滿足了不同用戶對(duì)溫度的不同要求,而且能全智能調(diào)節(jié)室溫度。單片機(jī)是一種集CPU RAM ROM I/O接口和中斷系統(tǒng)等部分于一體的器件,只需要外加電源和晶振就可實(shí)現(xiàn)對(duì)數(shù)字信息的處理和控制。因此,單片機(jī)廣泛用于現(xiàn)代工業(yè)生產(chǎn)控制中。本次課程設(shè)計(jì)的目的是,圍繞為了熟悉

8、WAVEf發(fā)軟件及在電子信息課程中的應(yīng)用課程,學(xué)習(xí)WAVE軟牛的使用,使我們能熟練的應(yīng)用 WAV軟件實(shí)現(xiàn)對(duì)80C51單片機(jī)的編程,了解程序 開發(fā)過程中用到的一些基礎(chǔ)知識(shí),同時(shí)使我們熟悉應(yīng)用程序開發(fā)過程,使我們從學(xué)校學(xué)習(xí)到參加工作之間有一個(gè)良好的過渡,為今后處理相應(yīng)領(lǐng)域的專業(yè)問題打下堅(jiān)實(shí)的程序基礎(chǔ)。1.3設(shè)計(jì)過程本設(shè)計(jì)采用51單片機(jī)為控制芯片,用偉福實(shí)驗(yàn)箱上的電位器來模仿溫度傳感器,將電位器輸出的電壓輸入 A/D轉(zhuǎn)換芯片,再將轉(zhuǎn)換后的模擬信號(hào)輸入單片機(jī),通過單片機(jī)擴(kuò)展的顯像管、LED燈、矩陣鍵盤等來實(shí)現(xiàn)其功能。第二章設(shè)計(jì)總體說明本次單片機(jī)課程設(shè)計(jì)空調(diào)溫度控制,采用MCS-51單片機(jī)作為控制芯片,

9、 要求利用實(shí)驗(yàn)儀上顯示電路、鍵盤、或開關(guān)電路、A/D轉(zhuǎn)換電路,模擬空調(diào)恒溫控制,可以實(shí)現(xiàn)鍵位與數(shù)字動(dòng)態(tài)顯示的一種設(shè)定溫度可變的空調(diào)溫度控制系統(tǒng)。本系統(tǒng)功能由硬件和軟件兩 大部分協(xié)調(diào)完成,硬件部分主要完成電位器對(duì)溫度的電壓模擬、溫度的設(shè)定、溫度信息的顯示等功能;而軟件主要完成對(duì)模擬輸出的溫度信號(hào)進(jìn)行數(shù)字化處理及數(shù)碼顯示管的顯 示控制等功能。電位器通過改變電壓模仿溫度傳感器輸出,經(jīng)A/D轉(zhuǎn)換變成0-255的數(shù)字信號(hào)從而輸入單片機(jī),單片機(jī)執(zhí)行運(yùn)算程序。由于要設(shè)定溫度,我們需要用鍵盤或開關(guān)輸入溫度數(shù)值,初始設(shè)定溫度值由程序?qū)懭?,用戶可通過外接鍵盤改變初始設(shè)定溫度。單片機(jī)對(duì)鍵盤進(jìn)行掃描,確定那個(gè)鍵按下。

10、然 后顯像管顯示實(shí)際和設(shè)定溫度。實(shí)際溫度大于設(shè)定溫度,則紅燈亮;實(shí)際溫度小于設(shè)定 溫度,則綠燈亮。根據(jù)以上設(shè)計(jì)思想,可設(shè)計(jì)功能如下:利用偉福試驗(yàn)箱的六位數(shù)碼管,后兩位顯示設(shè) 定溫度,初定為10-30攝氏度;第三到第五位顯示實(shí)際溫度,初定為-40-50攝氏度。另通過設(shè)置鍵盤上的兩個(gè)鍵位,實(shí)現(xiàn)溫度+1和-1功能,用來調(diào)控設(shè)定溫度, 初定為NEXTLAST鍵。再利用L1 (紅燈)和L2 (綠燈)來模仿加熱和制冷的電機(jī)驅(qū)動(dòng)圖1空調(diào)溫度控制系統(tǒng)總系統(tǒng)框圖第三章各個(gè)模塊介紹3.1 總體模塊介紹LED燈模仿制本設(shè)計(jì)共分為四個(gè)模塊,分別為溫度測(cè)量、按鍵控制、數(shù)碼管溫度顯示、冷和制熱系統(tǒng)。1)溫度測(cè)量模塊是以電

11、壓器輸出的電壓模仿溫度傳感器通過A/D轉(zhuǎn)換后進(jìn)入單片機(jī)進(jìn)行程序運(yùn)算。2)按鍵控制模塊是通過鍵盤上 NEXT LAST鍵來升高或降低設(shè)定溫度,通過比較與實(shí)際 溫度的大小來控制制冷和制熱系統(tǒng)的運(yùn)行。3)數(shù)碼管溫度顯示模塊用來顯示設(shè)定溫度以及實(shí)際溫度。4)LED燈模塊用來模仿制冷和加熱電動(dòng)機(jī)的動(dòng)作。3.2 8051 單片機(jī)介紹fi.o fl. 1 Pl.23F13 4 Fl 4 5F1.5& Pl.6 ? Pl. 7 3EST/Yft RKD/F3,0 TKD/F3.1 IWT0/P3.2 ISTT/P3.3 T07P3. A TL/P3.E 函 P3.E W/P3. 7 一JITAL1 y

12、Twr 910n121314151617taVi i 20403933373035343380C5L313D292527262S2423盈2trccTO.Oro. iF0.2PO 3F0.4P0.5FO 6一FO.TEA'/VnAI_E/FRjOGMNP2 7P2.BP2.5一P2.4 一瓏3F2.2F2 1P2 YCG V=5 XTAL1ZZIXTkL2RST/Vra* EA/Wrr*+ FSENh* AEE/PUDGh(80C5t口地址數(shù)總繼口理地址凸a口P3賈陽(yáng)口圖2 8051單片機(jī)引腳圖單片機(jī)就是在一塊硅片上集成了微處理器、存儲(chǔ)器和各種輸入輸出接口電路的微型計(jì)算機(jī),簡(jiǎn)稱單片機(jī)。

13、單片機(jī)以其較高的性能價(jià)格比受到了人們的重視和關(guān)注。它的優(yōu)點(diǎn)就是體積小、重量輕、抗干擾能力強(qiáng)、對(duì)環(huán)境要求不高、價(jià)格低廉、可靠性高、靈活性好、開發(fā)較 為容易。由于單片機(jī)具有較高的性能比,國(guó)MCS-51系列單片機(jī)得到了廣泛的應(yīng)用。單片機(jī)根據(jù)其基本操作處理的位數(shù)可分為4、8、16、32位單片機(jī),應(yīng)用最為廣泛的是八位單片機(jī)。根據(jù)本次設(shè)計(jì)的實(shí)際情況和要求,在本次設(shè)計(jì)中采用 80C51作為系統(tǒng)的控制芯片。單片機(jī)的40個(gè)引腳大致可分為 4類:電源、時(shí)鐘、控制和 I/O引腳。1. 電源:VCC -芯片電源,接+5V;VSS -接地端;2. 時(shí)鐘:XTAL1 XTAL2 -晶體振蕩電路反相輸入端和輸出端。3. 控

14、制線:控制線共有4根,ALE/PROG:地址鎖存允許/片EPROM編程脈沖 ALE功能:用來鎖存 P0 口送出的低8位地址 PROG功能:片有EPR O啲芯片,在EPROM編程期間,此引腳輸入編程脈沖。 PSEN:夕卜ROM讀選通信號(hào)。RST/VPD:復(fù)位/備用電源。 RST( Reset)功能:復(fù)位信號(hào)輸入端。 VPD功能:在Vcc掉電情況下,接備用電源。EA/Vpp:夕卜ROM選擇/片EPROM編程電源。 EA功能:外ROM選擇端。 Vpp功能:片有EPROMS芯片,在EPRO編程期間,施加編程電源 Vppo4. I/O 線80C51共有4個(gè)8位并行I/O 端口: PO、P1、P2、P3

15、口,共32個(gè)引腳。P3 口還具有第二功能,用于特殊信號(hào)輸入輸出和控制信號(hào)(屬控制總線)。P0 口輸入時(shí)需要接上拉電阻才能置1 ;3.3 可調(diào)模擬量輸入電路介紹溫度是一個(gè)非電量物理量, 需要將之轉(zhuǎn)化為電信號(hào)才能進(jìn)行后續(xù)的測(cè)量和控制。由于電位器電路用于產(chǎn)生可變的模擬量,為此,在此課程設(shè)計(jì)中,利用了實(shí)驗(yàn)儀器上的電位器來模電仙器模仿溫浚釆樣擬溫度變化,將溫度這個(gè)非物理量轉(zhuǎn)化為電壓信號(hào)輸出。電位器結(jié)構(gòu)圖如所示。VCC®工GID圖3電位器示意圖圖4電位器與A/D轉(zhuǎn)換器連接圖3.4 A/D轉(zhuǎn)換器模塊介紹A/D轉(zhuǎn)換電路是將從電位器輸出的模擬電信號(hào)轉(zhuǎn)換為數(shù)字電信號(hào)的電路結(jié)構(gòu)。目前A/D轉(zhuǎn)換器的種類很多

16、,有計(jì)數(shù)比較型、逐次逼近型、雙積分型等等。選擇A/D轉(zhuǎn)換器件主要從 轉(zhuǎn)換速度、精度和價(jià)格上考慮。逐次逼近型A/D轉(zhuǎn)換器,在精度、速度和價(jià)格上都比較適中, 是最常用的A/D轉(zhuǎn)換器。雙積分 A/D轉(zhuǎn)換器,具有精度高、抗干擾性好、價(jià)格低廉等優(yōu)點(diǎn), 但轉(zhuǎn)換速度慢。近年來在微機(jī)應(yīng)用領(lǐng)域中也得到了廣泛的應(yīng)用。本次設(shè)計(jì)采用八路模擬輸入通道的逐次逼近型的八位A/D轉(zhuǎn)換器ADC0809采用ADC0809作為與單片機(jī)的接口電路,它的結(jié)構(gòu)比較簡(jiǎn)單,轉(zhuǎn)換速度較高。采用ADC0809作為A/D轉(zhuǎn)換器具有與單片機(jī)連接簡(jiǎn)單的優(yōu)點(diǎn),它是八位的轉(zhuǎn)換器可以與八位的單片機(jī)直接連接,這樣就簡(jiǎn)化了系統(tǒng)的連接電路也有利于系統(tǒng)軟件的編寫。

17、是目前國(guó)應(yīng)用最廣泛的 8位通用A/D芯片。ADC0809芯片的接口及其外接電路如下圖所示。DIDWL田ncn址S.關(guān):二All#3路VRDT*'Wild三態(tài)輸出鎖肓器圖5 A/D轉(zhuǎn)換部結(jié)構(gòu)圖iJ25716HiB1JHl23iJ2523Hl16l'i TTnHI114- IZ120ljAD t 1LAD 11 5"ifiDl14"TfD 3L 7iON&16wee12IIL1b2 345JD7b S一 二£H 2 2 ? 2 2 12N-Eco:A&D-BA&t 1ALLE-MAELEI CG«訂紉A:LJHTJCP

18、RB3INBiniCiL ?!£: in74LSB2ADC0809芯片,部有一個(gè)8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選 通8路模擬輸入信號(hào)中的一個(gè)進(jìn)行A/D轉(zhuǎn)換。圖中多路開關(guān)可選 8個(gè)模擬通道,允許8路模擬量分時(shí)輸入,共用一個(gè)A/D轉(zhuǎn)換器進(jìn)行轉(zhuǎn)換,這是一種經(jīng)濟(jì)的多路數(shù)據(jù)采集方法。地址鎖存與譯碼電路完成 A B C3個(gè)地址位進(jìn)行鎖存和譯碼,其譯碼輸出用于通道選擇,其轉(zhuǎn)換 結(jié)果通過三態(tài)輸出鎖存器存放、輸出,因此可以直接與系統(tǒng)數(shù)據(jù)總線相連,下表為通道選擇表。表1通道選擇表CBA被選擇的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN63

19、.5 8255與LED顯示介紹一、8255介紹51系列單片機(jī)沒有專用的對(duì)外地址總線和數(shù)據(jù)總線,其P0 口和P2 口既是通用I/O 口,同時(shí)P0 口還是分時(shí)復(fù)用的雙向數(shù)據(jù)總線和低8位地址總線(一般需要加一級(jí)鎖存器),而P2 口則是高8位地址總線。在單片機(jī)的I/O 口線不夠用的情況下, 可以借助外部器件對(duì) I/O 口進(jìn)行擴(kuò)展。8255芯片是可編程并行I/O接口芯片,它具有三個(gè) 8位并行口 PA, PB和PC, 個(gè)8 位的數(shù)據(jù)口 DOD7 , PC 口分高4位和低4位。高4位可與PA 口合為一組(A組),低4位可 與PB 口合為一組(B組),PC口可按位置位/復(fù)位。40條引腳,DIP封裝。引腳圖如圖

20、所示FA2C PAIC 州利cstAl lXLPC*PL4 I rcic l*C5 (KLJIHWCPRIP112E23rlIT" 6 7KQ1 r mJ PA5)l5A6J FTI RI Jil'T IDO】IMJ IM】Db.Plif I咖 )rn<J FR4 KB3* 14 s 7H H M 口 門 FA H-圖8 8255 引腳圖JrF1 2 J- 4 c- _*7一 一p p p p ”F ppp圖9 LED顯示電路PAO丨脫仿加撫電機(jī)PA U模仿致冷電機(jī)PBO -卩斷PCO-PC7圖10 MCS-51單片機(jī)外擴(kuò)8255A芯片的電路原理圖、LED顯示介紹在此空

21、調(diào)溫度控制的設(shè)計(jì)中,我們用到了發(fā)光二極管 LED,用紅色的燈來表示加熱,用 綠色的燈來表示制冷。 實(shí)驗(yàn)儀上裝有8只發(fā)光二極管及相應(yīng)驅(qū)動(dòng)電路, 其發(fā)光二極管的電路 原理圖如下示:圖11發(fā)光二極管電路原理圖m中II如鳥邙霑益ulEZ:i淀kkIlILerls匸3.6 數(shù)碼管與鍵盤工作介紹一、鍵盤與數(shù)碼管使用介紹本課設(shè)中用到的實(shí)驗(yàn)儀已經(jīng)將LED顯示電路和鍵盤電路集成到一個(gè)集成電路中。LED顯示和鍵盤的等效電路如圖12示。顯示控制的位碼由 74HC374輸出,經(jīng)MC1413反向驅(qū)動(dòng)后,做LED的位選通信號(hào)。位選通信號(hào)也可作為鍵盤列掃描碼,鍵盤掃描的行數(shù)據(jù)從74HC245讀回,74HC374輸出的列掃描

22、碼經(jīng) 74HC245讀入后,用來判斷是否有鍵被按下,以及按下的 是什么鍵。如果沒有鍵按下,由于上拉電阻的作用,經(jīng)74HC245讀回的值為高電平,如果有鍵按下,74HC374輸出的低電平經(jīng)過按鍵被接到74HC245的端口上,這樣從 74HC245讀回的數(shù)據(jù)就會(huì)有低位,根據(jù)74HC374輸出的列信號(hào)和74HC245讀回的行信號(hào),就可以判斷哪個(gè)鍵 被按下。LED顯示的段碼由另一個(gè) 74HC374輸出。鍵盤和LED顯示的地址譯碼見圖 5,做鍵盤和LED實(shí)驗(yàn)時(shí),需將 KEY/LED_CS接到相應(yīng) 的地址譯碼上。位碼輸出的地址為0X002H,段碼輸出的地址為 0X004H,鍵盤行碼讀回的地址為0X001H

23、,此處 X是由KEY/LED C缺定。1l圖12數(shù)碼管與鍵盤連線圖二、矩陣式鍵盤掃描方式本設(shè)計(jì)采用的是 6X 4矩陣式鍵盤,鍵盤的行線 X0X3通過電阻接+5V,當(dāng)鍵盤沒有鍵 閉合時(shí),所有的行線和列線斷開,行線X0X3均呈高電平。掃描法是在判定有鍵按下后逐列(或行)置低電平,同時(shí)讀入行(或列)狀態(tài),如果行(或列)狀態(tài)出現(xiàn)非全1狀態(tài),這時(shí)與狀態(tài)行,列交叉點(diǎn)的鍵就是所按下的鍵。掃描法的特點(diǎn)是逐列(或行)掃描查詢。這時(shí), 相應(yīng)的行(或列)應(yīng)有上拉電阻接高電平。當(dāng)鍵盤上某一鍵閉合時(shí), 該鍵所對(duì)應(yīng)的行線與列線短路,此時(shí)該行線的電平將由被短路的列線電平所決定。如果將行線接至單片機(jī)的輸入端口,列線接至單片機(jī)

24、的輸出端口,則在單片機(jī)的控制下使列線 Y0為低電平,其余五根列線 Y1、Y2、Y3 Y4、Y5均為高電平,然后 單片機(jī)讀輸入口狀態(tài)(即鍵盤行線狀態(tài)),若X0、XI、X2、X3均為高電平,則 Y0這一列上沒有鍵閉合,如果讀出的行線狀態(tài)不全為高電平,則為低電平的行線和Y0相交的鍵處于閉合狀態(tài)。如果Y0這一列沒有鍵閉合,緊接著使列線Y1為低電平,其余列線為高電平, 用同樣的方法檢查Y1這一列有無鍵閉合,如此類推。CPU對(duì)鍵盤的掃描可以采取程序控制的隨機(jī)方式,CPU空閑時(shí)才掃描鍵盤;也可以采取定時(shí)控制方式,每隔一段時(shí)間,CPU對(duì)鍵盤掃描一次;還可以采用中斷方式,當(dāng)鍵盤上有鍵閉合時(shí),向CPU青求中斷,C

25、PU響應(yīng)鍵盤發(fā)出的中斷請(qǐng)求,對(duì)鍵盤進(jìn)行掃描,以識(shí)別哪一個(gè) 鍵處于閉合狀態(tài),并對(duì)鍵輸入信息作相應(yīng)處理。Z1/74 H 33 74_4-r數(shù)據(jù)總線讀冋行碼(0X002TT)(0X001H)圖13 鍵盤電路圖三、動(dòng)態(tài)數(shù)碼管掃描方式由于8051單片機(jī)本身提供的I/O 口有限,因此我們選擇動(dòng)態(tài)掃描方式。 所謂動(dòng)態(tài)顯示,就是單片機(jī)定時(shí)地對(duì)顯示模塊件掃描。在這種方法中,顯示模塊件分時(shí)工作,每次只能有一個(gè)器件顯示。但由于人視覺的暫留現(xiàn)象,所以仍感覺所有的器件都在顯示。如許多單片機(jī)的開發(fā)系統(tǒng)及仿真器上的 6位顯示模塊即采用這類顯示方法。此種顯示方法的優(yōu)點(diǎn)是使用硬件少,因而價(jià)格低。但它占用機(jī)時(shí)長(zhǎng),只要單片機(jī)不執(zhí)行

26、顯示程序,就立刻停止顯示。由此可 見,這種顯示將使計(jì)算機(jī)的開銷增大。掃描方式中在輪流點(diǎn)亮掃描過程中,每位顯示器的點(diǎn)亮?xí)r間是極為短暫,盡管實(shí)際上各位顯示器并非同時(shí)點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會(huì)有閃爍感。節(jié)約了電能,節(jié)省了 I/O 口。表2 數(shù)碼管顯示數(shù)字-共陰極字符碼對(duì)照表顯示數(shù)字1234共陰極字符碼06H5BH4FH66H顯示數(shù)字5678共陰極字符碼6DH7DH07H7FH顯示數(shù)字90AB共陰極字符碼6FH3FH77H7CH顯示數(shù)字CDEF共陰極字符碼39H5EH79H71Hb1g1期d*圖14八位數(shù)碼管原理圖HE(OsQOlH)HHHe.日日_1K14L

27、3§74BC3M也芮I信(h<C-02H)圖15 數(shù)碼顯示管電路圖第四章硬件連接、地址譯碼插孔譯碼插孔地址圍CSO08000H08FFFHCS109000H09FFFHCS2OAOOOHOAFFFHCS3OBOOOHOBFFFHCS4OCOOOHOCFFFHCS5ODOOOHODFFFHCS6OEOOOHOEFFFHCS7OFOOOHOFFFFH、硬件連線連 線插孔1插孔21CS08255-CS2CS1KET/LED-CS3CS2AD-CS4PA0L15PA1L26INO電位器輸出、主程序總體設(shè)計(jì)流程圖第五章程序流程圖圖16主程序流程圖、其他各模塊程序流程圖開始圖18鍵盤程序流

28、程圖圖17 A/D轉(zhuǎn)換程序流程圖第六章程序設(shè)計(jì);A/D 0;A/D 255傳感器最低值設(shè)定傳感器最高值設(shè)定LowTemp equ -40HighTemp equ 50Heatequ 1Coolequ 2LowLimit equ 10HighLimit equ 30ORG 0000H;ljmp Start;程序起始地址為0000H長(zhǎng)跳轉(zhuǎn)到Start主程序段處Delay:;延時(shí)函數(shù)mov r7, #0ffhAA: djnz r7,AA;DJNZ命令為寄存器減一不為0則跳轉(zhuǎn)ret;延時(shí)255TestKey:;檢測(cè)KEY有沒有被按下函數(shù)mov dptr,#09002h;將鍵盤列地址9002H送入數(shù)據(jù)指

29、針DPTR中mov a, #0;A 清0movx dptr, a;所有列為低電平檢測(cè)mov dptr,#09001h;將鍵盤行地址 9001h送入DPTR中,movx a, dptr;9001h中的容送入 A中,按下的鍵為低電平cpl a;累加器取反,按下的鍵為高電平anl a, #0fh; 低四位顯示高電平為按下鍵的行數(shù)ret;從子程序返回KeyTable:;鍵值表db 16h, 15h, 14h, 0ffhdb 13h, 12h, 11h, 10hdb 0dh, 0ch, 0bh, 0ahdb 0eh, 03h, 06h, 09hdb 0fh, 02h, 05h, 08hdb 00h, 0

30、1h, 04h, 07hGetKey:;讀取鍵值mov dptr,#09002h;將立即數(shù)9002H送入DPTR中,鍵盤列地址mov P2, dph; 將DPTF中的高8位送入P2端口mov r0, #Low(09001h);送入立即數(shù),取 9001h低字節(jié)容mov r1, #00100000bmov r2, #6KLoop:;檢測(cè)按下鍵的位置mov a, r1; 將R1中的容送入A中cpl a; 累加器取反movx dptr, a; 檢測(cè)哪列,哪列為低電平cpl a;累加器取反rr a;累加器循環(huán)右移mov r1, amovx a, r0;行地址容返回給acpl a;累加器取反,高電平的為選

31、中行anl a, #0fh; 立即數(shù)0fH和A中的容與jnz L1; 累加器非0則轉(zhuǎn)移,有鍵按下djnz r2, KLoop; 寄存器R2減1不為0則:短跳轉(zhuǎn)到Exit程序段處 檢測(cè)到某列r2KLoop程序段 mov r2, #0ffh sjmp ExitL1:;movmov decr1, aa, r2 a累加器A自減1rl arl amovmovmovLpC:rrcr2, a a, r1r1, #4;r2 = (r2_1)*4jc inc djnz Exit:Exitr2r1, LpCa, r2dptr, #KeyTable movc a, a+dptr mov r2, aWaitRelea

32、se:;movmovmov dptr,#09002hmov a,#0 movx dptr, acall Delaycall TestKeyjnz WaitRelease mov a, r2RetReadAD:經(jīng)過進(jìn)位位的累加器循環(huán)右移如果進(jìn)位位為1則轉(zhuǎn)移到程序Exit寄存器R1減1,不為0則轉(zhuǎn)移到LpC程序段 讀取鍵盤表中值, 鍵值=(列值-1)*4+行值等待釋放未釋放繼續(xù)等待讀A/D值; 將A/D地址A000H送入DPTF中DisplayResult:mov a,51h;A/Djnb acc.7,G0mov 60h, #4Oh ;顯示結(jié)果轉(zhuǎn)換溫度值的顯示地址如果acc.7位為0,為正數(shù) 第一

33、個(gè)數(shù)碼管顯示“-”clr a;累加器A清0movx dptr, a5啟動(dòng)A/D In0 通道m(xù)ov a, #0;A清0djnz acc, $5如果A中的容不為0則在此處一直循環(huán)movx a, dptr5將DPTR中的容送入 A中,讀取A/D的值retReadTemp:mov r1, #05將立即數(shù)0送入寄存器R1中mov r2, #05將立即數(shù)0送入寄存器R2中mov r0, #165將立即數(shù)16送入寄存器r0中RLoop:call ReadAD5調(diào)用ReadAD程序段,讀取A/D輸出值add a, r2mov r2, a5將累加器A中的容送入R2中jnc L015如果進(jìn)位位為0則轉(zhuǎn)移到L01

34、程序段inc r1;r1寄存器中的容增1L01:djnz r0, RLoop;寄存器R0容減一不為0則轉(zhuǎn)移,累加16mov a, r25將寄存器R2中的容送入累加器 A中swap a5累加器咼低半字節(jié)交換anl a, #0fh5高四位清零,相當(dāng)于/16xch a, r1;寄存器與累加器容交換swap a5累加器咼低半字節(jié)交換anl a, #0f0h;立即數(shù)0FH與到累加器A,低四位清零orl a, r1;a = r1r2/16mov b, #(HighTemp-LowTemp);將立即數(shù)(HighTemp-LowTemp)送入寄存器B中mul ab;a 和b相乘,結(jié)果低位在 A中,咼位在 B中

35、mov a, b5將B中的容送入A中,相當(dāng)于右移8位 即/256add a, #LowTemp ;將立即數(shù)LowTemp送入到寄存器 A中mov 51h, a;A/D值轉(zhuǎn)換為實(shí)際溫度送入51h中,ret累加器取反,求原碼運(yùn)算 跳轉(zhuǎn)指令dec a cpl a ajmp GoonG0:Goon:mov r0,#60h;mov r1, #6mov r2, #00100000bLoop:mov dptr,#09002hmov a, #0movx dptr, amov a, r0mov dptr,#09004h;movx dptr, a;60hmov dptr,#09002hmov a, r2movx

36、dptr, a;call Delaymovb, #10div ab;累加器A中的容除以寄存器B中的容movdptr, #LEDMAPmovca, a+dptrmov61h, a;實(shí)際溫度十位mova, bmovca, a+dptrmov62h, a;實(shí)際溫度個(gè)位mov63h, #0mova,50h;鍵盤設(shè)定溫度地址movb, #10div ab;累加器A中的容除以寄存器B中的容movca, a+dptr;設(shè)定溫度十位代碼字節(jié)傳送到累加器mov64h, amova, bmovca, a+dptr;設(shè)定溫度個(gè)位代碼字節(jié)傳送到累加器mov65h, aret;子程序返回LEDMAP:db 3fh, 0

37、6h, 5bh, 4fh, 66h, 6dh, 7dh, 07h;定義字節(jié)命令db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h;定義字節(jié)命令DisplayLED:;LED顯示數(shù)碼管顯示容地址;數(shù)碼管位選地址;A 清0;外部寄存器置0,松片選信號(hào);將以R0中為地址60h的數(shù)據(jù)傳給A段選地址輸出至段碼地址以顯示第i管顯示6ih的容;調(diào)用Delay函數(shù)mov a, r2rr a;累加器循環(huán)右移數(shù)碼管右移顯示inc r0djnz r1, Loop mov dptr,#09002h mov a, #0movx dptr, a;R1減1不為0則轉(zhuǎn)移,循環(huán)6次釋放位選L02

38、:mov a,51hsetb cmov b,50h inc b subb a, bjc L03mov a, #Coolmov dptr,#08000h movx dptr, a ;sjmp L04retStart:mov sp, #70h;將立即數(shù)70H送入堆棧指針mov a,#082h;將立即數(shù)82H送入累加器A中mov dptr,#08003h;將立即數(shù)8003H送入數(shù)據(jù)指針DPTF中movx dptr, a;將累加器A中的容送入數(shù)據(jù)指針 DPTF中mov 50h, #20;將立即數(shù)20H送入地址50H的存儲(chǔ)器中MLoop:call TestKey;調(diào)用TestKey程序檢測(cè)是否有鍵按下j

39、nz KeyPressed;累加器非0轉(zhuǎn)移,有鍵按下調(diào)整設(shè)定溫度call ReadTemp;調(diào)用讀取采樣值程序段call DisplayResult;調(diào)用顯示結(jié)果程序call DisplayLED;調(diào)用LED顯示程序mov a,51h;將立即數(shù)5伯送人累加器A中jb acc.7, LE0;如果直接尋址為為1則轉(zhuǎn)移,負(fù)數(shù)clr c;進(jìn)位C清零mov b,50h;將立即數(shù)50H送入寄存器Bdec b;寄存器B中的數(shù)自減1subb a, b;累加器A中的數(shù)減去寄存器 B中的容(帶借位)jnc L02;如果進(jìn)位為0則轉(zhuǎn)移LE0:mov dptr,#08000h movx dptr, a;將8255PA

40、 口地址8000H送入16位數(shù)據(jù)指針 DPTR;將1送入以DPTR容為地址的外部空間mov a, #Heat;將Heat=1送入累加器A紅燈亮 加熱sjmp L04; 短轉(zhuǎn)移;將51H為地址的中的容送入累加器A中實(shí)際溫度;進(jìn)位位置1;將以50為地址的中的容送入 B中設(shè)定溫度;寄存器B中的數(shù)自加1;累加器A中的容減去寄存器 B中的容比較大小;如果進(jìn)位位為1則轉(zhuǎn)移;將Cool=送入累加器A中;將立即數(shù)8000H送入16位數(shù)據(jù)指針中 將累加器A中的容送入08000H地址中短跳轉(zhuǎn)到L04L03:mov a, #0 mov dptr,#08000h movx dptr, aL04: sjmp MLoopKeyPressed: call GetKey mov b, a xrl a,#15h jnz Key0 mov a,50h xrl a,#LowLimit ; jz Key1 dec 50h;50Hsjmp Key1Key0: mov a, b xrl a,#16h jnz Key1 mov a,50h xrl a,#HighLimit jz Key1 inc 50h;50HKey1:sjmp MLoopEnd短跳轉(zhuǎn)到MLoop程序段處;KeyPressed 程序段; 調(diào)用GetKey程序段;將累加器A中的容送入寄存器 B中;立即數(shù)1

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論