?? 用pic做紅外線遙控接收3.txt
字號(hào):
關(guān)于紅外線接收的一點(diǎn)思路
我現(xiàn)在在做電視機(jī)紅外線接受,發(fā)射器,看了一些書,書上說信號(hào)被調(diào)制在38khz的調(diào)制信號(hào)上,但我通過一顆紅外接收管加兩級(jí)放大后看紅外線波形,示波器要打到10ms檔上才能看到完整波形,照書上說的話應(yīng)該打到50us檔上就能看到波形了,而且這個(gè)波形像梯形波,請(qǐng)問這是怎么一回是,我用的紅外線源就是長虹電視機(jī)的遙控器,這樣的話我的接收程序怎么寫呢?
你不用管他怎么調(diào)制的,你只需要用一個(gè)接收頭就可以了,出來的就是方波,根據(jù)兩個(gè)下降沿來判斷信號(hào)就行了(空閑狀態(tài)為高電平),我當(dāng)初用示波器觀察了一天才了解是怎么回事
那如果有人一直按著遙控器,單片機(jī)不是會(huì)當(dāng)一個(gè)信號(hào)并記錄下來,而且我用的是pic16c57的片子,沒有中斷的,兩個(gè)下降沿的時(shí)常如何判斷,而且如何確定一個(gè)信號(hào)已經(jīng)結(jié)束了呢,
如果你沒做過紅外遙控接受,建議你先用帶中斷的片子來搞,用57是有一定難度的
看了你寫的紅外線接收的程序,有點(diǎn)問題
你寫的接收程序第二條就用goto轉(zhuǎn)跳到rf1,而在rf1上用了retlw 0這個(gè)指令,但這個(gè)指令不是要使用call指令返回時(shí)才用的嗎,如果goto指令用了retlw 0,那返回到哪里去,
這個(gè)和遙控器使用的芯片有關(guān),你可以了解一下有關(guān)這個(gè)遙控器按鍵的定義,也可用示波器觀察。最好你先寫一段程序來讀碼,觀察一下按鍵定義和規(guī)律。
紅外傳輸一般分為兩種:
1。有載波:就是把基帶信號(hào)(就是“0”,“1”)調(diào)制到38k的載波上去,由紅外發(fā)光管發(fā)射(同發(fā)光二極管)出去;
然后在接收端用紅外光敏二極管(或三極管)或者紅外一體化接收頭接收。
用光敏二極管或三極管接收需要用程序或ic(如:cx20106等)解調(diào)。然后再對(duì)基帶信號(hào)進(jìn)行處理。這種方法主要用于載波需要有多種頻率的場(chǎng)合。
用一體化接收頭的靈敏度比較高,體積相對(duì)比較小,內(nèi)部集成了38k解調(diào)、低通濾波和其他一些抗干擾電路。這種接收頭使用比較簡(jiǎn)單,不過據(jù)我使用過的情況來看,靈敏度越高抗干擾性能就越差,常常伴有脈沖干擾,用程序還是可以解決的。
基帶信號(hào)最好使用編碼、調(diào)整占空比等以加強(qiáng)抗干擾性能。
2。直接用0,1信號(hào)發(fā)送:在距離比較近(cm級(jí)別),環(huán)境干擾比較小的情況下使用。
我的想法是直接將遙控器的信號(hào)經(jīng)過兩級(jí)放大,是三極管放大后輸出,但我現(xiàn)在就是不知道,38khz的信號(hào)如何記入單片機(jī),我想不用解碼芯片
好呀,發(fā)射一個(gè)9013就夠了,假如買不到距離不夠而且買不到大功率發(fā)射管的話可以把兩個(gè)發(fā)射管串聯(lián)起來。
為什么要把38k信號(hào)輸入單片機(jī)呢?你用紅外光敏三極管接收?成本倒是低了好多。工藝要求就比較高了。
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -