久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

紅外遙控控制電機的程序

作者:佚名   來源:本站原創   點擊數:  更新時間:2010年05月27日   【字體:
//***************************************************************** 
//author:su and me 
//date:2008-12-22 
//一電視機萬能遙控器按一電機正轉,按二反轉,按三電機停轉,遙控解碼程序,網上 
//程序,加上修改和補充,成形。 
//***************************************************************** 
#include < at89x52.h> 
#define byte unsigned char 
#define dbyte unsigned int 
#define DELAY854USdelay(21) 
#define DELAY934USdelay(23) 
#define DELAY1014USdelay(25) 
#define DELAY2414USdelay(60) 
sbit  hs0038_io=P3^2; 
sbit P20=P2^0; 
sbit P21=P2^1; 
sbit P22=P2^2; 
sbit P23=P2^3; 
byte  temp_data; 
byte  x,y,z; 
byte  data decode[4];//定義4個數組,用來存儲代碼 

void delay(byte temp)//精確延時時間time=(40*temp+14)us 
{ 
byte j,i; 
for(j=0;j< temp;j++) 
for(i=0;i< 10;i++); 
} 
void mov_zhen() 
{ 
P20=1;//6 
P21=0;//8 
P22=0;//7 
P23=0;//5 
} 
void mov_fan() 
{ 
P20=0; 
P21=0; 
P22=1; 
P23=0; 
} 
void mov_stop() 
{ 
P20=0; 
P21=0; 
P22=0; 
P23=0; 
} 

void main() 
{ 
IT0=1; 
EX0=1; 
EA=1; 
temp_data=0; 
while(1) 
{ 
    if (decode[2]==24)mov_zhen(); 
    if (decode[2]==25)mov_fan(); 
    if (decode[2]==26)mov_stop(); 
} 
void t0(void) interrupt 0 using 2//外部中斷0的函數 
{ 
EA=0; 
    for(x=0;x< 10;x++)//九毫秒分為10個0.9毫秒0 
    { 
     //延時0.854毫秒 
     DELAY854US; 
if (hs0038_io==1) //每隔0.854毫秒檢測一次 
{ 
x=10;//如果檢測到高電平,讀取失敗 
break;//推出 
} 
     else if(x==9)//如果達到10個0.854毫秒的時間 
        { 
            while(hs0038_io==0);//如果此時是低電平等待 
            DELAY2414US;延時2.414毫秒 
            if(hs0038_io==0)//如果檢測到低電平 
               break;//退出 
            else 
               DELAY2414US;//延時2.414毫秒 
//##################################################################### 
            for(y=0;y< 4;y++)//引導碼正確,開始讀取數據,總共四個字節 
            { 
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
            for(z=0;z< 8;z++)//每個字節為八位 
                { 
                while(hs0038_io==0);//如果為低電平則等待 
                //延時0.911毫秒。0.9毫秒約為0.6毫秒和1.6毫秒的平均值 
                DELAY854US; 
                if(hs0038_io) 
                { 
                   temp_data|=(1<< z);//如果讀到高電平,則置位相應位 
                   DELAY1014US; 
                 } 
                 else 
                   temp_data&=(~(1<< z)); 
                } 
//@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 
              decode[y]=temp_data;//把讀到的一個字節保存在數組當中 
             } 
//##################################################################### 
       } 
   } 
   EA=1; 
}   


	  
	  
  
  
關閉窗口

相關文章

主站蜘蛛池模板: www久久国产| 免费看黄视频网站 | 欧洲色综合 | 日韩亚洲欧美综合 | 欧美成人第一页 | 国产精品国产三级国产aⅴ中文 | 三级黄色片在线播放 | 成人在线精品视频 | 久久精品综合网 | 欧美精品一区二区三区在线播放 | 天堂av免费观看 | 在线日韩视频 | 日韩国产精品一区二区三区 | 国产成人99久久亚洲综合精品 | 日韩在线免费观看视频 | 自拍 亚洲 欧美 老师 丝袜 | 男女爱爱网站 | 欧美色综合网 | 国产一级免费视频 | 久久性av | 精品自拍视频 | 天天插天天射天天干 | 欧美1区2区 | 日韩中文视频 | 免费视频一区二区 | 亚洲精品大全 | 日韩av成人在线观看 | 日韩一区二区三区在线看 | 日本成人毛片 | 黄网站免费在线 | 国产精品色哟哟网站 | 一区二区三区中文字幕 | 国产三级电影网站 | 色欧美片视频在线观看 | 蜜桃一区二区三区 | 成人网址在线观看 | 999久久 | 欧美日韩高清在线一区 | 亚洲精品欧美 | 国产在线观 | 国产剧情一区 |