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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1477|回復: 1
收起左側

avr單片機紅外解碼程序+1602顯示結果源程序

[復制鏈接]
ID:435101 發表于 2019-6-18 10:25 | 顯示全部樓層 |閱讀模式
單片機源程序如下:
  1. #include <iom16v.h>
  2. #include <macros.h>  
  3. #include "1602.h"
  4. #define uint  unsigned int
  5. #define uchar unsigned char
  6. #define Set_Bit(val, bitn)    (val |=(1<<(bitn)))
  7. #define Clr_Bit(val, bitn)    (val&=~(1<<(bitn)))
  8. #define Get_Bit(val, bitn)    (val &(1<<(bitn)) )
  9. #define Cpl_Bit(val, bitn)    (val^=(1<<(bitn)) )

  10.   uchar adc_0[]={"IRCodeADD:"};
  11.   uchar adc_1[]={"IRCodeDAT:"};

  12. //*****************************************0
  13. //函數聲明
  14. void ICEInit(void);
  15. uchar bitcnt;
  16. uint newFall;
  17. uint oldFall;
  18. uint data0;
  19. uint data1;


  20. void ICEInit(void) //T/C1初始化
  21. {
  22.     TIMSK=0X20; //使能捕獲中斷
  23.     TCCR1A=0X00;//T/C1時鐘與系統相同,本文使用系統AVR內部自帶8MHz振蕩源.T/C1時鐘周期為1μs
  24.     TCCR1B=0X82; //使能噪音抑制,下降沿觸發中斷
  25. }
  26. void main(void)
  27. {   
  28.    DDRA = 0xff;      
  29.    PORTA = 0x00;      
  30.    DDRB = 0xFF;   
  31.    PORTB = 0xFF;
  32.    ICEInit();

  33.    LcdInit();   
  34.    WriteChar(1,0,10,adc_0);
  35.    WriteChar(2,0,10,adc_1);
  36.    SEI();
  37.   while(1);
  38.   }
  39.   

  40. #pragma interrupt_handler CAPT_ISR:iv_TIMER1_CAPT

  41. void CAPT_ISR(void)
  42. {
  43.   uchar a;
  44.   uint temp;
  45.   newFall=ICR1;
  46.   temp=newFall-oldFall; //計算脈沖加間隔的時間
  47.   oldFall=newFall;
  48.    
  49. if(temp>1024 && temp<1225) // "0"信號
  50.    {
  51.     temp=0;
  52.    }

  53. else if(temp>2145 && temp<2345) //“1”信號
  54.    {
  55.     temp=1;
  56.    }

  57. else if(temp>13400 && temp<13600) //header信號

  58. {
  59.     bitcnt=0;
  60.     data0=0;
  61.     data1=0;
  62. return; //返回,等待下次開始接收
  63. }

  64. else ///干擾信號
  65. {
  66.     return;
  67. }

  68.   bitcnt++;
  69.     if(bitcnt<16) //開始接收前16位
  70. {
  71.   data0=data0|(uint)temp;
  72.   data0=data0<<1;
  73. }
  74. else if(bitcnt==16)
  75. {
  76. data0=data0|(uint)temp;
  77. }
  78. else if(bitcnt<32) //開始接收后16位
  79. {
  80. data1=data1|(uint)temp;
  81. data1=data1<<1;
  82. }
  83. else if(bitcnt==32) //接收完最后一位
  84. {

  85.           data1=data1|(uint)temp;
  86.                   WriteNum(1,10,ASCII[(uchar)(data0>>8)/16]);
  87.                   WriteNum(1,11,ASCII[(uchar)(data0>>8)%16]);
  88.                   WriteNum(1,12,ASCII[(uchar)data0/16]);
  89.                   WriteNum(1,13,ASCII[(uchar)data0%16]);
  90.                   WriteNum(2,10,ASCII[(uchar)(data1>>8)/16]);
  91.                   WriteNum(2,11,ASCII[(uchar)(data1>>8)%16]);
  92.                   WriteNum(2,12,ASCII[(uchar)data1/16]);
  93.                   WriteNum(2,13,ASCII[(uchar)data1%16]);
  94. }

  95. }
復制代碼

所有資料51hei提供下載:
紅外解碼程序 1602顯示結果.rar (38.35 KB, 下載次數: 10)
回復

使用道具 舉報

ID:1 發表于 2019-6-18 14:24 | 顯示全部樓層
本帖需要重新編輯補全電路原理圖,源碼,詳細說明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品一区二区在线播放 | 欧美性生活一区二区三区 | 精品久久久久久久久亚洲 | 永久av | 精品1区2区 | 亚洲国产看片 | 国产午夜视频 | 欧美一级片在线看 | 成年人视频在线免费观看 | 中文字幕视频在线 | 精品日韩一区 | 日韩免费高清视频 | 人人精品| 日本激情一区二区 | 午夜爽爽爽男女免费观看影院 | 久久av在线播放 | 午夜a级理论片915影院 | 亚洲国产精选 | 五月激情婷婷在线 | 一区二区在线 | 国产又色又爽又黄又免费 | 成人精品一区二区 | 日日夜夜天天久久 | 偷拍自拍网站 | 91精品国产91久久久久久最新 | 欧美aⅴ在线观看 | 午夜影院视频在线观看 | 国产99久久久国产精品 | 精精国产视频 | av中文字幕在线 | 欧美激情亚洲天堂 | 精品亚洲第一 | 欧美激情综合 | 久久久网 | 国产夜恋视频在线观看 | 久久黄色网 | 欧美日韩在线视频一区二区 | 亚洲欧美激情精品一区二区 | 黄色国产大片 | 国产黄色在线观看 | 亚洲国产精品日韩av不卡在线 |