智能紅外遙控暖風(fēng)機(jī)設(shè)計(jì)畢業(yè)設(shè)計(jì)_第1頁
智能紅外遙控暖風(fēng)機(jī)設(shè)計(jì)畢業(yè)設(shè)計(jì)_第2頁
智能紅外遙控暖風(fēng)機(jī)設(shè)計(jì)畢業(yè)設(shè)計(jì)_第3頁
智能紅外遙控暖風(fēng)機(jī)設(shè)計(jì)畢業(yè)設(shè)計(jì)_第4頁
智能紅外遙控暖風(fēng)機(jī)設(shè)計(jì)畢業(yè)設(shè)計(jì)_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、智能紅外遙控暖風(fēng)機(jī)設(shè)計(jì)學(xué)生:XX 指導(dǎo)教師:XX內(nèi)容摘要:本論文的設(shè)計(jì)將涉及到單片機(jī)主控電路的設(shè)計(jì),液晶顯示的驅(qū)動(dòng),紅外遙控技術(shù)的設(shè)計(jì)實(shí)現(xiàn),溫度的檢測以及控制。這幾個(gè)的設(shè)計(jì)都是日常生活生產(chǎn)中比較典型的應(yīng)用模塊。例如在智能化家用電器的應(yīng)用方面:如洗衣機(jī)、空調(diào)、電視機(jī)、錄像機(jī)、微波爐、電冰箱、電飯煲,紅外遙控暖風(fēng)機(jī)以及各種視聽設(shè)備等等。通過這些設(shè)計(jì)的過程,我們將系統(tǒng)地學(xué)習(xí)單片機(jī)在日常生產(chǎn)中的設(shè)計(jì)應(yīng)用的方法,旨在鍛煉自己的運(yùn)用理論知識轉(zhuǎn)換成實(shí)際應(yīng)用的的能力。單片機(jī)遙控暖風(fēng)機(jī)控制系統(tǒng)設(shè)計(jì)是個(gè)系統(tǒng)的項(xiàng)目開發(fā),每個(gè)環(huán)節(jié)的設(shè)計(jì),每個(gè)模塊的設(shè)計(jì)都將直接影響整個(gè)項(xiàng)目的開發(fā)進(jìn)程。通過論文的設(shè)計(jì)我們將學(xué)會對項(xiàng)目的模

2、塊化設(shè)計(jì)的開發(fā)方法。 關(guān)鍵詞:紅外遙控 紅外編碼解碼 單片機(jī) Design for vending machine's PLC system Abstract: This paper will be involved in the design of the single chip microcomputer to control circuit design, liquid crystal display driver, infrared remote control technology design and implementation, temperature testing

3、and control. These a few of the design are daily life is typical application in production module. For example in the intelligent household appliances application: such as washing machine, air conditioning, television, video, microwave oven, refrigerators, electric cooker, infrared remote control he

4、ater and various audio-visual equipment and so on. Through the design process, we will system to study the microcomputer in the daily production design application method, is designed to develop their own theory knowledge conversion into actual application ability. Single chip microcomputer control

5、system design is a remote control heater system project development, each link of the design, the design of each module will directly affect the whole project development process. Through the design of the paper we will learn to the project of the modular design method of the development. Keywords:

6、Infrared remote control Infrared coding and decoding Single-chip microcomputer .目 錄前言11 系統(tǒng)分析11.1需求分析11.2需求分析的標(biāo)準(zhǔn)21.3功能性分析21.4 設(shè)計(jì)目標(biāo)21.5 系統(tǒng)整體結(jié)構(gòu)31.6 開發(fā)工具介紹32 系統(tǒng)設(shè)計(jì)42.1 系統(tǒng)設(shè)計(jì)的原則42.2 系統(tǒng)設(shè)計(jì)的方法43 硬件系統(tǒng)的詳細(xì)設(shè)計(jì)43.1 鍵盤輸入模塊43.2 紅外控制系統(tǒng)模塊53.3 紅外接收處理器電路93.4 液晶顯示模塊114 軟件系統(tǒng)設(shè)計(jì)144.1 鍵盤掃描的流程圖154.2 定時(shí)器的流程圖154.3 主程序的流程圖154.4 主

7、程序的編寫165 結(jié)束語39參考文獻(xiàn)40 智能紅外遙控暖風(fēng)機(jī)設(shè)計(jì)前言 本文利用高溫超導(dǎo)熱霸做制熱材料,利用80C51單片機(jī)實(shí)現(xiàn)主要電路的處理和控制。此外還利用各種智能芯片完成相應(yīng)的輔助功能,應(yīng)用高級C語言編程軟件,完成單片機(jī)的事務(wù)處理和中斷控制。應(yīng)用軟件的設(shè)計(jì)減少硬件的設(shè)計(jì)的復(fù)雜度和減少開發(fā)系統(tǒng)的成本。本文應(yīng)用硬件和軟件的有機(jī)結(jié)合,實(shí)現(xiàn)暖風(fēng)機(jī)的智能控制。溫度的采集和處理,液晶顯示的控制,紅外遙控的控制實(shí)現(xiàn)和鍵盤的輸入是本文主要研究的內(nèi)容。 1 系統(tǒng)分析1.1 需求分析為了開發(fā)出真正滿足用戶需求的軟件產(chǎn)品,首先必須知道用戶的需求。對所開發(fā)的項(xiàng)目需求進(jìn)行深入的理解是開發(fā)工作獲得成功的前提條件。需求

8、分析的任務(wù)還不是確定系統(tǒng)完成它的工作,而是僅僅確定系統(tǒng)必須完成哪些工作,也就是對目標(biāo)系統(tǒng)提出完整,準(zhǔn)確,清晰,具體的要求。需求分析是整個(gè)項(xiàng)目開發(fā)最重要的步驟。需求分析如果做得不到位,以后的開發(fā)進(jìn)程必定受到影響,甚至出現(xiàn)返工或沒有在計(jì)劃的時(shí)間內(nèi)完成開發(fā)的任務(wù)。1.2 需求分析的標(biāo)準(zhǔn)對于硬件的開發(fā)和設(shè)計(jì),首先要做的工作就是做好需求分析。開發(fā)人員要從實(shí)際的情況出發(fā),完全考慮普通用戶的使用習(xí)慣和使用的要求,盡量做到所開發(fā)的產(chǎn)品能完全滿足用戶的需求。并且使產(chǎn)品盡可能地超出現(xiàn)有的同類或延長使用的周期。 對不同的控制對象,硬件設(shè)計(jì)的具體要求有所不同,但是基本的標(biāo)準(zhǔn)大體是一樣的: 滿足用戶的要求:硬件設(shè)計(jì)要滿

9、足用戶的實(shí)際要求,使用的方法要符合用戶的使用習(xí)慣。 性能需求:指系統(tǒng)要滿足的定時(shí)約束,響應(yīng)時(shí)間,信息量,安全性。 可靠性和可用性需求:系統(tǒng)的可靠性與可用性密切相關(guān),它量化用戶的使用程度1.3 功能性分析紅外遙控液晶暖風(fēng)機(jī)系統(tǒng)主要的功能是在一定的范圍實(shí)現(xiàn)內(nèi)無線控制暖風(fēng)機(jī),并且將溫度的數(shù)值實(shí)時(shí)地顯示在液晶屏幕上。使暖風(fēng)機(jī)可以完成如下的功能:電熱絲加熱。暖風(fēng)機(jī)分檔加熱,可以滿足復(fù)雜環(huán)境的暖風(fēng)熱度的要求。吹風(fēng)/散熱風(fēng)扇。開機(jī)后風(fēng)扇將電熱絲加熱的空氣吹出,形成熱風(fēng);關(guān)機(jī)時(shí)電熱絲停止加熱,30S后停止風(fēng)扇,防止局部受熱,設(shè)備老化。 可控制搖頭??刂婆L(fēng)機(jī)的搖頭,可以自主地對各個(gè)方向吹暖風(fēng)。 液晶實(shí)時(shí)顯示溫

10、度。利用液晶顯示屏顯示實(shí)時(shí)工作的暖風(fēng)機(jī)吹風(fēng)溫度。 可以遙控。利用紅外遙控器讀對暖風(fēng)機(jī)進(jìn)行遙控控制。 LED報(bào)警。當(dāng)溫度高于某個(gè)設(shè)定值時(shí)候,LED報(bào)警啟動(dòng)。1.4 設(shè)計(jì)目標(biāo) 紅外遙控液晶暖風(fēng)機(jī)系統(tǒng)是具有實(shí)際使用功能的家庭日常用品設(shè)備。系統(tǒng)的實(shí)際目標(biāo)是利用現(xiàn)代的語言開發(fā)技術(shù),利用現(xiàn)在集成芯片技術(shù)的廣泛應(yīng)用。利用軟件的輔助開發(fā),降低硬件設(shè)計(jì)的難度,節(jié)約開發(fā)產(chǎn)品的勞動(dòng)力,降低產(chǎn)品的開發(fā)成本和減少開發(fā)周期。使產(chǎn)品具有更大的市場價(jià)值。本系統(tǒng)應(yīng)達(dá)到以下目標(biāo): 在硬件方面:硬件設(shè)計(jì)是系統(tǒng)開發(fā)比較重要的步驟。硬件設(shè)計(jì)的合理科學(xué)對軟件的編寫起到促進(jìn)作用。如果硬件設(shè)計(jì)順利科學(xué)地完成,那么軟件的調(diào)試必將大大減少時(shí)間。

11、硬件設(shè)計(jì)主要還是考慮在芯片的選型方面。根據(jù)系統(tǒng)的要求,選擇滿足要求的芯片。此外盡量選擇自己熟知的芯片。硬件的設(shè)計(jì)一定達(dá)到簡化電路的設(shè)計(jì)。盡量降低系統(tǒng)的復(fù)雜度。對整個(gè)流程進(jìn)行合理的,有效的劃分,使系統(tǒng)的后期維護(hù)更加方便。 在軟件方面:軟件的編寫一定實(shí)現(xiàn)模塊化的編程。開發(fā)具有獨(dú)立功能而且和其他模塊之間沒有過多的相互作用的模塊,就可以做到模塊的獨(dú)立性。換句話說,希望設(shè)計(jì)這樣的軟件結(jié)構(gòu),使得每個(gè)模塊完成一個(gè)獨(dú)立的特定的字功能,并且和其他的模塊之間的關(guān)系很簡單。這就是軟件設(shè)計(jì)的最終目標(biāo),也是軟件設(shè)計(jì)所能達(dá)到的質(zhì)量要求。其外,要求運(yùn)用現(xiàn)在流行的開發(fā)語言,保證軟件的可讀性和可維護(hù)性。1.5 系統(tǒng)整體結(jié)構(gòu)圖1

12、.5-1 系統(tǒng)整體結(jié)構(gòu)示意圖1.6 開發(fā)工具介紹對于紅外遙控液晶暖風(fēng)機(jī)系統(tǒng),開發(fā)的工具的選取同樣的重要。首先應(yīng)考慮軟件的調(diào)式環(huán)境和硬件的電路設(shè)計(jì)和仿真。本系統(tǒng)軟件的開發(fā)使用的工具有Keil uvision2集成開發(fā)環(huán)境。uvision 1 是16位的軟件,連接實(shí)際上是DOS命令行的,不能在windows NT和windows 2000上使用。后來KEIL 公司推出新的32位的軟件,可以運(yùn)行在windows NT,windows 2000,windows ME,windows 9X。uvision2 IDE基于Windows的開發(fā)平臺,包含一個(gè)高效的編輯器,一個(gè)項(xiàng)目管理器和一個(gè)MAKE工具。uv

13、ision2支持所有的Keil C51工具,包含C編譯器,宏匯編器,連接/定位器,目標(biāo)代碼到HEX轉(zhuǎn)換器。Keil C51編譯器具有如下一些優(yōu)越性:C51源程序經(jīng)過優(yōu)化編譯后的代碼,其效率接近與匯編語言生成的代碼.支持851系列單片機(jī),提供對所有外圍硬件部件的操作。無論在有無工作寄存器區(qū)轉(zhuǎn)換的情況下,C51都能產(chǎn)生快速中斷代碼。支持多種衍生單片機(jī)產(chǎn)品上的雙數(shù)據(jù)指針及高速算術(shù)單。能夠在整個(gè)應(yīng)用程序中執(zhí)行全局寄存器優(yōu)化。所有應(yīng)用工具均可產(chǎn)生詳細(xì)警告信息和錯(cuò)誤信息,幫助用戶處理難以尋找的問題。支持再入功能和寄存器的獨(dú)立代碼,便于中斷服務(wù)程序和多任務(wù)應(yīng)用程序的執(zhí)行。采用分組方式執(zhí)行代碼分組和調(diào)式,用戶

14、程序代碼可以輕松突破64K空間的限制。本系統(tǒng)還使用Easy 51Pro編輯器。使用串口通訊,芯片自動(dòng)判別,編程過程中的擦除、燒寫、校驗(yàn)各種操作完全由編程器上的監(jiān)控芯片89C51控制,不受PC配置及其主頻的影響,因此燒寫成功率高可以達(dá)到100,燒寫速度很快并且燒寫速度和微機(jī)的檔次無關(guān)。2.采用57600高速波特率進(jìn)行數(shù)據(jù)傳送,編程速度可以和一般并行編程器相媲美,經(jīng)測試,燒寫一片4K ROM的AT89C51僅需要9.5S,而讀取和校驗(yàn)僅需要3.5S4.軟件界面友好,菜單、工具欄、快捷鍵齊全,全中文操作,提供加密功能,可以保護(hù)您的創(chuàng)作產(chǎn)權(quán)。5.功能完善,具有編程、讀取、校驗(yàn)、空檢查、擦除、加密等系列

15、功能;6.40pin和20pin鎖緊插座,所有器件全部以第一腳對齊,無附加跳線,對于DIP封裝芯片無需任何適配器;7.采用優(yōu)質(zhì)鎖緊插座,和接觸不良等問題徹底說再見,可燒寫40腳單片機(jī)芯片和20腳單片機(jī)芯片8.改進(jìn)的燒寫深度確保每一片C51系列芯片的反復(fù)燒寫次數(shù)都能達(dá)到1000以上!內(nèi)部數(shù)據(jù)至少保存10年。9.因?yàn)椴捎昧?針傳口通訊隨時(shí)隨地想燒就燒。 此外還使用到單片機(jī)開發(fā)板和PROTEL SE 等軟件。在整個(gè)系統(tǒng)開發(fā)過程中,使用的應(yīng)用軟件很多,都是專業(yè)性比較強(qiáng)的應(yīng)用軟件。對自己的學(xué)習(xí),對自己的知識的積累很大的幫助。2 系統(tǒng)設(shè)計(jì)2.1 系統(tǒng)設(shè)計(jì)的原則為了使開發(fā)的系統(tǒng)在后期階段易于維護(hù),并且安全可

16、靠,需要遵循一系列的硬件設(shè)計(jì)原則,才能保障系統(tǒng)的正常完成預(yù)期的開發(fā)目標(biāo)。 適應(yīng)性原則:適應(yīng)性是系統(tǒng)開發(fā)必須遵循的最基本原則。包括兩方面,一是要適應(yīng)用戶的要求,二是要主動(dòng)適應(yīng)現(xiàn)在的技術(shù)環(huán)境。 遞進(jìn)原則:紅外遙控液晶暖風(fēng)機(jī)系統(tǒng)是復(fù)雜的系統(tǒng)設(shè)計(jì),因此只能先做一個(gè)總體規(guī)劃,然后分步實(shí)施,遞進(jìn)發(fā)展。 節(jié)約原則:紅外遙控液晶暖風(fēng)機(jī)系統(tǒng)設(shè)計(jì)以降低硬件成本為目標(biāo),發(fā)揮硬件和軟件相結(jié)合的設(shè)計(jì)理念。 可靠性原則:系統(tǒng)開發(fā)始終堅(jiān)持可靠性的原則,開發(fā)出性能穩(wěn)定的硬件系統(tǒng)和軟件系統(tǒng)。2.2 系統(tǒng)設(shè)計(jì)的方法系統(tǒng)設(shè)計(jì)主要分為硬件系統(tǒng)設(shè)計(jì)和軟件系統(tǒng)設(shè)計(jì)。硬件系統(tǒng)是設(shè)計(jì)涉及到硬件電路的設(shè)計(jì)和優(yōu)化,電器電路的設(shè)計(jì)一定遵循系統(tǒng)設(shè)計(jì)

17、原則。選擇滿足功能要求的硬件部件。硬件系統(tǒng)的設(shè)計(jì)是模塊化設(shè)計(jì),最終將各個(gè)模塊聯(lián)合在一起,構(gòu)成一個(gè)完整的電路。3 硬件系統(tǒng)的詳細(xì)設(shè)計(jì)3.1 鍵盤輸入模塊在單片機(jī)應(yīng)用系統(tǒng)中,通常應(yīng)具有人機(jī)對話的功能,能隨時(shí)發(fā)出各種控制命令和數(shù)字輸入以及報(bào)告應(yīng)用系統(tǒng)的運(yùn)行狀態(tài)與運(yùn)行的結(jié)果。數(shù)據(jù)或命令的輸入方式有多種,有紅外掃描輸入,語言輸入,光電輸入等的個(gè)。其中鍵盤輸入是應(yīng)用最廣泛的一種。鍵盤輸入方便快捷,而且價(jià)格低廉。鍵盤可以分為獨(dú)立式和矩陣式兩類,每一類按其編碼的方法又分為編碼和非編碼兩類。單片機(jī)系統(tǒng)中普遍使用非編碼式鍵盤, 這類鍵盤主要解決以下幾個(gè)問題: 鍵的識別; 如何消除鍵的抖動(dòng); 鍵的保護(hù)。 獨(dú)立式按鍵

18、接口電路配置靈活,軟件結(jié)構(gòu)簡單,但每個(gè)按鍵必須占一根I/O口線。在按鍵數(shù)較多時(shí),I/O線浪費(fèi)較大,故只在按鍵數(shù)量不多時(shí)才采用這種按鍵電路。在此電路中按鍵輸入部采用低電平有效,上拉電阻保證了按鍵斷開時(shí),I/O口線有確定的高電平。當(dāng)I/O口內(nèi)部有上拉電阻時(shí),外電路可以不配置上拉電阻。 通過I/O口連接。將每個(gè)按鍵的一端接到單片機(jī)的I/O口,另一端接地,這是最簡單的方法,如下圖所示是實(shí)驗(yàn)板上按鍵的接法,四個(gè)按鍵分別接到P3.0 、P3.1、P3.2和P3.3,并在P1口接有8個(gè)發(fā)光二極管。對于這種鍵程序可以采用不斷查詢的方法,功能就是:檢測是否有鍵閉合,如有鍵閉合,則去除鍵抖動(dòng),判斷鍵號并轉(zhuǎn)入相應(yīng)的

19、鍵處理。 采用中斷方式:各個(gè)按鍵都接到一個(gè)與非上,當(dāng)有任何一個(gè)按鍵按下時(shí),都會使與門輸出為低電平,從而引起單片機(jī)的中斷,它的好處是不用在主程序中不斷地循環(huán)查詢,如果有鍵按下,單片機(jī)再去做相應(yīng)的處理。 在鍵盤中的按鍵數(shù)量較多時(shí),為了減少I/O口的占用,通常將按鍵排列成矩陣形式。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個(gè)按鍵加以連接。這樣,一個(gè)端口就可以構(gòu)成4*4=16個(gè)按鍵,比直接將端口線用于鍵盤多出了一倍容量,而且線數(shù)越多區(qū)別越明顯。比如多加一條線就可以構(gòu)成20個(gè)按鍵。所以按鍵較多時(shí)候,采用矩陣方法做鍵盤是合理的。 矩陣式結(jié)構(gòu)的鍵盤顯然要復(fù)雜一些,識別也要復(fù)雜一些。P1

20、.4P1.7做輸出線,P1.1P1.3做輸入線。列線所接的I/O口則作為輸入。這樣,當(dāng)按鍵沒有按下時(shí)候,所有的輸出端都是高電平,代表無按鍵按下。行線輸出是低電平,一旦有按鍵按下,輸入線就會被拉低,這樣,通過讀入線的狀態(tài)就可以知道是否有按鍵被按下。 行掃描法又稱為逐行掃描查詢法,是一種最常用的按鍵識別方法,如流程如下。 判斷鍵盤中有無按鍵按下:將全部行線P1.1P1.3置低電平,然后檢測列線的餓狀態(tài)。只要有一列電平為低,則表示鍵盤中鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個(gè)按鍵之中。若所有的列線均為高電平,則鍵盤中無鍵按下。 判斷閉合鍵所在的位置:在確認(rèn)有按鍵按下時(shí)候,即可進(jìn)入確定

21、具體閉合鍵的過程。其方法是依次將行線置為低電平,即在置某根行線為低電平,其他線為高電平。在確定某根行線位置為低電平后,在逐行檢測列線的電平狀態(tài)。若某列為低,則該列線與置為低電平線交叉處的按鍵就是閉合的按鍵。 本系統(tǒng)要求有6個(gè)按鍵輸入,由于輸入按鍵少,所以選擇獨(dú)立式和矩陣式相差無幾??紤]在實(shí)現(xiàn)時(shí)候軟件設(shè)計(jì)的復(fù)雜度,本系統(tǒng)運(yùn)用獨(dú)立式的鍵盤輸入方式。3.2 紅外控制系統(tǒng)模塊 紅外線遙控是目前使用最廣泛的一種通信和遙控手段。由于紅外線遙控裝置具有體積小、功耗低、功能強(qiáng)、成本低等特點(diǎn),因而,繼彩電、錄像機(jī)之后,在錄音機(jī)、音響設(shè)備、空凋機(jī)以及玩具等其它小型電器裝置上也紛紛采用紅外線遙控。工業(yè)設(shè)備中,在高壓

22、、輻射、有毒氣體、粉塵等環(huán)境下,采用紅外線遙控不僅完全可靠而且能有效地隔離電氣干擾。 通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成。應(yīng)用編/解碼專用集成電路芯片來進(jìn)行控制操作。發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、LED紅外發(fā)送器;接收部分包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電路。圖3.2-1 紅外線遙控系統(tǒng)框圖  紅外控制系統(tǒng)中的紅外發(fā)送電路采用NB9148,它是用作通用紅外遙控發(fā)射器的CMOS大規(guī)模集成電路,與NB9149相配完成10個(gè)功能控制;與NB9159相配完成18個(gè)功能控制;可發(fā)射的指令達(dá)75個(gè),其中63個(gè)是完成連續(xù)的指令,可多鍵組合;12個(gè)單發(fā)指令,只能單鍵使用。內(nèi)部結(jié)構(gòu)主要部分功能

23、描述: 振蕩電路 內(nèi)含CMOS反相器及自偏置電阻,外接陶瓷振蕩器或LC串聯(lián)諧振回路即可組成振蕩器。當(dāng)振蕩頻率設(shè)定為455KHz時(shí),則發(fā)射載波頻率為38KHz。只有當(dāng)按鍵操作時(shí)才會產(chǎn)生振蕩,以次降低功耗。 鍵輸入 通過K1K6輸入和T1T3的時(shí)序輸出可連接6*3鍵盤矩陣,在T1這列內(nèi)的6個(gè)鍵可以任意多鍵組合成63個(gè)狀態(tài),輸出連續(xù)發(fā)射處于T2和T3這兩列的鍵均只能單鍵使用,且每按一次只能發(fā)射一組控制脈沖。若一列上的數(shù)鍵同時(shí)按下,其優(yōu)先次序?yàn)镵1,K2,K3,K4,K5,K6。在同一K線上的鍵多鍵功能,若同時(shí)按下數(shù)鍵,其優(yōu)先次序?yàn)門1,T2,T3。    &#

24、160;   圖3.2-2 鍵輸入示意圖 發(fā)送命令的格式 發(fā)送命令由12位組成,其中C1C3是用戶碼,用來確定不同的模式。每種組合有3個(gè)狀態(tài):01。10。11。而00狀態(tài)不用。H,S1和S2是代表連續(xù)發(fā)送或單次發(fā)送的碼,D1D6是狀態(tài)發(fā)送的數(shù)據(jù)瑪。發(fā)送命令由12位碼組成。其中C1-C3是用戶碼,用來確定不同的模式,C1和C2的組合與接收電路NB9150相配,C1和C2與接收電路NB9149相配。每種組合有三個(gè)狀態(tài):01、10和11,而00狀態(tài)不用。 “0”與“1”的識別正脈沖的占空比為1/4時(shí),代表“0”,正脈沖的占空比為3/4時(shí),代表“1”。 圖3.2-3 正脈沖的示意圖

25、 無論是0還是1被發(fā)射時(shí),正脈沖都是被調(diào)制在38KHz的,載波的占空比為1/3。這樣有利于減少功耗。 圖3.2-4 正脈沖示意圖 基本發(fā)送波形 每發(fā)送周期按C1,C2,C3,H.1,S1,S2, D1,D2,D3,D4,D5,D6的次序串行發(fā)送,總長度為48a,其中a等于每個(gè)碼期的1/4。 圖3.2-5 波形序列示意圖 3.3 紅外接收處理器電路 控制系統(tǒng)不采用與其配套的接收電路,采用通用的紅外接受器接受到調(diào)制后的方波脈沖序列,然后由單片機(jī)處理并進(jìn)行相應(yīng)的控制。單片機(jī)的電源采用5V,而由紅外接受器接收到的由NB9148發(fā)出的經(jīng)過檢波去除8KHz載波后的方波信號的高電平為5V,正好相匹配。 如下

26、圖所示,由發(fā)光接收元件接收的信號經(jīng)放大,檢波去除38KHZ載波到信號輸入端。接收信號輸入電路內(nèi)含斯密特觸發(fā)器對接信號進(jìn)行整形。圖3.3-1 元件連接示意圖 接收信號編碼的判斷根據(jù)9148的編碼規(guī)則,從編碼表中可以看出,接收到的12位編碼中,最后6位只有一個(gè)。每個(gè)循環(huán)組成一個(gè)編碼組,這樣每組有6個(gè)指令碼,第一組16是連續(xù)發(fā)送的編碼,712是第一組單發(fā)的編碼,1318則是第二組單發(fā)編碼。具體實(shí)施控制的其他外圍電路可以根據(jù)需要添加。 光電放大電路 光電放大電路如圖所示圖3.3-2 光電放大電路 振蕩電路 發(fā)射信號的時(shí)間檢測和內(nèi)部工作時(shí)鐘都由此振蕩電路決定。應(yīng)用NB9149時(shí),只需要簡單地在單端振蕩端

27、并聯(lián)R和C到地,即可產(chǎn)生穩(wěn)定的振蕩。振蕩電路如下圖所示 圖3.3-3 振蕩電路示意圖3.4 液晶顯示模塊液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區(qū)域進(jìn)行控制,有電就顯示黑色,這樣即可顯示出圖形。液晶顯示器具有厚度薄,適于大規(guī)模集成電路直接驅(qū)動(dòng),易于顯示全彩色顯示的特點(diǎn),目前已經(jīng)被廣泛應(yīng)用在各個(gè)領(lǐng)域。 線段的顯示點(diǎn)陣圖形式液晶由M*N個(gè)顯示單元組成,假設(shè)LCD顯示屏有64行,128列,每8列對應(yīng)一個(gè)1字節(jié)的8位,即每行由16個(gè)字節(jié),共128個(gè)點(diǎn)組成,屏上64*16個(gè)顯示單元與顯示RAW區(qū)1024字節(jié)相對應(yīng),每一字節(jié)的內(nèi)容和顯示屏上相對應(yīng)位置的明暗對應(yīng)。例如屏的第一行的亮暗由RAW區(qū)的

28、000H00FH的16字節(jié)的內(nèi)容決定,當(dāng)(000)=FFH時(shí),則屏上的左上角顯示一條亮線,長度為8個(gè)點(diǎn);當(dāng)(3FGH)=FFH時(shí),則屏上的右下角顯示一條短亮線;當(dāng)(000H)=FFH,(001H)=00H,(002H)=FFH,(003H)=00H,(00E)=FFH,(00FH)=00H時(shí),則在屏的頂部顯示一條由8段亮線和8條暗線組成的虛線。這就是LCD顯示的基本原理。 在小規(guī)模點(diǎn)陣液晶顯示模塊上使用液晶顯示驅(qū)動(dòng)控制器組成液晶顯示驅(qū)動(dòng)控制系統(tǒng)是非常有益的。這使得液晶顯示模塊的硬件電路簡單化,從而降低模塊的成本。但是這也是同時(shí)提高了對軟件功能的要求,也就是說,許多顯示功能如光標(biāo),字符庫,閃爍等

29、都需要由軟件編制而成。HD61203和HD61202就是這類液晶顯示驅(qū)動(dòng)控制器件套件。他們必須配套使用,通常有12864和19264兩種規(guī)格。HD61202的電特性: HD61202是帶顯示存儲器的圖形液晶顯示列驅(qū)動(dòng)控制器,它的特性是內(nèi)置64*64位的顯示存儲器,顯示屏上各個(gè)象素的顯示狀態(tài)與顯示存儲器的各位數(shù)據(jù)一一對應(yīng),顯示存儲器的數(shù)據(jù)直接作為圖形顯示的驅(qū)動(dòng)信號。顯示數(shù)據(jù)為“1”,相應(yīng)的像素點(diǎn)顯示;顯示數(shù)據(jù)“0”相應(yīng)的象素就不顯示。同時(shí)HD61202配備了一套顯示存儲器的管理電路和與計(jì)算機(jī)接口電路,允許計(jì)算機(jī)直接訪問顯示存儲器,也就是說HD61202可以直接與計(jì)算機(jī)的總線連接。但是HD6120

30、2不能獨(dú)立工作,因?yàn)樗旧聿荒苌娠@示時(shí)序,所以HD61202需要與相應(yīng)的帶振蕩器和顯示時(shí)序的行驅(qū)動(dòng)器配套使用才能形成一個(gè)完整的液晶驅(qū)動(dòng)和控制系統(tǒng)。這個(gè)系統(tǒng)將省去計(jì)算機(jī)與驅(qū)動(dòng)器之間的液晶顯示控制器,由此組成液晶顯示模塊的驅(qū)動(dòng)和控制必然大大降低模塊的成本。 12864液晶模塊共有兩片HD61202作為列驅(qū)動(dòng)器。CSA跟HD61202(1)的CS1相連,CSB跟HD61202(2)的CS1相連,因此CSA,CSB選通組合信號CSACSB=01選通(1),CSACSB=10選通(2)。在12864中,兩片HD61202的ADC均接高電平,RST也接高電平,這樣在使用12864時(shí)就不必考慮著兩個(gè)引腳的

31、作用。內(nèi)置的HD61202圖形液晶顯示模塊與單片機(jī)的連接方式有兩種,一種為直接訪問方式,一種為間接訪問方式 直接訪問方式 硬件電路直接訪問方式就是將液晶顯示模塊的接口作為存儲器或I/O設(shè)備直接掛在單片機(jī)總線上,單片機(jī)以訪問存儲器或I/O設(shè)備的方式操作液晶顯示模塊的工作。直接訪問方式的接口實(shí)用電路如圖所示。在圖中,單片機(jī)80C51通過高位地址A11(P2。3)控制CSB,A10(P2.2)控制CSA,以選通液晶顯示屏上各個(gè)區(qū)的控制器HD61202;同時(shí)80C51用地址A9(P2。1)作為R/W信號控制數(shù)據(jù)總線的數(shù)據(jù)流向;用地址A8(P2。0)作為D/I信號控制寄存器的選擇;E信號由80C51的P

32、2。7產(chǎn)生。這樣就實(shí)現(xiàn)了單片機(jī)對內(nèi)置HD61202圖形液晶顯示模塊的電路連接。電位器用于顯示對比度高的調(diào)節(jié)。 間接方式訪問 硬件電路:間接控制方式是單片機(jī)通過自身的或系統(tǒng)中 的并行接口與液晶顯示模塊連接,如8031的P1和P3口或8255等并行接口芯片以及像74LS373類鎖存器等。單片機(jī)通過對這些接口的操作,以達(dá)到對液晶顯示模塊的控制。這種方式的特點(diǎn)是電路簡單,控制時(shí)序由軟件實(shí)現(xiàn),可以實(shí)現(xiàn)高速單片機(jī)與液晶顯示模塊的接口。實(shí)用電路如圖所示。在圖中電路中以8031的P1口作為數(shù)據(jù)口,P3.0(RxD)為CSA, P3.1(TxD)為CSB, P3.2(INT0) 為D/I ,P3.3()INT1

33、)為R/W 和P3.4(T0)為E等信號。 由于在BUSY和REST狀態(tài)時(shí),除讀指令外,其他指令均不產(chǎn)生作用,因此在程序中,對HD61202進(jìn)行操作前都要“判忙”,以確定是否可以對液晶進(jìn)行操作。初始化部分,先送先顯示指令,關(guān)閉所有顯示,然后開顯示指令,為顯示做準(zhǔn)備,最后設(shè)置起始行。清屏部分,先進(jìn)行頁地址設(shè)計(jì),之后進(jìn)行列地址操作,分別清除左右半屏,即對RAM進(jìn)行擦除操作。3.5 溫度檢測與控制 由DALLAS半導(dǎo)體公司生產(chǎn)的DS18B20型單線智能溫度傳感器,屬于新一代適配微處理器的智能溫度傳感器,可廣泛用于工業(yè)、民用、軍事等領(lǐng)域的溫度測量及控制儀器、測控系統(tǒng)和大型設(shè)備中。它具有體積小,接口方便

34、,傳輸距離遠(yuǎn)等特點(diǎn)。 數(shù)字溫度傳感器DS18B20的測溫范圍為一55+125 C,精度為05 C,測量的溫度值用9 12位數(shù)字表示,最大轉(zhuǎn)換時(shí)間為750 ms,溫度超標(biāo)報(bào)警的上、下限值,DS18B20的轉(zhuǎn)換分辨率均可由用戶設(shè)定,并能長期保存。DS18B20的另一特點(diǎn)是在沒有外部電源下操作的能力,電源由總線為高電平時(shí)DQ腳上的上拉電阻提供(寄生供電模式),此時(shí)VCC腳接地。也可用傳統(tǒng)方式供電,即將外部電源接在VCC腳上即可。CPU對DS18B20的訪問流程是:先對DS18B20初始化,再進(jìn)行ROM操作命令,最后才能對存儲器操作,數(shù)據(jù)操作。DS18B20每一步操作都要遵循嚴(yán)格的工作時(shí)序和通信協(xié)議。

35、如主機(jī)控制DS18B20完成溫度轉(zhuǎn)換這一過程,根據(jù)DS18B20的通訊協(xié)議,須經(jīng)三個(gè)步驟:每一次讀寫之前都要對DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進(jìn)行預(yù)定的操作。 溫度檢測處理芯片有上圖兩種封裝模式,本文應(yīng)用前者封裝模式。3.6 繼電器控制電路 繼電器控制電路包括電熱絲開關(guān)和暖風(fēng)機(jī)功能繼電器控制電路。如圖3.6-1所示:圖3.6-1 繼電器控制電路示意圖 暖風(fēng)機(jī)功能繼電器控制電路的基本組成包括:應(yīng)用兩組繼電器,分別控制風(fēng)扇的轉(zhuǎn)動(dòng)和搖頭控制開關(guān)。三極管為NPN型三極管,其集電極與繼電器的開關(guān)相連,提供開啟繼電器必須的電流?;鶚O與單片機(jī)

36、的管腳相連,因此,繼電器的開啟電流實(shí)際是由單片機(jī)控制的。4 軟件系統(tǒng)設(shè)計(jì)系統(tǒng)的軟件設(shè)計(jì)包括紅外信號的處理程序,鍵盤的輸入處理程序,溫度的采集和處理程序還有液晶顯示的驅(qū)動(dòng)程序。軟件系統(tǒng)開發(fā)的基本流程包括系統(tǒng)的功能分析,功能模塊的劃分,流程圖和最終的代碼編寫。4.1鍵盤掃描的流程圖 圖 4.1-1 鍵盤掃描的流程圖4.2 定時(shí)器的流程圖 圖4.2-1 定時(shí)器的流程圖4.3主程序的流程圖 圖4.3-1 主程序的流程圖 4.4 主程序的編寫#include<reg51.h>#include<intrins.h>sbit RST=P20;sbit CLK=P21;sbit DQ=

37、P22;sbit TSOR=P23;sbit ALERT=P24;sbit RS=P27;sbit RW=P26;sbit EN=P25;static unsihned char temp1,temp2;/溫度值的整數(shù)部分,小數(shù)部分static unsihned char pos,posset;/數(shù)字電位器電位值,設(shè)定值static unsihned char min,sec;/分鐘,秒static unsihned char count;/ 中斷計(jì)時(shí)T0static unsihned char minset;/設(shè)定的分鐘數(shù)static unsihned char status1,status

38、2;/狀態(tài)標(biāo)志bit stop,timeover;/定時(shí)停止,結(jié)束static char line0=”00:00”;static char line1=”c w”;#define REGINT 0x06 /紅外線間隔Unsighned char bdata Message; /定義存放消息標(biāo)志的可位尋址字節(jié)sbit RedMsg= Message0; /紅外遙控消息sbit RedRead= Message1; /位接收過程標(biāo)志sbit RedBit= Message2; /接收到的位值sbit RSend= Message3; /紅外接收中重新發(fā)送標(biāo)志unsighed char bdata

39、 RedDatal,RedDataH;/*存放遙控的字?jǐn)?shù)據(jù),低4位存放接收到的位的位移,高12位從低到高存放接收到的位*/ /*RedDataH 字節(jié)低6位代表指令,只有一個(gè)1,C1C3是用戶碼,H表示連續(xù),S1,S2分別表示第一,第二組單發(fā)*/sbit RedData0=RedDataL4; /C1sbit RedData1=RedDataL5; /C2sbit RedData2=RedDataL6; /C3sbit RedData3=RedDataL7; /Hsbit RedData11=RedDataH0; /D6sbit RedData10=RedDataH1 /D5sbit RedD

40、ata9=RedDataH2;/D4sbit RedData8=RedDataH3;/D3sbit RedData7=RedDataH4;/D2sbit RedData6=RedDataH5;/D1sbit RedData5=RedDataH6;/S2sbit RedData4=RedDataH7;/S1unsighned char bdata State; /狀態(tài)字節(jié)sbit RedControl=State6; /遙控狀態(tài)unsighned char data RedCon,Timer;unsighned int nTimer; /定時(shí)整形參數(shù)void initinterupt(); vo

41、id keyboarddelay(); /鍵盤輸入函數(shù)/*LCD驅(qū)動(dòng)函數(shù)*/void delayl(); void delays();void writecommand(unsigned char c);void writedata(unsigned char c);void showchar(unsigned char pos,unsigned char c);void showstring(unsigned char line,char *ptr);void initlcd();/*鍵盤程序*/unsigned char getkey();/*溫度傳感器驅(qū)動(dòng)*/void delay15()

42、;void delay60();void delay100ms();void write0ts();void write1ts();bit readts();void resets();void witebts(unsigned char byte);unsigned char readbts();void gettempts();/*主程序*/void main()char code str1=“HELLO WORLD!”char code str2=“2007-5-31”unsigned char I;sp=0x50;alert=0;tsor=1;delayl();initlcd();de

43、layl();showstring(0,str1);showstring(1,str2);for(i=0;i<15;i+)delay100ms();initinterupt();minset=10;posset=0;min=minset;pos=posset;sec=0;count=0;P1=0xF0;satatus1=0;status2=0;stop=1;timeover=0;changepos(0,255-pos,255-pos);inits();while(1)gettempts();line10=0x20;i=temp1;if(i>9)alert=1;if(i>9)l

44、ine10=0x31;i-=100;line11=i/10+0x30;line2=i%10+0x30;line14=temp2+0x30;of(timeover)for(;pos>0;pos-)changepos(0,255-pos,255-pos);nop();nop();timeover=0;posset=0;if(pos>posset)for(;pos>posset;pos-)changepos(0,255-pos,255-pos);nop();nop();else if(pos<posset)for(;pos<posset;pos+)changepos(0

45、,255-pos,255-pos);nop();nop();changepos(0,255-pos,255-pos);i=pos;line19=0x20;if(i>99)line19=i/100+0x30;i=i%100;line110=i/10+0x30;line111=i/10+0x30;showstring(1,line1);line05=min/10+0x30;line06=min%10+0x30;line08=sec%10+0x30;line09=sec%10+0x30;showstring (0,line0);delay100ms();void initinterupt()T

46、OMD=0x21;TL1=0xFD;TH1=0xFD;PX0=1;EA=1;ES=1;PCON=0;TR1=1;SCON=0X50;TL0=0x00;TH0=0x4C;EX0=1;IT0=1;void kayboarddelay()unsigned char I,j;i=0x40;j=0xFF;while(i-)while(j-);int0_process() interrupt 0 using 0unsigned char keyunsigned char keyboard=”TP;unsigned char step3=1,2,5;EA=0;key=getkey();switch(key)

47、case 0;stop=!stop;min=minset;sec=0;break;case 1:case 2:case 3:if (stop)minset+=stepkey-1;if(minset>60)minset=0;min=minset;break;case 5;case 6;case 7;if (stop)minset+=stepkey-5;if(minset>60)minset=0;min=minset;break;case 9:case 10:case 11:posset+=stepkey-9;break;case13:case 14:case 15:posset-=s

48、tepkey-123;break;default;break;TR0=!stop;keyboarddelay();P1=0Xf0;EA=1;timer0_process() interrupt 1 using 0EA=0;TR0=0;TL0=0x00;TH0=0x4C;count+;if (count=20)if(sec=0)if(min=0)timeover=1;elsemin-;sec=59;else sec-;count=0;TR0=1;EA=1;void delay()unsigned char I,j;i=0Xf0;j=0xFF;while(i-)while(j-);void del

49、ays()unsigned char i;i=0x1F;while(i-);void writecommand(unsigned char c)delays();EN=0;RS=0;RS=0;RW=0;nop();EN=1;P0=C;EN=0;void writedata(unsigned char c)delays();EN=0;RS=1;RW=0;nop();EN=1;P0=C;EN=0;RS=0;void showcahr(unsigned char pos,unsigned char c)unsigned char p;if(pos>=0x10)p=pos+0Xb0;elsep=

50、pos+0x80;writecommand(p);writedata(c);void showstring(unsigned char line ,char *ptr)unsigned char i,j;l=line<<4;for(i=0;i<16;i+)showchar(i+;*(ptr+i);void initlcd()delayl();writecommand(0x38);writecommand(0x38);writecommand(0x06);writecommand(0x0c);writecommand(0x01);writecommand(0x80);unsig

51、ned char getkey()unsigned k,t,i,j;k=P1;k=k&0xF0;i=0;while(k&0x01)&&i<4)i+;k=k>>1;k=0x01;j=0;while(j<4)P1=0Xffk;nop();t=p1;t=t0Xff;t=t&0xf0;if(t)break;j+;k=k<<1;k=j*4+i;return k;void changepos(bit sel,unsigned char pos,unsigned char pos2)unsigned char i;RST=0;DQ=

52、0;CLK=0;RST=1;DQ=sel;nop();CLK=1;nop();CLK=0;for(i=0;i<8;i+)if(pos1&0x80)DQ=1;elseDQ=0;nop();CLK=1;nop();CLK=0;pos1=pos1<<1;for(i=0;i<8;i+)if(pos2&0x80)DQ=1;elseDQ=0;nop();CLK=1;nop();CLK=0;pos2=pos2<<1;RST=0;void delay100ms()unsigned char i,j,k;for(i=0;i<8;i+)for(j=0;j&

53、lt;25;j+)for(k=0;k<250;k+);void delay15()unsigned char i;for(i=0;i<8;i+);void delay60()unsigned char i;for(i=0;i<30;i+);void write0ts()TSOR=1;TSOR=0;delay15();delay15();delay15();dealy15();TSOR=1;nop();nop();void write1ts()TSOR=1;TSOR=0;nop();nop();nop();nop();nop();nop();delay15();delay15();delay15();bit readts()bit b;TSOR=1;TSOR=0;nop();nop();nop();nop();TSOR=1;nop();nop(

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論