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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

30路紅外遙控開關

[復制鏈接]
跳轉到指定樓層
樓主
本帖最后由 ll13536121668 于 2018-6-27 09:49 編輯

30路紅外遙控開關因使用不方便,
想用一只管腳復用到每路輸出增加30只手動開關可以嗎
程序什樣修改才能增加30只手動開關,
勞煩各位師傅研究一下什樣修改
//12M晶振
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int

sbit P3_2=P3^2;
sbit LED=P3^3;
sbit A0=P0^0  ;
sbit A1=P0^1  ;
sbit A2=P0^2  ;
sbit A3=P0^3  ;
sbit A4=P0^4  ;
sbit A5=P0^5  ;
sbit A6=P0^6  ;
sbit A7=P0^7  ;

sbit B0=P2^0  ;
sbit B1=P2^1  ;
sbit B2=P2^2  ;
sbit B3=P2^3  ;
sbit B4=P2^4  ;
sbit B5=P2^5  ;
sbit B6=P2^6  ;
sbit B7=P2^7  ;

sbit C0=P1^0  ;
sbit C1=P1^1  ;
sbit C2=P1^2  ;
sbit C3=P1^3  ;
sbit C4=P1^4  ;
sbit C5=P1^5  ;
sbit C6=P1^6  ;
sbit C7=P1^7  ;

sbit D0=P3^0  ;
sbit D1=P3^1  ;
//sbit D3=P3^3  ;
sbit D4=P3^4  ;
sbit D5=P3^5  ;
sbit D6=P3^6  ;
sbit D7=P3^7  ;

unsigned char data IRCode[4],IRCON,IRCON2;
unsigned int k,s=1;
unsigned char i,m,count;
//uchar code dis_7[]={0x18,0xDB,0x31,0x91,0xD2,0x94,0x14,0xD9,0x10,0x90,0xFF,0x3C,0xf7};
//uchar code scan_con[]={0x7F,0xBF,0xDF,0xEF};//段碼表 從右至左掃描
//uchar data dis[]={0x00,0x00};

uchar data  keyvol,disout,n;
//void scan();
//void delay1ms( uchar t);
/***************延時函數*******************/
  void delay1ms( uint t)
{
  uint k,n;
  for (k=0;k<t;k++)
    {
           for (n=0;n<121;n++);
         }
}
/***************延時函數*******************/
void delay850us( void)
{      uint j;
           for (j=0;j<105;j++);//24M晶振時j=200,12M晶振時,j=105;
}
/***************延時函數*******************/
void delay1200us( void)
{      uint j;
           for (j=0;j<150;j++);//24M晶振時j=400,12M晶振時,j=150;
}
/**********************************/
void main()
{
   EA = 1; //允許CPU中斷
   EX0 = 1; //開INT0中斷;   
   while (1)
     {
       if (LED==0)   
              {
             delay1ms( 500);
                         LED=1;
                  }
     }  
}
/**********************************/
//INT0中斷
void INT0Fun(void) interrupt 0 //using 2
{
  EA = 0; //外部中斷0關閉  
  for (i=0;i<12;i++)
    {
       delay850us();
           if (P3_2==0)  count++;
            else  break ;           
        }
  if (count==12)
    {  count=0;           
       while (P3_2==0);
           delay850us(); //跳過564us的高電平。
                    
       for (IRCON=0;IRCON<4;IRCON++)
         {
           for (IRCON2=0;IRCON2<8;IRCON2++) //每中斷一次讀一次遙控接收頭的狀態,每二次為遙控編碼中的一個位
             {
                           IRCode[IRCON]=IRCode[IRCON]>>1; //每讀一次放入變量中的二進制的一個位,每次左移一位
                           while (P3_2==0);
               delay850us();                             
               if (P3_2)  
                               {
                                       IRCode[IRCON]=IRCode[IRCON] | 0x80; //每八次填滿一個字節,一個字節存放遙控編碼4個位
                       delay1200us();
                                   }
                     }
         }  

       if ((IRCode[0]==0x00) && (IRCode[1]==0xFF))
           {
              if (IRCode[2]==~IRCode[3])
                 {
                                   keyvol=IRCode[2];
                                   n=keyvol;
                                   LED=0;
                                   switch  (keyvol)
                     {
                         case  1:  { A0= ~ A0 ; break;}
                         case  2:  { A1= ~ A1 ; break;}
                         case  3:  { A2= ~ A2 ; break;}
                         case  4:  { A3= ~ A3 ; break;}
                         case  5:  { A4= ~ A4 ; break;}
                         case  6:  { A5= ~ A5 ; break;}
                         case  7:  { A6= ~ A6 ; break;}
                         case  8:  { A7= ~ A7 ; break;}

                         case  9:   { B0= ~ B0 ; break;}
                         case  10:  { B1= ~ B1 ;break; }
                         case  11:  { B2= ~ B2 ;break; }
                         case  12:  { B3= ~ B3 ;break; }
                         case  13:  { B4= ~ B4 ;break; }
                         case  14:  { B5= ~ B5 ; break;}
                         case  15:  { B6= ~ B6 ;break; }
                         case  16:  { B7= ~ B7 ;break; }

                         case  17:  { C0= ~ C0 ; break;}
                         case  18:  { C1= ~ C1 ; break;}
                         case  19:  { C2= ~ C2 ;break; }
                         case  20:  { C3= ~ C3 ;break; }
                         case  21:  { C4= ~ C4 ;break; }
                         case  22:  { C5= ~ C5 ;break; }                                                
                         case  23:  { C6= ~ C6 ;break; }
                         case  24:  { C7= ~ C7 ;break; }

                                                 case  25:  { D0= ~ D0 ;break; }
                                                 case  26:  { D1= ~ D1 ;break; }
                                                 case  27:  { D4= ~ D4 ;break; }
                                                 case  28:  { D5= ~ D5 ;break; }
                         case  29:  { D6= ~ D6 ;break; }
                                                 case  30:  { D7= ~ D7 ;break; }
                         case  31:  { P0=0XFF; P1=0XFF; P2=0XFF; P0=0XFF; P3=( P3&0X0C )|0XF3; break; }
                         case  32:  { P0=0X00; P1=0X00; P2=0X00; P0=0X00; P3= P3&0X0C ;        break; }
                                                  default : break;
                      }                                                                           
                 }
           }
    }      
        count=0;        
        for (IRCON=0; IRCON<3; IRCON++)
            IRCode[IRCON] = 0;
       EA = 1;
}
/*****************************************/

2.jpg (15.63 KB, 下載次數: 33)

2.jpg

30路紅外接收器.rar

1.55 KB, 下載次數: 18

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

使用道具 舉報

沙發
ID:7485 發表于 2018-6-26 19:38 | 只看該作者
文字敘述的難理解。
回復

使用道具 舉報

板凳
ID:359614 發表于 2018-6-26 19:45 | 只看該作者
完全沒有看懂樓主要表達什么
回復

使用道具 舉報

地板
ID:320306 發表于 2018-6-27 08:38 | 只看該作者
串口轉換嗎還是什么?
回復

使用道具 舉報

5#
ID:17109 發表于 2018-6-27 09:51 | 只看該作者
zsyzdx 發表于 2018-6-27 08:38
串口轉換嗎還是什么?

上傳圖片看看

用一只管腳復用到每路輸出增加30只手動開關可以嗎
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美精品一区 | 久久久91 | 欧美一级一 | 日韩在线视频免费观看 | 99热都是精品 | 中文二区| 欧美高清hd | 久久久久国产成人精品亚洲午夜 | 国产精品久久久乱弄 | 久久久久99 | 操人网站 | 亚洲人成网站777色婷婷 | 亚洲精品自在在线观看 | 日韩精品一二三 | 亚洲最大的成人网 | 亚洲欧美一区二区三区在线 | 国产乱码久久久 | 国产特级毛片 | 99久久婷婷| 精区3d动漫一品二品精区 | 精品欧美一区二区三区久久久 | 免费观看成人鲁鲁鲁鲁鲁视频 | 涩涩片影院 | 福利视频网站 | 久久久免费观看视频 | av性色全交蜜桃成熟时 | 日日干日日色 | 日韩不卡一区二区 | 欧美a级成人淫片免费看 | 国产福利免费视频 | 国产激情偷乱视频一区二区三区 | 成人精品国产免费网站 | 91精品久久 | 亚洲二区视频 | 色婷婷综合网站 | 高清国产午夜精品久久久久久 | 色婷婷久久久久swag精品 | 日韩手机在线视频 | 国产区高清 | 亚洲精品一区中文字幕乱码 | 久草热在线 |