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

標題: 51單片機紅外遙控點燈程序 [打印本頁]

作者: 我叫小大打    時間: 2020-3-31 13:46
標題: 51單片機紅外遙控點燈程序
程序絕對行的。ok的
我也是花了一兩才弄懂得紅外遙控原理還要解碼的
本人有著”我為人人,人人為我“的精神

制作出來的實物圖如下:


單片機源程序如下:
  1. #include<reg52.h>
  2. #define uint unsigned int
  3. #define uchar unsigned char

  4. /*端口定義*/
  5. sbit led1=P1^0;
  6. sbit led2=P1^1;
  7. sbit led3=P1^2;
  8. sbit led4=P1^3;
  9. sbit led5=P1^4;//發光二極管控制端定義

  10. unsigned char irtime;//紅外用全局變量
  11. bit irpro_ok,irok;
  12. unsigned char IRcord[4];//用來存放用戶碼、用戶反碼、數據碼、數據反碼
  13. unsigned char irdata[33];//用來存放32位碼值

  14. void tim0_isr()interrupt 1 using 1//定時器0中斷服務函數
  15. {
  16.         irtime++;
  17. }

  18. void ex0_isr()interrupt 0 using 0//外部中斷0服務函數
  19. {
  20.         static unsigned char i;
  21.         static bit startflag;
  22.         if(startflag)
  23.         {
  24.                 if(irtime<63&&irtime>=33)//引導碼TC9012的頭碼
  25.                 i=0;
  26.                 irdata[i]=irtime;
  27.                 irtime=0;
  28.                 i++;
  29.                 if(i==33)
  30.                 {
  31.                         irok=1;
  32.                         i=0;
  33.                 }
  34.         }
  35.         else{irtime=0;startflag=1;}
  36. }

  37. void TIM0init()//定時器0初始化
  38. {
  39.         TMOD=0x02;//定時器0工作方式2,TH0是重裝值,TL0是初值
  40.         TH0=0x00;//reload value
  41.         TL0=0x00;//initial value
  42.         ET0=1;//開總中斷
  43.         TR0=1;
  44. }
  45. void EX0init()
  46. {
  47.         IT0=1;//Configure interrupt 0 for falling edge on/INT0(P3.2)
  48.         EX0=1;//Enable EX0 Interrupt
  49.         EA=1;
  50. }////////////////////////////////////////////////////////////////////////
  51. void Ircordpro()//紅外碼值處理函數(關鍵函數)
  52. {
  53.         unsigned char i,j,k=1;
  54.         unsigned char cord,value;

  55.         for(i=0;i<4;i++)
  56.         {/////////////////////處理4個字節
  57.                 for(j=1;j<=8;j++)
  58.                 {//////////////////處理1個字節8位
  59.                         cord=irdata[k];
  60.                         value=value>>1;
  61.                         if(cord>7)value=value|0x80;//大于某值為1
  62.                         k++;
  63.                 }
  64.                 IRcord[i]=value;
  65.                 value=0;
  66.         }
  67.         irpro_ok=1;//處理完畢標志位置1
  68. }

  69. void main()
  70. {
  71.         EX0init();//Enable GlobaI Interrupt Flag
  72.         TIM0init();
  73.         while(1)
  74.         {
  75.                 if(irok)
  76.                 {
  77.                         Ircordpro();
  78.                         irok=0;
  79.                 }
  80.                 if(irpro_ok)//遙控成功接收
  81.                 {
  82.                         switch(IRcord[2])
  83.                         {
  84.                                
  85.                                         case 0x19:led1=0;break;  //(0)
  86.                 case 0x40:led5=0;break;  //(5)
  87.                 case 0x47:led3=0;break;  //按關機鍵,燈全滅(6)
  88.                 case 0x44:led4=0;break;  //(4)
  89.                 case 0x45:led1=0;break;  //(1)
  90.                 case 0x46:led2=0;break;  //(2)


  91.                 case 0x43: P1=0xff;break;//(3)
  92.                         }
  93.                 }
  94.         }
  95. }
復制代碼

所有資料51hei提供下載:
51單片機紅外遙控點燈程序.7z (192.97 KB, 下載次數: 200)


作者: huigo1822    時間: 2020-4-12 07:32
你好,紅外引腳定義是哪個!
作者: 我叫小大打    時間: 2020-4-15 22:10
huigo1822 發表于 2020-4-12 07:32
你好,紅外引腳定義是哪個!

紅外引腳是 P3^2
作者: huigo1822    時間: 2020-4-17 02:03
我叫小大打 發表于 2020-4-15 22:10
紅外引腳是 P3^2

哦!怎么沒定義出來呢?還有我解碼出來00 FF 02 FD要怎么用這個來控制開關呢?小白不懂望指教!謝謝
作者: 我叫小大打    時間: 2020-4-22 21:59
huigo1822 發表于 2020-4-17 02:03
哦!怎么沒定義出來呢?還有我解碼出來00 FF 02 FD要怎么用這個來控制開關呢?小白不懂望指教!謝謝

????你說說你的問題哈
作者: hslcac    時間: 2020-4-23 11:49
huigo1822 發表于 2020-4-17 02:03
哦!怎么沒定義出來呢?還有我解碼出來00 FF 02 FD要怎么用這個來控制開關呢?小白不懂望指教!謝謝

http://www.zg4o1577.cn/bbs/dpj-184729-1.html
看一下我的帖子,詳細介紹的紅外案例
作者: lmnb2678202    時間: 2020-4-23 23:09
程序對我們初學者很有用,但是有問題呀1-5只能開,不能關,要6能關卻不能開。你能搞P0--P7定義1-7鍵,8、9、0上下左右OK鍵設P20--P27.米或井全開全關嗎,謝謝
作者: 我叫小大打    時間: 2020-4-25 13:36
lmnb2678202 發表于 2020-4-23 23:09
程序對我們初學者很有用,但是有問題呀1-5只能開,不能關,要6能關卻不能開。你能搞P0--P7定義1-7鍵,8、9 ...

可以全部搞的啊,我就是弄幾個簡單的而已啊
作者: lmnb2678202    時間: 2020-4-25 21:42
我叫小大打 發表于 2020-4-25 13:36
可以全部搞的啊,我就是弄幾個簡單的而已啊

我搞了下,但是亂跳碼,你改的程序看下被,交流下
作者: 我叫小大打    時間: 2020-4-25 21:51
lmnb2678202 發表于 2020-4-25 21:42
我搞了下,但是亂跳碼,你改的程序看下被,交流下

你可能紅外取碼錯誤了
作者: a2910983970    時間: 2020-4-26 15:50
這個和紅外接收器有沒有關系,我用的VS1838,和CHR1838,晶振12M都不行
作者: 我叫小大打    時間: 2020-4-26 22:33
a2910983970 發表于 2020-4-26 15:50
這個和紅外接收器有沒有關系,我用的VS1838,和CHR1838,晶振12M都不行

我的紅外型號是:HX1838。最好是用同一個型號的,要不然你得自己改程序哈
作者: 676951299    時間: 2021-4-14 16:33
有protues電路圖嗎
作者: 676951299    時間: 2021-4-14 16:43
有沒有電路圖
作者: 我叫小大打    時間: 2021-6-14 15:13
676951299 發表于 2021-4-14 16:33
有protues電路圖嗎

沒有的
作者: 君工創    時間: 2021-10-9 17:53
我看看能不能利用。




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美九九 | 国产精品入口麻豆www | 日韩影音 | 国产乱人伦精品一区二区 | 日韩一区二区三区在线观看 | 国产精品自产av一区二区三区 | 一区二区久久精品 | 久久精品视频一区二区三区 | 免费黄色录像片 | 亚洲中国字幕 | 天堂一区在线观看 | 四季久久免费一区二区三区四区 | www,黄色,com| 亚洲成人动漫在线观看 | 国产传媒在线观看 | 青青艹在线视频 | 国产成人免费视频网站高清观看视频 | 日韩在线中文 | 羞羞午夜| 久草精品视频 | 欧美精品一区二区在线观看 | 国产日韩欧美在线观看 | 久久久久国产精品一区 | 欧美综合色 | 中文字幕一级毛片视频 | 在线观看免费av网站 | 午夜免费电影 | 国产精品国产a级 | 在线观看久草 | h视频在线免费观看 | 超碰在线观看97 | 91麻豆产精品久久久久久夏晴子 | 九九热在线免费视频 | 蜜桃视频成人 | 日韩一级不卡 | 久久精品播放 | 欧产日产国产精品国产 | 国产日韩欧美在线观看 | 成人深夜福利 | 日韩国产免费观看 | 日韩精品久久一区二区三区 |