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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 9837|回復(fù): 38
打印 上一主題 下一主題
收起左側(cè)

AT89C2051單片機(jī)電燈紅外遙控接收板

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:68750 發(fā)表于 2014-12-13 22:24 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
這個(gè)AT89C2051單片機(jī)電燈紅外遙控接收板,單片機(jī)選用的是AT89C2051,制作時(shí)省去了數(shù)碼管顯示部分的內(nèi)容,紅處接收頭的輸入端為單片機(jī)的P3.2口,輸出端為單片機(jī)的P1.1口,P1.1輸出經(jīng)三極管推動(dòng)斷電器來控制電燈的開關(guān)。單片機(jī)供電部分這里沒有單獨(dú)進(jìn)行設(shè)計(jì),愛好者可以根據(jù)自己的實(shí)際情況靈活選擇用其它方式供電。AT89C2051單片機(jī)電燈紅外遙控接收板程序附后。


  1. #include<reg52.h>   

  2. sbit IR=P3^2;  //紅外接口

  3. sbit R1=P1^0;        //輸出1

  4. sbit R2=P1^1;

  5. sbit R3=P1^2;

  6. sbit R4=P1^3;

  7. sbit R5=P1^4;

  8. sbit R6=P1^5;

  9. sbit R7=P1^6;

  10. sbit R8=P1^7;         //輸出8

  11. #define DataPort P0 //定義數(shù)據(jù)端口

  12. sbit LATCH1=P2^2;// 段鎖存

  13. sbit LATCH2=P2^3;//                /*------------------------------------------------

  14.                 全局變量聲明

  15. ------------------------------------------------*/


  16. unsigned char code DuanMa[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};// 顯示段碼值


  17. 0~9

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


  19. bit irpro_ok,irok;

  20. unsigned char IRcord[4];

  21. unsigned char irdata[33];


  22. /*------------------------------------------------

  23.                   函數(shù)聲明

  24. ------------------------------------------------*/


  25. void Ir_work(void);

  26. void Ircordpro(void);


  27. /*------------------------------------------------

  28.                   定時(shí)器0中斷處理

  29. ------------------------------------------------*/


  30. void tim0_isr (void) interrupt 1 using 1

  31. {

  32.   irtime++;  //用于計(jì)數(shù)2個(gè)下降沿之間的時(shí)間

  33. }


  34. /*------------------------------------------------

  35.                   外部中斷0中斷處理

  36. ------------------------------------------------*/

  37. void EX0_ISR (void) interrupt 0 //外部中斷0服務(wù)函數(shù)

  38. {

  39.   static unsigned char  i;             //接收紅外信號(hào)處理

  40.   static bit startflag;                //是否開始處理標(biāo)志位

  41. if(startflag)                        

  42. {

  43.     if(irtime<63&&irtime>=33)//引導(dǎo)碼 TC9012的頭碼,9ms+4.5ms

  44.         i=0;

  45.     irdata[i]=irtime;//存儲(chǔ)每個(gè)電平的持續(xù)時(shí)間,用于以后判斷是0還是1

  46.     irtime=0;

  47.     i++;

  48. if(i==33)

  49.            {

  50.         irok=1;

  51. i=0;

  52.         }

  53.   }

  54. else

  55. {

  56. irtime=0;

  57. startflag=1;

  58. }

  59. }


  60. /*------------------------------------------------

  61.                 定時(shí)器0初始化

  62. ------------------------------------------------*/

  63. void TIM0init(void)//定時(shí)器0初始化

  64. {

  65.   TMOD=0x02;//定時(shí)器0工作方式2,TH0是重裝值,TL0是初值

  66.   TH0=0x00; //重載值

  67.   TL0=0x00; //初始化值

  68.   ET0=1;    //開中斷

  69.   TR0=1;   

  70. }

  71. /*------------------------------------------------

  72.                   外部中斷0初始化

  73. ------------------------------------------------*/

  74. void EX0init(void)

  75. {

  76.         IT0 = 1;   //指定外部中斷0下降沿觸發(fā),INT0 (P3.2)

  77.         EX0 = 1;   //使能外部中斷

  78.         EA = 1;    //開總中斷

  79. }

  80. /*------------------------------------------------

  81.                   鍵值處理

  82. ------------------------------------------------*/


  83. void Ir_work(void)//紅外鍵值散轉(zhuǎn)程序

  84. {

  85.     switch(IRcord[3])//判斷第4個(gè)數(shù)碼值,電視遙控和機(jī)頂盒遙控不一樣,所以加了兩端,兩個(gè)遙控器都能用


  86. ,實(shí)際用在燈上沒用這么多路

  87.     {

  88. case 0x07:DataPort=DuanMa[1];R1=~R1;break;//1 顯示相應(yīng)的按鍵值

  89. case 0x0b:DataPort=DuanMa[2];R2=~R2;break;//2

  90. case 0x0f:DataPort=DuanMa[3];R3=~R3;break;//3

  91. case 0x6f:DataPort=DuanMa[3];R3=~R3;break;//3

  92. case 0x13:DataPort=DuanMa[4];R4=~R4;break;//4

  93. case 0x17:DataPort=DuanMa[5];R5=~R5;break;//5

  94. case 0x1b:DataPort=DuanMa[6];R6=~R6;break;//6

  95. case 0x1f:DataPort=DuanMa[7];R7=~R7;break;//7

  96. case 0x23:DataPort=DuanMa[8];R8=~R8;break;//8

  97. case 0x27:DataPort=DuanMa[0];P1=0xf0;break;//off

  98.     case 0x03:DataPort=DuanMa[0];P1=0xf0;break;//off

  99.              default:break;

  100.    }

  101.    switch(IRcord[2])//判斷第三個(gè)數(shù)碼值

  102.    {

  103.      case 0x10:DataPort=DuanMa[1];R1=~R1;break;//1 顯示相應(yīng)的按鍵值

  104.      case 0x03:DataPort=DuanMa[2];R2=~R2;break;//2

  105.      case 0x01:DataPort=DuanMa[3];R3=~R3;break;//3

  106.      case 0x06:DataPort=DuanMa[4];R4=~R4;break;//4

  107.      case 0x09:DataPort=DuanMa[5];R5=~R5;break;//5

  108.      case 0x1d:DataPort=DuanMa[6];R6=~R6;break;//6

  109.      case 0x1f:DataPort=DuanMa[7];R7=~R7;break;//7

  110.      case 0x0d:DataPort=DuanMa[8];R8=~R8;break;//8

  111.      case 0x27:DataPort=DuanMa[0];P1=0xf0;break;//off

  112.      case 0x6f:DataPort=DuanMa[0];P1=0xf0;break;//off

  113.      default:break;

  114.    }         

  115.    irpro_ok=0;//處理完成標(biāo)志

  116. }

  117. /*------------------------------------------------

  118.                 紅外碼值處理

  119. ------------------------------------------------*/

  120. void Ircordpro(void)//紅外碼值處理函數(shù)

  121. {

  122.    unsigned char i, j, k;

  123.    unsigned char cord,value;

  124.    k=1;

  125.    for(i=0;i<4;i++)      //處理4個(gè)字節(jié)

  126.    {

  127.       for(j=1;j<=8;j++) //處理1個(gè)字節(jié)8位

  128.       {

  129.          cord=irdata[k];

  130.          if(cord>7)//大于某值為1,這個(gè)和晶振有絕對(duì)關(guān)系,這里使用12M計(jì)算,此值可以有一定誤差

  131.          value|=0x80;

  132.          if(j<8)

  133. {

  134.    value>>=1;

  135. }

  136.          k++;

  137.      }

  138.      IRcord[i]=value;

  139.      value=0;     

  140.   }

  141.   irpro_ok=1;//處理完畢標(biāo)志位置1

  142. }


  143. /*------------------------------------------------

  144.                     主函數(shù)

  145. ------------------------------------------------*/

  146. void main(void)

  147. {

  148.    P1=0xf0;

  149.    EX0init(); //初始化外部中斷

  150.    TIM0init();//初始化定時(shí)器


  151.    DataPort=0xfe; //取位碼 第一位數(shù)碼管選通,即二進(jìn)制1111 1110

  152.    LATCH2=1;      //位鎖存

  153.    LATCH2=0;

  154.    while(1)//主循環(huán)

  155.    {

  156.       if(irok)                        //如果接收好了進(jìn)行紅外處理

  157.       {   

  158. Ircordpro();

  159.         irok=0;

  160.       }

  161.       if(irpro_ok)                   //如果處理好后進(jìn)行工作處理,如按對(duì)應(yīng)的按鍵后顯示對(duì)應(yīng)的數(shù)字等

  162.       {

  163. Ir_work();

  164.       }

  165.    }

  166. }
復(fù)制代碼



AT89C2051單片機(jī)電燈紅外遙控接收板程序.rar (30.79 KB, 下載次數(shù): 167)



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

使用道具 舉報(bào)

沙發(fā)
ID:14010 發(fā)表于 2014-12-17 20:07 | 只看該作者
學(xué)習(xí)研究。
回復(fù)

使用道具 舉報(bào)

板凳
ID:70104 發(fā)表于 2014-12-19 16:04 | 只看該作者
一般吧~~和我找人設(shè)計(jì)的差小小
回復(fù)

使用道具 舉報(bào)

地板
ID:70104 發(fā)表于 2014-12-19 16:04 | 只看該作者
等下發(fā)給你參考
回復(fù)

使用道具 舉報(bào)

5#
ID:70769 發(fā)表于 2014-12-21 04:29 | 只看該作者
很好,正需要
回復(fù)

使用道具 舉報(bào)

6#
ID:70330 發(fā)表于 2015-1-6 12:35 | 只看該作者
請(qǐng)問樓主,我接好了,但按下遙控器后,p3.2高達(dá)4.5V,什么原因?謝謝
回復(fù)

使用道具 舉報(bào)

7#
ID:11942 發(fā)表于 2015-1-7 09:45 | 只看該作者
good  想看看
回復(fù)

使用道具 舉報(bào)

8#
ID:70330 發(fā)表于 2015-1-11 15:58 | 只看該作者
要是有PCB就好了
回復(fù)

使用道具 舉報(bào)

9#
ID:70330 發(fā)表于 2015-1-11 15:58 | 只看該作者
有PCB嗎
回復(fù)

使用道具 舉報(bào)

10#
ID:72224 發(fā)表于 2015-1-14 17:23 | 只看該作者
謝謝!!!
回復(fù)

使用道具 舉報(bào)

11#
ID:72181 發(fā)表于 2015-1-15 09:50 來自手機(jī) | 只看該作者
感謝樓主,這個(gè)對(duì)我有用
回復(fù)

使用道具 舉報(bào)

12#
ID:57317 發(fā)表于 2015-1-15 10:15 | 只看該作者
資料不錯(cuò)!下載來學(xué)習(xí)一下!
回復(fù)

使用道具 舉報(bào)

13#
ID:67573 發(fā)表于 2015-1-15 14:59 | 只看該作者
學(xué)習(xí)研究。
回復(fù)

使用道具 舉報(bào)

14#
ID:72065 發(fā)表于 2015-1-15 19:49 | 只看該作者
不錯(cuò)呀,研究研究
回復(fù)

使用道具 舉報(bào)

15#
ID:72301 發(fā)表于 2015-1-15 23:53 | 只看該作者
可以學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

16#
ID:61875 發(fā)表于 2015-1-16 20:32 | 只看該作者
謝謝樓主的奉獻(xiàn)
回復(fù)

使用道具 舉報(bào)

17#
ID:56678 發(fā)表于 2015-1-16 23:17 | 只看該作者
謝謝樓主分享!學(xué)習(xí)了。
回復(fù)

使用道具 舉報(bào)

18#
ID:61875 發(fā)表于 2015-2-20 19:02 | 只看該作者
謝謝樓主的奉獻(xiàn)
回復(fù)

使用道具 舉報(bào)

19#
ID:48413 發(fā)表于 2015-2-23 22:23 | 只看該作者
謝謝了
回復(fù)

使用道具 舉報(bào)

20#
ID:48413 發(fā)表于 2015-2-23 22:23 | 只看該作者
回復(fù)

使用道具 舉報(bào)

21#
ID:29438 發(fā)表于 2015-2-26 09:59 | 只看該作者
很好,正需要。
回復(fù)

使用道具 舉報(bào)

22#
ID:58348 發(fā)表于 2015-3-10 10:10 | 只看該作者
先下載下來學(xué)習(xí)下。。。。
回復(fù)

使用道具 舉報(bào)

23#
ID:61484 發(fā)表于 2015-4-14 22:14 | 只看該作者
學(xué)習(xí)一下 好東西啊
回復(fù)

使用道具 舉報(bào)

24#
ID:76954 發(fā)表于 2015-4-15 18:48 | 只看該作者
好好看看
回復(fù)

使用道具 舉報(bào)

25#
ID:70614 發(fā)表于 2015-4-15 18:58 | 只看該作者
感謝樓主分享,我又學(xué)到東西了
回復(fù)

使用道具 舉報(bào)

26#
ID:76917 發(fā)表于 2015-4-16 07:48 來自手機(jī) | 只看該作者
學(xué)習(xí)一下思路
回復(fù)

使用道具 舉報(bào)

27#
ID:78005 發(fā)表于 2015-4-25 09:26 | 只看該作者
好東西
回復(fù)

使用道具 舉報(bào)

28#
ID:78005 發(fā)表于 2015-4-25 09:27 | 只看該作者
要多幾路就好了
回復(fù)

使用道具 舉報(bào)

29#
ID:66287 發(fā)表于 2015-6-2 08:45 | 只看該作者
程序雖然是網(wǎng)絡(luò)公開的資料,但樓主的動(dòng)手能力真棒!萬用板焊的板子,有的元件還是二手的,卻做出了成功的作品,值得學(xué)習(xí)!頂一個(gè)!!!
回復(fù)

使用道具 舉報(bào)

30#
ID:86205 發(fā)表于 2015-7-20 04:49 | 只看該作者
太好了!!
回復(fù)

使用道具 舉報(bào)

31#
ID:87371 發(fā)表于 2015-7-31 23:20 | 只看該作者
謝謝樓主的貢獻(xiàn)
回復(fù)

使用道具 舉報(bào)

32#
ID:91554 發(fā)表于 2015-10-3 11:18 | 只看該作者
下載有時(shí)間仿制學(xué)習(xí)一下
回復(fù)

使用道具 舉報(bào)

33#
ID:91554 發(fā)表于 2015-10-3 11:41 | 只看該作者
上個(gè)電路圖吧
回復(fù)

使用道具 舉報(bào)

34#
ID:88707 發(fā)表于 2015-10-5 15:12 | 只看該作者
下載下來好好研究學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

35#
ID:92134 發(fā)表于 2015-10-11 14:12 | 只看該作者
感謝樓主
回復(fù)

使用道具 舉報(bào)

36#
ID:93555 發(fā)表于 2015-10-26 15:57 | 只看該作者
下來研究一下。。。。
回復(fù)

使用道具 舉報(bào)

37#
ID:194701 發(fā)表于 2017-5-1 16:37 | 只看該作者

 一般吧~~和我找人設(shè)計(jì)的差小小
回復(fù)

使用道具 舉報(bào)

38#
ID:66287 發(fā)表于 2017-5-9 10:43 | 只看該作者
好東西,謝樓主分享!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久一区二区三区 | 国产一区二区三区视频免费观看 | 黄色网址av | 久久国际精品 | 午夜影院在线观看 | 亚洲444eee在线观看 | 免费看黄视频网站 | 日韩精品免费视频 | 日韩欧美大片在线观看 | 亚洲综合区 | 日韩在线观看网站 | 自拍偷拍第1页 | 国产精品一区二区视频 | 一区二区不卡视频 | 久久成人精品视频 | 亚洲精品乱码久久久久久蜜桃91 | 二区亚洲 | 操网站 | 中文字幕亚洲精品在线观看 | 国产在线精品一区 | 色啪网| 日韩在线不卡 | 欧美日一区 | 欧美日韩综合视频 | 亚洲视频不卡 | 国产精品无码久久久久 | 亚洲一区二区三区在线 | 99福利| 亚洲精品在线观看网站 | 国产高清免费视频 | 成人久久久久久久久 | 欧美一区日韩一区 | 国产日韩视频在线 | 色天天综合 | 九九免费观看视频 | 中文字幕免费在线观看 | 国产精品揄拍一区二区 | 国产欧美精品一区二区色综合 | 亚洲免费婷婷 | 日本一二三区高清 | 亚洲精品免费视频 |