标题:
AVR单片机红外解码程序
[打印本页]
作者:
zhongzhide
时间:
2018-9-3 22:40
标题:
AVR单片机红外解码程序
avr单片机源程序如下:
//ICC-AVR application builder : 2018/1/11 10:02:04
// Target : M16
// Crystal: 8.0000Mhz
#include <iom16v.h>
#include <macros.h>
#define uchar unsigned char
#define uint unsigned int
#define pind2 PIND&0x04
uchar shujuma[2]={0,0},IrValue[4]={0,0,0,0};
uchar Time;
void delay_us(unsigned char nus)
{
unsigned char i;
while(nus--)
{for(i=12;i>0;i--);}
}
void xs(void)
{
uchar k[17]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0x11,0xc1,0x63,0x85,0x61,0x71,0x91};
uchar j[8]={0x7f,0xbf,0xdf,0xef,0xfe,0xfd,0xfb,0xf7};
PORTB=0xff;
PORTA=k[16];
PORTB=j[2];
delay_us(1);
PORTB=0x00;
PORTA=k[shujuma[1]];
PORTB=j[1];
delay_us(1);
PORTB=0x00;
PORTA=k[shujuma[0]];
PORTB=j[0];
}
void main(void)
{
DDRA=0xff;
DDRB=0xff;
DDRD&=0xfb;
GICR|=0x40;//开启INT0中断
MCUCR|=0x02;
MCUCR&=0xfe;//设为下降沿触发
SEI();//开启总中断
while(1)
{
shujuma[0]=IrValue[2]/16;
shujuma[1]=IrValue[2]%16;
xs();
if(IrValue[2]==0x0c)
{DDRC=0xff;PORTC=0xff;}
else if(IrValue[2]==0x16)
{DDRC=0xff;PORTC=0x00;}
}
}
#pragma interrupt_handler INT0_zd:2
void INT0_zd(void)
{
uchar j,k;
int err;
Time=0;
if((pind2)==0)
{
err=1000;
while(((pind2)==0)&&(err>0))
{
delay_us(1);
err--;
}
if((pind2))
{
err=500;
while(((pind2))&&(err>0))
{
delay_us(1);
err--;
}
for(k=0;k<4;k++)
{
for(j=0;j<8;j++)
{
err=60;
while(((pind2)==0)&&(err>0))
{
delay_us(1);
err--;
}
err=500;
while((pind2)&&(err>0))
{
delay_us(10);//0.1ms
Time++;
err--;
if(Time>30)
return;
}
IrValue[k]>>=1;
if(Time>=8)
IrValue[k]|=0x80;
Time=0;
}
}
}
if(IrValue[2]!=~IrValue[3])
return;
}
}
复制代码
所有资料51hei提供下载:
红外线.rar
(16.42 KB, 下载次数: 30)
2018-9-3 22:39 上传
点击文件名下载附件
icc
作者:
admin
时间:
2018-9-4 03:41
补全原理图或者详细说明一下电路连接即可获得100+黑币
作者:
zhongzhide
时间:
2018-9-4 08:43
admin 发表于 2018-9-4 03:41
补全原理图或者详细说明一下电路连接即可获得100+黑币
此程序主要是红外接收管接收红外遥控器的解码,将数据码显示在数码管并判断数据码控制PC口的电平。红外接收管的信号脚接的是外部中断PD2,利用信号触发外部中断进行解码。数码管的位选端口接的PB口,数据端口也就是字形码接的PA口。
作者:
jamesk
时间:
2018-9-4 09:45
不错啊很棒啊
作者:
七娃
时间:
2018-9-7 21:21
好资料呀,51黑论坛有你更精彩!!!
作者:
xixi2006
时间:
2018-9-12 16:02
学习了
作者:
HI-XM
时间:
2019-1-25 10:56
厉害 哈哈
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1