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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

簡單程序用單片機定時器1和2測量紅外高低脈沖時間及個數

[復制鏈接]
跳轉到指定樓層
樓主

遙控紅外引導碼



高低脈沖時間us






我用的數碼管電路圖

單片機源程序如下:
  1. #include<reg52.h>
  2. sfr T2MOD=0XC9; //定義定時器2
  3. #define u8  unsigned char
  4. #define u16 unsigned int
  5. sbit ir=P3^2;sbit LSA=P2^2;        sbit LSB=P2^3;sbit LSC=P2^4;//數碼管用的138
  6. bit di=0,gao=0,c=0;
  7. u8 js=0,us=0;          //js是計算低脈沖個數
  8. u16 idata IR[75];//所有高低脈沖都裝在里面
  9. //紅外一組為68個高低脈沖,設75個,隨便改脈沖個數
  10. u8 code tab[11]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0};
  11. u8 dw[5];//數碼管顯示0--9,最后那個0是關顯示
  12. void Delay(u16 n){while(--n);}//12M公式n=(延時-6)*0.12493899(us)
  13. void disp()
  14. {                P0=tab[dw[i]];
  15.                 Delay(70); //間隔一段時間掃描        
  16.                 P0=0x00;//消隱
  17. }
  18. void T0init(void) //定時器0模式2初始化,完成一次中斷為256us,10次就乘10次
  19. {TMOD=0x02;TH0=0x00;TL0=0x00;ET0=1;TR0=1;}
  20. void E0init(void)//外P3^2中斷0 初始化
  21. {IT0=1;EX0=1;}

  22. void main(void)
  23. { T2MOD=0;T2CON=0;    //定時器2初始化,向上計數,16位自動重裝模式
  24.   TL2=0x00;TH2=0x00;   //設置定時初值,完成一次中斷為65536us=65ms
  25.   RCAP2L=0x00;RCAP2H=0x00; //設置定時重載值
  26.   IE=0xa0;        //EA=1,ET2=1;
  27.   E0init();
  28.   T0init();
  29. while(1)
  30.    {static u8 a=0;
  31.            while(!ir){        //低脈沖時計算高脈沖時間
  32.         if(gao){IR[a]=TH2*256+TL2+8;
  33.                a++;gao=0;TH2=0;TL2=0;}}
  34.         if(di){TR0=0;TR2=1;IR[a]=us*256+TL0-4;//1個us為256,減4補誤差
  35.                a++;di=0;TL0=0;us=0;}//高脈沖時計算低脈沖時間
  36.         if(TH2>78){TR2=0;TH2=0;TL2=0;a=0;c=1;}//TH2>78高脈沖超20ms結束
  37.     if(c)disp();//結束后顯示高低脈沖時間us
  38. }  }
  39. void t0() interrupt 1
  40. {us++;di=1;}
  41. void E0() interrupt 0
  42. {TR0=1;if(TR2)gao=1;TR2=0;js++;}
  43. void t2() interrupt 5   
  44. {TF2=0;}              //要寫TF2=0
復制代碼

顯示部分不同程序就不同,顯示程序自己寫就行了,只要是顯示IR[]數組。
如果數碼管電路和我的一樣,就下載下面直接運行,w=100,我測試快用的,改為w=500慢顯示。

代碼:
捕捉紅外高低脈沖時間.rar (1.37 KB, 下載次數: 7)

評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美涩 | 欧美精品一区三区 | 欧美日日 | 久久99久久98精品免观看软件 | 国产一区二区三区在线视频 | 国产精品亚洲第一 | 在线亚洲电影 | 日韩欧美一区二区三区免费看 | 日韩av最新网址 | 国产综合视频 | 中文字幕亚洲精品在线观看 | 97视频人人澡人人爽 | 久久综合色综合 | 一区精品视频 | 国产一级视频在线观看 | 午夜影晥 | 在线一区 | 天天澡天天操 | 国产传媒视频在线观看 | 天天操天天拍 | 黄色国产视频 | 成人欧美一区二区三区在线播放 | 国产一区久久久 | 亚洲 中文 欧美 日韩 在线观看 | 久久久国产一区二区三区四区小说 | 精品国产欧美一区二区三区成人 | 中文字幕一区二区不卡 | 黄网站免费在线观看 | 一级日韩 | 国产精品18久久久久久久 | 午夜免费福利片 | 欧洲一区在线观看 | 99re在线视频| 欧美福利一区 | 三级国产三级在线 | 久久精品久久久久久 | 欧美v日韩 | 成人片在线看 | 日韩高清国产一区在线 | 亚洲狠狠爱 | 亚洲色图图片 |