機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
用51單片機(jī)中斷法解碼pt2262無線遙控器
用51單片機(jī)中斷法解碼pt2262無線遙控器
 更新時間:2009-10-27 15:19:24  點擊數(shù):0
【字體: 字體顏色

/******************************************************************************************
pt2262解碼軟件修正版
使用了位操作代替前版本的位尋址,使用三個字節(jié)變量存儲獲取的數(shù)據(jù),便于以后將地址和數(shù)據(jù)進(jìn)行操作
增加了兩次數(shù)據(jù)比對的功能,降低誤碼的干擾
2007.8.24
接受模塊的信號輸出端接INT0中斷口。。。
P1.0,p1.1上接LED顯示接受的情況。。。
用pt2262無線遙控器解碼測試通過。。。
注意:使用的是4M的晶振以減少mcu對接受模塊的干擾。。。
程序開發(fā):http://www.51hei.com
運行平臺:51hei單片機(jī)開發(fā)板+315m無線模塊,用杜邦線連接.
使用時可能要改變檢測的特征值,視遙控的中心頻率而定,可以通過pt2262上的電阻改變*******************************************************************************************/

#include <reg52.h>
unsigned int tmp,t1=0;
unsigned char i9=0,t2;
char *dataTMP;
unsigned char dataTMP0,dataTMP1,dataTMP2,datacheck;
unsigned  char bdata oeCON;
sbit UD0=oeCON^0;
sbit UD1=oeCON^1;
sbit OC0=oeCON^2;
sbit OC1=oeCON^3;
sbit p10=P1^0;
sbit p11=P1^1;
sbit p32=P3^2;
bit flagF=1,press;
void up_down();
void open_close();
void delay(unsigned char);

void main()
{ IT0=1;
 EX0=1;
 TMOD=0x09;
 EA=1;
 TR0=1;
 P3=0xff;

 UD0=1;
 UD1=0;
 OC0=1;
 OC1=0;
 while(1) 
{ p10=p32;
 if(datacheck==0xff)
 {
  /**********編碼解析后執(zhí)行代碼*******************


  ***********************/
 }   
}
/*************************************************************
中斷服務(wù)程序
通過探頭flagF的值判斷是否接收到sync信號
接收到的數(shù)據(jù)存入dataTMP的三個變量中
連續(xù)按鍵的確認(rèn):
   等待i9的值變?yōu)?;
 延時
   再次檢測i9的值是否為0;
   是0則認(rèn)為按鍵中止。
*************************************************************/
int0() interrupt 0
{
 tmp=TH0*256+TL0;
 TH0=0x0;
 TL0=0x0;
 if(flagF) 
 {
  if(tmp>1295&&tmp<1300)
  {p11=~p11;flagF=0;}
 }
 else
 { 
   if(i9<9) dataTMP=&dataTMP0;
            else
   {dataTMP=i9<17?(&dataTMP1):(&dataTMP2);}
   (*dataTMP)<<=1;
  if(tmp>100&&tmp<150)
   (*dataTMP)=(*dataTMP)|0x01;
  else if(!(tmp>10&&tmp<100))
   {
   flagF=1;
   i9=0;     
   }
 
  if(i9==24)
  {
   if(datacheck!=dataTMP2)
   datacheck=dataTMP2;
   else
   datacheck=0xff;  /*按鍵確認(rèn)*/ 
  }
  i9++;
 }
}

/*******************
延時函數(shù)
  時間:1-2s
*******************/
void delay(unsigned char k)
{unsigned char i; 
for(i=0;i<k;i++)
for(tmp=0;tmp<10300;tmp++);  
}

  • 上一篇: 基于TLC1549的單片機(jī)數(shù)字電壓表程序
  • 下一篇: 沒有了
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1