課程設(shè)計(jì)學(xué)習(xí)型紅外遙控器的設(shè)計(jì)要點(diǎn)_第1頁(yè)
課程設(shè)計(jì)學(xué)習(xí)型紅外遙控器的設(shè)計(jì)要點(diǎn)_第2頁(yè)
課程設(shè)計(jì)學(xué)習(xí)型紅外遙控器的設(shè)計(jì)要點(diǎn)_第3頁(yè)
課程設(shè)計(jì)學(xué)習(xí)型紅外遙控器的設(shè)計(jì)要點(diǎn)_第4頁(yè)
課程設(shè)計(jì)學(xué)習(xí)型紅外遙控器的設(shè)計(jì)要點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、河南大學(xué)物理與電子學(xué)院學(xué)習(xí)型紅外遙控器的設(shè)計(jì)河南大學(xué)物理與電子學(xué)院電子開(kāi)放實(shí)驗(yàn)室目 錄1 設(shè)計(jì)要求及原理12 方案論證與對(duì)比22.1 方案一 簡(jiǎn)易紅外遙控電路22.2 方案二 利用STC68C52單片機(jī)控制電路22.3 方案對(duì)比與選擇33 遙控器硬件與程序設(shè)計(jì)33.1 遙控器硬件結(jié)構(gòu)組成33.2 系統(tǒng)硬件電路設(shè)計(jì)43.3 初始化程序43.4遙控器讀入程序處理53.5 遙控碼發(fā)送處理程序63.6主程序63.7 程序延時(shí)64 系統(tǒng)功能調(diào)試及整體指標(biāo)分析64.1程序調(diào)試64.2整體指標(biāo)分析75 詳細(xì)儀器清單96總結(jié)、思考與致謝9附錄1:?jiǎn)捂I學(xué)習(xí)型紅外遙控器原理圖(proteus仿真):11附錄2:?jiǎn)?/p>

2、片機(jī)C源程序:12學(xué)習(xí)型紅外遙控器設(shè)計(jì)1 設(shè)計(jì)要求及原理利用單片機(jī)作為控制核心,要求可以學(xué)習(xí)不同遙控器的某個(gè)按件功能。使用時(shí)先用原遙控器對(duì)著學(xué)習(xí)器按一下某操作鍵,學(xué)習(xí)器就可實(shí)現(xiàn)原遙控器中該鍵的遙控功能。具體要求如下:基本部分:(1)最大學(xué)習(xí)碼長(zhǎng):206位。(2) 學(xué)習(xí)碼識(shí)別范圍:起始位為15us983ms,編碼位為15us3.825ms。(3) 讀碼誤差:±15us。擴(kuò)展部分:學(xué)習(xí)型紅外遙控器在按下K鍵待綠色指示燈亮后,用遙控器對(duì)著紅外接收頭按下某個(gè)功能鍵,當(dāng)綠燈滅說(shuō)明學(xué)習(xí)完畢,再按發(fā)射鍵就可以進(jìn)行遙控操作。當(dāng)紅外遙控器的某個(gè)按鍵按下時(shí),發(fā)射出一組串行二進(jìn)制遙控編碼脈沖。該脈沖由引導(dǎo)

3、碼、系統(tǒng)碼、功能碼和反碼組成,通過(guò)設(shè)置這些編碼以及碼長(zhǎng)便可區(qū)分不同的紅外遙控器。紅外接收器負(fù)責(zé)紅外信號(hào)的接收和放大并解調(diào)出TTL電平信號(hào)送至微處理器進(jìn)行處理,微處理器通過(guò)比較和識(shí)別接收來(lái)的紅外遙控編碼便可執(zhí)行相應(yīng)的遙控功能1。本系統(tǒng)的設(shè)計(jì)思想是不考慮紅外編碼方式,僅利用單片機(jī)AT89C52對(duì)多個(gè)紅外遙控編碼的脈沖寬度進(jìn)行測(cè)量,并原封不動(dòng)地把發(fā)射信號(hào)中高、低電平的時(shí)間寬度記憶至擴(kuò)展存儲(chǔ)區(qū)的指定地址。當(dāng)要發(fā)射紅外信號(hào)時(shí),從擴(kuò)展存儲(chǔ)區(qū)中還原出相應(yīng)的紅外遙控編碼,并調(diào)制到40KHz的載波信號(hào)上,最后,通過(guò)三極管放大電路驅(qū)動(dòng)紅外發(fā)光二極管發(fā)射紅外信號(hào),達(dá)到學(xué)習(xí)和發(fā)射的目的,從而實(shí)現(xiàn)一個(gè)遙控器控制多種紅外

4、遙控設(shè)備。2 方案論證與對(duì)比2.1 方案一 簡(jiǎn)易紅外遙控電路在不需要多路控制的應(yīng)用場(chǎng)合下,可以使用由常規(guī)電路組成的單通道紅外遙控電路1。這中遙控電路不需要使用較貴的專(zhuān)用便譯碼器,因此成本較低。產(chǎn)生震蕩頻率紅外發(fā)射紅外接收解調(diào)控制受控電器 圖 1方案一系統(tǒng)方框圖考慮到本方案電路是簡(jiǎn)單的單通道控制器,可直接產(chǎn)生一個(gè)控制功能的震蕩頻率,再通過(guò)紅外發(fā)光二極管發(fā)射出去。當(dāng)紅外接收頭接收到控制頻率時(shí),由一個(gè)電路對(duì)其進(jìn)行產(chǎn)生相應(yīng)的控制功能。2.2 方案二 利用STC89C52單片機(jī)控制電路用單片機(jī)制作一個(gè)紅外遙控器,并可通過(guò)程序控制記憶按鍵功能,達(dá)到學(xué)習(xí)記憶功能??刂破鱏TC89C52紅外線(xiàn)發(fā)射電路紅外線(xiàn)接

5、收解碼器學(xué)習(xí)指示燈遙控指示燈操作鍵圖 2 方案二系統(tǒng)方框圖當(dāng)按下遙控器按鈕時(shí),單片機(jī)產(chǎn)生相應(yīng)的控制脈沖,由紅外發(fā)光二極管發(fā)射出去。當(dāng)紅外就收器接收到控制脈沖時(shí),經(jīng)單片機(jī)處理由顯示設(shè)備顯示出當(dāng)前受控電器的序號(hào),并判斷是否對(duì)某一功能進(jìn)行的操作。2.3 方案對(duì)比與選擇以上方案:方案一未采用單片機(jī),功能過(guò)于單一,僅能對(duì)一路電器進(jìn)行簡(jiǎn)單遙控;方案二不僅可以用控制按鍵實(shí)現(xiàn)對(duì)電器的控制,而且可記憶學(xué)習(xí)按鍵功能,達(dá)到復(fù)制的功能,方便使用,且成本設(shè)計(jì)用STC89C52也比較便宜實(shí)用。顯然本設(shè)計(jì)采用方案二作為設(shè)計(jì)藍(lán)本。3 遙控器硬件與程序設(shè)計(jì)3.1遙控器硬件結(jié)構(gòu)組成為了實(shí)現(xiàn)遙控碼的記錄還原功能,系統(tǒng)應(yīng)具有紅外線(xiàn)的

6、接收解碼、紅外線(xiàn)的調(diào)制發(fā)射、操作按鍵和功能控制單元。由于功能定位學(xué)習(xí)一個(gè)遙控按鍵的遙控的功能,因此決定采用STC89C52RC單片機(jī)作為控制器。STC89C52RC單片機(jī)中具有256字節(jié)的內(nèi)存單元,可存儲(chǔ)遙控碼脈寬的數(shù)據(jù)。遙控碼的脈寬數(shù)據(jù)可以用紅外線(xiàn)接收解碼后送單片機(jī)讀入,發(fā)射時(shí)由單片機(jī)產(chǎn)生40kHz紅外調(diào)制信號(hào)送紅外線(xiàn)發(fā)管發(fā)射。學(xué)習(xí)型紅外遙控器由紅外接收電路、單片機(jī)控制器、紅外發(fā)送電路、EPROM存儲(chǔ)器、操作鍵盤(pán)及LED遙控指示燈構(gòu)成,如圖2所示。單片機(jī)STC89C52構(gòu)成紅外遙控的處理器,其數(shù)據(jù)存儲(chǔ)器RAM(258B)用來(lái)存儲(chǔ)學(xué)習(xí)過(guò)程中編碼信號(hào)的脈沖寬度和編碼。   (

7、1)紅外發(fā)射電路5:40 kHz方波直接由單片機(jī)模擬產(chǎn)生,經(jīng)過(guò)三極管放大后,驅(qū)動(dòng)紅外發(fā)光二極管(注意:40 kHz載波不能用STC89C52定時(shí)器產(chǎn)生,因?yàn)?0 kHz載波信號(hào)的周期只有26 s,考慮到有載波時(shí)的占空比為1/3,即定時(shí)器的最小中斷時(shí)間間隔只有8 s,在執(zhí)行中斷時(shí)中斷處理過(guò)程(如保護(hù)現(xiàn)場(chǎng)等)實(shí)際運(yùn)行時(shí)間根據(jù)中斷點(diǎn)的不同需要的時(shí)間也不同,有時(shí)會(huì)大于8 s,這樣不能保證40 kHz信號(hào)的穩(wěn)定性),在軟件處理過(guò)程中應(yīng)用延時(shí)程序模仿40 kHz的紅外載波信號(hào)。  (2)紅外接收頭:在與單片機(jī)連接時(shí),將接收來(lái)的紅外遙控信號(hào)反相,其正向信號(hào)接外部中斷0,反相信號(hào)接外部中斷

8、1。通過(guò)記錄2個(gè)中斷間的間隔時(shí)間來(lái)測(cè)量紅外遙控信號(hào)的高低電平的脈寬值。  (3)外接E PROM存儲(chǔ)器:用于存放學(xué)習(xí)到的控制命令的編碼和高低電平信號(hào)的 脈寬值。  (4)按鍵盤(pán):?jiǎn)?dòng)一個(gè)學(xué)習(xí)過(guò)程。  (5)LED指示燈:用于顯示遙控器的工作狀態(tài)。3.2 系統(tǒng)硬件電路設(shè)計(jì)【附錄1】為該學(xué)習(xí)型遙控器的原理圖,其中:P1.0口接遙控碼發(fā)射按鍵;P1.6口用作狀態(tài)指示,綠燈亮代表學(xué)習(xí)狀態(tài),綠燈滅代表碼已讀入。P1.7口用于指示控制鍵的操作,閃爍時(shí)代表遙控碼正在發(fā)射之中,在學(xué)習(xí)狀態(tài),綠燈滅代表碼已讀入。第9腳為單片機(jī)的復(fù)位腳,采用簡(jiǎn)單的RC上電

9、復(fù)位電路,第12腳為中斷輸入口,用于工作方式的轉(zhuǎn)換控制,當(dāng)腳為低電平時(shí),系統(tǒng)進(jìn)入學(xué)習(xí)狀態(tài)。第14腳用于紅外線(xiàn)接收頭的輸出信號(hào)輸入,第15腳作為遙控碼的輸出口,用于輸出40KHz的遙控碼。第18、19腳接12MHZ晶振。由于采用最小化應(yīng)用系統(tǒng),控制線(xiàn)(片外取指控制)、ALE(地址鎖存控制)不用,(片外存儲(chǔ)器選擇)接高電平,使低8K的E2PROM地址(0000H1FFFH)指向片內(nèi)。3.3初始化程序內(nèi)容包括P0、P1、P3端口置位,P2口清零,清08H6EH共103個(gè)工作寄存器,設(shè)置堆?;罚?0H),設(shè)置計(jì)數(shù)器計(jì)數(shù)模式、控制字,開(kāi)外中斷允許等等。3.4遙控器讀入程序處理完成遙控碼起始位的識(shí)別、脈

10、寬計(jì)數(shù)功能,完成遙控碼編碼位的寬度計(jì)數(shù)功能,完成結(jié)束位的認(rèn)別功能(流程圖見(jiàn)圖3)。本程序模塊在編程設(shè)計(jì)中非常重要,通過(guò)大量的不同種類(lèi)的遙控碼波形實(shí)驗(yàn)測(cè)試分析,遙控碼的幀間歇位寬度均在10 ms以上,起始位碼寬度在100s20ms之間,編碼位在100s5ms之間,為確保所有遙控器學(xué)習(xí)的成功,采用以下設(shè)計(jì)方法:尋找起始位方法:用16位DPTR計(jì)數(shù)器對(duì)高電平進(jìn)行寬度計(jì)數(shù),計(jì)數(shù)采樣周期為21s,當(dāng)高電平結(jié)束時(shí),如高8位計(jì)數(shù)器為非零,則說(shuō)明高電平寬度超過(guò)5.35ms(255×21s),緊接來(lái)的低電平碼就是起始位,否則重新開(kāi)始。圖3 遙控碼讀入處理程序流程圖起始位?NYYN存編碼位讀碼準(zhǔn)備存起始

11、位學(xué)習(xí)狀態(tài)結(jié)束位?中斷退出中斷開(kāi)始Y鍵按下?N初始化鍵盤(pán)掃描編碼發(fā)送圖4 主程序流程圖開(kāi)始讀起始位方法3:采用16位DPTR對(duì)低電平進(jìn)行寬度計(jì)數(shù)(最大可讀寬度為1.376s),當(dāng)高電平跳變時(shí)結(jié)束計(jì)數(shù),并將DPTR的高8位、低8分別存入R4,R5寄存器。讀遙控編碼的方法:采用DPTR低8位計(jì)數(shù)器對(duì)碼(高電平或低電平)進(jìn)行寬度計(jì)數(shù),電平跳變時(shí)結(jié)束計(jì)數(shù),并將值存入規(guī)定的地址,在高電平碼計(jì)數(shù)時(shí),如DPTR高8位計(jì)數(shù)器為非零(寬度大于5.35ms),則判定為結(jié)束幀間隔位,在相應(yīng)存儲(chǔ)單元寫(xiě)入數(shù)據(jù)#OOH作為結(jié)束標(biāo)志。3.5遙控碼發(fā)送處理程序利用計(jì)數(shù)器計(jì)數(shù)中斷功能,實(shí)現(xiàn)40KHz載波的發(fā)送,利用接收時(shí)接收的

12、低電平位時(shí)間控制載波的發(fā)送時(shí)間。3.6主程序主程序在上電初始化后進(jìn)行端口按鍵掃描,當(dāng)確認(rèn)有鍵按下時(shí)將編碼發(fā)出去(見(jiàn)圖3流程圖)。3.7程序延時(shí)主要用于讀鍵時(shí)消抖。時(shí)間約為1ms。4 系統(tǒng)功能調(diào)試及整體指標(biāo)分析4.1 程序調(diào)試調(diào)試學(xué)習(xí)狀態(tài)和發(fā)射狀態(tài)下計(jì)數(shù)器的循環(huán)間隙時(shí)間是C程序中較為重要的內(nèi)容,在匯編語(yǔ)言下可以精確地算出循環(huán)時(shí)間,這樣在C編程時(shí)能在E磁盤(pán)目錄下產(chǎn)生1個(gè)REMOTE.ASM的匯編源程序4,在匯編程序清單中可以精確地算出循環(huán)時(shí)間,這樣才能保證讀入時(shí)的脈寬與發(fā)射時(shí)的脈寬一樣,另外,也可以通過(guò)示波器觀察比對(duì)原遙控器解碼波形及學(xué)習(xí)器產(chǎn)生的波形,結(jié)合調(diào)試循環(huán)延時(shí)的間隔達(dá)到精確還原脈寬的目的。

13、4.2 整體指標(biāo)分析學(xué)習(xí)型遙控器的設(shè)計(jì)性能及實(shí)現(xiàn)與其軟件設(shè)計(jì)編寫(xiě)具有密切的關(guān)系,在設(shè)計(jì)中采用內(nèi)部定時(shí)器對(duì)信號(hào)高低電平計(jì)時(shí)的方法來(lái)采集數(shù)據(jù)并保存。當(dāng)系統(tǒng)識(shí)別到起始碼的低電平時(shí),系統(tǒng)啟動(dòng)內(nèi)部定時(shí)器對(duì)輸入低電平計(jì)時(shí),當(dāng)起始碼的低電平結(jié)束時(shí)保存定時(shí)器此時(shí)的值,記錄下起始碼的低電平信號(hào)脈沖寬度值;然后依次保存采集到的編碼信號(hào)脈沖寬度值,如果采集到編碼信號(hào)位數(shù)大于設(shè)定值M(程序中設(shè)定值),就認(rèn)為編碼采集已經(jīng)結(jié)束,即學(xué)習(xí)子程序結(jié)束。   在軟件設(shè)計(jì)過(guò)程中,使用了2個(gè)外部中斷和2個(gè)內(nèi)部定時(shí)器,外部中斷0啟動(dòng)定時(shí)器0停止定時(shí)器1計(jì)數(shù)并保存定時(shí)器1的數(shù)據(jù),外部中斷1啟動(dòng)定時(shí)器1停止定時(shí)器0計(jì)數(shù)

14、并保存定時(shí)器0的數(shù)據(jù),用定時(shí)器0記錄紅外解調(diào)信號(hào)的高電平時(shí)長(zhǎng)。用定時(shí)器1記錄紅外解調(diào)信號(hào)的低電平時(shí)長(zhǎng),本文采用12 MHz晶振,1個(gè)機(jī)器周期是1 s,計(jì)數(shù)器采用16位計(jì)數(shù)器。如果在外部中斷0和外部中斷1之間不發(fā)生內(nèi)部定時(shí)器中斷,可以記錄的最大時(shí)間間隔為65.5 ms;如果在外部中斷0和外部中斷1之間發(fā)生內(nèi)部定時(shí)器中斷則可以記錄的最大時(shí)間間隔是n×65.5 ms,其中n為中斷次數(shù)。其值保存在設(shè)定的數(shù)據(jù)存儲(chǔ)器中,然后寫(xiě)入到外部EPROM存儲(chǔ)器中。發(fā)射過(guò)程再?gòu)耐獠康腅PROM存儲(chǔ)器讀出,通過(guò)用軟件模仿40 kHz載波信號(hào)發(fā)送編碼信息。   在設(shè)計(jì)過(guò)程中研究發(fā)現(xiàn):盡管遙控器存在幀格

15、式多樣、碼型多樣、編碼長(zhǎng)短不同、發(fā)送方式不同等問(wèn)題,但對(duì)于某一個(gè)獨(dú)立的遙控器還是有規(guī)律可依的。在系統(tǒng)設(shè)計(jì)方案時(shí),選擇通用性好的就能解決這個(gè)問(wèn)題。例如測(cè)得一款遙控器的1個(gè)命令碼如下:   低電平(有紅外發(fā)送載波)信號(hào)碼時(shí)長(zhǎng)數(shù)據(jù)是:   0x7368 0x0578 0x0577 0x0563 0x0555 0x0584 0x0564 0x0545 0x0572 0x0554   高電平(無(wú)紅外發(fā)送載波)信號(hào)碼時(shí)長(zhǎng)數(shù)據(jù)是:0x0578 0x1377 0x0563 0x0555 0x1384 0x0564 0x0545 0x1382 0x05

16、54 0x01345   盡管碼型有幀頭、系統(tǒng)碼、操作碼、同步碼、幀間隔碼、幀尾,但不論是低電平(有紅外發(fā)送載波)信號(hào)碼時(shí)長(zhǎng)或是高電平(無(wú)紅外發(fā)送載波)信號(hào)碼時(shí)長(zhǎng)其結(jié)構(gòu)都相對(duì)簡(jiǎn)單。但是1個(gè)幀如此多的數(shù)據(jù)占據(jù)了大量的內(nèi)存空間,增加了硬件成本和程序運(yùn)行時(shí)間,有必要在數(shù)據(jù)分析的基礎(chǔ)上采取數(shù)據(jù)壓縮。   數(shù)據(jù)壓縮根據(jù)使用場(chǎng)合和要求的不同分有損和無(wú)損壓縮。為了在數(shù)據(jù)發(fā)送時(shí)準(zhǔn)確再現(xiàn)接收到的紅外數(shù)據(jù),本文采用無(wú)損壓縮的方法,使用的編碼方式是改進(jìn)型的游程編碼,根據(jù)游程編碼的原理,游程長(zhǎng)度(游程或游長(zhǎng))RL(Run-Length)指的是由信號(hào)采樣值構(gòu)成的數(shù)據(jù)流中各個(gè)數(shù)據(jù)重

17、復(fù)重現(xiàn)的長(zhǎng)度,只要給出重復(fù)的數(shù)據(jù)、數(shù)據(jù)長(zhǎng)度和位置就可以恢復(fù)原來(lái)的數(shù)據(jù)流2-3。其具體實(shí)現(xiàn)過(guò)程如下:   (1)在接收紅外信號(hào)時(shí)分別按高電平和低電平不同的時(shí)間長(zhǎng)度編號(hào)(時(shí)間長(zhǎng)度規(guī)定一定的誤差范圍) 2,每1次測(cè)得的數(shù)據(jù)根據(jù)電平持續(xù)時(shí)間記錄其編號(hào),再將同編號(hào)的數(shù)據(jù)相加求平均值作為標(biāo)準(zhǔn)時(shí)間長(zhǎng)度,根據(jù)紅外信號(hào)格式的不同,可以選擇4 bit壓縮方式和2 bit壓縮方式,即壓縮比達(dá)到1/4和1/8。在接收紅外數(shù)據(jù)時(shí)采用的是中斷方式,不占用過(guò)多的CPU時(shí)間,還可以一邊學(xué)習(xí)一邊存入EPROM以達(dá)到節(jié)省內(nèi)存空間的目的。   將上述遙控器的1個(gè)命令碼(其中紅外編碼長(zhǎng)度為15

18、0 bit,壓縮比為1/8)的數(shù)據(jù)存儲(chǔ)在EPROM中的數(shù)據(jù)格式如下:   01100101(共10個(gè)字節(jié)低電平數(shù)據(jù));11010101(共10個(gè)字節(jié)高電平數(shù)據(jù));0x96(字節(jié)總長(zhǎng)度);0x1377 0x0560 0x0572 0x370(4個(gè)不同的時(shí)長(zhǎng));   (2)發(fā)送紅外數(shù)據(jù)時(shí),先從EPROM中讀出字節(jié)總長(zhǎng)度、4個(gè)不同的時(shí)長(zhǎng)及部分高低電平數(shù)據(jù),在發(fā)送高電平時(shí)(即不發(fā)送紅外載波信號(hào))且時(shí)長(zhǎng)大于1 ms,再讀EPROM數(shù)據(jù),這樣更可以節(jié)省內(nèi)存空間。單鍵學(xué)習(xí)型遙控器可以學(xué)習(xí)任何遙控器的某個(gè)按鍵功能,采用最小化應(yīng)用模式設(shè)計(jì),電路簡(jiǎn)單,可靠性高,尤其是通過(guò)大

19、量不同遙控碼的特征分析,在遙控碼的讀入時(shí)選擇了最佳采樣頻率,使遙控碼的學(xué)習(xí)成功率大大提高,其技術(shù)可應(yīng)用于多媒體教室、家庭集中控制器等設(shè)備。使用時(shí)先按一下K,待綠色指示燈亮后,用遙控器對(duì)著紅外接收頭,按一下某個(gè)功能按鍵 ,當(dāng)綠燈滅且紅燈亮?xí)r說(shuō)明學(xué)習(xí)完成,按發(fā)射鍵就可以進(jìn)行遙控了。5詳細(xì)儀器清單表格儀器清單儀器名稱(chēng)數(shù)量STC89C521電阻(1k)6電阻(10R)1發(fā)光二極管(紅)1發(fā)光二極管(綠)1紅外接收頭1紅外發(fā)射二極管1電容(33pf)2電容(104pf)1三極管(9015)3晶振(12Mhz)1按鈕開(kāi)關(guān)3Lcd160216總結(jié)、思考與致謝本系統(tǒng)是以單片機(jī)STC89C52芯片為核心部件,實(shí)

20、現(xiàn)遙控器學(xué)習(xí)并記憶按鈕遙控功能。此次在軟件上是花費(fèi)時(shí)間最多的,我們上網(wǎng)找資料,上圖書(shū)館,盡可能的了解有關(guān)于學(xué)習(xí)型遙控器這方面的知識(shí)。通過(guò)這次畢業(yè)設(shè)計(jì),使我得到了一次用專(zhuān)業(yè)知識(shí)、專(zhuān)業(yè)技能分析和解決問(wèn)題全面系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開(kāi)發(fā)過(guò)程,以及在常用編程設(shè)計(jì)思路技巧(特別是匯編語(yǔ)言)的掌握方面都能向前邁了一大步。通過(guò)本次畢業(yè)設(shè)計(jì),我們獲得了豐富的理論知識(shí),極大地提高了實(shí)踐能力,單片機(jī)領(lǐng)域這對(duì)我們今后進(jìn)一步學(xué)習(xí)計(jì)算機(jī)方面的知識(shí)有極大的幫助。同時(shí),因?yàn)閷W(xué)習(xí)知識(shí)的能力和時(shí)間有限,因此在本次的課程設(shè)計(jì)過(guò)程中,難免存在錯(cuò)誤,懇請(qǐng)老師給以批評(píng)和指正,在此,衷心感謝老師以及許多同學(xué)的指

21、導(dǎo)和支持。參考文獻(xiàn)1 沈紅衛(wèi)編著.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)實(shí)例與分析M.北京:北京航空航天大學(xué)出版社,20022 朱定華,戴汝平編著.單片微機(jī)原理與應(yīng)用M.北京:清華大學(xué)出版社,20033 胡漢才編著.單片機(jī)原理及接口技術(shù)M.北京:清華大學(xué)出版社,20044 譚浩強(qiáng)編著.C程序設(shè)計(jì)(第三版)M.北京:清華大學(xué)出版社,20055 樓然苗,李光飛編著.單片機(jī)課程設(shè)計(jì)指導(dǎo)M.北京:北京航空航天大學(xué)出版社,2007附錄1:?jiǎn)捂I學(xué)習(xí)型紅外遙控器原理圖(proteus仿真):另:在單鍵遙控的基礎(chǔ)上,添加了lcd1602液晶顯示的拓展。給元器件上電后,lcd1602會(huì)顯示預(yù)設(shè)的字幕(字幕根據(jù)需要可自行設(shè)計(jì)),按下

22、學(xué)習(xí)鍵后,等候?qū)W習(xí)遙控器發(fā)射的紅外編碼,學(xué)習(xí)成功后,字幕自動(dòng)變換成另外的字幕(也是預(yù)設(shè)的字幕)。其中l(wèi)cd1602引腳連線(xiàn)如下proteus仿真圖所示:附錄2:?jiǎn)纹瑱C(jī)匯編程序:/*學(xué)習(xí)型紅外遙控器匯編程序(包括lcd1602顯示)*/LCDINIT1:MOV A,#01H ;清屏 LCALL BUSY LCALL WRTCLCALL DELAY0MOV A,#01H ;清屏 LCALL BUSY LCALL WRTC LCALL DELAY0 ;延時(shí)15ms LCALL DELAY0 LCALL DELAY0 MOV A,#38H ;顯示模式設(shè)置(8位數(shù)據(jù)線(xiàn),16*2 5*7點(diǎn)陣) LCALL

23、 WRTC LCALL DELAY0 ;延時(shí)5ms MOV A,#38H LCALL BUSY LCALL WRTC MOV A,#08H LCALL BUSY LCALL WRTC MOV A,#01H ;清屏 LCALL BUSY LCALL WRTC MOV A,#06H ;顯示光標(biāo)移動(dòng)設(shè)置 LCALL BUSY LCALL WRTC MOV A,#0CH ;示開(kāi)關(guān)控制,顯示開(kāi),無(wú)光標(biāo),不閃爍。 LCALL BUSY LCALL WRTC MOV A,#0EH ;寫(xiě)CGRAM地址. LCALL BUSY LCALL WRTCMOV R2,#0FH MOV DPTR,#TAB5;寫(xiě)CGRA

24、M字模. LCALL BUSY LCALL WRTDRETDELAY4:MOV R3,#20 ; 延時(shí)0.2秒LCDMAIN1:MOV A,#0C0H ;顯示開(kāi)及光標(biāo)設(shè)置 LCALL BUSY LCALL WRTC MOV R2,#08H MOV DPTR,#TAB6 LCALL DELAY0 LCALL WRTD LCALL DELAY01 LCALL DELAY01 LCALL FLASH MOV A,#80H ;顯示開(kāi)及光標(biāo)設(shè)置 LCALL BUSY LCALL WRTC MOV R2,#0FH MOV DPTR,#TAB5 LCALL DELAY0 LCALL WRTD LCALL D

25、ELAY01 LCALL DELAY01RET LCDINIT: LCALL DELAY0 ;延時(shí)15ms LCALL DELAY0 LCALL DELAY0 MOV A,#38H ;顯示模式設(shè)置(8位數(shù)據(jù)線(xiàn),16*2 5*7點(diǎn)陣) LCALL WRTC LCALL DELAY0 ;延時(shí)5ms MOV A,#38H LCALL BUSY LCALL WRTC MOV A,#08H LCALL BUSY LCALL WRTC MOV A,#01H ;清屏 LCALL BUSY LCALL WRTC MOV A,#06H ;顯示光標(biāo)移動(dòng)設(shè)置 LCALL BUSY LCALL WRTC MOV A,

26、#0CH ;示開(kāi)關(guān)控制,顯示開(kāi),無(wú)光標(biāo),不閃爍。 LCALL BUSY LCALL WRTC MOV A,#40H ;寫(xiě)CGRAM地址. LCALL BUSY LCALL WRTC MOV R2,#40H MOV DPTR,#TAB3;寫(xiě)CGRAM字模. LCALL BUSY LCALL WRTD ;*初始化* LCDMAIN: MOV A,#80H ;顯示開(kāi)及光標(biāo)設(shè)置 LCALL BUSY LCALL WRTC MOV R2,#04H MOV DPTR,#TAB1 LCALL DELAY0 LCALL WRTD MOV A,#0C0H ;顯示開(kāi)及光標(biāo)設(shè)置 LCALL BUSY LCALL W

27、RTC MOV R2,#04H MOV DPTR,#TAB2 LCALL DELAY0 LCALL WRTD LCALL DELAY01 LCALL DELAY01 MOV A,#01H ;清屏 LCALL BUSY LCALL WRTC MOV A,#80H ;顯示開(kāi)及光標(biāo)設(shè)置 LCALL BUSY LCALL WRTC MOV R2,#0CH MOV DPTR,#TAB4 LCALL DELAY0 LCALL WRTD LCALL DELAY01 LCALL DELAY01 MOV A,#0c4H ;顯示開(kāi)及光標(biāo)設(shè)置 LCALL BUSY LCALL WRTC MOV R2,#08H MO

28、V DPTR,#TAB7 LCALL DELAY0 LCALL WRTD LCALL DELAY01 LCALL DELAY01 RET ;*寫(xiě)命令子程序* WRTC: CLR RS CLR RW CLR E MOV P0,A LCALL DELAY0 ;延時(shí)5ms SETB E LCALL DELAY0 ;延時(shí)5ms CLR E RET ;*寫(xiě)數(shù)據(jù)子程序* WRTD: MOV R1,#00H AGAIN: MOV A,R1 MOVC A,A+DPTR SETB RS CLR RW CLR E MOV P0,A LCALL DELAY0 SETB E LCALL DELAY0 CLR E IN

29、C R1 MOV A,R1 MOV B,R2 ;數(shù)據(jù)寫(xiě)完沒(méi)有. CJNE A,B,AGAIN RET ;*判忙子程序* BUSY: PUSH ACC CLR RS SETB RW TT0: SETB E MOV A,P0 CLR E ANL A,#80H JNZ TT0 POP ACC RET TAB1: DB 00H,01H,02H,03H TAB2: DB 04H,05H,06H,07H TAB3: DB 03H,07H,0fH,1FH,1FH,1FH,1FH,1FH DB 18H,1EH,1FH,1FH,1FH,1FH,1FH,1FH DB 07H,1FH,1FH,1FH,1FH,1FH,1FH,1FH DB 10H,18H,1cH,1EH,1EH,1EH,1EH,1EH DB 0FH,07H,03H,01H,00H,00H,00H,00H DB 1fH,1FH,1FH,1FH,1FH,

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論