⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ir_america_send.c

📁 红外对射dfgdhfghfghfhh 矗二直矸直
💻 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 + -