99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

了解51系統(tǒng)單片機(jī)如何解碼紅外遙控器?

GReq_mcu168 ? 來源:未知 ? 作者:工程師郭婷 ? 2018-08-28 09:14 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

遙控器使用方便,功能多.目前已廣泛應(yīng)用在電視機(jī)、VCD、DVD、空調(diào)等各種家用電器中,且價(jià)格便宜,市場(chǎng)上非常容易買到。如果能將遙控器上許多的按鍵解碼出來.用作單片機(jī)系統(tǒng)的輸入.則解決了常規(guī)矩陣鍵盤線路板過大、布線復(fù)雜、占用I/O口過多的弊病。而且通過使用遙控器,操作時(shí)可實(shí)現(xiàn)人與設(shè)備的分離,從而更加方便使用。下面以TC9012編碼芯片的遙控器為例。談?wù)勅绾斡贸S玫?1系統(tǒng)單片機(jī)進(jìn)行遙控的解碼。

通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成,應(yīng)用編/解碼專用集成電路芯片來進(jìn)行控制操作,如圖所示。發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、LED紅外發(fā)送器;接收部分包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電路。

了解51系統(tǒng)單片機(jī)如何解碼紅外遙控器?

一、編碼格式

1、0和1的編碼

當(dāng)發(fā)射器按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征:采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進(jìn)制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進(jìn)制的“1”,其波形如圖所示。

了解51系統(tǒng)單片機(jī)如何解碼紅外遙控器?

遙控器發(fā)射的信號(hào)由一串0和1的二進(jìn)制代碼組成.不同的芯片對(duì)0和1的編碼有所不同。通常有曼徹斯特編碼和脈沖寬度編碼。TC9012的0和1采用PWM方法編碼,即脈沖寬度調(diào)制,其0碼和1碼如圖所示(以遙控接收輸出的波形為例)。0碼由0.56ms低電平和0。56ms高電平組合而成,脈沖寬度為1.12ms.1碼由0.56ms低電平和1.69ms高電平組合而成,脈沖寬度為2.25ms。在編寫解碼程序時(shí).通過判斷脈沖的寬度,即可得到0或1。

了解51系統(tǒng)單片機(jī)如何解碼紅外遙控器?

UPD6121G產(chǎn)生的遙控編碼是連續(xù)的32位二進(jìn)制碼組,其中前16位為用戶識(shí)別碼,能區(qū)別不同的電器設(shè)備,防止不同機(jī)種遙控碼互相干擾,如我們可以同時(shí)使用電視機(jī)、機(jī)頂盒、功放等遙控器,但它們不會(huì)產(chǎn)生誤觸發(fā)。該芯片的用戶識(shí)別碼固定為十六進(jìn)制01H;后16位為8位操作碼(功能碼)及其反碼。UPD6121G最多額128種不同組合的編碼。遙控器在按鍵按下后,周期性地發(fā)出同一種32位二進(jìn)制碼,周期約為108ms。一組碼本身的持續(xù)時(shí)間隨它包含的二進(jìn)制“0”和“1”的個(gè)數(shù)不同而不同,大約在45~63ms之間。

2、按鍵的編碼

當(dāng)我們按下遙控器的按鍵時(shí),遙控器將發(fā)出如圖2的一串二進(jìn)制代碼,我們稱它為一幀數(shù)據(jù)。根據(jù)各部分的功能??蓪⑺鼈兎譃?部分,分別為引導(dǎo)碼、用戶識(shí)別碼、用戶識(shí)別碼反碼、數(shù)據(jù)碼、數(shù)據(jù)反碼。遙控器發(fā)射代碼時(shí).均是低位在前,高位在后。由圖3分析可以得到.引導(dǎo)碼高電平為4.5ms,低電平為4.5ms,當(dāng)接收到此碼時(shí),表示一幀數(shù)據(jù)的開始。單片機(jī)可以準(zhǔn)備接收下面的數(shù)據(jù)。用戶識(shí)別碼由8位二進(jìn)制組成,共256種.圖中地址碼重發(fā)了一次,主要是加強(qiáng)遙控器的可靠性.如果兩次地址碼不相同,則說明本幀數(shù)據(jù)有錯(cuò),應(yīng)丟棄。不同的設(shè)備可以擁有不同的用戶識(shí)別碼.因此。同種編碼的遙控器只要設(shè)置地址碼不同,也不會(huì)相互干擾。圖中的地址碼為十六進(jìn)制的0EH(注意低位在前)。在同一個(gè)遙控器中,所有按鍵發(fā)出的地址碼都是相同的,數(shù)據(jù)碼為8位,可編碼256種狀態(tài),代表實(shí)際所按下的鍵。數(shù)據(jù)反碼是數(shù)據(jù)碼的各位求反,通過比較數(shù)據(jù)碼與數(shù)據(jù)反碼,可判斷接收到的數(shù)據(jù)是否正確。如果數(shù)據(jù)碼與數(shù)據(jù)反碼之間的關(guān)系不滿足相反的關(guān)系.則本次遙控接收有誤,數(shù)據(jù)應(yīng)丟棄。在同一個(gè)遙控器上.所有按鍵的數(shù)據(jù)碼均不相同。在圖3中,數(shù)據(jù)碼為十六進(jìn)制的0CH,數(shù)據(jù)反碼為十六進(jìn)制的0F3H(注意低位在前),兩者之和應(yīng)為0FFH。

二、單片機(jī)遙控接收電路

紅外遙控接收可采用較早的紅外接收二極管加專用的紅外處理電路的方法。如CXA20106,此種方法電路復(fù)雜,現(xiàn)在一般不采用。較好的接收方法是用一體化紅外接收頭,它將紅外接收二極管、放大、解調(diào)、整形等電路做在一起,只有三個(gè)引腳。分別是+5V電源、地、信號(hào)輸出。常用的一體化接收頭的外形及引腳見紅外接收頭的信號(hào)輸出接單片機(jī)的INTO或INTl腳。典型電路如圖5所示。圖中增加了一只PNP型三極管對(duì)輸出信號(hào)進(jìn)行放大。

了解51系統(tǒng)單片機(jī)如何解碼紅外遙控器?

三、遙控信號(hào)的解碼算法及程序編制

平時(shí),遙控器無鍵按下。紅外發(fā)射二極管不發(fā)出信號(hào),遙控接收頭輸出信號(hào)1,有鍵按下時(shí),0和1編碼的高電平經(jīng)遙控頭倒相后會(huì)輸出信號(hào)0.由于與單片機(jī)的中斷腳相連,將會(huì)引起單片機(jī)中斷(單片機(jī)預(yù)先設(shè)定為下降沿產(chǎn)生中斷)。單片機(jī)在中斷時(shí)使用定時(shí)器0或定時(shí)器1開始計(jì)時(shí).到下一個(gè)脈沖到來時(shí),即再次產(chǎn)生中斷時(shí),先將計(jì)時(shí)值取出。清零計(jì)時(shí)值后再開始計(jì)時(shí).通過判斷每次中斷與上一次中斷之間的時(shí)間間隔。便可知接收到的是引導(dǎo)碼還是0和1。如果計(jì)時(shí)值為9ms。接收到的是引導(dǎo)碼,如果計(jì)時(shí)值等于1.12ms,接收到的是編碼0。如果計(jì)時(shí)值等于2.25ms.接收到的是編碼1。在判斷時(shí)間時(shí),應(yīng)考慮一定的誤差值。因?yàn)椴煌倪b控器由于晶振參數(shù)等原因,發(fā)射及接收到的時(shí)間也會(huì)有很小的誤差。

即我們通常所說的解碼,單片機(jī)得知發(fā)過來的是什么信號(hào),然后再做出相應(yīng)的判斷與控制,如我們按電視機(jī)遙控器的頻道按鈕,則單片機(jī)會(huì)控制更換電視頻道,如按的是遙控器音量鍵,則單片機(jī)會(huì)控制增減音量。而解碼的關(guān)鍵是如何識(shí)別“0”和“1”,從位的定義我們可以發(fā)現(xiàn)“0”、“1”均以0.56ms的低電平開始,不同的是高電平的寬度不同,“0”為0.56ms,“1”為1.68ms,所以必須根據(jù)高電平的寬度區(qū)別“0”和“1”。如果從0.56ms低電平過后,開始延時(shí),0.56ms以后,若讀到的電平為低,說明該位為“0”,反之則為“1”,為了可靠起見,延時(shí)必須比0.56ms長(zhǎng)些,但又不能超過1.12ms,否則如果該位為“0”,讀到的已是下一位的高電平,因此?。?.12ms+0.56ms)/2=0.84ms最為可靠,一般取0.84ms左右均可。根據(jù)碼的格式,應(yīng)該等待9ms的起始碼和4.5ms的結(jié)果碼完成后才能讀碼。

以接收TC9012遙控器編碼為例,解碼方法如下:

(1)設(shè)外部中斷0(或者1)為下降沿中斷,定時(shí)器0(或者1)為16位計(jì)時(shí)器,初始值均為O。

(2)第一次進(jìn)入遙控中斷后,開始計(jì)時(shí)。

(3)從第二次進(jìn)入遙控中斷起,先停止計(jì)時(shí),并將計(jì)時(shí)值保存后,再重新計(jì)時(shí)。如果計(jì)時(shí)值等于前導(dǎo)碼的時(shí)間,設(shè)立前導(dǎo)碼標(biāo)志。準(zhǔn)備接收下面的一幀遙控?cái)?shù)據(jù),如果計(jì)時(shí)值不等于前導(dǎo)碼的時(shí)間,但前面已接收到前導(dǎo)碼,則判斷是遙控?cái)?shù)據(jù)的0還是1。

(4)繼續(xù)接收下面的地址碼、數(shù)據(jù)碼、數(shù)據(jù)反碼。

(5)當(dāng)接收到32位數(shù)據(jù)時(shí),說明一幀數(shù)據(jù)接收完畢。此時(shí)可停止定時(shí)器的計(jì)時(shí),并判斷本次接收是否有效.如果兩次地址碼相同且等于本系統(tǒng)的地址,數(shù)據(jù)碼與數(shù)據(jù)反碼之和等于0FFH,則接收的本幀數(shù)據(jù)碼有效。否則丟棄本次接收到的數(shù)據(jù)。

(6)接收完畢,初始化本次接收的數(shù)據(jù),準(zhǔn)備下一次遙控接收。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 鍵盤
    +關(guān)注

    關(guān)注

    4

    文章

    866

    瀏覽量

    40682
  • 遙控器
    +關(guān)注

    關(guān)注

    18

    文章

    857

    瀏覽量

    68208
  • 紅外遙控
    +關(guān)注

    關(guān)注

    22

    文章

    349

    瀏覽量

    46479

原文標(biāo)題:用單片機(jī)解碼紅外遙控器

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    最簡(jiǎn)單的51單片機(jī)紅外遙控解碼程序

    介紹本人自編的51單片機(jī)紅外遙控解碼程序,自認(rèn)為是可能是史上最簡(jiǎn)的紅外
    發(fā)表于 03-20 10:05 ?1.7w次閱讀

    基于51單片機(jī)設(shè)計(jì)的紅外遙控器

    本項(xiàng)目是基于 51 單片機(jī)設(shè)計(jì)支持 NEC 協(xié)議的紅外遙控器,實(shí)現(xiàn)接收解碼和發(fā)送功能。用戶通過按下相應(yīng)按鍵進(jìn)行信號(hào)的發(fā)射,
    的頭像 發(fā)表于 06-09 09:02 ?3046次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>設(shè)計(jì)的<b class='flag-5'>紅外</b><b class='flag-5'>遙控器</b>

    紅外遙控器單片機(jī)的硬件接口及軟件解碼方法

    通過對(duì)紅外遙控器各按鍵發(fā)送脈沖波形的分析可以識(shí)別碼型,從而為軟件解碼提供依據(jù)。本文以實(shí)例介紹紅外遙控器
    發(fā)表于 04-16 10:51 ?92次下載

    紅外遙控器單片機(jī)的硬件接口的設(shè)計(jì)

    紅外遙控系統(tǒng)設(shè)計(jì)及應(yīng)用:本文介紹了紅外遙控系統(tǒng)的設(shè)計(jì),紅外
    發(fā)表于 05-24 01:34 ?279次下載

    基于單片機(jī)系統(tǒng)紅外遙控器應(yīng)用

    摘要:本文介紹紅外遙控器單片機(jī)的硬件接口,并從原理出發(fā)給出軟件解碼的方法。通過軟件程序?qū)?b class='flag-5'>紅外遙控器
    發(fā)表于 08-16 09:26 ?247次下載

    基于單片機(jī)紅外遙控器解碼器的設(shè)計(jì)

    基于單片機(jī)紅外遙控器解碼器的設(shè)計(jì) TC9012F是一種通用型紅外遙控信號(hào)發(fā)送用CMOS大規(guī)模
    發(fā)表于 03-18 15:15 ?2955次閱讀
    基于<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>紅外</b><b class='flag-5'>遙控器</b><b class='flag-5'>解碼器</b>的設(shè)計(jì)

    51單片機(jī)解碼紅外遙控器原理介紹

    紅外解碼的一般原理,51單片機(jī)紅外遙控接收的原理圖
    發(fā)表于 11-16 17:47 ?91次下載

    單片機(jī)解碼紅外遙控器

    本文以TC9012編碼芯片的遙控器為例,談?wù)勅绾斡贸S玫?b class='flag-5'>51系統(tǒng)單片機(jī)進(jìn)行遙控解碼。
    發(fā)表于 03-30 17:02 ?6次下載

    基于MSP430_單片機(jī)紅外遙控器設(shè)計(jì)

    基于MSP430_單片機(jī)紅外遙控器設(shè)計(jì)
    發(fā)表于 10-12 09:39 ?12次下載
    基于MSP430_<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>紅外</b><b class='flag-5'>遙控器</b>設(shè)計(jì)

    如何使用單片機(jī)實(shí)現(xiàn)紅外接收遙控器解碼

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何使用單片機(jī)實(shí)現(xiàn)紅外接收遙控器解碼
    發(fā)表于 05-29 17:56 ?23次下載
    如何使用<b class='flag-5'>單片機(jī)</b>實(shí)現(xiàn)<b class='flag-5'>紅外</b>接收<b class='flag-5'>遙控器</b>的<b class='flag-5'>解碼</b>

    基于單片機(jī)系統(tǒng)紅外遙控器的應(yīng)用程序

    紅外遙控器由于其體積小、功耗低、功能強(qiáng)、成本低的特點(diǎn),已經(jīng)在家電產(chǎn)品設(shè)備中廣泛應(yīng)用。現(xiàn)代智能化儀器儀表系統(tǒng)、工業(yè)設(shè)備中的控制輸入也較多地使用紅外遙控
    發(fā)表于 07-15 15:06 ?5442次閱讀
    基于<b class='flag-5'>單片機(jī)</b><b class='flag-5'>系統(tǒng)</b>的<b class='flag-5'>紅外</b><b class='flag-5'>遙控器</b>的應(yīng)用程序

    使用單片機(jī)解碼紅外遙控器的資料和程序說明

    線路板過大、布線復(fù)雜、占用I /O 口過多的弊病。而且通過使用遙控器,操作時(shí)可實(shí)現(xiàn)人與設(shè)備的分離,從而更加方便使用。下面以TC9012 編碼芯片的遙控器為例。談?wù)勅绾斡贸S玫?b class='flag-5'>51 系統(tǒng)
    發(fā)表于 08-28 15:48 ?15次下載
    使用<b class='flag-5'>單片機(jī)</b><b class='flag-5'>解碼</b><b class='flag-5'>紅外</b><b class='flag-5'>遙控器</b>的資料和程序說明

    基于51單片機(jī)的VB遙控播放紅外遙控解碼設(shè)計(jì)源程序

    基于51單片機(jī)的VB遙控播放紅外遙控解碼設(shè)計(jì)資料源
    發(fā)表于 04-27 15:08 ?1次下載

    基于51單片機(jī)紅外遙控器設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)紅外遙控器設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 01-03 11:23 ?8次下載

    基于51單片機(jī)紅外遙控器設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)紅外遙控器設(shè)計(jì).rar》資料免費(fèi)下載
    發(fā)表于 01-12 09:22 ?12次下載