久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4140|回復: 2
打印 上一主題 下一主題
收起左側

stc15系列單片機紅外解碼程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:110725 發表于 2016-3-25 13:46 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
使用于藍橋杯金塞板
紅外遙控(T2EX).zip (54.31 KB, 下載次數: 53)

stc15單片機紅外解碼部分程序預覽:
  1. #include "Ir_Process.h"

  2. uchar Ir_Time, Start_Flag, Bit_Num, Ir_Ok, Ir_ProsOk;
  3. uchar Ir_Data[33], Ir_Code[4], Disp_Num[8];

  4. void ULN2003(void)
  5. {
  6.         Relay = BUZZ = 0;                //關閉繼電器和蜂鳴器
  7.         HC138(3);
  8.         P0 = 0xFF; HC138(0);        //熄滅LED
  9. }

  10. void Init_INT0(void)        //INT0初始化
  11. {
  12.         IT0 = 1;   //INT0下降沿觸發
  13.         EX0 = 1;   //INT0允許
  14.         EA = 1;       
  15. }

  16. void Init_T2(void)        //T2初始化
  17. {
  18.         AUXR &= ~0x04;                  //定時器2為12T模式
  19.     T2H = (65536 - 236)/256;        //初始化計時值
  20.     T2L = (65536 - 236)%256;
  21.     AUXR |= 0x10;                   //定時器2開始計時
  22.     IE2 |= 0x04;                    //開定時器2中斷
  23.     EA = 1;
  24. }

  25. void Ir_Pros(void)         //紅外處理
  26. {
  27.         uchar Num, i, j, k = 1;
  28.         for(j = 0; j < 4; j++)                //用戶碼16位、數據碼8位、數據反碼8位
  29.         {
  30.                 for(i = 0; i < 8; i++)        //一個數據八位
  31.                 {
  32.                         Num = Num >> 1;
  33.                         if(Ir_Data[k] > 6)        //0碼:0.56ms高電平+0.56ms低電平;1碼:0.56ms高電平+1.685ms低電平
  34.                         {                                        //0.56/0.256=4.4; 2.245/0.256=8.8。所以大于6為1碼
  35.                                 Num = Num | 0x80;        //低位在前,提取4個數據       
  36.                         }
  37.                         k++;
  38.                 }
  39.                 Ir_Code[j] = Num;        //為十六位二進制數
  40.         }
  41.         Ir_ProsOk = 1;       
  42. }

  43. void Ir_Disp(void)         //紅外碼轉換,準備送數碼管顯示
  44. {
  45.         Disp_Num[0] = Ir_Code[0]/16;
  46.         Disp_Num[1] = Ir_Code[0]%16;
  47.         Disp_Num[2] = Ir_Code[1]/16;
  48.         Disp_Num[3] = Ir_Code[1]%16;
  49.         Disp_Num[4] = Ir_Code[2]/16;
  50.         Disp_Num[5] = Ir_Code[2]%16;
  51.         Disp_Num[6] = Ir_Code[3]/16;
  52.         Disp_Num[7] = Ir_Code[3]%16;       
  53. }

  54. void INT0_ISR(void) interrupt 0
  55. {
  56.         if(Start_Flag)
  57.         {
  58.                 if(Ir_Time > 32 && Ir_Time < 63)         //在8~16ms之間,為引導碼
  59.                         Bit_Num = 0;       
  60.                 Ir_Data[Bit_Num] = Ir_Time;
  61.                 Ir_Time = 0;
  62.                 Bit_Num++;
  63.                 if(Bit_Num == 33)
  64.                 {
  65.                         Bit_Num = 0;
  66.                         Ir_Ok = 1;
  67.                 }
  68.         }
  69.         else
  70.         {       
  71.                 Ir_Time = 0;
  72.                 Start_Flag = 1;
  73.         }       
  74. }

  75. void T2_ISR(void) interrupt 12
  76. {
  77.         IE2 &= ~0x04;    //若需要手動清除中斷標志,可先關閉中斷,此時系統會自動清除內部的中斷標志
  78.         Ir_Time++;
  79.         IE2 |= 0x04;     //然后再開中斷即可       
  80. }
復制代碼


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:167370 發表于 2017-3-1 13:01 | 只看該作者
謝謝LZ分享
回復

使用道具 舉報

板凳
ID:289956 發表于 2018-3-13 08:27 | 只看該作者
正在做紅外遙控的學習,,收下,,謝謝!!!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产激情视频 | 999www视频免费观看 | 国产www. | 成人免费观看男女羞羞视频 | 综合久久久久久久 | 日韩在线日韩 | 午夜久久久久久久久久一区二区 | 欧美成人综合 | 国产一区二区av | 久久人人爽人人爽人人片av免费 | 久久国内 | 天天插天天舔 | 日韩毛片免费看 | 久久av一区二区三区 | 99久久99久久精品国产片果冰 | 欧美色人 | 国产精品呻吟久久av凹凸 | 欧美区日韩区 | 精品久久精品 | 一级毛片中国 | 1204国产成人精品视频 | 亚洲成人av| 欧美国产日韩一区二区三区 | 午夜日韩视频 | 欧美日韩久久精品 | 精品美女久久久 | 国产精品久久影院 | 午夜精品久久久久久久久久久久久 | 视频精品一区二区三区 | 国产91在线精品 | 日本午夜一区二区三区 | 成人在线小视频 | 日屁视频 | 日本精品视频一区二区 | 久久看精品 | 狠狠干网站 | 欧美在线视频免费 | a级网站 | 欧美日韩精品久久久免费观看 | 日本天天操 | 免费久草|