使用的三個(gè)光盤自帶的程序:
1.紅外發(fā)射;2.紅外萬能學(xué)習(xí)型遙控器_c;3.紅外萬能學(xué)習(xí)型遙控器_asm
發(fā)現(xiàn)幾個(gè)問題不太理解,
問題1:用示波器分別檢測(cè)三個(gè)程序的P3.2端口都有相應(yīng)的方波信號(hào),但紅外發(fā)射管的端口都沒有相應(yīng)的方波信息,不是太理解。
問題2:程序1與程序2都無法成功發(fā)射紅外信號(hào),但程序3可以成功發(fā)射。(成功發(fā)射是指紅外接收頭接收到信號(hào)并在示波器上顯示出來)。
問題3:程序1中的38k方波實(shí)現(xiàn)過程
TL0 = 0xE5; //設(shè)定時(shí)值0為38K 也就是每隔26us中斷一次
每隔26us中斷一次,也就是說52us才可以完成一次01更替變化,周期為52us,頻率應(yīng)該為19K才對(duì)啊,怎么是38K方波呢?
紅外發(fā)射.txt
(3.4 KB, 下載次數(shù): 39)
紅外萬能學(xué)習(xí)型遙控器_c.txt
(3.94 KB, 下載次數(shù): 62)
紅外萬能學(xué)習(xí)型遙控器_asm.txt
(14.14 KB, 下載次數(shù): 33)
void timeint(void) interrupt 1
{
TH0=0xFF;
TL0=0xE5; //設(shè)定時(shí)值為38K 也就是每隔26us中斷一次
count++;
if (flag==1)
{
OP=~OP;
}
else
{
OP = 0;
}
P2_3 = OP;
} 中斷程序里有這么多的語句,執(zhí)行也需要好幾個(gè)us,用軟件仿真一下就能知道 其實(shí)是在38K左右
OP的反轉(zhuǎn)時(shí)間是26US+中斷程序里那幾個(gè)語句的執(zhí)行時(shí)間才對(duì).
1.用攝像頭觀察是否發(fā)出了紅外信號(hào)的方法不錯(cuò),長見識(shí)了。
2.調(diào)試結(jié)果為發(fā)射程序37us進(jìn)行一次反轉(zhuǎn),但這是半個(gè)周期,一個(gè)周期就是74us,對(duì)應(yīng)的方波頻率約為13k左右。應(yīng)該是接收頭無法接受到此頻率的信息吧(修改了TL0的值,只進(jìn)行中斷操作,算上執(zhí)行中斷消耗的時(shí)間。反轉(zhuǎn)一次的時(shí)間最小為31us)?
| 歡迎光臨 (http://m.raoushi.com/bbs/) | Powered by Discuz! X3.1 |