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

📄 ir.c

📁 红外代码
💻 C
字号:
#include "ir.h"

unsigned char irtime = 0;
unsigned char irdata[33] = "";		//缓存,存储“时间”
unsigned char ircode[4] = "";
bit irok = 0;
void ir_init()
{
	EX0 = 1;
	IT0 = 1;
	
	TMOD = 0x02;
	TH0 = 0;
	TL0 = 0;
	ET0 = 1;
	TR0 = 1;
	EA = 1;	
}

void it0_isr() interrupt 0
{
	static char i = 0;		//数据
	int temp = irtime;
	irtime = 0;
	if((temp>30) && (temp < 35))
		i = 0;
	irdata[i] = temp;
	i++;
	if(i == 33)
	{
		irok = 1;	
	}
}

void timer0_isr() interrupt 1
{
	irtime++;
}

void ir_pro()
{
	char i = 0;
	char j = 0;
	char k = 1;
	for(i=0; i<4; i++)
	{
		char temp_code = 0;
		for(j=0; j<8; j++)	  //irtime = 4 (0)
		{					  //irtime = 8 (1)
			temp_code >>= 1;
			if(irdata[k] >= 7)
			{
				temp_code = temp_code | 0x80;
			}
			k++;
		}
		ircode[i] = temp_code;
	}
		
}
/*
temp_code
byte7 byte6 ... byte0 
1 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1
*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -