空調(diào)控制器的課程設計_第1頁
已閱讀1頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課 程 設 計</b></p><p>  設計題目: 空調(diào)控制器的設計 </p><p><b>  空調(diào)控制器的設計</b></p><p>  1.設計主要內(nèi)容及要求:</p><p&

2、gt;  設計一個空調(diào)控制器。</p><p>  要求:1)硬件電路設計,包括原理圖和PCB板圖。</p><p>  2)控制器軟件設計。</p><p>  3)要求能夠設定溫度、測量溫度、顯示溫度、制冷控制以及風機控制。</p><p>  2.對設計論文撰寫內(nèi)容、格式、字數(shù)的要求:</p><p> ?。?)

3、.課程設計論文是體現(xiàn)和總結課程設計成果的載體,一般不應少于3000字。</p><p> ?。?).學生應撰寫的內(nèi)容為:中文摘要和關鍵詞、目錄、正文、參考文獻等。課程設計論文的結構及各部分內(nèi)容要求可參照《沈陽工程學院畢業(yè)設計(論文)撰寫規(guī)范》執(zhí)行。應做到文理通順,內(nèi)容正確完整,書寫工整,裝訂整齊。</p><p> ?。?).論文要求打印,打印時按《沈陽工程學院畢業(yè)設計(論文)撰寫規(guī)范》的

4、要求進行打印。</p><p> ?。?). 課程設計論文裝訂順序為:封面、任務書、成績評審意見表、中文摘要和關鍵詞、目錄、正文、參考文獻</p><p><b>  。</b></p><p><b>  3.時間進度安排:</b></p><p><b>  中 文 摘 要</b

5、></p><p>  在自動控制領域中,溫度檢測與控制占有很重要地位。溫度測控系統(tǒng)在工農(nóng)業(yè)生產(chǎn)、科學研究和在人們的生活領域,也得到了廣泛應用。因此,溫度傳感器的應用數(shù)量居各種傳感器之首。目前,溫度傳感器正從模擬式向數(shù)字集成式方向飛速發(fā)展。</p><p>  本文概述了溫度控器的發(fā)展及基本原理,介紹了溫度傳感器的原理及特性。描述了系統(tǒng)研制的理論基礎,溫度采集等部分的電路設計,并對測

6、溫系統(tǒng)的一些主要參數(shù)進行了討論。同時在介紹溫度控制系統(tǒng)功能的基礎上,提出了系統(tǒng)的總體構成。針對測溫系統(tǒng)溫度采集、接收、處理、顯示部分的總體設計方案進行了論證,進一步介紹了單片機在系統(tǒng)中的應用,分析了系統(tǒng)各部分的硬件及軟件實現(xiàn)。</p><p>  空調(diào)溫度控制系統(tǒng)的設計原理以達到更優(yōu)的系統(tǒng)性能為目的,由單片機完成數(shù)據(jù)的采集,處理,顯示。</p><p>  關鍵詞 DS18B20 單片

7、機 溫度控制 LED顯示</p><p><b>  目錄</b></p><p><b>  中 文 摘 要I</b></p><p><b>  目錄II</b></p><p>  1 設計任務描述1</p><p>  1.1 設計題目

8、:空調(diào)控制器的設計1</p><p>  1.2 設計要求1</p><p>  1.2.1 設計目的1</p><p>  1.2.2 基本要求1</p><p><b>  2 設計思路2</b></p><p>  2.1系統(tǒng)總體結構的設計2</p><p&g

9、t;  2.2環(huán)節(jié)設計、部件選擇及參數(shù)計算2</p><p>  2.3各部分部件選擇2</p><p>  2.4總體功能解析3</p><p><b>  3 設計方框圖4</b></p><p>  4 各部分電路設計及參數(shù)計算5</p><p>  4.1電源電路設計5<

10、/p><p>  4.2單片機電路5</p><p>  4.3鍵盤和顯示電路6</p><p>  4.4溫度傳感器的選擇7</p><p>  4.4外圍部件的選擇8</p><p>  5 工作過程分析9</p><p>  6 元器件清單10</p><p&g

11、t;  7 主要元器件介紹11</p><p>  7.1熱電偶傳感器11</p><p>  7.2 8255擴展芯片11</p><p>  7.3 C8051F020系列單片機12</p><p>  8、各部分軟件介紹14</p><p><b>  8.1主程序14</b>&

12、lt;/p><p>  8.2 鍵盤及顯示程序14</p><p><b>  小 結18</b></p><p><b>  致 謝19</b></p><p><b>  參考文獻20</b></p><p>  附錄 1 空調(diào)控制器程序21

13、</p><p>  附錄 2 原理圖29</p><p>  附錄 3 PCB板30</p><p><b>  1 設計任務描述</b></p><p>  1.1 設計題目:空調(diào)控制器的設計</p><p><b>  1.2 設計要求</b></p>

14、;<p>  1.2.1 設計目的</p><p>  設計一個空調(diào)控制器。能利用單片機等原理部件模擬溫度的調(diào)控和顯示等功能,空調(diào)器是能控制風機和壓縮機同時工作產(chǎn)生調(diào)節(jié)溫度的原理。硬件要求能有電路原理圖及各部件完整的實物分析等,要對空調(diào)機有完整的了解。才能達到此次設計任務的效果</p><p>  1.2.2 基本要求</p><p>  1)硬件電路

15、設計,包括原理圖和PCB板圖。</p><p>  2)控制器軟件設計。</p><p>  3)要求能夠設定溫度、測量溫度、顯示溫度、制冷控制以及風機控制。</p><p><b>  2 設計思路</b></p><p>  2.1系統(tǒng)總體結構的設計</p><p>  可以說空調(diào)控制器是圍繞

16、著一個核心部件來架設外圍部件的設備,在這里核心部件是大多數(shù)廠家都會選用的單片機,因為現(xiàn)在的單片機擁有很高的集成設備,包含了大量的存儲器和虛擬存儲等,而且鍵盤輸入及顯示都是在內(nèi)部集成的省卻了擴展外圍設備的麻煩, 這樣更能有利于我們著手于功能設置。</p><p>  系統(tǒng)的設計出空調(diào)器的原理和注意事項,能方便的使用空調(diào)器來完成我們所想達到的目的,對于一般的空調(diào)器來說能自動的調(diào)節(jié)溫度的變化范圍,可以說這是一種恒溫的效

17、果,但是畢竟我們模擬的設備部能像真實的一樣細致。所以我采用燈和電機等代替采集和設定的比較結果,能很好的顯示和明顯的完成任務。</p><p>  2.2環(huán)節(jié)設計、部件選擇及參數(shù)計算</p><p>  無疑對于空調(diào)器的設計來說,要能人工智能的操作其能控制溫度的調(diào)節(jié)和設定溫度的比較是一個較大的難題,因為往往我們所用的都是十進制數(shù)即所說的阿拉伯數(shù)字,但是像單片機這種高級的工具設備是不能識別的,

18、它只能識別機器碼也就是術語說的機器語言,這就為我們采集溫度帶來了一個很大的難題。</p><p>  對于我所采集的溫度值來講,把每個溫度值分為16等份,在每一等份之間我人為的規(guī)定每跳變一個數(shù)字度即比較一次,當然采集的都是模擬信號這樣的話單片機是不能用于比較的,所以接入單片機之前用A/D轉換器把數(shù)據(jù)轉換成數(shù)字量,這樣通過單片機本身的比較器就能計算出設定值和采集值的判定工作模式和是否應該工作電機和風機及壓縮機等外部

19、設備。</p><p>  主要的步驟包括轉換十進制數(shù)和十六進制數(shù),這其中有一種方法叫按位加權累加和法,即當你把十進制數(shù)分別存儲在兩個存儲單元中,即按十位和個位的排法,把個位的數(shù)值乘以16的零次方,并且存儲在原位,這時可以用另一個單元的數(shù)乘以16的一次方這樣循環(huán)使用把兩者的數(shù)值相加,即能完成一個數(shù)的十進制和十六進制的轉化。</p><p>  這樣當你的鍵盤有輸入值的時候,每一個鍵值會自動

20、轉化為每個存儲單元供顯示作用。</p><p>  2.3各部分部件選擇</p><p>  溫度采集電路中所選用的傳感器是LM335,因為它測量精度高,而且輸出的是電壓信號,與攝氏溫度成正比,同時又能夠直接與單片機的A/D直接相連,使用方便,便于處理。</p><p>  溫度的采集是通過溫度傳感器LM335的溫度采集電路,將溫度轉化成模擬電壓進行輸出,作為輸入信

21、號送給單片機,單片機的A/D最高輸入電壓為,對應于十二位A/D轉換器的最大值FFFH,根據(jù)其對應關系得到A/D轉換后的值,存入固定的存儲單元中準備與溫度設定值進行比較。在比較之前需要按照一定的比例值進行轉換,這個比例值近似的取為16倍,得到一個新的十六進制數(shù),由于選用的傳感器每攝氏度對應0.01V,經(jīng)過模數(shù)轉換后得到每攝氏度對應08H,再通過判斷查表即可得到溫度的十六進制數(shù),再存到相應的單元中與設定值進行比較。當溫度高于設定值時進行制冷

22、,溫度低于設定值時加熱,只有溫度處于人體適宜溫度提示燈才不會亮。溫度設定是通過鍵盤輸入來完成的,再通過查表得到可以進行比較的數(shù),存入相應的存儲單元,進行顯示。</p><p><b>  2.4總體功能解析</b></p><p>  它主要完成的功能就是可以設定溫度,實時采集溫度并在LED上顯示設定溫度和當前溫度。我設計的空調(diào)控制器硬件部分主要有溫度采集傳感器應用電

23、路、制冷電路、加熱電路、指示燈電路、C8051F020單片機,以及單片機的復位和晶振電路。</p><p><b>  3 設計方框圖</b></p><p>  4 各部分電路設計及參數(shù)計算</p><p><b>  4.1電源電路設計</b></p><p><b>  圖4-1電源

24、電路</b></p><p>  單片機所采用的電源是3.3V,還有復位電路和其他電路也需要直流電源,而家用電是交流220V,所以需要進行整流、濾波。</p><p>  需要將輸入為5V~9V的電壓值穩(wěn)壓到3.3V需要使用兩塊LM7805和1117穩(wěn)壓芯片。其中LM7805的作用是將輸入為5V~9V的電壓穩(wěn)壓為5V,滿足1117穩(wěn)壓芯片的工作電壓(5V),經(jīng)過1117穩(wěn)壓芯片

25、后其輸出的電壓為所需的3.3V電壓。</p><p>  LM7805 系列為 3 端正穩(wěn)壓電路,TO-220 封裝,能提供多 種固定的輸出電壓,應用范圍廣。內(nèi)含過流、過熱和過載保 護電路。帶散熱片時,輸出電流可達 1A。雖然是固定穩(wěn)壓電 路,但使用外接元件,可獲得不同的電壓和電流。</p><p><b>  主要特點:</b></p><p&g

26、t;  (1)輸出電流可達 1A</p><p> ?。?)輸出電壓有:5V</p><p><b> ?。?)過熱保護</b></p><p><b> ?。?)短路保護</b></p><p> ?。?)輸出晶體管 SOA 保護</p><p><b>  4.

27、2單片機電路</b></p><p>  單片機正常工作時,除了要加恒壓電源外,還需要設計復位電路和晶振電路,我所設計的復位電路既可以上電復位,又可以在單片機非正常工作時進行手動復位,晶振采用的是12MHZ外部晶振。通電時,電容進行充電,電路導通,充電結束后,復位結束,充電時間決定復位時間。工作過程中,當按下復位鍵后,電路導通,按鍵時間決定了復位時間。電路中電容的作用是抑制干擾從復位端進入。器件內(nèi)還集

28、成了外部振蕩器驅(qū)動電路,允許使用晶體、陶瓷諧振器、電容、RC 或外部時鐘源產(chǎn)生系統(tǒng)時鐘。</p><p>  復位電路和晶振電路圖如下所示:</p><p>  圖4-2單片機復位及晶振電路</p><p>  4.3鍵盤和顯示電路</p><p>  PB和PC口是8255兩個八位帶鎖存的輸入口,可實現(xiàn)輸出數(shù)據(jù)鎖存。PB口的端口地址為800

29、1H,PC口的端口地址為8002H。PA口未用。用PB口作六個數(shù)碼管的位選。用8708作顯示器的位選驅(qū)動。PC口作字型碼鎖存。8255控制字的端口地址是8003H。74LS244作數(shù)碼管字型顯示驅(qū)動。六位數(shù)碼管采用共陰極方式。鍵盤及顯示電路如下圖所示:</p><p>  圖4-3鍵盤輸入電路</p><p>  圖4-4輸出顯示電路</p><p>  8255擴

30、展接口是由高八位地址(A8~A15)通過74LS138譯碼產(chǎn)生的。PA,PB,PC口和8255控制口的地址分別是8000H,8001H,8002H和8003H,它們由低位地址A0和A1區(qū)別。低位地址A0和A1從低位地址鎖存器74LS138的輸出端引出。</p><p>  4.4溫度傳感器的選擇</p><p>  本系統(tǒng)采用鎳鉻-鎳硅熱電偶作為溫度傳感器,由熱電偶的特性可知,進入放大器的

31、電壓信號實為熱電偶冷熱端溫差引起的熱電勢信號,冷端處于設定溫度,熱端處于外界室溫,單片機的A/D通道可以直接采集熱電偶信號,經(jīng)冷端溫度補償后,在查K分度表則可以得到熱端溫度值,室溫的測量可以經(jīng)過熱電阻式傳感器變化為電壓信號,經(jīng)放大后直接送給單片機的A/D通道,單片機程序自動完成熱電偶信號的采集和冷端信號采集,計算出實際的溫度,從而控制控制空調(diào)的外部設備工作。</p><p>  圖4-5傳感器采集電路</p

32、><p>  4.4外圍部件的選擇</p><p>  在單片機的程序中需要設定適宜溫度的范圍,當從傳感器接受的溫度電壓信號經(jīng)過模數(shù)轉換后,室內(nèi)溫度高于或者低于設定的范圍,那么指示燈亮,通過編寫單片機的I/O輸出來控制指示信號的發(fā)出。當采集溫度高于設定溫度時,需進行制冷,通過程序的設計啟動風機;當采集溫度低于設定溫度需利用電機進行加熱。</p><p>  圖4-6外部

33、工作燈電路</p><p>  由于二極管所能承受的最大電流為,而電源電壓為5V,所以應串接一個電阻,其阻值最小為:</p><p><b>  5 工作過程分析</b></p><p>  我所設計的空調(diào)控制器硬件部分主要有溫度采集傳感器應用電路、制冷電路、加熱電路、指示燈電路、C8051F020單片機,以及單片機的復位和晶振電路。</

34、p><p>  本次課程設計是以單片機為基礎的,通過外圍設備來搭建模擬空調(diào)控制器的實現(xiàn)電路,我們在事實中是通過遙控器來調(diào)節(jié)空調(diào)器的溫度變化的,但在模擬中我們無法達到一樣的效果,所以我用外部中斷來代替遙控器的作用,每當中斷進入時空調(diào)器可以切換一個工作模式,空調(diào)無疑是在冷時能增加溫度,而在溫度過高時能啟動風機來降溫。而我在此次設計中還用到了4個LED燈,其中兩個為狀態(tài)模式燈,當模式確定時此燈常亮,還有兩個為工作狀態(tài)燈,當

35、燈工作時表示這時處于工作狀態(tài)。外部中斷可以切換兩者。</p><p>  當然你所設定的溫度是通過外部鍵盤進行輸入的,這些在主程序中會轉化成機器碼來識別,這樣省卻了轉化數(shù)制的麻煩,鍵盤直接相連的是顯示模塊,顯示采用4位LED顯示,前兩位為設定值,后兩位為采集值,利用單片機本身的比較器來使兩者比較達到判斷結果。</p><p><b>  6 元器件清單</b><

36、/p><p><b>  7 主要元器件介紹</b></p><p><b>  7.1熱電偶傳感器</b></p><p>  鎳鉻溫度傳感器是一種電壓輸出型精密溫度傳感器。它工作類似于齊納二極管,其反向擊穿電壓隨絕緣溫度以的比例變化。該器件在工作電流為范圍內(nèi)的動態(tài)電阻小于,當對它在校準后,它在范圍內(nèi)具有小于的典型誤差。熱電

37、偶可應用于范圍在內(nèi)的任何形式的溫度檢測,它的低阻抗和線性輸出使得其讀出和控制接口電路非常簡單。熱電偶測溫范圍分別為。其短時間使用測溫上限可擴寬至。</p><p><b>  主要特點:</b></p><p>  (1)  在絕對溫度下直接校準。</p><p>  (2)  1℃的初始精度。</p><

38、;p>  (3) 工作于400uA~5mA電流范圍。</p><p>  (4) 低于1Ω的動態(tài)阻抗 。</p><p>  (5)  容易校準 。</p><p>  (6) -40℃~+100℃寬工作溫度范圍。</p><p>  7.2 8255擴展芯片</p><p>  8255是Inte

39、l公司生產(chǎn)的可編程并行I/O接口芯片,有3個8位并行I/O口。具有3個通道3種工作方式的可編程并行接口芯片(40引腳)。 其各口功能可由軟件選擇,使用靈活,通用性強。8255可作為單片機與多種外設連接時的中間接口電路。8255作為主機與外設的連接芯片,必須提供與主機相連的3個總線接口,即數(shù)據(jù)線、地址線、控制線接口。同時必須具有與外設連接的接口A、B、C口。由于8255可編程,所以必須具有邏輯控制部分,因而8255內(nèi)部結構分為3個部分:與

40、CPU連接部分、與外設連接部分、控制部分。</p><p><b>  主要特點:</b></p><p>  8255管腳特性如下:</p><p>  (1)一個并行輸入/輸出的LSI芯片,多功能的I/O器件,可作為CPU總線與外圍的接口。   </p><p>  (2)具有24個可編程設置的I/O口,即3組8位的

41、I/O口為PA口,PB口和PC口.它們又可分為兩組12位的I/O口,A組包括A口及C口(高4位,PC4~PC7),B組包括B口及C口(低4位,PC0~PC3).A組可設置為基本的I/O口,閃控(STROBE)的I/O閃控式,雙向I/O3種模式;B組只能設置為基本I/O或閃控式I/O兩種模式,而這些操作模式完全由控制寄存器的控制字決定。</p><p><b>  引腳功能:</b></

42、p><p>  (1) RESET:復位輸入線,當該輸入端處于高電平時,所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。   </p><p>  (2) CS:芯片選擇信號線,當這個輸入引腳為低電平時,即/CS=0時,表示芯片被選中,允許8255與CPU進行通訊;/CS=1時,8255無法與CPU做數(shù)據(jù)傳輸.   </p><p>  (3)

43、RD:讀信號線,當這個輸入引腳為低電平時,即/RD=0且/CS=0時,允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。   </p><p>  (4) WR:寫入信號,當這個輸入引腳為低電平時,即/WR=0且/CS=0時,允許CPU將數(shù)據(jù)或控制字寫入8255。   </p><p>  (5) D0~D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的

44、通道,當CPU 執(zhí)行輸入輸出指令時,通過它實現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。   </p><p>  (6) PA0~PA7:端口A輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個8位的數(shù)據(jù)輸入鎖存器。   </p><p>  (7) PB0~PB7:端口B輸入輸出線,一個8位的I/O鎖存器, 一個8位的輸入輸出緩沖器。   (8) PC0~PC7:端口

45、C輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個8位的數(shù)據(jù)輸入緩沖器。端口C可以通過工作方式設定而分成2個4位的端口, 每個4位的端口包含一個4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號輸出或狀態(tài)信號輸入端口。  </p><p>  (9) A0,A1:地址選擇線,用來選擇8255的PA口,PB口,PC口和控制寄存器。當A0=0,A1=0時,PA口被選擇;當A0=0,A1=1時,PB口被選擇

46、;當A0=1,A1=0時,PC口被選擇;當A0=1.A1=1時,控制寄存器被選擇。</p><p>  7.3 C8051F020系列單片機</p><p>  本系統(tǒng)的核心控制部件采用Silicon Laboratories公司生產(chǎn)的C8051F020單片機作為控制器。C8051F系列單片機是集成的混合信號片上系統(tǒng)(SOC),具有與MCS-51內(nèi)核及指令集完全兼容的微控制器,除了具有標準

47、8051的數(shù)字外設部件之外,片內(nèi)還集成的數(shù)據(jù)采集和控制系統(tǒng)中常用的模擬部件和其他數(shù)字外設及功能部件。</p><p>  C8051F系列單片機的功能部件包括模擬多路選擇器、可編程增益放大器、ADC、DAC、電壓比較器、電壓基準、溫度傳感器、SMBus/I2C、UART、SPI、可編程計數(shù)器/定時器陣列(PCA)、定時器、數(shù)字I/O端口、電源監(jiān)視器、看門狗定時器WDT和時鐘振蕩器等。</p><

48、;p>  C8051F020單片機是C8051F系列中一個比較有代表性的型號,該器件是完全集成的混合信號系統(tǒng)級SCM芯片,具有64個數(shù)字I/O引腳。</p><p><b>  主要性能:</b></p><p>  (1) 高速、流水線結構的8051兼容的MCS-51內(nèi)核(可達25MIPS)。</p><p>  (2) 全速、非侵入式

49、的在系統(tǒng)調(diào)試接口(片內(nèi))。</p><p>  (3) 真正12位、100ksps的8通道ADC,帶PGA和模擬多路開關。</p><p>  (4) 真正8位、500ksps的ADC,帶PGA和8通道模擬多路開關。</p><p>  (5) 兩個12位DAC,具有可編程數(shù)據(jù)更新方式。</p><p>  (6) 64KB可在系統(tǒng)編程的Fl

50、ash存儲器。</p><p>  (7) 4352(4096+256)B的片內(nèi)RAM。</p><p>  (8) 可尋址64KB地址空間的外部數(shù)據(jù)存儲器接口。</p><p>  (9) 硬件實現(xiàn)的SPI、SMBus/I2C和兩個UART串行接口。</p><p>  (10) 5個通用的16位定時器。</p><p&

51、gt;  (11) 具有5個捕捉/比較模塊的可編程計數(shù)/定時器陣列。</p><p>  C8051F系列單片機都可工作在工業(yè)溫度范圍(-45~+85)內(nèi)用2.7~3.6V的電壓工作。端口I/O、/RST和JTAG引腳都容許5V的輸入信號電壓。C8051F020為100引腳TQFP封裝。</p><p><b>  8、各部分軟件介紹</b></p>&

52、lt;p><b>  8.1主程序</b></p><p><b>  MAIN:</b></p><p>  MOV WDTCN,#0DEH ;禁止看門狗定時器</p><p>  MOV WDTCN,#0ADH</p><p>  MOV XB

53、R2, #40H ;使能交叉開關</p><p>  LCALL SYSCLK _Init ;初始化系統(tǒng)時鐘</p><p>  LCALL PORT _Init ;交叉開關和通用I/O口初始化</p><p>  LCALL Data _init ;數(shù)據(jù)初始化&

54、lt;/p><p>  LCALL INT8255 ;8255初始化</p><p>  MOV EIE2,#10H ;使能A/D中斷</p><p>  MOV P3IF,#00H</p><p>  MOV AMX0CF,#00H

55、 ;A/D初始化</p><p>  MOV AMX0SL,#00H</p><p>  MOV REF0CN,#03H</p><p>  MOV ADC0CF,#58H</p><p>  MOV ADC0CN,#0C0H</p><p><b>  SETB

56、EA</b></p><p>  ORL ADC0CN,#10H ;啟動A/D轉換</p><p>  主程序中首先要進行的是將看門狗定時器關掉,否則會影響程序的正常執(zhí)行。因為本程序中要用到A/D,所以要進行中斷就必須在主程序中將A/D中斷使能,程序中要用到I/O口,所以需對交叉開關和I/O口進行初始化,I/O口輸出方式設置為推挽。又調(diào)用了數(shù)據(jù)初

57、始化,子程序中對各個存儲單元和循環(huán)變量也進行了初始化。單片機的工作需要一個精確的時鐘基準,通過調(diào)用系統(tǒng)時鐘的子程序來對系統(tǒng)時鐘進行初始化,初始化為使用11.0592MHZ晶體作為時鐘源,也同樣是調(diào)用子程序來實現(xiàn),然后開啟A/D轉換器進行工作。</p><p>  8.2 鍵盤及顯示程序</p><p>  wait:mov DPTR,#8001H //PB端口

58、地址,位碼//</p><p>  mov a,#00H</p><p>  movx @DPTR,a</p><p>  mov DPTR,#8000H //PA端口地址,輸入//</p><p>  movx a,@DPTR</p><p>  mov R2,a&

59、lt;/p><p>  cjne R2,#0ffH,lop4 </p><p>  ajmp lop5</p><p>  lop4:lcall Keypad</p><p><b>  lop5:nop</b></p><p><b>  ret</b></p&

60、gt;<p>  //鍵盤輸入程序// </p><p>  Keypad:cpl a</p><p>  anl a,#0fH</p><p>  mov 70H,a</p><p>  scan: mov DPTR,#8001H

61、 //掃描位碼// </p><p>  mov a,67H</p><p>  movx @DPTR,a</p><p>  mov DPTR,#8000H</p><p>  movx a,@DPTR</p><p>  anl a,#0fH</p>

62、<p>  cjne a,#0fH,pp</p><p>  mov a,67H</p><p><b>  rl a</b></p><p>  mov 67H,a</p><p>  ajmp scan</p><p>  pp: mov

63、a,67H //確認是否有鍵按下//</p><p>  mov 67H,#0feH</p><p>  anl a,#0fH</p><p><b>  cpl a</b></p><p>  anl a,#0fH</p><p>  mov

64、 69H,a</p><p>  lcall translate</p><p>  mov a,68H</p><p>  mov @R0,a</p><p><b>  inc R0</b></p><p>  cjne R0,#73H,lop6</

65、p><p>  mov R0,#71H</p><p><b>  lop6:nop</b></p><p><b>  ret</b></p><p>  //數(shù)據(jù)轉換程序//</p><p>  translate:lcall Delay2</p>&l

66、t;p>  lcall Delay2</p><p>  mov DPTR,#TABA</p><p>  mov a,69H</p><p>  movc a,@a+DPTR</p><p>  mov 69H,a</p><p>  mov DPTR,#TABB</p&g

67、t;<p>  mov a,70H</p><p>  movc a,@a+DPTR</p><p><b>  clr c</b></p><p>  add a,69H</p><p><b>  clr c</b></p><p&g

68、t;  mov 68H,a</p><p>  mov 6AH,a</p><p>  leave:mov DPTR,#TABC</p><p>  mov a,68H</p><p>  movc a,@a+DPTR</p><p>  mov 68H,a</p>&l

69、t;p>  mov DPTR,#TABD</p><p>  mov a,6AH</p><p>  movc a,@a+DPTR</p><p>  mov 6AH,a</p><p><b>  inc R6</b></p><p>  mov a,R6

70、</p><p>  cjne a,#02H,lll</p><p>  mov R6,#00H</p><p>  anl 6BH,#0F0H</p><p>  mov a,6BH</p><p>  orl a,6AH</p><p>  mov 6BH,

71、a</p><p>  ajmp mmm</p><p>  lll: mov a,6AH</p><p><b>  swap a</b></p><p>  anl 6BH,#0fH</p><p>  orl a,6BH</p><p&

72、gt;  mov 6BH,a</p><p>  mmm: nop </p><p><b>  ret</b></p><p><b>  //顯示程序// </b></p><p>  Show: lcall wait</p><p

73、>  mov DPTR,#8001H</p><p>  mov a,R3 //掃描鍵盤行首地址//</p><p>  movx @DPTR,a</p><p>  mov DPTR,#8002H</p><p>  mov a,@R1</p><p> 

74、 movx @DPTR,a</p><p>  lcall Delay1</p><p>  mov a,R3</p><p><b>  rl a</b></p><p>  mov R3,a</p><p>  cjne R3,#40H,lop1</p>

75、;<p>  mov R3,#01H</p><p>  lop1: inc R1</p><p>  cjne R1,#77H,Show</p><p>  mov R1,#71H</p><p>  MOV EIE2,#12H</p><p><b>  

76、ret</b></p><p>  SC:mov a,31H</p><p>  mov r4,#1CH</p><p>  mov r5,#01H</p><p>  next: clr c</p><p>  mov 7FH,r4</p><p>  cjn

77、e a,7FH,yyy</p><p><b>  ajmp N</b></p><p>  yyy: jc N</p><p>  mov 31H,a</p><p>  mov a,r4</p><p>  add a,#10H</p><p> 

78、 mov r4,a</p><p>  mov a,31H</p><p><b>  inc r5</b></p><p>  cjne r5,#0FH,goon</p><p><b>  ajmp N</b></p><p>  goon:ajmp n

79、ext</p><p>  N:mov dptr,#TABE //查表顯示//</p><p>  mov a,r5</p><p>  movc a,@a+DPTR</p><p>  mov 6CH,a</p><p><b>  swap a</b&

80、gt;</p><p>  mov 6DH,a</p><p>  anl a,#0FH</p><p>  mov DPTR,#TABC</p><p>  movc a,@a+dptr</p><p>  mov 75H,a</p><p>  mov a,6CH<

81、;/p><p>  anl a,#0FH</p><p>  mov dptr,#TABC</p><p>  movc a,@a+dptr</p><p>  mov 76H,a</p><p><b>  ret</b></p><p><b>  

82、小 結</b></p><p>  為期兩個星期的智能儀器程設計終于結束了。我設計的課題是空調(diào)控制器。所設計的題目所涉及的知識也在以前都學過,設計起來都不是很吃力,但到了主要的控制部分就不行了。各部分的程序都有就是如何組合在一起。</p><p>  由于以前單片機基礎部不怎么好所以學DSP,智能儀器就很吃力,而這次設計的重頭戲就是程序,所以只能找同學幫忙借用同學做好的程序作為

83、參考。自己研究,但總歸是別人設計的而不是自己,所以看起來也就不是那么懂。兩周的課設下來也就沒有什么收獲,可以說著次課設是最為失敗的一次了。</p><p>  這次的課程設計讓我知道只有自己動手動腦才能將知識帶動起來,創(chuàng)造價值。</p><p><b>  致 謝</b></p><p>  在設計的過程中要感謝各位同學無私的幫助,大家都體現(xiàn)了

84、互幫互助的精神。也要感謝老師的教導,讓我們明白了很多,自己動手做出的設計才會有所感受。 </p><p><b>  參考文獻</b></p><p>  [1] 孫宏軍,張濤. 智能儀器儀表.北京:清華大學出版社,2007</p><p>  [2] 肖鳳明,于丹.美的新型空調(diào)安裝維修培訓教程.北京:機械工業(yè)出版社,</p>&

85、lt;p>  [3] 先鋒工作室. 單片機程序設計實例.北京:清華大學出版社,2002</p><p>  [4] 徐愛鈞. 8051單片機實踐教程.北京:電子工業(yè)出版社,2005</p><p>  [5] 史健芳. 智能儀器設計基礎.北京:電子工業(yè)出版社,2007</p><p>  附錄 1 空調(diào)控制器程序</p><p>  

86、$include(c8051f020.inc) </p><p>  org 00H</p><p>  ajmp main</p><p>  org 0093H</p><p>  ljmp int6</p><p>  org 007BH</p><p>

87、;  ljmp ADC0</p><p>  org 100H</p><p>  main: mov wdtcn,#0deH //關看門狗//</p><p>  mov wdtcn,#0adH</p><p>  mov xbr2,#40H //開交叉開關// </p>

88、<p>  mov emi0cf,#2cH //開交叉開關//</p><p>  mov p74out,#3fH //輸出方式設置,推挽//</p><p>  mov R3,#01H //鍵盤行地址//</p><p>  mov R1,#71H</p><p>  

89、mov R0,#71H</p><p>  mov 67H,#0feH</p><p>  mov 69H,#00H</p><p>  mov 70H,#00H</p><p>  mov 71H,#3fH</p><p>  mov 72H,#06H</p><

90、;p>  mov 73H,#40H</p><p>  mov 74H,#40H</p><p>  mov 75H,#5bH</p><p>  mov 76H,#4fH</p><p>  mov R6,#00H</p><p>  mov p1,#01H</p>

91、;<p>  mov p0,#00H</p><p>  MOV EIE2,#10H //僅允許中斷6工作,應為30兩個都工作// </p><p>  MOV P3IF,#00H //清除中斷標志位//</p><p>  MOV AMX0CF,#00H //設置為單端輸入/

92、/ </p><p>  MOV AMX0SL,#00H //通道選擇位// </p><p>  MOV REF0CN,#03H //選擇內(nèi)部電壓基準/</p><p>  MOV ADC0CF,#58H //增益放大寄存器// </p><p>  MOV

93、 ADC0CN,#0C0H</p><p>  SETB EA //開總中斷// </p><p>  orl adc0cn,#10H</p><p>  mov DPTR,#8003H //8255擴展設置字//</p><p>  mov a,#90H&l

94、t;/p><p>  movx @DPTR,a</p><p>  lop:lcall Show //調(diào)用顯示// </p><p>  ajmp lop</p><p>  wait: mov DPTR,#8001H //PB端口地址,位碼//</p>&

95、lt;p>  mov a,#00H</p><p>  movx @DPTR,a</p><p>  mov DPTR,#8000H //PA端口地址,輸入//</p><p>  movx a,@DPTR</p><p>  mov R2,a</p><p>

96、  cjne R2,#0ffH,lop4 </p><p>  ajmp lop5</p><p>  lop4:lcall Keypad</p><p><b>  lop5:nop</b></p><p><b>  ret</b></p><p>  //鍵盤

97、輸入程序// </p><p>  Keypad: cpl a</p><p>  anl a,#0fH</p><p>  mov 70H,a</p><p>  scan: mov DPTR,#8001H //掃描位碼//

98、 </p><p>  mov a,67H</p><p>  movx @DPTR,a</p><p>  mov DPTR,#8000H</p><p>  movx a,@DPTR</p><p>  anl a,#0fH</p><p>  cjne

99、a,#0fH,pp</p><p>  mov a,67H</p><p><b>  rl a</b></p><p>  mov 67H,a</p><p>  ajmp scan</p><p>  pp: mov a,67H //

100、確認是否有鍵按下//</p><p>  mov 67H,#0feH</p><p>  anl a,#0fH</p><p><b>  cpl a</b></p><p>  anl a,#0fH</p><p>  mov 69H,a</p>&l

101、t;p>  lcall translate</p><p>  mov a,68H</p><p>  mov @R0,a</p><p><b>  inc R0</b></p><p>  cjne R0,#73H,lop6</p><p>  mov

102、 R0,#71H</p><p>  lop6: nop</p><p><b>  ret</b></p><p>  //數(shù)據(jù)轉換程序//</p><p>  translate:lcall Delay2</p><p>  lcall Delay2</p><p

103、>  mov DPTR,#TABA</p><p>  mov a,69H</p><p>  movc a,@a+DPTR</p><p>  mov 69H,a</p><p>  mov DPTR,#TABB</p><p>  mov a,70H</p>

104、<p>  movc a,@a+DPTR</p><p><b>  clr c</b></p><p>  add a,69H</p><p><b>  clr c</b></p><p>  mov 68H,a</p><p>  

105、mov 6AH,a</p><p>  leave: mov DPTR,#TABC</p><p>  mov a,68H</p><p>  movc a,@a+DPTR</p><p>  mov 68H,a</p><p>  mov DPTR,#TABD</p>

106、;<p>  mov a,6AH</p><p>  movc a,@a+DPTR</p><p>  mov 6AH,a</p><p><b>  inc R6</b></p><p>  mov a,R6</p><p>  cjne a,#02

107、H,lll</p><p>  mov R6,#00H</p><p>  anl 6BH,#0F0H</p><p>  mov a,6BH</p><p>  orl a,6AH</p><p>  mov 6BH,a</p><p>  ajmp mmm&

108、lt;/p><p>  lll:mov a,6AH</p><p><b>  swap a</b></p><p>  anl 6BH,#0fH</p><p>  orl a,6BH</p><p>  mov 6BH,a</p><p&g

109、t;  mmm: nop </p><p><b>  ret</b></p><p><b>  //顯示程序// </b></p><p>  Show: lcall wait</p><p>  mov DPTR,#8001H</p><p>  mov

110、 a,R3 //掃描鍵盤行首地址//</p><p>  movx @DPTR,a</p><p>  mov DPTR,#8002H</p><p>  mov a,@R1</p><p>  movx @DPTR,a</p><p>  lcall Delay1

111、</p><p>  mov a,R3</p><p><b>  rl a</b></p><p>  mov R3,a</p><p>  cjne R3,#40H,lop1</p><p>  mov R3,#01H</p><p>  

112、lop1: inc R1</p><p>  cjne R1,#77H,Show</p><p>  mov R1,#71H</p><p>  MOV EIE2,#12H</p><p><b>  ret</b></p><p>  SC: mov a

113、,31H</p><p>  mov r4,#1CH</p><p>  mov r5,#01H</p><p>  next: clr c</p><p>  mov 7FH,r4</p><p>  cjne a,7FH,yyy</p><p><b>

114、;  ajmp N</b></p><p>  yyy: jc N</p><p>  mov 31H,a</p><p>  mov a,r4</p><p>  add a,#10H</p><p>  mov r4,a</p><p>  m

115、ov a,31H</p><p><b>  inc r5</b></p><p>  cjne r5,#0FH,goon</p><p><b>  ajmp N</b></p><p>  goon: ajmp next</p><p>  N:

116、 mov dptr,#TABE //查表顯示//</p><p>  mov a,r5</p><p>  movc a,@a+DPTR</p><p>  mov 6CH,a</p><p><b>  swap a</b></p><p>

117、  mov 6DH,a</p><p>  anl a,#0FH</p><p>  mov DPTR,#TABC</p><p>  movc a,@a+dptr</p><p>  mov 75H,a</p><p>  mov a,6CH</p><p>  anl

118、 a,#0FH</p><p>  mov dptr,#TABC</p><p>  movc a,@a+dptr</p><p>  mov 76H,a</p><p><b>  ret</b></p><p>  //輸入與采集比較程序//</p><p>

119、;  compare:mov a,6CH</p><p><b>  clr c</b></p><p>  cjne a,6BH,al </p><p>  ajmp stop</p><p>  alt: jc warm</p><p>  cool:

120、 mov a,p1 //制冷模式// </p><p>  cjne a,#01H,run1 //模式燈//</p><p>  CLR P0.5</p><p>  CLR P3.5 </p><p>  setb p0.0</p><p&

121、gt;  setb p0.1</p><p>  clr p0.2</p><p>  setb p0.3</p><p>  ajmp work</p><p>  run1: SETB P3.5 //工作燈//</p><p>  SETB P0.5

122、</p><p>  clr p0.0</p><p>  setb p0.1</p><p>  clr p0.3</p><p>  setb p0.2</p><p>  ajmp work</p><p>  warm: mov a,p1

123、 //制熱模式// </p><p>  cjne a,#00H,run2 //模式燈//</p><p><b>  CLR P0.5</b></p><p><b>  CLR P3.5</b></p><p>  clr p0.

124、3</p><p>  setb p0.2</p><p>  setb p0.1</p><p>  setb p0.0</p><p>  ajmp work</p><p>  run2: SETB P3.5 //工作燈//</p&g

125、t;<p>  SETB P0.5</p><p>  clr p0.2</p><p>  setb p0.3</p><p>  clr p0.1</p><p>  setb p0.0</p><p>  ajmp work</p><p>  st

126、op: setb p0.0</p><p>  setb p0.1</p><p><b>  work:nop</b></p><p><b>  ret</b></p><p>  //切換工作模式//</p><p><b>  int6:<

127、;/b></p><p>  cpl p1.0</p><p>  lcall Delay2</p><p>  lcall Delay1</p><p>  mov p3if,#00H</p><p><b>  reti</b></p><p>

溫馨提示

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

評論

0/150

提交評論