亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于單片機(jī)的紅外遙控信號(hào)解碼新方法

        2012-06-25 02:46:02黃海陽(yáng)吳錘紅
        關(guān)鍵詞:高電平遙控器寄存器

        黃海陽(yáng),吳錘紅

        (福建農(nóng)林大學(xué) 機(jī)電工程學(xué)院,福州 350002)

        黃海陽(yáng)(研究生),主要研究方向?yàn)閱纹瑱C(jī)系統(tǒng)設(shè)計(jì)、自動(dòng)控制系統(tǒng)應(yīng)用;吳錘紅(教授),主要研究方向?yàn)閱纹瑱C(jī)系統(tǒng)的研究與教學(xué)工作。

        引 言

        隨著家用電器、試聽(tīng)產(chǎn)品的普及,紅外遙控器已經(jīng)被廣泛應(yīng)用在各種類(lèi)型的家電產(chǎn)品中(如遙控開(kāi)關(guān)、智能開(kāi)關(guān)等)[1]。紅外遙控是一種把紅外線作為載體的控制方式,由于其波長(zhǎng)遠(yuǎn)小于無(wú)線電的波長(zhǎng),因此在采用紅外遙控方式時(shí)不會(huì)干擾其他電器的正常使用,也不會(huì)影響臨近的無(wú)線電設(shè)備[2]。另外,紅外遙控器件具有體積小、功耗低、性價(jià)比高的優(yōu)點(diǎn),是理想的人機(jī)輸入設(shè)備,非常適合電子工程師和電子愛(ài)好者DIY開(kāi)發(fā)與制作。紅外遙控系統(tǒng)主要由發(fā)射和接收兩大部分組成,由于發(fā)射部分使用的是購(gòu)買(mǎi)來(lái)的遙控器成品,所以本文的重點(diǎn)是紅外接收、解碼部分。下面將從硬件結(jié)構(gòu)和軟件編程兩個(gè)方面出發(fā),介紹一種基于51系列單片機(jī)匯編語(yǔ)言的紅外遙控解碼新方法。

        1 硬件構(gòu)成

        紅外接收頭的種類(lèi)很多,本文使用的是市場(chǎng)上常見(jiàn)的VS1838B,外觀如圖1所示。它采用內(nèi)、外雙屏蔽直插式封裝,輸出匹配TTL、CMOS電平,靈敏度高,抗干擾性能好,接收距離可達(dá)20m。從正面看,其3個(gè)引腳分別是信號(hào)輸出端、電源地與電源正。硬件電路連接非常簡(jiǎn)單,如圖2所示。圖中0.1μF瓷片電容用來(lái)濾波,供電引腳與電源之間接入100Ω的電阻以進(jìn)一步降低電源干擾。在本文中信號(hào)輸出端接51單片機(jī)最小系統(tǒng)的外部中斷1口(即P3.3),這樣一個(gè)簡(jiǎn)單的硬件電路就搭好了。

        圖1 VS1838B外觀圖

        圖2 硬件電路

        2 軟件編程方法

        2.1 基本方法介紹

        大多數(shù)人使用的方法是在兩次外部中斷下降沿中,通過(guò)軟件手動(dòng)開(kāi)啟與關(guān)閉定時(shí)器得到時(shí)間寬度。本文的思路是通過(guò)51單片機(jī)固有的外部中斷與定時(shí)器自動(dòng)配合的“門(mén)控方式”來(lái)獲得紅外信號(hào)波形信息。具體做法如下:參考表1,設(shè)置51單片機(jī)定時(shí)器工作方式寄存器(TMOD)Bit7=1,即定時(shí)器T1為門(mén)控方式。此時(shí)只有當(dāng)T1運(yùn)行控制位TR1=1并且外部中斷1為高電平時(shí),定時(shí)器T1才啟動(dòng);TR1=0或者外部中斷1為低電平時(shí)T1就自動(dòng)停止計(jì)數(shù)[3]。

        表1 TMOD寄存器位定義

        每次當(dāng)信號(hào)是高電平時(shí)定時(shí)器1自動(dòng)開(kāi)始計(jì)時(shí),下降沿信號(hào)來(lái)臨的時(shí)候,在外部中斷1中自動(dòng)獲取TH1與TL1的值,這樣就得到了信號(hào)的時(shí)間寬度,從而可以區(qū)分出引導(dǎo)碼、重復(fù)碼、位0、位1的信息,再經(jīng)過(guò)后續(xù)的軟件處理就可以得到紅外遙控按鍵的鍵碼了。紅外遙控器解碼的關(guān)鍵在于對(duì)發(fā)射器波形規(guī)范的理解,常見(jiàn)的遙控器編碼有32位和42位兩種模式,主要區(qū)別在于系統(tǒng)碼的位數(shù)不一樣。值得注意的是,同樣位數(shù)模式的遙控器的結(jié)束碼也可能會(huì)不同。另外在按鍵連按狀態(tài)下,不同遙控器發(fā)出的重復(fù)碼各異,這些都會(huì)影響到程序的編寫(xiě)。下文將列舉出兩款不同位數(shù)的遙控器,分別闡述其門(mén)控方式下的軟件編程思路。

        2.2 32位編碼

        硬件使用的是購(gòu)置的超薄型遙控器,內(nèi)置芯片為uPD6121G,采用NEC32位格式。其數(shù)據(jù)格式如圖3所示,包括了起始碼、用戶碼、數(shù)據(jù)碼和數(shù)據(jù)反碼。其中,起始碼由9ms高電平和4.5ms低電平構(gòu)成,后接16位用戶碼、8位數(shù)據(jù)碼以及8位數(shù)據(jù)反碼。數(shù)據(jù)反碼是數(shù)據(jù)碼取反后的編碼,編程時(shí)可以用于數(shù)據(jù)糾錯(cuò)。位定義如圖4所示,位1用高電平0.56ms加低電平1.68ms表示。位0用高電平0.56ms加低電平0.56ms表示。要注意的是當(dāng)一直按住按鍵時(shí),芯片發(fā)出一次鍵碼后就不停地發(fā)重復(fù)碼了,寫(xiě)程序時(shí)對(duì)重復(fù)碼要有特別的區(qū)分,其重復(fù)碼的波形如圖5所示。

        圖3 NEC32編碼數(shù)據(jù)格式

        圖4 位定義

        圖5 NEC重復(fù)碼波形

        了解了各種碼制的區(qū)別后,就可以開(kāi)始著手寫(xiě)程序了。紅外解碼程序主要包括了中斷初始化函數(shù)和中斷子函數(shù)兩個(gè)部分。另外,由于一體化接收頭輸出信號(hào)與發(fā)射波形是反向的,在定時(shí)器中記錄的實(shí)際是紅外波形中低電平的時(shí)間長(zhǎng)度。

        2.2.1 初始化函數(shù)

        在初始化函數(shù)中主要是對(duì)中斷1和定時(shí)器1的特殊功能寄存器單元進(jìn)行定義,同時(shí)對(duì)相關(guān)工作單元進(jìn)行初始化。初始化代碼如下:

        2.2.2 中斷子函數(shù)

        中斷子函數(shù)中得到了一體化接收頭高電平的時(shí)間寬度,以此來(lái)區(qū)分起始碼、信息位和重復(fù)碼。如果是起始碼,就轉(zhuǎn)入初始化處理模塊;如果是信息位則通過(guò)右移操作將0、1信息存入定義好的寄存器單元,直到獲得所需的4字節(jié)數(shù)據(jù)為止。注意在子函數(shù)中利用TH1保護(hù)ACC和利用ADD來(lái)獲得0、1信息位的技巧[4]。

        圖6 42位編碼結(jié)構(gòu)

        2.2.3 主監(jiān)控程序中對(duì)IRKeyReady標(biāo)志的處理

        在主監(jiān)控程序中,不斷查詢IRKeyReady標(biāo)志。如果標(biāo)志置位,則在主程序中進(jìn)入鍵值處理,判斷鍵值的類(lèi)型,以便實(shí)現(xiàn)遙控器按鍵的功能。代碼如下:

        2.3 42位編碼

        硬件使用57L5彩電遙控器,其內(nèi)部紅外發(fā)射專(zhuān)用集成電路為T(mén)C7461,采用42位的編碼結(jié)構(gòu),包含13位用戶碼、13位用戶反碼、8位數(shù)據(jù)碼和8位數(shù)據(jù)反碼。42位編碼結(jié)構(gòu)如圖6所示。引導(dǎo)碼由9ms的載波和4.5ms的載波關(guān)斷波形所構(gòu)成,作為用戶碼、數(shù)據(jù)碼以及它們的反碼的先導(dǎo)。信息位0與1的定義與上述NEC32位格式相同。但是長(zhǎng)按鍵時(shí),其重復(fù)碼的前13.5ms與引導(dǎo)碼是一樣的,在編程中要特別處理,其重復(fù)碼波形如圖7所示。

        圖7 42位重復(fù)碼波形

        初始化階段與32位的基本類(lèi)似,但由于重復(fù)碼的波形和起始碼相同,為了區(qū)分清楚,這里引用了狀態(tài)機(jī)的方法,添加了狀態(tài)寄存器IR57L5Satus和計(jì)數(shù)寄存器IRSysCodeCnt,初始化時(shí)都先清零。以數(shù)值0、1、2來(lái)表示3種不同的狀態(tài)。每種狀態(tài)具體的功能如下:

        ◆為0時(shí)進(jìn)入引導(dǎo)碼或重復(fù)碼,然后賦值IR57L5Satus為1。

        ◆為1時(shí)進(jìn)入26個(gè)系統(tǒng)位階段,為了簡(jiǎn)單起見(jiàn),在這里跳過(guò)它們,并未存儲(chǔ)。賦值IR57L5Satus為2。同時(shí)在這個(gè)狀態(tài),初始化2個(gè)數(shù)據(jù)存儲(chǔ)寄存器IRCode和IRCode+1。

        ◆為2時(shí)收數(shù)據(jù)碼,16位收到后,賦值IR57L5Satus為0。

        限于篇幅,這里不列出具體代碼,其中斷子程序軟件流程如圖8所示。

        3 調(diào) 試

        在調(diào)試程序的過(guò)程中需要示波器與串口調(diào)試助手軟件。示波器用于檢測(cè)紅外發(fā)射波形是否符合規(guī)范。而通過(guò)編寫(xiě)單片機(jī)串口程序,并借助于串口調(diào)試助手軟件[5],可以將紅外數(shù)據(jù)接收單元的信息發(fā)送到PC機(jī)上,而后通過(guò)與遙控器說(shuō)明書(shū)比對(duì),以證實(shí)數(shù)據(jù)碼的準(zhǔn)確性。這種紅外解碼方法在本人制作的硬件時(shí)鐘和多溫區(qū)控制系統(tǒng)等項(xiàng)目中都有應(yīng)用,數(shù)據(jù)接收準(zhǔn)確、使用效果良好。

        圖8 中斷子程序軟件流程

        [1]趙亮.跟我學(xué)51單片機(jī)(六)——單片機(jī)外部中斷及紅外遙控器解碼[J].電子制作,2011(6):76-79.

        [2]朱高中.基于單片機(jī)的紅外遙控解碼電路的設(shè)計(jì)[J].計(jì)算技術(shù)與自動(dòng)化,2011,30(2):68-71.

        [3]吳錘紅.MCS-51微機(jī)原理與接口技術(shù)[M].廈門(mén):廈門(mén)大學(xué)出版社,2009:134,137.

        [4]趙晨,吳錘紅.Delphi高級(jí)通信調(diào)試助手軟件的設(shè)計(jì)[J].福建農(nóng)機(jī),2007(3):33-39.

        猜你喜歡
        高電平遙控器寄存器
        一種基于FPGA的PWM防錯(cuò)輸出控制電路
        時(shí)間遙控器
        爸媽有個(gè)“遙控器”
        Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
        TS-03C全固態(tài)PDM中波發(fā)射機(jī)開(kāi)關(guān)機(jī)控制電路原理及故障分析
        科技傳播(2019年15期)2019-08-22 08:07:44
        行走的飛行遙控器
        分簇結(jié)構(gòu)向量寄存器分配策略研究*
        DM 50KW中波廣播發(fā)射機(jī)欠推動(dòng)故障分析
        PDM 1kW中波廣播發(fā)射機(jī)保護(hù)電路分析
        按錯(cuò)遙控器
        丝袜美腿av免费在线观看| 国产亚洲真人做受在线观看| 久久久久久好爽爽久久| 极品熟妇大蝴蝶20p| 麻豆人妻无码性色AV专区| 福利视频在线一区二区三区| 亚洲国产成人久久精品不卡| 少妇被粗大的猛进出69影院 | √天堂中文官网8在线| 人妻精品久久中文字幕| 一区二区三区精彩视频在线观看 | 国产成社区在线视频观看| 视频在线播放观看免费| 美女丝袜美腿玉足视频| 国产精品毛片一区二区三区| 国产在线精品欧美日韩电影| 日韩久久久黄色一级av| 亚洲国产精品成人一区| 亚洲精品有码日本久久久| 中文无码伦av中文字幕| 免费人成无码大片在线观看| 制服无码在线第一页| 亚洲av区一区二区三区| 丁香五月缴情在线| 男男啪啪激烈高潮cc漫画免费 | 亚洲色www无码| 人妻丰满熟妇一二三区| 亚洲免费观看视频| 中国丰满熟妇xxxx性| a级福利毛片| 亚洲大片一区二区三区四区| 亚洲av无一区二区三区久久蜜桃 | 高清不卡av一区二区| 国产精品无码素人福利不卡| 亚洲av日韩av高潮潮喷无码 | 日本乱熟人妻中文字幕乱码69| 国产裸体美女永久免费无遮挡 | 精东天美麻豆果冻传媒mv| 久久中文字幕无码一区二区| 久久精品中文字幕免费| 中文字幕女优av在线|