微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于MSP430单片机的红外遥控器设计

基于MSP430单片机的红外遥控器设计

时间:01-19 来源:互联网 点击:

1 引言

在工业控制的许多环境下,不适合操作人员直接控制,例如:高温、高压、辐射、粉尘、强酸性、腐蚀性、有毒气体等。这时,红外遥控是可行的控制方式。通过这种方式,操作人员能及时采集现场数据,修改控制对象的参数,并发送控制命令,以达到理想的控制效果。红外遥控通过红外通信的方式进行控制,具有低功耗、低成本、高可靠性、体积小、结构简单、避免人身伤害等优点,是一种先进的控制方式,具有广阔的应用前景。

2 红外通信原理

红外通信,即以红外线作为通信载体,通过红外光在空中的传播来传输数据的通信方式,它由发射端和接收端来完成。在发射端,发送的数字信号经过适当的调制编码后,送入电光变换电路,经红外发射管转变为红外光脉冲发射到空中;在接收端,红外接收器对接收到的红外光脉冲进行光电变换,解调译码后恢复出原信号。

红外发射端发送数据时,是将待发送的二进制数据调制成一系列的脉冲信号后发射出去。红外载波为频率38KHz的方波,采用脉宽调制PWM方式发送,通过待发送二进制数据的“0”或“1”控制两个脉冲之间的时间间隔,及PWM的占空比。红外载波既可以通过外围硬件电路实现,也可以使用单片机内部的定时器的PWM功能实现。

红外接收端在收到38KHz的载波信号时,会输出低电平,否则输出高电平,从而可以将“时断时续”的红外光信号解调成一定周期的连续方波信号,经单片机处理,便可以恢复出原数据信号。

3 MSP430单片机简介

MSP430单片机是TI公司推出的一个新型单片机系列,其主要特点是:超低功耗、16位指令、内置A/D转换器、串行通信接口、硬件乘法器、 LCD(液晶)驱动器及高抗干扰能力等。因此,MSP430单片机特别适合应用在智能仪表、防盗系统、智能家电、电池供电便携式设备等产品之中。笔者在开发这款遥控器时,选用的单片机型号是MSP430F413,其性能特点如下:低工作电压(1.8~3.6V);超低功耗(工作模式4下耗电仅为 0.1μA);16位精简指令结构(RISC);150ns指令周期;带有3个捕获/比较器的16位定时器;片内集成96段LCD驱动器;片内有JTAG 调试接口和FLASH型存储器,可在线串行编程;开发环境十分方便高效,支持C语言和汇编语言。

4 基于MSP430单片机的红外遥控器设计

4.1 总体硬件框图

笔者设计的这款红外遥控器,不仅能设置控制对象的给定值或控制参数,并通过红外线发送给对象,而且能接收并显示对象通过红外线反馈回的实际值,这是它不同于普通红外遥控器的地方。因此,实际应用中,红外遥控器和控制对象上都装有红外发送电路和红外接收电路。红外遥控器的硬件部分主要包括五个模块:电源模块、键盘模块、液晶模块、红外发送模块和红外接收模块。总体硬件框图如图1所示。由于MSP430、红外发送模块和红外接收模块都可采用3V电源,所以电源模块采用两节1.5V电池供电即可。键盘模块采用4×4行列扫描式键盘。液晶模块由MSP430F413直接驱动。

图1 总体硬件框图

4.2 红外发送模块

图2红外发射电路 图3红外发射波形

因为发光二极管的发光距离与其发射功率成正比,为了提高发光二极管的发光距离,必须提高它的发射功率,也就是使红外发光二极管工作于脉冲状态。可以用两种方法来实现:一是用硬件方法,即设计脉冲电路来产生占空比尽量小的脉冲载波信号;另一种就是用软件来控制MSP430F413的输出端P2.1,让其输出即为占空比较小的脉冲信号。

这里利用软件来实现这个功能。即在需要输出高电平的时候,让程序定时把P2.1口输出状态反向,其中定时时间是由指令数和指令周期来决定的,每条指令的指令执行周期是固定的,所以如果想让反向频率高一些,则让指令执行的少一些,反之就让指令多一些。可见输出信号占空比可以由定时时间的长短来决定,这样就可以在高电平时输出占空比尽量小的脉冲信号。因为接收头对38KHz的光信号转换能力比较强,所以把高电平的频率设置为38KHz。在需要输出低电平的时候,控制P2.1口一直为低就可以了。

红外发光二极管发射波形如图3所示。先发一段前导码,以检验这组码是否为想要的码。前导码由一个9ms的高电平和一个4ms的低电平组成。然后再发 32位数据代码,其中高电平为0.5ms,低电平为0.5ms的一个周期为代码“0”;高电平为0.5ms,低电平为1.5ms的一个周期为代码“1”。为了提高发射功率,实际工作时,发光二极管的高电平用38kHz的载波信号载波,低电平则一直为低。


红外发送程序流程图如图4所示。即先发出前导码,然后再按发出的是‘0’或‘1’来发出不同的数据码,每发送完一位,就让码长计数器num加1,直到num加到32时,发送停止。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top