是电视机遥控器?还是机顶盒遥控器?
还有写程序之前需要确认电视机遥控器的编码方式,否则一切都是白搭。
是NES编码?还是SAA3010T编码?……
如果你不知道就说说你电视机的品牌型号吧。
比如我家的:
电视机是长虹,长虹遥控器的编码方式是SAA3010T。
机顶盒遥控器的编码方式是NES。
艾诺MP4 V8000 遥控器的编码方式也是NES。
红外遥控插排 遥控器的编码方式也是NES。
几个遥控器挺麻烦的,所以我就用STC11L04做了一个4和1遥控器,很方便的!
STC1205A32S2比传统51单片机有所改进,有很多扩展功能,只要你将它的各项功能大概了解,上面的程序只是小问题了。
不建议:
使用中断产生38K载波。
推免驱动发射二极管。
用软件或者PWM产生38K载波更好:
方便调制,可以调节占空比,提高脉冲电流峰值,实现低功耗发射远的目的。
推免驱动允许最大电流20mA,一般6米左右也是可以的,
但是,加个三极管,发射距离比推挽远的多,为什么不用,反正又不复杂。
下面是PNP三极管驱动电路(占空比使用约3:4)
解码用单片机接收NEC遥控器32编码和电视遥控器42位编码,程序里面自动识别32和42位的编码用数码管进行显示对应的数值。
1. 38k的方波 只是载波信号 如果 你不发射信号的话 这个38k是不输出的,也就是接收端io口默认是高电平,只有当发射端红外发光二极管亮时 ,接收端才会有低电平 ,换句话说,灯默认是以38kz闪烁,但只有你写1的时候,灯才真正的通电,当你写0的时候,灯是不亮的。灯亮不亮是你输出信号与38k信号相与的结果(仔细看这段话)
2.你挺有才 用电脑做了个示波器,红外接收头资料中说 发射端电平与接收端电平是反相的,也就是 当红外发射亮的时候,(发射端应称作1),接收头那端应是低电平(也就是0)。遥控的协议中有几个ms低电平的起始,所以接收头那端会拉高几个ms
这是红外协议,虽为e文但比较详细http://wenku.baidu.com/view/2f77818da0116c175f0e48a8.html
3.你用什么单片机不知道,做什么不知道,但是电路很简单,红外二极管直接接在io口上就行
选好单片机后程序百度一抓一大把,基本都可以用。
红外最难的不是底层以及协议,而是四字节的编码,因为没人报出各个厂商红外编码以及对应的指令(我没见过),如果你想用,得自己解码后记下来
这是人家弄得 可以减少你的开发时间
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=4493205&bbs_page_no=1&search_mode=1&search_text=红外遥控&bbs_id=9999
就是冲着你那200分来的 觉得可以就给我
1,根据单片机时钟周期,定时器设置到模式2,自动重装模式,定时时间为13US
定时时间到后把红外发射控制管脚取反就可以了,另一个信号脚可以通过一个与门和38K信号一起输入,输出信号即为调制后的信号了。
3,抬高,是说明接收头没有收到含有38K载波的信号
没意义,各电视机接收码不同的,遥控器15块一个,没有开发价值。