资源简介

红外线遥控Proteus仿真电路+发射+接收程序

资源截图

代码片段和文件信息

/***************************************************************
作品:红外线发射
  单片机:STC89C52RC
    晶振:12M
编译环境:Keil uVision4 V9.00
***************************************************************/
//
// 发射引脚(接PNP三极管b极)
// PNP三极管e极接2Ω电阻,c极接红外发射管
     
#include 
#include 
#define uchar unsigned char 
#define uint  unsigned int 

#define SBM   0x80                //识别码

#define m9    (65536-9000)        //约9mS
#define m4_5  (65536-4500)        //约4.5mS
#define m1_6  (65536-1630)        //约1.65mS
#define m_65  (65536-580)        //约0.65mS
#define m_56  (65536-560)        //约0.56mS
#define m40   (65536-40000)       //约40mS
#define m56   (65536-56000)       //56mS
#define m2_25 (65536-2250)        //约2.25mS

sbit IR  = P3^6;   //定义发射引脚(接PNP三极管基极)
sbit LED = P3^7;   //发射指示灯

uchar KEY(void);
void  SanZhuan(void);
void  ZZ(uchar x);
void  Z0(uchar temp);
void  TT0(bit BTuint x);
void  YS(uchar time);

/*┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
函数功能:主函数
┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈*/
void main(void)


  TMOD = 0x01;         //T0 16位工作方式
  IR=1;    //发射端口常态为高电平

  while(1) 
  {
   SanZhuan();
  }
}
/***************************************************************
函数功能:             4×4矩阵键盘
                           键值                    
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 
│     │    │    │    │    │    │    │    ┃
│     │    │    └────13   14   15   16   ┃   
│     │    └─────────9    10   11   12   ┃   
│     └──────────────5    6    7    8    ┃   
└────────────────────1    2    3    4    ┃  
***************************************************************/
uchar KEY(void)
{
 uchar HL;            //行值,列值
 H=0;
 L=0;
 P1 = 0xf0;            //将键盘端口行值设为1,列值设为0
 if(P1!= 0xf0)         //检测是否有按键按下,如果有则hangval必不为0x0f
   {
    YS(10);            //按键去抖动,延时10毫秒
    if(P1!=0xf0)       //确实有按键按下
      {
       H  = P1&0xf0;   //按键后得到按键的行标志位,将行标志位赋值给hangval
       P1 = 0x0f;      //翻转键盘接口输出
       L  = P1&0x0f;   //得到列标志位
      }
return (H+L);
   }
  return 0;
}
/***************************************************************
函数功能:散转程序
入口参数:v
//
//  13 14 15 16
//  9  10 11 12
//  5  6  7  8
//  1  2  3  4
***************************************************************/
void SanZhuan(void)
{
 uchar v;
 v = KEY();
 
 switch(v)
 {
  case 0x77:ZZ(0x01);v=0;break; //“  “
  case 0xb7:ZZ(0x02);v=0;break; //“  “
  case 0xd7:ZZ(0x03);v=0;break; //“  “
  case 0xe7:ZZ(0x04);v=0;break; //“  “
  case 0x7b:ZZ(0x05);v=0;break; //“  “
  case 0xbb:ZZ(0x06);v=0;break; //“  “
  case 0xdb:ZZ(0x07);v=0;break; //“  “
  case 0xeb:ZZ(0x08);v=0;break; //“  “
  case 0x7d:ZZ(0x09);v=0;break; //“  “
  case 0xbd:ZZ(0x10);v=0;break; //“  “
  case 0xdd:ZZ(0x11);v=0;break; //“  “
  case 0xed:ZZ(0x12);v=0;break; //“  “
  case 0x7e:ZZ(0x13);v=0;break; //“  “
  case 0xbe:ZZ(0x14);v=0;break; //“  “
  case 0xde:ZZ(0x15);v=0;break; //“  “
  case 0xee:ZZ(0

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2011-07-25 20:30  红外线遥控Proteus仿真电路+发射+接收程序\
     文件      147555  2011-07-22 11:30  红外线遥控Proteus仿真电路+发射+接收程序\Last Loaded 红外线发射接收_电路仿真.DBK
     目录           0  2011-07-25 20:30  红外线遥控Proteus仿真电路+发射+接收程序\发射\
     文件      131261  2011-06-29 22:07  红外线遥控Proteus仿真电路+发射+接收程序\发射\Last Loaded 红外线发射2.1简化.DBK
     文件      144400  2011-07-22 10:26  红外线遥控Proteus仿真电路+发射+接收程序\发射\Last Loaded 红外线发射接收.DBK
     文件        6376  2009-05-07 14:37  红外线遥控Proteus仿真电路+发射+接收程序\发射\STARTUP.A51
     文件       14048  2011-07-22 12:24  红外线遥控Proteus仿真电路+发射+接收程序\发射\STARTUP.LST
     文件         749  2011-07-22 12:24  红外线遥控Proteus仿真电路+发射+接收程序\发射\STARTUP.OBJ
     文件        8484  2011-07-22 12:24  红外线遥控Proteus仿真电路+发射+接收程序\发射\红外线发射
     文件        5751  2011-07-22 10:47  红外线遥控Proteus仿真电路+发射+接收程序\发射\红外线发射.c
     文件        1573  2011-07-22 12:24  红外线遥控Proteus仿真电路+发射+接收程序\发射\红外线发射.hex
     文件          68  2011-07-22 12:24  红外线遥控Proteus仿真电路+发射+接收程序\发射\红外线发射.lnp
     文件       29343  2011-07-22 12:24  红外线遥控Proteus仿真电路+发射+接收程序\发射\红外线发射.LST
     文件       11174  2011-07-22 12:24  红外线遥控Proteus仿真电路+发射+接收程序\发射\红外线发射.M51
     文件        9169  2011-07-22 12:24  红外线遥控Proteus仿真电路+发射+接收程序\发射\红外线发射.OBJ
     文件         393  2011-07-22 12:24  红外线遥控Proteus仿真电路+发射+接收程序\发射\红外线发射.plg
     文件       56113  2011-07-22 12:24  红外线遥控Proteus仿真电路+发射+接收程序\发射\红外线发射.uvopt
     文件       13424  2011-07-22 12:24  红外线遥控Proteus仿真电路+发射+接收程序\发射\红外线发射.uvproj
     文件         969  2011-06-29 23:31  红外线遥控Proteus仿真电路+发射+接收程序\发射\红外线发射2.1简化.PWI
     文件       56115  2011-07-22 12:24  红外线遥控Proteus仿真电路+发射+接收程序\发射\红外线发射_uvopt.bak
     文件       13444  2011-06-04 12:50  红外线遥控Proteus仿真电路+发射+接收程序\发射\红外线发射_uvproj.bak
     文件        1078  2011-07-22 10:14  红外线遥控Proteus仿真电路+发射+接收程序\发射\红外线发射接收.PWI
     目录           0  2011-07-25 20:30  红外线遥控Proteus仿真电路+发射+接收程序\接收\
     文件       13853  2011-06-04 12:13  红外线遥控Proteus仿真电路+发射+接收程序\接收\CK.LST
     文件        5642  2011-06-04 12:13  红外线遥控Proteus仿真电路+发射+接收程序\接收\CK.OBJ
     文件        2403  2011-07-23 16:31  红外线遥控Proteus仿真电路+发射+接收程序\接收\HT1621.c
     文件       17891  2011-07-23 16:32  红外线遥控Proteus仿真电路+发射+接收程序\接收\HT1621.LST
     文件        7461  2011-07-23 16:32  红外线遥控Proteus仿真电路+发射+接收程序\接收\HT1621.OBJ
     文件        6376  2009-05-07 14:37  红外线遥控Proteus仿真电路+发射+接收程序\接收\STARTUP.A51
     文件       14048  2011-07-23 16:32  红外线遥控Proteus仿真电路+发射+接收程序\接收\STARTUP.LST
     文件         749  2011-07-23 16:32  红外线遥控Proteus仿真电路+发射+接收程序\接收\STARTUP.OBJ
............此处省略12个文件信息

评论

共有 条评论