[AVR项目] 2009-05-25 11:18 我来说两句  

一种能同时使用两种格式(TV/DVD)的红外遥控器

一种能同时使用两种格式(TV/DVD)的红外遥控器,奉献给大家。
通过切换开关,就能发送不同格式的TV遥控码或DVD遥控码,目前按键只有6个,大家可以自己增加。

原理图

void IR_ON_One(void)   //发送38K的脉冲一次(560us)
void IR_ON_Multi(unsigned char Count) //发送38K的脉冲多次(以560us为一次)
void IR_OFF_One(void) //关闭38K脉冲(560us)
void IR_OFF_Three(void) //关闭38K脉冲(560us*3)
void IR_OFF_Multi(unsigned char Count)//关闭38K脉冲(560us*Count)

为什么要这样分开来做了,主要是因为时序问题.

每帧数据以9ms的间隔加4.5ms的脉冲13.5ms作为数据头
IR_ON_Multi(0×10);  //9ms
IR_OFF_Multi(0×08); //4.5ms

以脉宽为0.565ms,间隔0.56ms, 周期为1.125ms的组合表示二进制的“0”;
IR_ON_One();  //0.56ms
IR_OFF_One(); //0.56ms

以脉宽为0.565ms,间隔1.685ms,周期为2.25ms的组合表示二进制的“1”。
IR_ON_One();  //0.56ms
IR_OFF_Three(); //1.685ms

由9ms的间隔加2.5ms的脉冲组成的11.5ms作为连发码header信号
IR_ON_Multi(0×10);
IR_OFF_Multi(0×04);
IR_ON_One();
IR_OFF_Multi(0xA6);

DVD和TV码尾延时为什么不一样?这个估计得问DVD和TV的厂商才行了.因为每个厂商自己定义的不同,所以,这个是不固定的,因情况而改.

简单讲一下用示波器怎样调节?
主要是查看38K脉冲是不是正常,看正脉宽和负脉宽.

38K发送时,负脉宽比正脉宽稍宽一点,这是正常的(可能因为三极管的原因,如果去掉那个4148的二极管,脉冲的下降沿更难看).

除了那个IN4148,其它的跟普通的IR发射电路一样. 加上IN4148是为了让下降沿更快一点,整个脉冲也”好看”一点.

 源程序(编译器:CVAVR)
 原理图

 

必填

必填(不对外显示)

:victory: :titter: :think: :surprise: :snooty: :smoke: :smile: :shout: :ruth: :question: :puzzle: :plutus: :noway: :laugh: :insidious: :ill: :hint: :hearten: :happy: :fury: :find: :faint: :embarrass: :congrats: :calculate: :bye: :avarice: :approve: :ablush:

可用的HTML标签如下:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

About
My sun

   人生路上,是非无常,祸福旦夕。放得开胸怀,才能收得下世界。--煮茶村长。

Calendar
09月 2010
« Jul    
 1234
567891011
12131415161718
19202122232425
2627282930