亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 1602jm.c

?? 1602遙控解碼
?? C
字號:
/***********************************************************
實驗名稱:遙控解碼1602顯示
程序說明:用配送的杜邦線把P1.7和P3.2短接,正確插上LCD1602,用1602來顯示解碼結(jié)果。
作者:RF-X1開發(fā)板團隊
日期:2008-08-01
***********************************************************/
    

#include <at89x52.h>

#define uchar unsigned char
#define uint  unsigned int 

/*----------------------------控制I/O口設(shè)置,根據(jù)實際而定---------------*/
#define  RS    P2_0        //RS數(shù)據(jù)命令選擇端,高電平數(shù)據(jù),低電平命令
#define  RW    P2_1        //RW讀寫選擇端,高電平讀操作,低電平寫操作
#define   E    P2_2        //E使能控制端,E高電平跳變?yōu)榈碗娖綍rLCD執(zhí)行命令

#define   DATA P1          //數(shù)據(jù)端口定義
#define   D0   P1_0
#define   D1   P1_1
#define   D2   P1_2
#define   D3   P1_3
#define   D4   P1_4
#define   D5   P1_5
#define   D6   P1_6
#define   D7   P1_7
#define   KEY1 P3_0
#define   KEY2 P3_1
#define   IR_RE P3_2    //外部中斷0接口

/*------------------------------------------------------------------------------*/
  bit   k=0;                                      //紅外解碼判斷標志位,為0則為有效信號,為1則為無效
  uchar n=0;                                      //用來控制外部中斷
  uchar code str0[16]=" REMOTE CONTROL";          //開機畫面顯示
  uchar code str1[16]="  IR-CODE: ";
  uchar code str2[16]="ERROR";
  
  uchar *p0=str0;
  uchar *p1=str1;
  uchar *p2=str2;
  delay1ms(uint k);
  
  void disp(void);                            //紅外鍵值顯示程序
  uchar  data date[4];                        //date數(shù)組為存放地址原碼,反碼,數(shù)據(jù)原碼,反碼 
  
/*------------------------LCD忙判斷子程序--------------------------------------*/

void busy()
{
  RS=0;RW=1;
  E=0;E=1;DATA=0xff;
  while(D7);
}

/*----------------------- 寫命令子程序-----------------------------------------*/

void wcom(uchar com)
{
  busy();
  RS=0;RW=0;
  E=1;
  DATA=com;
  E=0;
}

/*-------------------------寫數(shù)據(jù)子程序--------------------------------------*/

void wdata(uchar dat)
{
  busy();
  RS=1;RW=0;
  E=1;
  DATA=dat;
  E=0;
}

/*--------------------------讀命令子程序-----------------------------------*/
 
uchar rcom(void)
{
  uchar com;
  busy();
  RS=0;RW=1;
  DATA=0xff;
  E=1;
  com=DATA;
  E=0;
  return(com);

}

/*----------------------------讀數(shù)據(jù)子程序-----------------------------*/

uchar rdat(void)
{
  uchar dat;
  busy();
  RS=1;RW=1;
  DATA=0xff;
  E=1;
  dat=DATA;
  E=0;
  return(dat);
}

/*--------------------------延時1ms程子程序-----------------------*/
delay1000()             
{
   uint i,j;
   for(i=0;i<1;i++)
     for(j=0;j<124;j++)
     ;
}

/*---------------------------延時882us子程序-----------------------*/

delay882()
{
   uint i,j;
   for(i=0;i<1;i++)                  
     for(j=0;j<109;j++)
     ;
}

/*--------------------------延時2400ms程子程序-----------------------*/

delay2400()                                          
{
   uint i,j;
   for(i=0;i<3;i++)          
     for(j=0;j<99;j++)
      ;
}


/*--------------------------以下為初始化程序,由上面子程序組成,根據(jù)個人愛好-----------*/


/******************************清屏程序***********************************/
 void clear()
 { wcom (0x01);}

/******************************歸位程序********************************/
 void rehome()
 { wcom(0x02); }
/*******************8*****888**88888顯示模式設(shè)定8888888888888888888888*/

void  mode(bit x)
 {
    if(x==1)wcom(0x38);          //兩行5*8 mode 
	else wcom(0x34);            //一行5*10 mode
 }
/*------------------------顯示開關(guān)控制命令----------------------------*/

void on_off(bit x)
{
  if(x==1)wcom(0x0f);           //顯示開,光標開,光標閃爍
  else wcom(0x0c);             //顯示開,光標關(guān)
}


/*------------------------init初始化組合-------------------------*/

void init()
{
  clear();          //清屏
  mode(1);          //模式設(shè)置
  on_off(1);         //顯示設(shè)置
  wcom(0x06);        //移動方式
}

/*---------------------------對字符串的處理------------------------*/

void strchar(uchar *p)
{
  while(*p!='\0')
  {
    wdata(*p);
	p++;
  }
}

/*----------------------------------------------------------*/
/*-----------------------紅外解碼程序(核心)-----------------*/
/*----------------------------------------------------------*/

void IR_decode()
{
  uchar  i,j;
  while(IR_RE==0);
  delay2400();
  if(IR_RE==1)                               //延時2.4ms后如果是高電平則是新碼
  {
     delay2400();                            //延時4.8ms避開4.5ms的高電平
	 for(i=0;i<4;i++)
	 {
	   for(j=0;j<8;j++)
	   {
           while(IR_RE==0);                       //等待地址碼第1位高電平到來
           delay882();                         //延時882ms判斷此時引腳電平
		   ///CY=IR_RE;
           if(IR_RE==0)
           {       
			  date[i]>>=1;
			  date[i]=date[i]&0x7f;			  
           }
           else if(IR_RE==1)
		   {
			  delay1000();
			  date[i]>>=1;
			  date[i]=date[i]|0x80;
		   }
		}                                    //1位數(shù)據(jù)接收結(jié)束
     }                                       //32位二進制碼接收結(jié)束
   } 
}



/*------------------二進制碼轉(zhuǎn)換為壓縮型BCD碼,并顯示---------------*/

void two_2_bcd(uchar date)
{

   uchar temp;
   temp=date;
   date&=0xf0;
   date>>=4;                    //右移四位得到高四位碼
   date&=0x0f;                  //與0x0f想與確保高四位為0
   if(date<=0x09)
   {
    // wcom(0xcb);                  
     wdata(0x30+date);            //lcd顯示鍵值高四位
   }
   else
   {
     date=date-0x09;
	 //wcom(0xcb);
	 wdata(0x40+date);
   }
   date=temp;
   date&=0x0f;
   if(date<=0x09)
   {
     wdata(0x30+date);            //lcd顯示低四位值
   }
   else
   {
     date=date-0x09;
	 wdata(0x40+date);
   }
   wdata(0x48);                 //顯示字符'H'
} 


//////////////////////////////轉(zhuǎn)換程序結(jié)束///////////////////////////


/*----------------------解碼成功后,1602顯示鍵值子程序---------------*/

void disp()
{
   uchar date1;
   date1=date[3]^0xff;               //如果得到的數(shù)據(jù)原碼和數(shù)據(jù)反碼相反
   if(date[2]==date1)                 //顯示鍵值
   {  
   wcom(0xc0);
      two_2_bcd(date[0]);
	  wdata(0x20);
	  two_2_bcd(date[1]);
	  	  wdata(0x20);
	  two_2_bcd(date[2]);
	  	  wdata(0x20);
	  two_2_bcd(date[3]);
   }
}


/*------------------------外部中斷0程序-------------------------*/
/*------------------主要用于處理紅外遙控鍵值--------------------*/

void int0() interrupt 0
{ 
   uint i;
   for(i=0;i<4;i++)
   { 
     delay1000();
	 if(IR_RE==1){k=~k;}                   //剛開始為4.5ms的引導(dǎo)碼,如果4ms內(nèi)出現(xiàn)高電平則退出解碼程序
   }

   if(k==0)
   { 
   EX0=0;                                //檢測到有效信號關(guān)中斷,防止干擾
   IR_decode();                          //如果接收到的是有效信號,則調(diào)用解碼程序
   disp();                               //解碼成功,調(diào)用顯示程序,顯示該鍵值
   }
  EX0=1;                                 //開外部中斷,允許新的遙控按鍵
}



/*---------------------------------------------------------------*/
/*           以下為主程序,主要對LCD初始化,開始界面設(shè)置         */
/*---------------------------------------------------------------*/
void main(void)
{
  SP=0x60;                                //堆棧指針
  TMOD=0x11;                              //定時器模式設(shè)置所選為 模式1
  TH0=0xd8;                               //定時器初值理論為 10ms;
  TL0=0xf7;                               //實際取d8f7
  ET0=1;                                  //允許定時器0中斷
  EX0=1;                                  //允許外部中斷0,用于檢測紅外遙控器按鍵
  EA=1;                                   //總中斷開
  init();                                 //初始化LCD
  wcom(0x80);                             //寫入字符的地址為第1行第1列
  strchar(p0);                            //調(diào)用顯示字符串函數(shù)
  wcom(0xc0);
  //strchar(p1);
  while(1);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合久久中文字幕综合网| 在线观看日韩一区| 不卡的电影网站| 欧美综合在线视频| 久久久久国产精品人| 一区二区三区欧美视频| 极品瑜伽女神91| 色综合久久中文字幕| 久久久久国产精品人| 亚洲精品国产无天堂网2021| 久久99精品视频| 欧美日韩国产成人在线91| 国产日韩高清在线| 天天色综合天天| 99国产欧美另类久久久精品 | 99re这里都是精品| 日韩欧美一卡二卡| 亚洲午夜久久久久久久久久久 | 亚洲精品国产一区二区三区四区在线| 久久99精品久久久久久久久久久久| 91老师片黄在线观看| 日本一区二区三区在线观看| 久久精品国产99| 欧美一级片在线观看| 亚洲国产精品久久艾草纯爱| 色综合久久精品| 国产精品久久久久久亚洲毛片 | 欧美一级片在线观看| 一区二区三区欧美日| 99久久婷婷国产综合精品| 国产婷婷精品av在线| 国产一区二区看久久| 欧美v日韩v国产v| 美日韩一区二区| 欧美一区在线视频| 日本伊人午夜精品| 欧美一区二区三区视频| 日韩成人午夜精品| 91精品国产手机| 日韩电影免费在线| 日韩视频免费直播| 久草在线在线精品观看| 精品久久久久久亚洲综合网| 久久国产精品色| 2021国产精品久久精品| 国产盗摄精品一区二区三区在线 | 欧美高清视频不卡网| 亚洲影视在线观看| 欧美日韩精品免费观看视频| 午夜不卡av免费| 日韩欧美的一区二区| 激情图片小说一区| 国产色爱av资源综合区| 成人av片在线观看| 一区二区三区精品在线| 3d动漫精品啪啪一区二区竹菊| 青青草国产成人99久久| 国产日韩欧美精品一区| 99精品在线免费| 香蕉影视欧美成人| wwwwxxxxx欧美| 91在线一区二区| 亚洲国产另类av| 日韩免费看的电影| 盗摄精品av一区二区三区| 亚洲人成7777| 日韩欧美自拍偷拍| 丁香另类激情小说| 五月婷婷久久丁香| 国产欧美日韩三级| 欧美在线你懂得| 国产一区91精品张津瑜| 亚洲免费在线播放| 久久亚洲春色中文字幕久久久| 成人午夜私人影院| 香蕉乱码成人久久天堂爱免费| 亚洲精品一区二区三区四区高清| 97se狠狠狠综合亚洲狠狠| 日韩vs国产vs欧美| 国产精品卡一卡二卡三| 欧美人狂配大交3d怪物一区 | 久久一夜天堂av一区二区三区| 成人国产电影网| 男女激情视频一区| 亚洲色图欧美偷拍| 久久精品欧美日韩| 欧美电影在哪看比较好| 99精品欧美一区二区三区小说 | 欧美成人一区二区三区| 97se狠狠狠综合亚洲狠狠| 捆绑调教美女网站视频一区| 亚洲免费av高清| 国产三级精品视频| 欧美mv和日韩mv的网站| 欧美色电影在线| 色综合久久中文综合久久牛| 国产精品一区二区男女羞羞无遮挡 | 福利电影一区二区三区| 日本一不卡视频| 亚洲香肠在线观看| 国产精品成人免费| 中文字幕免费一区| 久久久久久久久久久久久夜| 69堂成人精品免费视频| 欧美性色黄大片| 日本高清视频一区二区| 成人午夜视频免费看| 国产在线国偷精品产拍免费yy| 午夜精品免费在线观看| 一级中文字幕一区二区| 国产精品麻豆久久久| 久久精品欧美日韩| 久久久精品综合| 久久精品视频一区二区| 精品国产乱码久久久久久老虎 | 久久一日本道色综合| 精品毛片乱码1区2区3区| 91精品国产入口在线| 欧美一卡二卡在线观看| 日韩一级二级三级| 欧美成人video| 日韩精品一区二区三区在线观看 | 亚洲第一综合色| 亚洲视频中文字幕| 自拍视频在线观看一区二区| 最新日韩在线视频| 中文字幕精品在线不卡| 玉足女爽爽91| 在线精品视频免费观看| 成人动漫一区二区| 91在线观看视频| 欧洲精品一区二区| 在线电影一区二区三区| 欧美一区二区日韩| 欧美丰满一区二区免费视频| 欧美一级片免费看| 欧美sm极限捆绑bd| 国产亚洲一本大道中文在线| 国产精品国产自产拍高清av王其| 中文字幕视频一区| 亚瑟在线精品视频| 韩国一区二区视频| 97久久久精品综合88久久| 欧美亚男人的天堂| 日韩视频中午一区| 国产精品久久777777| 亚洲va韩国va欧美va| 久久99国产精品免费网站| 成人午夜激情在线| 欧美三级中文字| 国产亚洲一本大道中文在线| 一区二区三区在线视频观看58 | 亚洲v精品v日韩v欧美v专区| 久久亚洲一区二区三区四区| 欧美巨大另类极品videosbest| 精品免费一区二区三区| 国产精品高潮呻吟久久| 同产精品九九九| 国产传媒欧美日韩成人| 欧美丝袜丝nylons| 久久久99免费| 亚洲成人精品在线观看| 国精产品一区一区三区mba桃花 | 91网站在线观看视频| 欧美一区二区精品| 亚洲欧美一区二区在线观看| 五月天亚洲婷婷| 丰满岳乱妇一区二区三区| 欧美日韩高清影院| 亚洲人成7777| 国产伦精品一区二区三区免费 | 国产乱码精品一区二区三区av | 国产精品69毛片高清亚洲| 亚洲自拍偷拍九九九| 国产自产v一区二区三区c| 色吧成人激情小说| 久久这里只有精品视频网| 亚洲成人av免费| www.欧美日韩| 久久久久国产精品厨房| 日韩高清一区在线| 91精品1区2区| 国产精品乱码久久久久久| 六月丁香婷婷色狠狠久久| 欧美在线视频不卡| 亚洲欧美日韩在线| 成人免费看黄yyy456| 久久精品一级爱片| 久久不见久久见免费视频1| 91精品欧美综合在线观看最新| 一区二区三区在线视频播放| 99v久久综合狠狠综合久久| 久久久精品国产免大香伊| 极品瑜伽女神91| 欧美成人bangbros| 欧美偷拍一区二区| 99re成人在线| 欧美日韩国产电影| 亚洲国产成人精品视频| 欧美精品久久一区二区三区|