<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 紅外遙控控制電機(jī)的程序

          紅外遙控控制電機(jī)的程序

          作者: 時(shí)間:2012-10-27 來(lái)源:網(wǎng)絡(luò) 收藏
          //***************************************************************** //author:su and me //date:2008-12-22 //一電視機(jī)萬(wàn)能遙控器按一電機(jī)正轉(zhuǎn),按二反轉(zhuǎn),按三電機(jī)停轉(zhuǎn),遙控解碼程序,網(wǎng)上 //程序,加上修改和補(bǔ)充,成形。 //***************************************************************** #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個(gè)數(shù)組,用來(lái)存儲(chǔ)代碼 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的函數(shù) { EA=0; for(x=0;x 10;x++)//九毫秒分為10個(gè)0.9毫秒0 { //延時(shí)0.854毫秒 DELAY854US; if (hs0038_io==1) //每隔0.854毫秒檢測(cè)一次 { x=10;//如果檢測(cè)到高電平,讀取失敗 break;//推出 } else if(x==9)//如果達(dá)到10個(gè)0.854毫秒的時(shí)間 { while(hs0038_io==0);//如果此時(shí)是低電平等待 DELAY2414US;延時(shí)2.414毫秒 if(hs0038_io==0)//如果檢測(cè)到低電平 break;//退出 else DELAY2414US;//延時(shí)2.414毫秒 //##################################################################### for(y=0;y 4;y++)//引導(dǎo)碼正確,開(kāi)始讀取數(shù)據(jù),總共四個(gè)字節(jié) { //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ for(z=0;z 8;z++)//每個(gè)字節(jié)為八位 { while(hs0038_io==0);//如果為低電平則等待 //延時(shí)0.911毫秒。0.9毫秒約為0.6毫秒和1.6毫秒的平均值 DELAY854US; if(hs0038_io) { temp_data|=(1 z);//如果讀到高電平,則置位相應(yīng)位 DELAY1014US; } else temp_data=(~(1 z)); } //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ decode[y]=temp_data;//把讀到的一個(gè)字節(jié)保存在數(shù)組當(dāng)中 } //##################################################################### } } EA=1; }   


          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();