基于MSP430单片机的红外遥控器设计
图4红外发送程序流程图
图5红外接收电路
4.3 红外接收模块
红外接收电路选用Vishay公司生产的专用红外接收模块TSOP1838SS3V(以下简称1838)。该接收模块是一个三端元件,使用+3V电源,具有功耗低、抗干扰能力强、输入灵敏度高、对其它波长(950nm以外)的红外光不敏感的特点。1838的工作原理为:首先,通过红外光敏元件将接收到的载波频率为38kHz的脉冲调制红外光信号转化为电信号,再由前置放大器和自动增益控制电路进行放大处理;然后,通过带通滤波器进行滤波,滤波后的信号由解调电路进行解调;最后,由输出级电路进行反向放大输出。
如图5所示,1838的Vcc接+3V,GND接地,信号从OUT引脚引出,进入MSP430F413的P2.0口。当1838接收到红外信号,就会把红外信号转换的电平从OUT脚输出,P2.0口就会产生一个中断,进入红外中断服务程序,进而判断是什么信号,并且对信号做出反应。
1838输出的接收波形与发射波形恰好反相,即前导码是9ms的低电平与4ms的高电平,“0”是0.5ms的低电平与0.5ms的高电平,“1” 是0.5ms的低电平与1.5ms的高电平。因此,在接收程序中,通过比较高电平的脉宽来判断到底是前导码,还是“0”或“1”。
图6是红外接收中断程序流程图。在主程序中,先设置P2.0口为上升沿和下降沿都捕获,然后中断允许,进入主循环。一旦P2.0口有电平的跳变即进入中断程序。在中断程序中,首先判断是否上升沿。若是,则上升沿标志置1,并记录上升沿时刻;否则,说明是下降沿,再判断上升沿标志是否置1。若是,说明已有上升沿,记录下降沿时刻,并计算脉宽(脉宽=下降沿时刻—上升沿时刻);否则,说明这是干扰信号,直接返回。下一步,判断脉宽的大小。若是起始码,则起始码标志置1,记数值n清0。否则,判断起始码标志是否置1,若是,判断是“0”还是“1”,并保存,n加1,判断n是否大于或等于32,是则将起始码标志和记数值n清0,保存32位数据,返回;否则直接返回。
图6 红外接收中断程序流程图 |
5 结束语
在遥控器开发中,红外发射电路采用红外发光二极管,用软件生成38K的载波;红外接收电路采用专用模块TSOP1838SS3V;主控制器采用 MSP430F413单片机。经实际测试,遥控器的发射功率约为38mw,发射距离达到8m。遥控器具有低功耗、便携式、低成本、高可靠性、体积小、结构简单的特点。
本文作者创新点:本文中的红外遥控器主要用于现场仪表的控制。目前带遥控器的现场仪表还非常少,国外也只有SIEMENS公司开发了带有遥控功能的现场仪表,而国内这种产品几乎没有,所以红外遥控器的开发,可以说走在了国内同类产品的前列,具有很大的市场优势。而且,通过红外遥控器的开发和使用,适应了现代社会对控制的要求日益向便携式、简单式方向发展的趋势。
参考文献
[1] 柏军,胡屏. 一种用于单片机的红外串行通信接口. 单片机及嵌入式系统应用, 2003.8
[2] 蒋俊峰. 基于单片机的红外通讯设计. 电子设计应用,2003.11
[3] 魏小龙. MSP430系列单片机接口技术及系统设计实例. 北京:北京航空航天大学出版社,2002
[4] 陈茂勇,郭西进. 基于MSP430单片机的智能无功补偿控制器的设计. 微计算机信息,2005.5
[5] 冯瑛. 全数字电动调节阀模糊控制系统的研究与开发:[学位论文].长沙:中南大学,2004
- 红外通信—红外遥控器NEC解码程序(12-02)
- 红外通信电路模块 - 基于GP21+EFM32的超低功耗超声波热量表电路模块设计(10-22)
- 基于SSU7301单片机串行口红外通信的设计(12-28)
- 基于PIC单片机的主从红外通信系统设计(12-20)
- 多费率电能表中基于51单片机串行口红外通信的设计(11-04)
- 关于单片机串行口红外通信的设计(09-01)