




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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é)院電子開放實(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源程序:1217學(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)綠燈滅說明學(xué)習(xí)完畢,再按發(fā)射鍵就可以進(jìn)行遙控操作。當(dāng)紅外遙控器的某個(gè)按鍵按下時(shí),發(fā)射出一組串行二進(jìn)制遙控編碼脈沖。該脈沖由引導(dǎo)碼、系統(tǒng)
3、碼、功能碼和反碼組成,通過設(shè)置這些編碼以及碼長(zhǎng)便可區(qū)分不同的紅外遙控器。紅外接收器負(fù)責(zé)紅外信號(hào)的接收和放大并解調(diào)出ttl電平信號(hào)送至微處理器進(jìn)行處理,微處理器通過比較和識(shí)別接收來的紅外遙控編碼便可執(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)上,最后,通過三極管放大電路驅(qū)動(dòng)紅外發(fā)光二極管發(fā)射紅外信號(hào),達(dá)到學(xué)習(xí)和發(fā)射的目的,從而實(shí)現(xiàn)一個(gè)遙控器控制多種紅外遙控設(shè)備
4、。2 方案論證與對(duì)比2.1 方案一 簡(jiǎn)易紅外遙控電路在不需要多路控制的應(yīng)用場(chǎng)合下,可以使用由常規(guī)電路組成的單通道紅外遙控電路1。這中遙控電路不需要使用較貴的專用便譯碼器,因此成本較低。產(chǎn)生震蕩頻率紅外發(fā)射紅外接收解調(diào)控制受控電器 圖 1方案一系統(tǒng)方框圖考慮到本方案電路是簡(jiǎn)單的單通道控制器,可直接產(chǎn)生一個(gè)控制功能的震蕩頻率,再通過紅外發(fā)光二極管發(fā)射出去。當(dāng)紅外接收頭接收到控制頻率時(shí),由一個(gè)電路對(duì)其進(jìn)行產(chǎn)生相應(yīng)的控制功能。2.2 方案二 利用stc89c52單片機(jī)控制電路用單片機(jī)制作一個(gè)紅外遙控器,并可通過程序控制記憶按鍵功能,達(dá)到學(xué)習(xí)記憶功能。控制器stc89c52紅外線發(fā)射電路紅外線接收解碼器
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ī),功能過于單一,僅能對(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)具有紅外線的接收解碼
6、、紅外線的調(diào)制發(fā)射、操作按鍵和功能控制單元。由于功能定位學(xué)習(xí)一個(gè)遙控按鍵的遙控的功能,因此決定采用stc89c52rc單片機(jī)作為控制器。stc89c52rc單片機(jī)中具有256字節(jié)的內(nèi)存單元,可存儲(chǔ)遙控碼脈寬的數(shù)據(jù)。遙控碼的脈寬數(shù)據(jù)可以用紅外線接收解碼后送單片機(jī)讀入,發(fā)射時(shí)由單片機(jī)產(chǎn)生40khz紅外調(diào)制信號(hào)送紅外線發(fā)管發(fā)射。學(xué)習(xí)型紅外遙控器由紅外接收電路、單片機(jī)控制器、紅外發(fā)送電路、eprom存儲(chǔ)器、操作鍵盤及l(fā)ed遙控指示燈構(gòu)成,如圖2所示。單片機(jī)stc89c52構(gòu)成紅外遙控的處理器,其數(shù)據(jù)存儲(chǔ)器ram(258b)用來存儲(chǔ)學(xué)習(xí)過程中編碼信號(hào)的脈沖寬度和編碼。 (1)紅外發(fā)射電路5:40 khz
7、方波直接由單片機(jī)模擬產(chǎn)生,經(jīng)過三極管放大后,驅(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í)中斷處理過程(如保護(hù)現(xiàn)場(chǎng)等)實(shí)際運(yùn)行時(shí)間根據(jù)中斷點(diǎn)的不同需要的時(shí)間也不同,有時(shí)會(huì)大于8 s,這樣不能保證40 khz信號(hào)的穩(wěn)定性),在軟件處理過程中應(yīng)用延時(shí)程序模仿40 khz的紅外載波信號(hào)。(2)紅外接收頭:在與單片機(jī)連接時(shí),將接收來的紅外遙控信號(hào)反相,其正向信號(hào)接外部中斷0,反相信號(hào)接外部中斷1。通過記錄2個(gè)中斷間的間隔時(shí)間來測(cè)量紅外遙控信號(hào)的高低
8、電平的脈寬值。(3)外接e prom存儲(chǔ)器:用于存放學(xué)習(xí)到的控制命令的編碼和高低電平信號(hào)的 脈寬值。(4)按鍵盤:?jiǎn)?dòng)一個(gè)學(xué)習(xí)過程。(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上電復(fù)位電路,第12腳為中斷輸入口,用于工作方式的轉(zhuǎn)換控制,當(dāng)腳為低電平時(shí),系統(tǒng)進(jìn)入學(xué)習(xí)狀態(tài)。第14腳用于紅外線接收頭的輸出信號(hào)輸入
9、,第15腳作為遙控碼的輸出口,用于輸出40khz的遙控碼。第18、19腳接12mhz晶振。由于采用最小化應(yīng)用系統(tǒng),控制線(片外取指控制)、ale(地址鎖存控制)不用,(片外存儲(chǔ)器選擇)接高電平,使低8k的e2prom地址(0000h1fffh)指向片內(nèi)。3.3初始化程序內(nèi)容包括p0、p1、p3端口置位,p2口清零,清08h6eh共103個(gè)工作寄存器,設(shè)置堆棧基址(70h),設(shè)置計(jì)數(shù)器計(jì)數(shù)模式、控制字,開外中斷允許等等。3.4遙控器讀入程序處理完成遙控碼起始位的識(shí)別、脈寬計(jì)數(shù)功能,完成遙控碼編碼位的寬度計(jì)數(shù)功能,完成結(jié)束位的認(rèn)別功能(流程圖見圖3)。本程序模塊在編程設(shè)計(jì)中非常重要,通過大量的不同
10、種類的遙控碼波形實(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ù)器為非零,則說明高電平寬度超過5.35ms(25521s),緊接來的低電平碼就是起始位,否則重新開始。圖3 遙控碼讀入處理程序流程圖起始位?nyyn存編碼位讀碼準(zhǔn)備存起始位學(xué)習(xí)狀態(tài)結(jié)束位?中斷退出中斷開始y鍵按下?n初始化鍵盤掃描編碼發(fā)送圖4 主程序流程圖開始讀起始位方法3:采用16位dptr對(duì)低電平進(jìn)行寬度
11、計(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ǔ)單元寫入數(shù)據(jù)#ooh作為結(jié)束標(biāo)志。3.5遙控碼發(fā)送處理程序利用計(jì)數(shù)器計(jì)數(shù)中斷功能,實(shí)現(xiàn)40khz載波的發(fā)送,利用接收時(shí)接收的低電平位時(shí)間控制載波的發(fā)送時(shí)間。3.6主程序主程序在上電初始化后進(jìn)行端口按鍵掃描,當(dāng)確認(rèn)有鍵按下時(shí)將編碼發(fā)出去(見圖3流程圖)。3.7程序延
12、時(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)容,在匯編語言下可以精確地算出循環(huán)時(shí)間,這樣在c編程時(shí)能在e磁盤目錄下產(chǎn)生1個(gè)remote.asm的匯編源程序4,在匯編程序清單中可以精確地算出循環(huán)時(shí)間,這樣才能保證讀入時(shí)的脈寬與發(fā)射時(shí)的脈寬一樣,另外,也可以通過示波器觀察比對(duì)原遙控器解碼波形及學(xué)習(xí)器產(chǎn)生的波形,結(jié)合調(diào)試循環(huán)延時(shí)的間隔達(dá)到精確還原脈寬的目的。4.2 整體指標(biāo)分析學(xué)習(xí)型遙控器的設(shè)計(jì)性能及實(shí)現(xiàn)與其軟件設(shè)計(jì)編寫具有密切的關(guān)系,在設(shè)計(jì)中采用內(nèi)部定時(shí)器對(duì)信號(hào)高低電平計(jì)時(shí)的方法來采集數(shù)據(jù)并保
13、存。當(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ì)過程中,使用了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ù)并保存定時(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
14、位計(jì)數(shù)器。如果在外部中斷0和外部中斷1之間不發(fā)生內(nèi)部定時(shí)器中斷,可以記錄的最大時(shí)間間隔為65.5 ms;如果在外部中斷0和外部中斷1之間發(fā)生內(nèi)部定時(shí)器中斷則可以記錄的最大時(shí)間間隔是n65.5 ms,其中n為中斷次數(shù)。其值保存在設(shè)定的數(shù)據(jù)存儲(chǔ)器中,然后寫入到外部eprom存儲(chǔ)器中。發(fā)射過程再?gòu)耐獠康膃prom存儲(chǔ)器讀出,通過用軟件模仿40 khz載波信號(hào)發(fā)送編碼信息。 在設(shè)計(jì)過程中研究發(fā)現(xiàn):盡管遙控器存在幀格式多樣、碼型多樣、編碼長(zhǎng)短不同、發(fā)送方式不同等問題,但對(duì)于某一個(gè)獨(dú)立的遙控器還是有規(guī)律可依的。在系統(tǒng)設(shè)計(jì)方案時(shí),選擇通用性好的就能解決這個(gè)問題。例如測(cè)得一款遙控器的1個(gè)命令碼如下: 低電平(
15、有紅外發(fā)送載波)信號(hào)碼時(shí)長(zhǎng)數(shù)據(jù)是: 0x7368 0x0578 0x0577 0x0563 0x0555 0x0584 0x0564 0x0545 0x0572 0x0554 高電平(無紅外發(fā)送載波)信號(hào)碼時(shí)長(zhǎng)數(shù)據(jù)是:0x0578 0x1377 0x0563 0x0555 0x1384 0x0564 0x0545 0x1382 0x0554 0x01345 盡管碼型有幀頭、系統(tǒng)碼、操作碼、同步碼、幀間隔碼、幀尾,但不論是低電平(有紅外發(fā)送載波)信號(hào)碼時(shí)長(zhǎng)或是高電平(無紅外發(fā)送載波)信號(hào)碼時(shí)長(zhǎng)其結(jié)構(gòu)都相對(duì)簡(jiǎn)單。但是1個(gè)幀如此多的數(shù)據(jù)占據(jù)了大量的內(nèi)存空間,增加了硬件成本和程序運(yùn)行時(shí)間,有必要在數(shù)據(jù)
16、分析的基礎(chǔ)上采取數(shù)據(jù)壓縮。 數(shù)據(jù)壓縮根據(jù)使用場(chǎng)合和要求的不同分有損和無損壓縮。為了在數(shù)據(jù)發(fā)送時(shí)準(zhǔn)確再現(xiàn)接收到的紅外數(shù)據(jù),本文采用無損壓縮的方法,使用的編碼方式是改進(jìn)型的游程編碼,根據(jù)游程編碼的原理,游程長(zhǎng)度(游程或游長(zhǎng))rl(run-length)指的是由信號(hào)采樣值構(gòu)成的數(shù)據(jù)流中各個(gè)數(shù)據(jù)重復(fù)重現(xiàn)的長(zhǎng)度,只要給出重復(fù)的數(shù)據(jù)、數(shù)據(jù)長(zhǎng)度和位置就可以恢復(fù)原來的數(shù)據(jù)流2-3。其具體實(shí)現(xiàn)過程如下: (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)格式的不同,
17、可以選擇4 bit壓縮方式和2 bit壓縮方式,即壓縮比達(dá)到1/4和1/8。在接收紅外數(shù)據(jù)時(shí)采用的是中斷方式,不占用過多的cpu時(shí)間,還可以一邊學(xué)習(xí)一邊存入eprom以達(dá)到節(jié)省內(nèi)存空間的目的。 將上述遙控器的1個(gè)命令碼(其中紅外編碼長(zhǎng)度為150 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í)
18、(即不發(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)單,可靠性高,尤其是通過大量不同遙控碼的特征分析,在遙控碼的讀入時(shí)選擇了最佳采樣頻率,使遙控碼的學(xué)習(xí)成功率大大提高,其技術(shù)可應(yīng)用于多媒體教室、家庭集中控制器等設(shè)備。使用時(shí)先按一下k,待綠色指示燈亮后,用遙控器對(duì)著紅外接收頭,按一下某個(gè)功能按鍵 ,當(dāng)綠燈滅且紅燈亮?xí)r說明學(xué)習(xí)完成,按發(fā)射鍵就可以進(jìn)行遙控了。5詳細(xì)儀器清單表格儀器清單儀器名稱數(shù)量stc89c521電阻(1k)6電阻(10r)1發(fā)光二極管(紅)1發(fā)光二極管(綠)1紅外接
19、收頭1紅外發(fā)射二極管1電容(33pf)2電容(104pf)1三極管(9015)3晶振(12mhz)1按鈕開關(guān)3lcd160216總結(jié)、思考與致謝本系統(tǒng)是以單片機(jī)stc89c52芯片為核心部件,實(shí)現(xiàn)遙控器學(xué)習(xí)并記憶按鈕遙控功能。此次在軟件上是花費(fèi)時(shí)間最多的,我們上網(wǎng)找資料,上圖書館,盡可能的了解有關(guān)于學(xué)習(xí)型遙控器這方面的知識(shí)。通過這次畢業(yè)設(shè)計(jì),使我得到了一次用專業(yè)知識(shí)、專業(yè)技能分析和解決問題全面系統(tǒng)的鍛煉。使我在單片機(jī)的基本原理、單片機(jī)應(yīng)用系統(tǒng)開發(fā)過程,以及在常用編程設(shè)計(jì)思路技巧(特別是匯編語言)的掌握方面都能向前邁了一大步。通過本次畢業(yè)設(shè)計(jì),我們獲得了豐富的理論知識(shí),極大地提高了實(shí)踐能力,單片
20、機(jī)領(lǐng)域這對(duì)我們今后進(jìn)一步學(xué)習(xí)計(jì)算機(jī)方面的知識(shí)有極大的幫助。同時(shí),因?yàn)閷W(xué)習(xí)知識(shí)的能力和時(shí)間有限,因此在本次的課程設(shè)計(jì)過程中,難免存在錯(cuò)誤,懇請(qǐng)老師給以批評(píng)和指正,在此,衷心感謝老師以及許多同學(xué)的指導(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附
21、錄1:?jiǎn)捂I學(xué)習(xí)型紅外遙控器原理圖(proteus仿真):另:在單鍵遙控的基礎(chǔ)上,添加了lcd1602液晶顯示的拓展。給元器件上電后,lcd1602會(huì)顯示預(yù)設(shè)的字幕(字幕根據(jù)需要可自行設(shè)計(jì)),按下學(xué)習(xí)鍵后,等候?qū)W習(xí)遙控器發(fā)射的紅外編碼,學(xué)習(xí)成功后,字幕自動(dòng)變換成另外的字幕(也是預(yù)設(shè)的字幕)。其中l(wèi)cd1602引腳連線如下proteus仿真圖所示:附錄2:?jiǎn)纹瑱C(jī)匯編程序:/*學(xué)習(xí)型紅外遙控器匯編程序(包括lcd1602顯示)*/lcdinit1:mov a,#01h ;清屏 lcall busy lcall wrtclcall delay0mov a,#01h ;清屏 lcall busy lca
22、ll wrtc lcall delay0 ;延時(shí)15ms lcall delay0 lcall delay0 mov a,#38h ;顯示模式設(shè)置(8位數(shù)據(jù)線,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,#0ch ;示開關(guān)控制,顯示開,無光標(biāo),不閃爍。
23、lcall busy lcall wrtc mov a,#0eh ;寫cgram地址. lcall busy lcall wrtcmov r2,#0fh mov dptr,#tab5;寫cgram字模. lcall busy lcall wrtdretdelay4:mov r3,#20 ; 延時(shí)0.2秒lcdmain1:mov a,#0c0h ;顯示開及光標(biāo)設(shè)置 lcall busy lcall wrtc mov r2,#08h mov dptr,#tab6 lcall delay0 lcall wrtd lcall delay01 lcall delay01 lcall flash mov
24、a,#80h ;顯示開及光標(biāo)設(shè)置 lcall busy lcall wrtc mov r2,#0fh mov dptr,#tab5 lcall delay0 lcall wrtd lcall delay01 lcall delay01ret lcdinit: lcall delay0 ;延時(shí)15ms lcall delay0 lcall delay0 mov a,#38h ;顯示模式設(shè)置(8位數(shù)據(jù)線,16*2 5*7點(diǎn)陣) lcall wrtc lcall delay0 ;延時(shí)5ms mov a,#38h lcall busy lcall wrtc mov a,#08h lcall busy
25、lcall wrtc mov a,#01h ;清屏 lcall busy lcall wrtc mov a,#06h ;顯示光標(biāo)移動(dòng)設(shè)置 lcall busy lcall wrtc mov a,#0ch ;示開關(guān)控制,顯示開,無光標(biāo),不閃爍。 lcall busy lcall wrtc mov a,#40h ;寫cgram地址. lcall busy lcall wrtc mov r2,#40h mov dptr,#tab3;寫cgram字模. lcall busy lcall wrtd ;*初始化* lcdmain: mov a,#80h ;顯示開及光標(biāo)設(shè)置 lcall busy lcall
26、 wrtc mov r2,#04h mov dptr,#tab1 lcall delay0 lcall wrtd mov a,#0c0h ;顯示開及光標(biāo)設(shè)置 lcall busy lcall wrtc mov r2,#04h mov dptr,#tab2 lcall delay0 lcall wrtd lcall delay01 lcall delay01 mov a,#01h ;清屏 lcall busy lcall wrtc mov a,#80h ;顯示開及光標(biāo)設(shè)置 lcall busy lcall wrtc mov r2,#0ch mov dptr,#tab4 lcall delay0
27、lcall wrtd lcall delay01 lcall delay01 mov a,#0c4h ;顯示開及光標(biāo)設(shè)置 lcall busy lcall wrtc mov r2,#08h mov dptr,#tab7 lcall delay0 lcall wrtd lcall delay01 lcall delay01 ret ;*寫命令子程序* wrtc: clr rs clr rw clr e mov p0,a lcall delay0 ;延時(shí)5ms setb e lcall delay0 ;延時(shí)5ms clr e ret ;*寫數(shù)據(jù)子程序* wrtd: mov r1,#00h agai
28、n: mov a,r1 movc a,a+dptr setb rs clr rw clr e mov p0,a lcall delay0 setb e lcall delay0 clr e inc r1 mov a,r1 mov b,r2 ;數(shù)據(jù)寫完沒有. 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,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 昆明冶金高等專科學(xué)校《跨文化商務(wù)溝通》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西信息職業(yè)技術(shù)學(xué)院《大數(shù)據(jù)分析與可視化》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川音樂學(xué)院《GIS應(yīng)用開發(fā)》2023-2024學(xué)年第二學(xué)期期末試卷
- 山西臨汾霍州三中重點(diǎn)中學(xué)2025年新中考數(shù)學(xué)試題一輪復(fù)習(xí)專題跟蹤檢測(cè)試題含解析
- 內(nèi)蒙古自治區(qū)通遼市2025年中考全真模擬(三)語文試題含解析
- 寧夏大學(xué)新華學(xué)院《幼兒園教育案例分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 內(nèi)蒙古醫(yī)科大學(xué)《水工鋼筋混凝土結(jié)構(gòu)及鋼結(jié)構(gòu)》2023-2024學(xué)年第二學(xué)期期末試卷
- 教育培訓(xùn)場(chǎng)地租賃合同書
- 合伙轉(zhuǎn)讓協(xié)議書二零二五年
- 二零二五版辦公室硬裝裝修協(xié)議書模板
- 《尋找消失的分?jǐn)?shù)》期中考試分析班會(huì)課件
- 2025年廣東省深圳市31校聯(lián)考中考二模歷史試題(原卷版+解析版)
- 煙草公司辦公樓物業(yè)服務(wù)方案
- 2024年全國(guó)教育大會(huì)精神全文課件
- 2024年大亞灣城投人居科技集團(tuán)招聘筆試沖刺題(帶答案解析)
- DZ∕T 0270-2014 地下水監(jiān)測(cè)井建設(shè)規(guī)范
- 巴基斯坦1X150MW設(shè)備清冊(cè)
- 增值稅銷售貨物或者提供應(yīng)稅勞務(wù)清單(標(biāo)準(zhǔn)模板)
- 醫(yī)用耗材分類目錄 (低值 ╱ 高值)
- competition-model
- 退檔申請(qǐng)書怎樣寫
評(píng)論
0/150
提交評(píng)論