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