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

          新聞中心

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

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

          作者: 時間: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單片機STC89C52RC MCU晶振11.0592MHZ
          *************************************************************************
          */

          本文引用地址:http://www.ex-cimer.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);//延時100ms
          UartSend(ircode[2]); //發(fā)送鍵碼
          }
          }
          }

          /**
          * @brief 延時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,八位自動重裝模式
          TH1 = 0xFD; //波特率 = 256-1/2^SMOD*T1溢出率 X=256-11059200/12/32/波特率
          TL1 = TH1;//波特率9600bps
          TR1 = 1;
          ET1 = 0;//只用T1的計數(shù)
          SCON |= 0x50;//串口方式1 SM0 SM1 SM2 REN TB8 RB8 TI RI 0101 0000
          /*
          SM0 = 0;
          SM1 = 1;//方式1 SM2多機通信位
          REN = 1;//允許接收數(shù)據(jù)
          TI = 0;//發(fā)送完成中斷標(biāo)志
          RI = 0;//接收完成中斷標(biāo)志
          */
          ES = 1;//開串口中斷
          EA = 1;//開總中斷
          }

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

          /**
          * @brief 串口中斷
          * @param 無
          * @retval 無
          */
          void Uart_ISP() interrupt 4 //串口中斷標(biā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單片機STC89C52RC MCU晶振11.0592MHZ
          **************************************************************
          */


          上一頁 1 2 下一頁

          評論


          技術(shù)專區(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); })();