基于51單片機(jī)的無(wú)線通信設(shè)計(jì)_第1頁(yè)
基于51單片機(jī)的無(wú)線通信設(shè)計(jì)_第2頁(yè)
基于51單片機(jī)的無(wú)線通信設(shè)計(jì)_第3頁(yè)
基于51單片機(jī)的無(wú)線通信設(shè)計(jì)_第4頁(yè)
基于51單片機(jī)的無(wú)線通信設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、紅外線遙控器設(shè)計(jì)內(nèi)容提要無(wú)線遙控是指利用無(wú)線電波、紅外線、超聲波等作為載體,不用導(dǎo)線, 而在空間傳輸,實(shí)現(xiàn)對(duì)以家用電器為代表的中小型電器的遙控方法,主要 有無(wú)線電遙控和紅外線遙控。紅外光波的波長(zhǎng)遠(yuǎn)小于無(wú)線電波的波長(zhǎng),因 此紅外線遙控信號(hào)不會(huì)影響其它家用電器和鄰近的無(wú)線電設(shè)備;另外,紅 外線遙控不具有無(wú)線電遙控那樣穿透障礙物去控制被控對(duì)象的能力,在設(shè) 計(jì)家用電器的紅外線遙控器時(shí),不必要像無(wú)線電遙控那樣,每套發(fā)射器和 接收器要有不同的遙控頻率或編碼,否則,就會(huì)隔墻控制或干擾鄰居的家 用電器,所有同類產(chǎn)品的紅外線遙控器,可以有相同的遙控頻率或編碼, 而不會(huì)出現(xiàn)遙控信號(hào)“串門”的情況,這對(duì)于大批量生產(chǎn)

2、以及在家用電器 上普及紅外線遙控提供了極大的方便。本設(shè)計(jì)由通用紅外遙控編碼芯片 SC9012 構(gòu)建紅外發(fā)射系統(tǒng), 由89C51單片機(jī)和一體化紅外接收頭構(gòu)建紅外接收系統(tǒng)。關(guān)鍵詞紅外線遙控;紅外線發(fā)射;紅外線接收;單片機(jī)主要內(nèi)容、課程設(shè)計(jì)的目的目前,單片機(jī)已廣泛應(yīng)用到國(guó)民經(jīng)濟(jì)建設(shè)和日常生活的許多領(lǐng)域, 成為測(cè)控技術(shù)現(xiàn)代化必不可少的重要工具。 1、進(jìn)一步熟悉和掌握單片 機(jī)的結(jié)構(gòu)及工作原理。 2、掌握單片機(jī)的接口技術(shù)及相關(guān)外圍芯片的外 特性,控制方法。 3、通過(guò)課程設(shè)計(jì),掌握以單片機(jī)核心的電路設(shè)計(jì)的 基本方法和技術(shù),了解有關(guān)電路參數(shù)的計(jì)算方法。 4、通過(guò)實(shí)際程序設(shè) 計(jì)和調(diào)試,逐步掌握模塊化程序設(shè)計(jì)方法

3、和調(diào)試技術(shù)。5、通過(guò)完成一個(gè)包括電路設(shè)計(jì)和程序開(kāi)發(fā)的完整過(guò)程,使學(xué)生了解開(kāi)發(fā)一單片機(jī)應(yīng)用 系統(tǒng)的全過(guò)程,為今后從事相應(yīng)的工作打下基礎(chǔ)。、設(shè)計(jì)過(guò)程2.1 紅外線遙控系統(tǒng)結(jié)構(gòu)紅外線遙控系統(tǒng)是由發(fā)射端和接收端兩部分組成,如圖C.1和C.2所示。紅外線遙控系統(tǒng)是由發(fā)射端和接收端兩部分組成,紅外線發(fā)射端就是 紅外遙控器,主要包括鍵盤、編碼調(diào)制芯片、紅外線發(fā)射 LED當(dāng)按下某一 按鍵后,遙控器上的編碼調(diào)制芯片便進(jìn)行編碼,并結(jié)合載波電路的載波信 號(hào)而成為合成信號(hào),再經(jīng)紅外線發(fā)射二極管,將紅外線信號(hào)發(fā)射出去。發(fā)射端部分mci紅外線發(fā)射端工作方框圖接收端部分圖紅外線接收端丄作方框圖紅外線接收端主要包括紅外線接收

4、模塊、解碼單片機(jī)。其中紅外線接 收模塊里包括光、電轉(zhuǎn)換放大器、解調(diào)電路。當(dāng)紅外線發(fā)射信號(hào)進(jìn)入接收 模塊后,在其輸出端便可以得到原先的數(shù)字控制編碼,再經(jīng)過(guò)單片機(jī)解碼 程序進(jìn)行解碼,便可以得知按下了哪一按鍵,從而完成紅外線遙控的動(dòng)作。功能說(shuō)明:選用一種電視機(jī)遙控器,再利用接收模塊結(jié)合單片機(jī)解碼, 控制P1端口所接的8個(gè)LED?或滅。因此,8個(gè)LED勺亮或滅的狀態(tài),即是顯 示紅外遙控器的按鍵值。8個(gè)LED®為8位二進(jìn)制數(shù),其中LEE亮視為0, LED滅視為1。2.2單片機(jī)的選用紅外線發(fā)射端采用通用的一種紅外遙控器(芯片SC9012。接收端采用89C51單片機(jī)和一體化紅外接收頭,紅外接收頭只

5、有 3個(gè)引腳:引腳1為數(shù)字信號(hào)輸出端(OUT,引腳2為接地端(GN)引腳3為電源輸入(VCC 紅外接收頭與單片機(jī)連接非常簡(jiǎn)單,只需將信號(hào)輸出端(OUT與單片機(jī)一 個(gè)I/O弓I腳連接(P3.2),然后接上電源即可。單片機(jī)主要用于解碼, P1 端口所接的8個(gè)LED用來(lái)顯示解碼后紅外遙控器的按鍵值。單片機(jī)的 P2.4引 腳通過(guò)限流電阻R與三極管基極相接,三極管的集電極接有蜂鳴器。2.4紅外遙控的解碼問(wèn)題SC901一幀完整的發(fā)射碼是由引導(dǎo)碼、用戶編碼和鍵數(shù)據(jù)碼3部分組成。編碼的格式如圖C.3所示。圖U3紅外線發(fā)射碼格式圖U4逼控碼即波形圖遙控碼“廣 波形團(tuán)引導(dǎo)碼由一個(gè)4.5ms的高電平脈沖及4.5ms

6、的低電平脈沖組成。八位 的用戶編碼被連續(xù)發(fā)送兩次,八位的鍵數(shù)據(jù)碼也被發(fā)送兩次,第一次發(fā)送 的是鍵數(shù)據(jù)碼的原碼,第二次發(fā)送的是鍵數(shù)據(jù)碼的反碼,所以,整個(gè)數(shù)據(jù) 編碼占用32位。數(shù)據(jù)編碼方式是通過(guò)脈寬調(diào)制來(lái)實(shí)現(xiàn)的,以脈寬為0.56ms,間隔為0.56ms,周期為1.125ms的組合表示二進(jìn)制的“ 0”以脈寬為0.56ms,間隔為1.69ms,周期為2.25ms的組合表示二進(jìn)制的“1”其接收端波形如圖0, 56qis1. 125IL50. 56ui5Z 25ms單片機(jī)解碼的關(guān)鍵是如何識(shí)別“0”和“ 1”,從上面遙控碼“0”和“ 1” 的波形圖中可以發(fā)現(xiàn)“ 0”、“ 1”均以0.56ms的低電平開(kāi)始,不

7、同的是高電 平的寬度不同,“0”為0.56ms,“ 1”為1.68ms,即“ 1”的高電平寬度是“0” 的高電平寬度的3倍。如果延時(shí)0.56ms,則讀到的電平為低,說(shuō)明該位為“0”,反之則為“1”?;蛘咴O(shè)計(jì)一精確的延時(shí)時(shí)間,例如以0.093ms延時(shí) 時(shí)間當(dāng)作基礎(chǔ)時(shí)間,以調(diào)用基礎(chǔ)延時(shí)時(shí)間的次數(shù)來(lái)計(jì)數(shù)實(shí)際的波形寬度, 若讀值為6表示波形寬度為0.56ms,若讀值為18則表示波形寬度為 1.68ms,因此,可以直接通過(guò)判斷高電平的寬度的計(jì)數(shù)值是 6或是18,來(lái) 判斷接收的原編碼為0或1。三、設(shè)計(jì)原理圖和流程圖根據(jù)上面的設(shè)計(jì)過(guò)程,繪制的原理圖如下:(201®16H15H14H13H12)11

8、KOQ KO1KOS KOJ KO4 KOS KO6 KO7LMPDOUT VDD NC OSCO OSCI)SC9012從發(fā)射掛示LEDn iKKIO KI1 KI2 KI36455krtz'/55Q910=s LVDD-3Vtj外卻扱曽1紅外線發(fā)送電路管腳說(shuō)明+5VT30P丄12MHz 匚二I30P+5Viouf nVccP1.0Pl.lEAPl.2Pl.3XIPl.4Pl.5X2Pl.6Pl.7P2.4P3.2RSTVss89C51SWR+5V360QX877«z7« ttIOIIR123+5VTSPK管腳號(hào)符號(hào)輸入/輸出功能描述1-4KI0-KI3I鍵打描輸

9、入端(內(nèi)置卜拉電阻)。5Dout0發(fā)射碼輸出管腳。6VDD 電源正端。7NC 空腳。建議在使用時(shí)接電源正端。8osco0振蕩器輸出管腳。9OSCII振蕩器輸入管腳。10Vss 電源接地端。11LMP0輸出LED指示。12-19KO1-KO80鍵打描輸出管腳。20SELI用戶編碼選擇管腳。10紅外線接收電路圖四、編程如下:主要標(biāo)號(hào)說(shuō)明MAIN主程序。IR_IN :解碼子程序。IR_ZX:遙控執(zhí)行子程序。FS_SPK發(fā)聲子程序。DE短暫延時(shí)子程序。DELAY05_R5延時(shí)子程序,總延時(shí)時(shí)間為 0.5ms X R5。DEL用于解碼延時(shí)子程序,延時(shí)時(shí)間為 0.093ms。程序清單匯編語(yǔ)言編寫的 LED

10、 顯示紅外線遙控器按鍵值源程序 IR01.ASM 代碼如下:01 ; 程序名: IR01.ASM02 ; 程序功能:顯示紅外遙控器按鍵值03 ; 程序初始化04 SPK EQU P2.4 ;05 IRIN EQU P3.2 ;06 IRDZ EQU 20H ;07 DZ3 EQU 22H ;08 ;09 MAIN:10 ACALL FS_SPK ;11 SETB IRIN ;IR壓電喇叭信號(hào)輸入位 紅外線 IR 信號(hào)輸入位 解碼數(shù)據(jù)放置起始地址 比較第3字節(jié)主程序輸入位設(shè)置為高電平調(diào)用發(fā)聲子程序( 79),響一聲12 LOOP:13 MOV RO, # IRDZ ; 設(shè)置IR解碼起始地址14

11、ACALL IR_IN ; 調(diào)用解碼子程序( 25),解碼15 ACALL IR_ZX ; 調(diào)用遙控執(zhí)行子程序( 71),執(zhí)行動(dòng)作16 JMP LOOP ; 繼續(xù)循環(huán)執(zhí)行17 ; 解碼子程序18 IR_IN: ; 解碼子程序19 ;確認(rèn)IR信號(hào)出現(xiàn),避開(kāi)9毫秒引導(dǎo)脈沖20 L1: JNB IRIN, L2 ;等待IR信號(hào)出現(xiàn)21 JMP L122 L2: MOV R5,#17 ; 避開(kāi)9毫秒引導(dǎo)脈沖23 ACALL DELAY05_R524 JB IRIN, L1 ;確認(rèn)IR信號(hào)出現(xiàn)25 L3: JB IRIN, L4 ;等IR變?yōu)楦唠娖?6 ACALL DEL ;調(diào)用0.093ms延時(shí)程序2

12、7 JMP L328 L4: MOV R3,#0 ; 8 位計(jì)數(shù)清為029 ;30 ; 避開(kāi)低電平,待直接判斷高電平31 L5: JNB IRIN, L6 ;等IR變?yōu)榈碗娖?2 ACALL DEL ;調(diào)用0.093ms延時(shí)程序33 JMP L534 L6: JB IRIN, L7 ;等IR變?yōu)楦唠娖?5 ACALL DEL ;調(diào)用0.093ms延時(shí)程序36 JMP L637 ;0或138 ;通過(guò)調(diào)用0.093ms延時(shí)次數(shù)的計(jì)數(shù)值來(lái)判斷高電平的寬度,解碼39 L7: MOV R2,#0 ; 0.093ms 計(jì)數(shù)清為 040 L8: ACALL DEL ; 調(diào)用 0.093ms 延時(shí)子程序41

13、JB IRIN, L9 ;等IR變?yōu)楦唠娖?2 ;43 MOV A,#8 ;將A寄存器設(shè)置為844 CLR C ; 清除借位標(biāo)志 C45 SUBB A,R2 ;以減法指令SUBB來(lái)判斷高低位46 MOV A,R0 ; R0直為解碼內(nèi)存地址,即取出內(nèi)存數(shù)據(jù)給 A47 RRC A ;將借位標(biāo)志C右移進(jìn)入A48 MOV R0, A ; 將數(shù)據(jù)寫入內(nèi)存49 INC R3 ; R3 值加1,處理完一位50 CJNE R3,#8,L5 ; 需處理完8位51 ;52 MOV R3,#0 ; 計(jì)數(shù)清053 INC R0 ; R0 值加154 CJNE R0, #23H, L5 ; 收集到4字節(jié)55 JMP L

14、1056 L9: INC R2 ; R2 值加157 CJNE R2, #30, L8 ; 計(jì)數(shù)過(guò)長(zhǎng)離開(kāi)58 L10:59 RET ; 子程序返回60;遙控執(zhí)行子程序61 IR_ZX: ; 遙控執(zhí)行子程序62 MOV A, DZ3 ; 將第 3字節(jié)數(shù)據(jù)賦予 A63 MOV P1, A ; 顯示二進(jìn)制按鍵值64 ACALL FS_SPK ; 調(diào)用發(fā)聲子程序,響一聲65 RET66 ; 發(fā)聲子程序67 FS_SPK: ; 發(fā)聲子程序68 MOV R6, #069 B1: ACALL DE70 CPL SPK71 DJNZ R6, B172 MOV R5, #10073 ACALL DELAY05_

15、R574 RET75 ; 短暫延時(shí)子程序76 DE: ; 短暫延時(shí)子程序77 MOV R7, #18078 DE1: NOP79 DJNZ R7, DE180 RET81 ; 延時(shí)子程序82 DELAY05_R5: ; 延時(shí)子程序,總延時(shí)時(shí)間為 0.5ms*R583 MOV R6, #584 D1: MOV R7, #1085 DJNZ R7, $86 DJNZ R6, D187 DJNZ R5, DELAY05_R588 RET89 ; 解 碼 延時(shí)子程序90 DEL: ; 用于解碼延時(shí)子程序,延時(shí)為 0.093ms91 MOV R7, #2292 E1: NOP93 NOP94 DJNZ

16、R7, E195 RET96 ;97 END ; 程序結(jié)束C.1.4 代碼詳解0407:為程序初始化部分。04: P2.4為壓電喇叭信號(hào)輸入位,并設(shè)定 P2.4以SPK表示。05: P3.2為紅外線IR信號(hào)輸入位,并設(shè)定P3.2以IRIN表示。06: 20H為解碼數(shù)據(jù)放置起始地址,并設(shè)定起始地址 20H以IRDZ表示。解碼數(shù)據(jù)一共需要占用4字節(jié),即20H 21H 22H 23耳 其中20H 和21H單元放置用戶編碼,22H單元放置按鍵數(shù)據(jù)編碼,23H單元放置按 鍵數(shù)據(jù)碼的反碼。07: 22H單元放置的是按鍵數(shù)據(jù)編碼,并設(shè)定 22H單元以DZ3表示。14 21 :為主程序部分。10:調(diào)用FS_S

17、PK發(fā)聲子程序,響一聲,表示紅外線接收開(kāi)始工作。11 :將紅外線信號(hào)輸入位設(shè)置為高電平。12:循環(huán)開(kāi)始。13:將20H賦給寄存器R0,設(shè)置紅外線解碼起始地址。14:調(diào)用 IR_IN 解碼子程序,將接收到的紅外線遙控器信號(hào)進(jìn)行解碼。15:調(diào)用 IR_ZX 遙控執(zhí)行子程序,將解碼后的按鍵值由 LED 顯示出來(lái)。 16:無(wú)限循環(huán)執(zhí)行。1859:紅外線接收解碼子程序部分。18:解碼子程序開(kāi)始。2028:確認(rèn)IR信號(hào)出現(xiàn),避開(kāi)9m別導(dǎo)脈沖。接收端接收到的引導(dǎo) 碼是由一個(gè)4.5ms的低電平脈沖及4.5ms的高電平脈沖組成9mS引導(dǎo)脈沖, 當(dāng)IR信號(hào)出現(xiàn)后,通過(guò)調(diào)用DELAY05_R延時(shí)子程序避開(kāi)9m$引導(dǎo)

18、脈沖。 3136:避開(kāi)低電平,直接判斷高電平。數(shù)據(jù)“ 0”和“ 1 ”的波形均 以0.56ms的低電平開(kāi)始,只是高電平的寬度不同,因此,可以避開(kāi)低電平, 直接通過(guò)判斷高電平的寬度來(lái)確定數(shù)據(jù)“ 0”或“ 1”。39: R2 為計(jì)數(shù)高低電平寬度的計(jì)數(shù)器,使計(jì)數(shù)初始值為 0,即從0 開(kāi) 始計(jì)數(shù)調(diào)用0.093ms解碼延時(shí)的次數(shù)。40:調(diào)用0.093ms延時(shí)解碼子程序。41:如果仍為高電平,則跳轉(zhuǎn)到標(biāo)號(hào)L9處執(zhí)行,使R2值加1。43:將A寄存器設(shè)置為8。44:清除借位標(biāo)志 C。45:指令“ SUBB A, R2”中R2為計(jì)數(shù)值,若出現(xiàn)高電平的寬度為0.56ms,即數(shù)字“0”的特征,貝卩調(diào)用6次0.093

19、ms延時(shí)便會(huì)出現(xiàn)低電平, 此時(shí)存入R2中的計(jì)數(shù)值為6。若出現(xiàn)高電平的寬度為1.68ms,即數(shù)字“ 1 的特征,則需要調(diào)用 18 次 0.093ms 延時(shí)才能出現(xiàn)低電平,此時(shí)存入 R2 中 的計(jì)數(shù)值為18。所以,R2中計(jì)數(shù)值是6還是18,就決定編碼“ 0”或是“1”。 A寄存器設(shè)置為8,當(dāng)R2值為6時(shí),“8-R2”無(wú)產(chǎn)生借位,借位標(biāo)志C = 0, 表示編碼為0。當(dāng)R2值為18時(shí),“8-R2”產(chǎn)生借位,借位標(biāo)志C = 1,表示 編碼為 1 。46:R0 以間接尋址方式取出內(nèi)存數(shù)據(jù)給 A。47:右移指令,將借位標(biāo)志C右移進(jìn)入A寄存器中。48:將數(shù)據(jù)寫入內(nèi)存內(nèi)。49: R3 值加1 ,處理完一位。50:一字節(jié)需收集完 8 位數(shù)據(jù)。5255:需要收集到4字節(jié)。56: R2 值加1。57:計(jì)數(shù)過(guò)長(zhǎng)自動(dòng)離開(kāi)。59:解碼子程序返

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論