基于MSP430f2111的工业红外遥控装置设计.docx

基于MSP430f2111的工业红外遥控装置设计.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

?

?

基于MSP430f2111的工业红外遥控装置设计

?

?

王一帆

【摘要】随着现代工业的迅猛发展,很多设备已经不能单单依靠就地操作的方式进行操作了,而红外遥控技术虽然广泛应用于日常生活,但在工业设备中使用的情况却比较少见。考虑到工业环境的多方面使用需求,本设计使用了以MSP430单片机为核心的控制系统,基于NEC通讯协议和PWM波的调制完成了红外遥控装置的设计,并使用Protues进行仿真实验验证了方案的可行性。

设计方案成本较低且具备优良的低功耗特性和信息传递准确性,可以广泛适用于多种工业环境,也可以完成对多个设备进行遥控的要求,增加了工业环境控制手段的多样性,同时远距离的控制方式也在一定程度上保证了工业现场操作人员的安全性。

【关键词】红外遥控;MSP430;PWM

一、引言

红外遥控装置由于其结构简单、成本低廉、制作方便、抗干扰能力强等一系列优点,成为目前使用最广泛的一种通信和遥控手段。[i]在日常生活中,红外遥控的技术已经相当成熟,包括电视遥控器、空调遥控器等的使用。但由于工业环境复杂,对工业用红外遥控装置就有了比日常生活中所使用的遥控器高得多的要求。

二、红外遥控装置设计

本设计在硬件的设计上采用了MSP430f2111单片机作为自制红外遥控装置的信号发生装置,采用HS0038一体化红外接收头作为红外信号接收装置。MSP430系列单片机拥有卓越的低功耗性能,而MSP430f2111单片机和HS0038一体化红外接收头的成本也很低廉,本设计采用了上述硬件进行硬件设计并在Protues中搭建硬件仿真电路用来进行仿真实验。

Proteus是基于SPICE3F5仿真引擎的混合电路仿真软件,不仅能够仿真模拟、数字电路以及模数混合电路,更具特色的是它能够仿真基于单片机的电子系统。[ii]通过Protues搭建自制红外遥控装置的硬件电路,然后将程序录入相应单片机进行仿真实验。

由于硬件设计中采用的HS0038一体化红外接收头可以接收的红外信号频率为38KHz,因此在发送端必须发送38KHz的红外信号。

发送红外信号的第一步是先确认按键信息与红外信息的转换协议,这样才可以保证信息传递的准确性。本设计采用了目前广泛使用的NEC通讯协议。单片机将按键信息转换为引导码、地址码和数据码,其中引导码是为了确认接收到的信息为红外信息,地址码也可以叫做用户码,是为了实现红外信号的加密,数据码则代表具体的按键信息。为了进一步的确保信息传递的准确性,将地址码和数据码取反,分别加在地址码和数据码的后面,一般情况下,并不对这两个反码进行处理,而在本设计中,为了进一步确保工业环境下信息传递的准确性,会增加反码的解码并与原码进行对比,如果不同则认为该信息无效。

如下为按照NEC协议将按键信息转换为编码信息的程序(部分):

voidRed_data(ucharc)//发送地址、数据码子程序

{

uchari;

for(i=0;i8;i++)

{RED_H;//置高

delay_us(560);//置高0.56ms

RED_L;//置低

if(c0x01)//判断数据码第一位的高低

{delay_us(1685);}//若为1,置低1.685ms

Else//若为0,置低0.565ms

{delay_us(565);}

c=1;//数据码右移1位

}

}

按照协议将按键信息转换成编码信息之后,然后就需要通过单片机完成38KHzPWM波的调制。选取1MHz作为系统时钟源,通过计算:1MHz/38kHz≈26,38KHz的一個周期约为26个系统的时钟周期。当增计数模式下采用输出模式7,计数器增加到TACCR1时复位,增加到TACCR0时置位。通过上述原理使用单片机发生占空比为1/3的PWM波,通过计算26/3≈9,设置计数器加到9复位,再增加到26时置位,

如下为PWM波生成的程序(部分):

voidPWM_open()//打开PWM波P1.2端口输出子程序

{

P1SEL|=BIT2;//P1.2功能选择为外围模块功能

P1DIR|=BIT2;//P1.2端口为输出端口

P1OUT=~BIT2;//P1.2端口置0

TACTL|=TASSEL_2+ID_3+MC_1;//SMCLK做时钟源,8分频,增加计数模式

TACCR0=26;//CCR0为计数器,当计数到26时

TACCTL1=OUTMOD_7;//复位/置位

TACCR1=9;//CCR1,设置占空比

}

三、Protues仿真

完成PWM的发生之后,就可以对程序进行整合,系统开启自动进入低功耗模式,当有按键按下时,打开PWM波的发送,再根据按键发送对应的编码信息,发送完后关闭PWM波的发送,最后将按键中断

文档评论(0)

尹邦乐 + 关注
实名认证
内容提供者

尹邦乐

1亿VIP精品文档

相关文档