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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

51單片機紅外控制繼電器代碼+實物制作

  [復制鏈接]
跳轉到指定樓層
樓主
制作出來的紅外控制繼電器實物圖如下:


單片機源程序如下:
  1. /*********************************************************************************
  2. * 【外部晶振】: 11.0592mhz        
  3. * 【主控芯片】: STC89C52
  4. **********************************************************************************/
  5. #include<reg52.h>            //包含頭文件,一般情況不需要改動,頭文件包含特殊功能寄存器的定義

  6. sbit IR=P3^2;          //紅外接口標志
  7. sbit Jdq=P1^0;  //定義一個繼電器 為P1.0 IO口

  8. unsigned char  irtime;        //紅外用全局變量

  9. bit irpro_ok,irok;
  10. unsigned char IRcord[4];
  11. unsigned char irdata[33];

  12. void Ir_work(void);
  13. void Ircordpro(void);

  14. void tim0_isr (void) interrupt 1 using 1
  15. {
  16.   irtime++;  //用于計數2個下降沿之間的時間
  17. }

  18. void EX0_ISR (void) interrupt 0 //外部中斷0服務函數
  19. {
  20.         static unsigned char  i;             //接收紅外信號處理
  21.         static bit startflag;                //是否開始處理標志位

  22.         if(startflag)                        
  23.         {
  24.                 if(irtime<63&&irtime>=33)//引導碼 TC9012的頭碼,9ms+4.5ms
  25.             i=0;
  26.                     irdata[i]=irtime;//存儲每個電平的持續時間,用于以后判斷是0還是1
  27.                     irtime=0;
  28.                     i++;
  29.                            if(i==33)
  30.                       {
  31.                                   irok=1;
  32.                                 i=0;
  33.                           }
  34.         }
  35.         else
  36.         {
  37.                 irtime=0;
  38.                 startflag=1;
  39.         }
  40. }

  41. void TIM0init(void)//定時器0初始化
  42. {
  43.         TMOD=0x02;//定時器0工作方式2,TH0是重裝值,TL0是初值
  44.         TH0=0x00; //重載值
  45.         TL0=0x00; //初始化值
  46.         ET0=1;    //開中斷
  47.         TR0=1;   
  48. }
  49. void EX0init(void)
  50. {
  51. IT0 = 1;   //指定外部中斷0下降沿觸發,INT0 (P3.2)
  52. EX0 = 1;   //使能外部中斷
  53. EA = 1;    //開總中斷
  54. }
  55. void Ir_work(void)//紅外鍵值散轉程序
  56. {
  57.        switch(IRcord[2])//判斷第三個數碼值
  58.                  {
  59.                         case 0x45:Jdq=!Jdq;break;//電源 顯示相應的按鍵值                        

  60.              default:break;
  61.                          }

  62.                   irpro_ok=0;//處理完成標志

  63. }
  64. void Ircordpro(void)//紅外碼值處理函數
  65. {
  66.         unsigned char i, j, k,cord,value;
  67.         k=1;
  68.         for(i=0;i<4;i++)      //處理4個字節
  69.         {
  70.                 for(j=1;j<=8;j++) //處理1個字節8位
  71.                 {
  72.                         cord=irdata[k];
  73.                         if(cord>7)//大于某值為1,這個和晶振有絕對關系,這里使用12M計算,此值可以有一定誤差
  74.                         value=value|0x80;
  75.                         if(j<8)
  76.                         {
  77.                                 value>>=1;
  78.                         }
  79.                         k++;
  80.                 }
  81.                 IRcord[i]=value;
  82.                 value=0;     
  83.         }
  84.         irpro_ok=1;//處理完畢標志位置1
  85. }

  86. void main(void)
  87. {
  88.         EX0init(); //初始化外部中斷
  89.         TIM0init();//初始化定時器         
  90.         Jdq=1; //繼電器初始為關閉狀態

  91.         while(1)//主循環
  92.         {
  93.                 if(irok)                        //如果接收好了進行紅外處理
  94.                 {   
  95.                         Ircordpro();
  96.                         irok=0;
  97.                 }
  98.                 if(irpro_ok)                   //如果處理好后進行工作處理,如按對應的按鍵后顯示對應的數字等
  99.                 {
  100.                         Ir_work();
  101.                 }
  102.         }
  103. }
復制代碼

所有資料51hei提供下載:
51紅外控制繼電器.zip (18.9 KB, 下載次數: 127)


評分

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

查看全部評分

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

使用道具 舉報

沙發
ID:468413 發表于 2019-1-15 11:23 | 只看該作者
感謝分享。
回復

使用道具 舉報

板凳
ID:419910 發表于 2019-5-15 22:46 | 只看該作者
新手求電路圖,看了樓主好多帖子大部分都沒有電路圖,
回復

使用道具 舉報

地板
ID:539754 發表于 2019-5-16 13:19 | 只看該作者
大神嫩否留下qq 向您討教?
回復

使用道具 舉報

5#
ID:72088 發表于 2019-5-16 15:47 | 只看該作者

這是我用STC15F104單片機制作的紅外遙控開關,
有學習按鍵功能體積小巧。并掉電不丟失記憶遙控數據
喜歡的可以看我的帖子,交流

1557992354002.jpg (2.17 MB, 下載次數: 128)

1557992354002.jpg
回復

使用道具 舉報

6#
ID:537743 發表于 2019-5-16 16:33 | 只看該作者
好東西啊!有代碼嗎?
回復

使用道具 舉報

7#
ID:549612 發表于 2019-5-28 20:44 | 只看該作者
大佬你好!我目前是一名大一的學生然后想在宿舍做一個利用紅外遙控一鍵開鎖的裝置,遙控器僅需一個按鍵用以控制舵機,遙控器按下后利用紅外線讓舵機旋轉一定角度用以帶動門把手實現開門操作,5秒后舵機再自動復位。目前了解到需要單片機,舵機,和紅外接收器模塊與遙控器(遙控器在淘寶上沒有找到那鐘足夠小的可以粘在桌子或床頭的超小型遙控器。)但是并不知道如何制作與燒錄程序。是一個完完全全的小白,希望大佬可以教一下這是我的qq1434600134
回復

使用道具 舉報

8#
ID:92810 發表于 2019-5-29 14:35 | 只看該作者
這個創意可以的啊
回復

使用道具 舉報

9#
ID:590645 發表于 2019-9-22 10:31 | 只看該作者
很實用的創作。
回復

使用道具 舉報

10#
ID:67523 發表于 2023-4-28 09:56 | 只看該作者
期待效果加強學習
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美激情视频网站 | 久产久精国产品 | 精品国产欧美 | 国产精品视频免费看 | 羞羞网站在线观看 | 99亚洲精品 | 久久国产精品一区二区三区 | 欧美精品一区二区三区视频 | 久久com | 国产日韩欧美 | 在线 丝袜 欧美 日韩 制服 | 亚洲视频免费在线观看 | 亚洲精品日韩视频 | 日韩一区二区三区视频 | 一区二区国产精品 | 亚洲综合成人网 | 日韩一区二区视频 | 免费成人高清在线视频 | 国产a区| 精品一二三区 | 色视频网站 | 在线一级片| 国产美女一区二区 | 伊人超碰 | 亚洲综合色自拍一区 | 天天干天天爱天天操 | 日韩欧美三级 | 九九热re| 久久日本| 免费的色网站 | 午夜电影网站 | 精品国产三级 | 婷婷综合久久 | 亚洲第一中文字幕 | 色噜噜色综合 | 久草新在线 | 国产有码| 91天堂网| 男女免费网站 | 国产精品久久久久久久久久免费看 | 99reav|