在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

    
    
    <address id="vxupu"><td id="vxupu"></td></address>

      <pre id="vxupu"><small id="vxupu"></small></pre>
      <dfn id="vxupu"></dfn>
      <div id="vxupu"><small id="vxupu"></small></div>
    1. 新聞中心

      EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 通過串口發(fā)送紅外遙控器的解碼值到PC

      通過串口發(fā)送紅外遙控器的解碼值到PC

      作者: 時(shí)間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
      /**

      *************************************************************************
      * @file main.c
      * @author xr
      * @date 2014年3月31日22:30:08
      * @version V1.2.3
      * @brief 串口通信+紅外通信 通過串口發(fā)送紅外遙控器的解碼值到PC
      * @note單片機(jī)STC89C52RC MCU晶振11.0592MHZ
      *************************************************************************
      */

      本文引用地址:http://www.biyoush.com/article/201612/324709.htm

      #include

      void ConfigUart();
      void UartSend(unsigned char dat);
      void delayms(unsigned int xms);
      extern bit irflag;
      extern unsigned char ircode[4];
      extern void ConfigInfrared();

      void main()
      {
      ConfigUart();
      ConfigInfrared();

      while (1)
      {
      if (irflag) //接收到紅外數(shù)據(jù)
      {
      irflag = 0;
      UartSend(ircode[0]); //發(fā)送用戶碼
      delayms(100);//延時(shí)100ms
      UartSend(ircode[2]); //發(fā)送鍵碼
      }
      }
      }

      /**
      * @brief 延時(shí)xms
      * @param xms
      * @retval 無
      */
      void delayms(unsigned int xms)
      {
      unsigned int x, y;

      for (x = 0; x < xms; x++)
      for (y = 0; y < 110; y++);
      }

      /**
      * @brief 配置串口通信
      * @param 無
      * @retval 無
      */
      void ConfigUart()
      {
      TMOD &= 0x0F;//清零T1控制位
      TMOD |= 0x20;//T1方式2,八位自動(dòng)重裝模式
      TH1 = 0xFD; //波特率 = 256-1/2^SMOD*T1溢出率 X=256-11059200/12/32/波特率
      TL1 = TH1;//波特率9600bps
      TR1 = 1;
      ET1 = 0;//只用T1的計(jì)數(shù)
      SCON |= 0x50;//串口方式1 SM0 SM1 SM2 REN TB8 RB8 TI RI 0101 0000
      /*
      SM0 = 0;
      SM1 = 1;//方式1 SM2多機(jī)通信位
      REN = 1;//允許接收數(shù)據(jù)
      TI = 0;//發(fā)送完成中斷標(biāo)志
      RI = 0;//接收完成中斷標(biāo)志
      */
      ES = 1;//開串口中斷
      EA = 1;//開總中斷
      }

      /**
      * @brief 串口發(fā)送一個(gè)字節(jié)數(shù)據(jù)到PC
      * @param 待發(fā)送數(shù)據(jù)
      * @retval 無
      */
      void UartSend(unsigned char dat)
      {
      SBUF = dat;
      //while (!TI);//等待發(fā)送完成,在中斷模式下不需要等待,否則進(jìn)不了中斷
      }

      /**
      * @brief 串口中斷
      * @param 無
      * @retval 無
      */
      void Uart_ISP() interrupt 4 //串口中斷標(biāo)號(hào)是4
      {
      if (TI) //等待發(fā)送完成
      { //發(fā)送完成
      TI = 0;//清零
      }
      }


      /**
      **************************************************************
      * @file infrared.c
      * @author xr
      * @date 2014年3月31日20:51:23
      * @version V1.2.3
      * @brief 紅外通信--紅外遙控器NEC協(xié)議解碼
      * @note單片機(jī)STC89C52RC MCU晶振11.0592MHZ
      **************************************************************
      */


      上一頁 1 2 下一頁

      評(píng)論


      技術(shù)專區(qū)

      關(guān)閉