• 大小: 0.05M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-19
  • 语言: 其他
  • 标签: 其他  

资源简介

lrhhki.rar

资源截图

代码片段和文件信息

/*********************************************/
/*      红外发射管波长940nm,载波38kHz       */
/*              晶振11.0592M                 */
/*  版权所有者:张兴恩  */
/*   QQ: 410846867  */
/*********************************************/
#include
typedef unsigned char BYTE;
typedef unsigned int WORD;
sbit IR=P1^0; // 红外发射管控制脚
sbit KEY1=P3^6; // 按键1 
sbit KEY2=P3^7; // 按键2 
sbit dula=P2^6; // 数码管段选(消除数码管显示) 
sbit wela=P2^7; // 数码管位选(消除数码管显示)
bit T1Flag=0;

/***************************
延时函数
***************************/
//延时函数最好用定时器来设定,不要用普通延时函数
//否则容易出现古怪的错乱,如矩形波频率不对,或者帧长度出错等
void Delay5ms(void)
{
TH1=0xEE;
TL1=0x00; 
    TR1=1;
while(!T1Flag);
T1Flag=0;
}
void Delay10ms(void)
{
TH1=0xDC;
TL1=0x00;
    TR1=1;
while(!T1Flag);
T1Flag=0;
}


/***************************
定时器相关
***************************/
/*定时器初始化*/
void TimerInit()

EA=1;
ET0=1;
ET1=1;
TMOD=0x12;   //定时0方式2(8位自动重装模式)定时器1方式1(16位定时器)
TH0=0xf4;
TL0=0xf4; //定时12us理论上红外矩形波为41.67kHz,但实测到为38.462kHz
}
/*定时器0中断*/ 
void Timer0() interrupt 1 
{
//定时器会自动装载,因此不需重新设置TH0和TL0
IR=~IR;  //发射38khz的矩形波
}
/*定时器1中断*/
void Timer1() interrupt 3 
{
TR1=0;
T1Flag=1;
}

/***************************
红外发射
***************************/
void IRSend(BYTE MyData) //发送红外数据,每个bit持续10ms,高位开始发送
{
BYTE i;
for(i=0;i<8;i++)
{
//若对应bit为1则先发射5ms38kHz矩形波,再发射5ms高电平
if(MyData&(0x80>>i))//从最高位开始逐位检测是1还是0
{
TR0=1; 
Delay5ms(); //延时5ms 保证 Minimum Burst Length > 280us
TR0=0;
IR=1;
Delay5ms(); //延时5ms 保证 No Burst Length > 300us
}
//若对应bit为0则关闭发射红外线
else
{
IR=1;
Delay10ms(); //信号0延时10ms
}
}
IR=1;




void main() 
{
wela=0;
dula=0; 
TimerInit();
IR=1;
while(1) 

if(!KEY1)   //若有独立按键1按下
{
Delay10ms(); //消抖
if(!KEY1)
{
while(!KEY1);  //松手检测
IRSend(0xa1);  //红外发送数据0xA1
}  
    }
if(!KEY2) //若有独立按键2按下
{
Delay10ms(); //消抖
if(!KEY2)
{
while(!KEY2); //松手检测 
IRSend(0xa2); //红外发送数据0xA2
}  
    }

}
 


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       4827  2014-04-25 12:15  红外收发\红外发射\IR

     文件       2423  2014-08-22 20:50  红外收发\红外发射\IR.c

     文件        983  2014-04-25 12:15  红外收发\红外发射\IR.hex

     文件         52  2014-04-25 12:15  红外收发\红外发射\IR.lnp

     文件       5500  2014-04-25 12:15  红外收发\红外发射\IR.LST

     文件       9108  2014-04-25 12:15  红外收发\红外发射\IR.M51

     文件       4754  2014-04-25 12:15  红外收发\红外发射\IR.OBJ

     文件       1127  2014-04-25 12:38  红外收发\红外发射\IR.plg

    .......     56061  2014-04-25 12:38  红外收发\红外发射\IR.uvopt

    .......     13392  2014-04-02 23:08  红外收发\红外发射\IR.uvproj

    .......     57764  2014-04-25 01:10  红外收发\红外发射\IR_uvopt.bak

    .......         0  2014-04-02 22:43  红外收发\红外发射\IR_uvproj.bak

     文件       6376  2009-05-07 14:37  红外收发\红外发射\STARTUP.A51

     文件      14048  2014-04-25 12:15  红外收发\红外发射\STARTUP.LST

     文件        749  2014-04-25 12:15  红外收发\红外发射\STARTUP.OBJ

     文件       6468  2014-04-25 12:56  红外收发\红外接收\1838T

     文件       3068  2014-08-22 20:54  红外收发\红外接收\1838T.c

     文件       1461  2014-04-25 12:56  红外收发\红外接收\1838T.hex

     文件         58  2014-04-25 12:56  红外收发\红外接收\1838T.lnp

     文件       7326  2014-04-25 12:56  红外收发\红外接收\1838T.LST

     文件      11324  2014-04-25 12:56  红外收发\红外接收\1838T.M51

     文件       6717  2014-04-25 12:56  红外收发\红外接收\1838T.OBJ

     文件        380  2014-04-25 12:59  红外收发\红外接收\1838T.plg

    .......     56080  2014-04-25 12:59  红外收发\红外接收\1838T.uvopt

    .......     13400  2014-04-22 14:29  红外收发\红外接收\1838T.uvproj

    .......     56502  2014-04-25 11:53  红外收发\红外接收\1838T_uvopt.bak

    .......     13401  2014-04-12 03:23  红外收发\红外接收\1838T_uvproj.bak

     文件       6376  2009-05-07 14:37  红外收发\红外接收\STARTUP.A51

     文件      14048  2014-04-25 12:56  红外收发\红外接收\STARTUP.LST

     文件        749  2014-04-25 12:56  红外收发\红外接收\STARTUP.OBJ

............此处省略6个文件信息

评论

共有 条评论