📄 ir_america_send.c
字号:
#include "AT892051.H"
#define uchar unsigned char
#define uint unsigned int
void send_fun(void);
//****************************
void timer0(void) interrupt 1
{
TH0 = 0x3C;
TL0 = 0xAF;
//send_fun();
}
void send_fun(void)
{
uint i,j;
//for(j=0;j<38;j++)
TR0 = 0;
TH0 = 0xec; //5ms
TL0 = 0x77;
TR0 = 1;
while(TF0 == 0) {}
TR0 = 0;
TF0 = 0;
// 检验码
// SYN SIGNAL
for(i=0;i<2;i++)
{
for(j=0;j<8;j++) //0.208ms
{
P1_6 = 0; //
P1_7 = 0;
#pragma ASM
NOP
NOP
NOP
NOP
NOP
//NOP
#pragma ENDASM
P1_6 = 1; //
P1_7 = 1;
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
//NOP
#pragma ENDASM
}
TR0 = 0;
TH0 = 0xc5; //15ms
TL0 = 0x67;
TR0 = 1;
while(TF0 == 0) {}
TR0 = 0;
TF0 = 0;
}
for(j=0;j<8;j++) //0.208ms
{
P1_6 = 0; //
P1_7 = 0;
#pragma ASM
NOP
NOP
NOP
NOP
NOP
//NOP
#pragma ENDASM
P1_6 = 1; //
P1_7 = 1;
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
//NOP
#pragma ENDASM
}
TR0 = 0;
TH0 = 0xb1; //20ms
TL0 = 0xdf;
TR0 = 1;
while(TF0 == 0) {}
TR0 = 0;
TF0 = 0;
//syn signal
for(j=0;j<115;j++) //2.99ms
{
P1_6 = 0; //
P1_7 = 0;
#pragma ASM
NOP
NOP
NOP
NOP
NOP
//NOP
#pragma ENDASM
P1_6 = 1; //
P1_7 = 1;
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
//NOP
#pragma ENDASM
}
//-----------------------------------------
//for(i = 0;i<6700;i++) {} // ~33.5ms
TR0 = 0;
TH0 = 0xfc; //1ms
TL0 = 0x17;
TR0 = 1;
while(TF0 == 0) {}
TR0 = 0;
TF0 = 0;
//***********************
//-----------------------------------------
//for(i = 0;i<6700;i++) {} // ~33.5ms
//wave 1
for(j=0;j<18;j++)
{
P1_6 = 0; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
P1_6 = 1; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
}
//----------------------------------------
//for(i = 0;i<25;i++) {} // 500us
//wave 2
for(j=0;j<18;j++)
{
P1_7 = 0; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
P1_7 = 1; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
}
//----------------------------------------
//for(i = 0;i<25;i++) {} // 500us
//wave 2
for(j=0;j<18;j++)
{
P3_5 = 0; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
P3_5 = 1; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
}
//----------------------------------------
//for(i = 0;i<25;i++) {} // 500us
//wave 4
for(j=0;j<18;j++)
{
P1_1 = 0; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
P1_1 = 1; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
}
//----------------------------------------
//for(i = 0;i<25;i++) {} // 500us
//wave 5
for(j=0;j<18;j++)
{
P1_0 = 0; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
P1_0 = 1; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
}
//----------------------------------------
//for(i = 0;i<25;i++) {} // 500us
//wave 6
for(j=0;j<18;j++)
{
P3_7 = 0; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
P3_7 = 1; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
}
//----------------------------------------
//for(i = 0;i<25;i++) {} // 500us
//wave 7
for(j=0;j<18;j++)
{
P1_2 = 0; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
P1_2 = 1; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
}
//----------------------------------------
//for(i = 0;i<25;i++) {} // 500us
//wave 8
for(j=0;j<18;j++)
{
P1_3 = 0; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
P1_3 = 1; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
}
//----------------------------------------
//for(i = 0;i<25;i++) {} // 500us
//wave 9
for(j=0;j<18;j++)
{
P1_4 = 0; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
P1_4 = 1; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
}
//----------------------------------------
//for(i = 0;i<25;i++) {} // 500us
//wave 10
for(j=0;j<18;j++)
{
P1_5 = 0; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
P1_5 = 1; //
#pragma ASM
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
#pragma ENDASM
}
//----------------------------------------
//for(i = 0;i<100;i++) {}
}
void main(void)
{
//uint i;
P1 = 0xff;
P3 = 0xff;
TMOD = 0x11;
TH0 = 0x3C;
TL0 = 0xAF;
EA = 1;
//ET0 = 1;
TR0 = 1;
while(1)
{
/*P1_5 = 0;
for(i = 0;i<62;i++) {} // ~33.5ms
P1_5 = 1;*/
send_fun();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -