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

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

QQ登錄

只需一步,快速開(kāi)始

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

單片機(jī)紅外通信控制繼電器源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
可以參考的一個(gè)程序

  1. /***************************************************************************
  2.     本實(shí)驗(yàn)例程是用NEC紅外線接收解碼程序(紅外線接收部分為板子配的林洋電子程序)
  3.     程序功能:
  4.         1、運(yùn)行程序,按遙控器按鍵,在數(shù)碼管上顯示相應(yīng)的控制碼(以16進(jìn)制顯示);
  5.         2、對(duì)特別的幾個(gè)鍵,有相應(yīng)的現(xiàn)象出現(xiàn):
  6.         (1)電源鍵,使繼電器工作或斷開(kāi);
  7.         (2)靜音鍵,使蜂鳴器響或不響;
  8.         (3)快進(jìn)鍵讓LED燈向右出現(xiàn)一次走馬燈現(xiàn)象;
  9.         (4)快退鍵讓LED燈向左出現(xiàn)一次走馬燈現(xiàn)象;
  10.         (5)按0~9,數(shù)碼管顯示所按的鍵號(hào);
  11.         (6)按其它鍵,不會(huì)改變已經(jīng)按的數(shù)字鍵的顯示,表示看電視臺(tái)開(kāi)關(guān)電源或靜音、快進(jìn)快退,都不會(huì)
  12. 改變臺(tái)號(hào)。
  13.     (7)其它鍵沒(méi)想好怎么以現(xiàn)有板產(chǎn)生相應(yīng)功能,所以按下后,沒(méi)有特別現(xiàn)象,只有顯示其控制碼。
  14. ******************************************************************************/
  15. #include "reg51.h"//頭文件:

  16. #define LED8 P2//紅外遙控功能之一是讓LED燈亮,所以要將P2口改名

  17. sbit hwx=P3^3;                //紅外接收數(shù)據(jù)引腳,也是外部中斷1的I/O口
  18. sbit SMG_q = P1^0;        //定義數(shù)碼管陽(yáng)級(jí)控制腳(千位)
  19. sbit SMG_b = P1^1;        //定義數(shù)碼管陽(yáng)級(jí)控制腳(百位)
  20. sbit SMG_s = P1^2;        //定義數(shù)碼管陽(yáng)級(jí)控制腳(十位)
  21. sbit SMG_g = P1^3;        //定義數(shù)碼管陽(yáng)級(jí)控制腳(個(gè)位)
  22. sbit JDQ=P1^4;                //繼電器
  23. sbit Beep =  P1^5 ;        //蜂鳴器

  24. code unsigned char table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,
  25.                                                         0x88,0x8c,0xc6,0xa1,0x86,0x8e};        //共陽(yáng)數(shù)碼管段值表 0-9 a-f

  26. unsigned char ly_disdate[4]={0,0,0,0};
  27. unsigned char ly_lhj[4],i;
  28. bit ly_flag=1;
  29. void display();

  30. void delay(void);

  31. void Delay10ms(unsigned int c)
  32. {
  33.     unsigned char a,b;
  34.     for(c;c>0;c--)
  35.         for(b=38;b>0;b--)
  36.             for(a=130;a>0;a--);
  37. }

  38. void main(void)//主函數(shù)
  39. {
  40.         EA=1;
  41.         EX1=1;
  42.         IT1=1;
  43.         TMOD=0X10;
  44.         JDQ=1;
  45.         ly_flag=0;
  46.         while(1){       
  47.                 if(ly_flag){
  48.                         ly_flag=0;
  49.                         if ((ly_lhj[2]==0x45))
  50.                         {
  51.                                 JDQ=~JDQ;
  52.                         }
  53.                         if ((ly_lhj[2]==0x47))
  54.                         {
  55.                                 Beep=~Beep;
  56.                         }
  57.                         if ((ly_lhj[2]==0x40))
  58.                         {
  59.                                 LED8=0xfe;
  60.                                 for(i=0;i<8;i++)
  61.                                 {                                         
  62.                                         Delay10ms(10);
  63.                                         LED8=LED8<<1;
  64.                                 }
  65.                                 LED8=0xff;
  66.                         }
  67.                         if ((ly_lhj[2]==0x43))
  68.                         {
  69.                                 LED8=0x7f;
  70.                                 for(i=0;i<8;i++)
  71.                                 {                                         
  72.                                         Delay10ms(10);
  73.                                         LED8=LED8>>1;
  74.                                 }
  75.                                 LED8=0xff;
  76.                         }
  77.                         if ((ly_lhj[2]==0x16))
  78.                         {
  79.                                 ly_disdate[0]=0;                       
  80.                         }
  81.                         if ((ly_lhj[2]==0x0c))
  82.                         {
  83.                                 ly_disdate[0]=1;                       
  84.                         }                       
  85.                         if ((ly_lhj[2]==0x18))
  86.                         {
  87.                                 ly_disdate[0]=2;                       
  88.                         }                       
  89.                         if ((ly_lhj[2]==0x5e))
  90.                         {
  91.                                 ly_disdate[0]=3;                       
  92.                         }                       
  93.                         if ((ly_lhj[2]==0x08))
  94.                         {
  95.                                 ly_disdate[0]=4;                       
  96.                         }                       
  97.                         if ((ly_lhj[2]==0x1c))
  98.                         {
  99.                                 ly_disdate[0]=5;                       
  100.                         }                       
  101.                         if ((ly_lhj[2]==0x5a))
  102.                         {
  103.                                 ly_disdate[0]=6;                       
  104.                         }                       
  105.                         if ((ly_lhj[2]==0x42))
  106.                         {
  107.                                 ly_disdate[0]=7;                       
  108.                         }                       
  109.                         if ((ly_lhj[2]==0x52))
  110.                         {
  111.                                 ly_disdate[0]=8;                       
  112.                         }                       
  113.                         if ((ly_lhj[2]==0x4a))
  114.                         {
  115.                                 ly_disdate[0]=9;                       
  116.                         }                       
  117.                         ly_disdate[2]=ly_lhj[2]/16;
  118.                         ly_disdate[3]=ly_lhj[2]%16;
  119.                 }
  120.                 display();
  121.         }               
  122. }

  123. void hongwai(void)   interrupt 2
  124. {
  125.         unsigned char i,ia;
  126.         TL1=0;
  127.         TH1=0;
  128.         TR1=1;
  129.         while(!hwx);
  130.         TR1=0;
  131.         if(TH1<30||TH1>40)
  132. {
  133.                 return;
  134. }
  135.         TH1=0;
  136.         TR1=1;
  137.         while(hwx)                        //
  138.         {
  139.                 delay();
  140.                 if(TH1>22)
  141.                         return;               
  142.         }
  143.         TR1=0;
  144.         if(TH1<12)
  145.                 return;

  146.         for(i=0;i<4;i++)
  147.         {
  148.                 for(ia=0;ia<8;ia++)
  149.                 {                               
  150.                         while(!hwx);
  151.                        
  152.                         TH1=0;
  153.                         TR1=1;
  154.                         while(hwx)
  155.                         {
  156.                                 delay();
  157.                                 if(TH1>15)               
  158.                                         return;               
  159.                         }
  160.                         TR1=0;
  161.                         ly_lhj[i]>>=1;
  162.                         if(TH1>4)
  163.                                 ly_lhj[i]|=0x80;
  164.                 }
  165.         }
  166.         ly_flag=1;
  167.         TF1=0;
  168. }

  169. void display()

  170. {
  171.         SMG_q=0;                        //選擇千位數(shù)碼管(亮)
  172.         P0=table[ly_disdate[0]];        //
  173.         delay();                        //
  174.         P0=0XFF;                        //
  175.         SMG_q=1;                        //(滅)

  176.         SMG_s=0;                        //選擇十位數(shù)碼管
  177.         P0=table[ly_disdate[2]];        //
  178.         delay();                        //
  179.         P0=0XFF;                        //
  180.         SMG_s=1;                        //


  181. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

下載:
hwx.rar (1.54 KB, 下載次數(shù): 30)

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: a在线观看 | 婷婷久久久久 | 盗摄精品av一区二区三区 | 色综合天天综合网国产成人网 | 欧美日韩综合视频 | 91啪影院| 日本精品一区二区三区在线观看视频 | 国产在线一区二区三区 | 免费特黄视频 | 99视频在线 | 日韩欧美亚洲 | 成人午夜精品一区二区三区 | 亚洲免费人成在线视频观看 | 91国内外精品自在线播放 | 欧美精品一区二区三区在线播放 | 成人综合在线视频 | 99爱视频| 亚洲精品一区二区冲田杏梨 | 国产精品高 | 国产精品18hdxxxⅹ在线 | 99九九久久 | 国产精品久久久久国产a级 欧美日韩国产免费 | 久久久久久久一区二区 | 亚洲一区二区三区四区视频 | 波霸ol一区二区 | 亚洲精品中文字幕 | 日韩一区中文字幕 | 99久久99| 日韩中文字幕一区二区 | 亚洲成av人影片在线观看 | 性高朝久久久久久久3小时 av一区二区三区四区 | 日韩午夜精品 | 精品国产色 | 亚洲高清av在线 | 99久热 | 精品一二区 | 一区福利视频 | 夜夜爽99久久国产综合精品女不卡 | 中文字幕日韩一区 | 国内在线视频 | 久久精品亚洲精品国产欧美kt∨ |