無意中找到,共享給大家看看!
0.png (457.17 KB, 下載次數: 36)
下載附件
2017-10-5 15:23 上傳
0.png (286.86 KB, 下載次數: 40)
下載附件
2017-10-5 15:23 上傳
0.png (51.48 KB, 下載次數: 36)
下載附件
2017-10-5 15:24 上傳
單片機源程序如下:
- //#################################################################################################
- //文件:51單片機的紅外遙控解碼程序
- //屬性:使用外部中斷0連接遙控頭,接收紅外遙控鍵值送P2口顯示,12MHz外部晶振
- //作者:新思科電子 2011-06
- //資源:P3.2=接收頭輸入,P2=8LED
- //#################################################################################################
- #include"reg52.h"
- #define uint unsigned int
- #define uchar unsigned char
- uchar led=0x00;
- void io_init(void);
- void int_init(void);
- void main(void)
- {
- io_init();
- int_init();
- while(1);
- }
- void io_init(void)
- {
- P0=0xff;
- P1=0xff;
- P2=0xff;
- P3=0xff;
- }
- void int_init(void)
- {
- EX0=1;
- EA=1;
- }
- void interrupt0()interrupt 0
- {
- uchar i=0,j=0,k=0,us=0;
- uchar addr[4]={0};
- EX0=0;
- for(i=0;i<255;i++) //9ms內有高電平認為是干擾
- {
- if(P3&0x04) //255的值實際時間為800us
- {
- EX0=1;
- return;
- }
- }
- while(!(P3&0x04)); //等待9ms低電平過去
- for(i=0;i<4;i++)
- {
- for(j=0;j<8;j++)
- {
- while(P3&0x04); //等待4.5ms高電平過去
- while(!(P3&0x04)); //等待0.56ms低電平后面的高電平
- while(P3&0x04) //計算這個高電平的時間
- {
- for(us=0;us<=32;us++); //100us的延時語句
- if((k++)>=30) //高電平時間過長退出程序
- {
- EX0=1;
- return;
- }
- }
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
[新思科電子]5鍵38K紅外遙控器客戶包.zip
(867.07 KB, 下載次數: 39)
2017-10-5 10:32 上傳
點擊文件名下載附件
單片機遙控解碼 下載積分: 黑幣 -5
|