|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
看看這個(gè)程序如何 |
| 作者:21iceng 欄目:單片機(jī) |
自已寫的一段遙控接收程序,當(dāng)INT0中斷來(lái)是啟動(dòng)TIME0計(jì)時(shí),并讀出TH0和TL0的值,第一次INT0中斷 時(shí),TH0=TL0=0,后面的中斷來(lái)時(shí),應(yīng)該就是IR的下降沿間隔時(shí)間,據(jù)此判別0,1。幫忙看看是否有問(wèn)題,主要 是定時(shí)和中斷接收部分,判別0,1。 現(xiàn)在試了接收不到. #define uCHAR unsigned CHAR #define uint unsigned int #define uLONG unsigned LONG #include <reg52.h> #define Time_0_00ms 0 //晶振為12M #define Time_0_90ms 900 #define Time_1_30ms 1300 #define Time_2_00ms 2000 #define Time_2_50ms 2500 #define Time_13_20ms 13200 #define Time_13_80ms 13800 #define Time_11_00ms 11000 #define Time_11_80ms 11800 #define Sys_Code_H 0x00 #define Sys_Code_L 0xff uCHAR Ir_Time_H; uCHAR Ir_Time_L; uCHAR Ir_Time; uCHAR Ir_Cnt; uCHAR Ir_Buffer; void Ir_Init(void) { // Timer0 init TMOD = 0x01; //timer0 16bit timer TH0 = 0x00; TL0 = 0x00; ET0 = 0; TR0 = 0; //INTP0 init IT0 = 1; //falling edge detect EA = 1; //enable interrupt EX0 = 1; } void Intp0(void) interrupt 0 { TR0 = 1; 。袛鄟(lái)時(shí)啟動(dòng)TIME0 Ir_Time_H = TH0; 。xTIME0的計(jì)數(shù)值,第一次是00,后面的應(yīng)就是IR下降沿間隔 Ir_Time_L = TL0; TH0 = 0; //TIME0清0 TL0 = 0; Ir_Cnt++; 。(jì)數(shù)中斷次數(shù),一次IR應(yīng)是33次 Ir_Time_H = Ir_Time_H << 8; Ir_Time_L = Ir_Time_L & 0x00ff; Ir_Time = Ir_Time_H | Ir_Time_L; if (Ir_Time > Time_0_90ms && Ir_Time < Time_1_30ms) //data 0 Ir_Buffer = (Ir_Buffer << 1) & 0xfffffffe; 。32位數(shù)據(jù)存入Ir_Buffer else if (Ir_Time > Time_2_00ms && Ir_Time < Time_2_50ms) //data 1 Ir_Buffer = (Ir_Buffer << 1) | 0x00000001; else Ir_Buffer = 0x00000000; } |
| 2樓: | >>參與討論 |
| 作者: 21iceng 于 2006/7/28 16:36:00 發(fā)布:
做了變量修改 我將Ir_Time,Ir_Time_H,Ir_Time_L改為uint了,Ir_buffer 改為ulong了,但還是不行 |
|
| 3樓: | >>參與討論 |
| 作者: 21iceng 于 2006/7/28 17:08:00 發(fā)布:
成功了。! DX們,我調(diào)試成功了,現(xiàn)在可以正確識(shí)別遙控器的各個(gè)按鍵了!! |
|
| 4樓: | >>參與討論 |
| 作者: djmt 于 2006/7/28 17:12:00 發(fā)布:
恭喜哦 成功來(lái)之不易,恭喜你 |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |