999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于單片機的紅外遙控信號解碼新方法

2012-06-25 02:46:02黃海陽吳錘紅
單片機與嵌入式系統應用 2012年7期
關鍵詞:單片機

黃海陽,吳錘紅

(福建農林大學 機電工程學院,福州 350002)

黃海陽(研究生),主要研究方向為單片機系統設計、自動控制系統應用;吳錘紅(教授),主要研究方向為單片機系統的研究與教學工作。

引 言

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

1 硬件構成

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

圖1 VS1838B外觀圖

圖2 硬件電路

2 軟件編程方法

2.1 基本方法介紹

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

表1 TMOD寄存器位定義

每次當信號是高電平時定時器1自動開始計時,下降沿信號來臨的時候,在外部中斷1中自動獲取TH1與TL1的值,這樣就得到了信號的時間寬度,從而可以區分出引導碼、重復碼、位0、位1的信息,再經過后續的軟件處理就可以得到紅外遙控按鍵的鍵碼了。紅外遙控器解碼的關鍵在于對發射器波形規范的理解,常見的遙控器編碼有32位和42位兩種模式,主要區別在于系統碼的位數不一樣。值得注意的是,同樣位數模式的遙控器的結束碼也可能會不同。另外在按鍵連按狀態下,不同遙控器發出的重復碼各異,這些都會影響到程序的編寫。下文將列舉出兩款不同位數的遙控器,分別闡述其門控方式下的軟件編程思路。

2.2 32位編碼

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

圖3 NEC32編碼數據格式

圖4 位定義

圖5 NEC重復碼波形

了解了各種碼制的區別后,就可以開始著手寫程序了。紅外解碼程序主要包括了中斷初始化函數和中斷子函數兩個部分。另外,由于一體化接收頭輸出信號與發射波形是反向的,在定時器中記錄的實際是紅外波形中低電平的時間長度。

2.2.1 初始化函數

在初始化函數中主要是對中斷1和定時器1的特殊功能寄存器單元進行定義,同時對相關工作單元進行初始化。初始化代碼如下:

2.2.2 中斷子函數

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

圖6 42位編碼結構

2.2.3 主監控程序中對IRKeyReady標志的處理

在主監控程序中,不斷查詢IRKeyReady標志。如果標志置位,則在主程序中進入鍵值處理,判斷鍵值的類型,以便實現遙控器按鍵的功能。代碼如下:

2.3 42位編碼

硬件使用57L5彩電遙控器,其內部紅外發射專用集成電路為TC7461,采用42位的編碼結構,包含13位用戶碼、13位用戶反碼、8位數據碼和8位數據反碼。42位編碼結構如圖6所示。引導碼由9ms的載波和4.5ms的載波關斷波形所構成,作為用戶碼、數據碼以及它們的反碼的先導。信息位0與1的定義與上述NEC32位格式相同。但是長按鍵時,其重復碼的前13.5ms與引導碼是一樣的,在編程中要特別處理,其重復碼波形如圖7所示。

圖7 42位重復碼波形

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

◆為0時進入引導碼或重復碼,然后賦值IR57L5Satus為1。

◆為1時進入26個系統位階段,為了簡單起見,在這里跳過它們,并未存儲。賦值IR57L5Satus為2。同時在這個狀態,初始化2個數據存儲寄存器IRCode和IRCode+1。

◆為2時收數據碼,16位收到后,賦值IR57L5Satus為0。

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

3 調 試

在調試程序的過程中需要示波器與串口調試助手軟件。示波器用于檢測紅外發射波形是否符合規范。而通過編寫單片機串口程序,并借助于串口調試助手軟件[5],可以將紅外數據接收單元的信息發送到PC機上,而后通過與遙控器說明書比對,以證實數據碼的準確性。這種紅外解碼方法在本人制作的硬件時鐘和多溫區控制系統等項目中都有應用,數據接收準確、使用效果良好。

圖8 中斷子程序軟件流程

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

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

[3]吳錘紅.MCS-51微機原理與接口技術[M].廈門:廈門大學出版社,2009:134,137.

[4]趙晨,吳錘紅.Delphi高級通信調試助手軟件的設計[J].福建農機,2007(3):33-39.

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 亚洲人成网站日本片| 免费国产高清视频| 亚洲天堂视频在线观看免费| 国产精品亚洲五月天高清| 婷婷开心中文字幕| 无码高潮喷水在线观看| 免费啪啪网址| 国产亚洲精品va在线| 久久精品无码中文字幕| 亚洲a级毛片| 久久精品无码中文字幕| 国产成人乱码一区二区三区在线| 国产剧情国内精品原创| 日韩在线视频网站| 99久久精品免费观看国产| 亚洲AV无码久久精品色欲| 成人国产精品一级毛片天堂| 无码'专区第一页| 亚洲免费三区| 国产麻豆精品在线观看| 欧美精品一区在线看| 极品尤物av美乳在线观看| 在线中文字幕日韩| 97久久精品人人| 国产玖玖玖精品视频| 婷婷亚洲综合五月天在线| 久久黄色影院| 永久在线播放| 精品人妻系列无码专区久久| 亚洲开心婷婷中文字幕| 91在线一9|永久视频在线| 高清不卡一区二区三区香蕉| 国产精品亚洲欧美日韩久久| 久久国产精品电影| 亚洲永久免费网站| 亚洲精品国产综合99久久夜夜嗨| 国产精品美女在线| 亚洲国产成人超福利久久精品| 国产精品综合久久久| 69av免费视频| 亚洲中文无码av永久伊人| 97综合久久| 国产在线拍偷自揄观看视频网站| 免费国产好深啊好涨好硬视频| 亚洲欧美国产高清va在线播放| 日韩在线播放中文字幕| 亚洲黄色视频在线观看一区| 一级香蕉人体视频| 精品成人免费自拍视频| 久久精品这里只有国产中文精品| 97久久精品人人做人人爽| 一级片一区| 午夜高清国产拍精品| 国产午夜福利在线小视频| 国产精品久久久久久久久| 国产成人精品一区二区秒拍1o| 波多野结衣一级毛片| 国产精品专区第1页| 国产综合在线观看视频| 四虎在线高清无码| 人人看人人鲁狠狠高清| 毛片免费在线| jizz国产视频| 国产呦视频免费视频在线观看| 久久激情影院| 日韩精品高清自在线| 成人综合久久综合| 国产成人一区二区| 五月天福利视频| 免费a在线观看播放| 国产欧美高清| 91福利在线观看视频| 亚洲欧美一级一级a| 99热这里只有精品在线观看| 精品在线免费播放| 91福利国产成人精品导航| 亚洲第一天堂无码专区| 国产主播一区二区三区| 99热最新在线| 久久国产精品嫖妓| 亚洲精品国产综合99| 久久99蜜桃精品久久久久小说|