单片机红外遥控

单片机红外遥控

ID:38699834

大小:254.50 KB

页数:7页

时间:2019-06-17

单片机红外遥控_第1页
单片机红外遥控_第2页
单片机红外遥控_第3页
单片机红外遥控_第4页
单片机红外遥控_第5页
资源描述:

《单片机红外遥控》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1概述  单片机控制系统广泛应用在电气设备和电子产品中,而实现控制的外部操作多由键盘或计算机完成,有一定的局限性,比如,对一些电子产品所显示数据的修改来说,当安装位置较高时,按键控制很不方便,若采用PC,则除了电路更复杂外,造价也相应提高。为此,我们研制了采用普通电视用的红外遥控器做控制器的单片机控制系统。  2硬件设计  采用MCS251系列单片机,选用众合牌电视遥控器,重新设置按键功能。将红外线接收头的输出端与单片机的外部中断(INT0或INT1)连接,操作遥控器时,接收头有信号输出,单片机产生中断。  2.1红外遥控器简介 

2、 2.1.1基本组成  红外遥控器的核心是遥控发射集成电路,众合牌电视遥控器采用的集成芯片是M50462AP,其内部由图1中虚线框内各部分电路组成。 图1遥控发射集成电路  2.1.2工作原理  当遥控器有键被按下时,振荡电路立即接通并起振,扫描信号发生器随即发出8路不同时序的扫描时序脉冲,依次对键盘矩阵进行扫描,键盘编码器则由接收到的回送信号判断出被按键位置,并输出相应的编码至译码器,经译码器进行码元变换后的信号被重新编码调制后输出。  2.1.3指令代码  集成芯片M50462AP的输出信号是脉冲位置调制码,其载频是中心频率为

3、40kHz,占空比为3的方波信号。  一位脉冲位置调制码如图2所示。当脉冲宽度为1ms时,代表一个二进制数/00;脉冲宽度为2ms时,代表一个二进制数/10。 图2脉冲位置调制码每一条传送指令由16位这样的/00、/10代码组成,这16位代码的前8位为用户码,用户码的构成形成为1110xx10,遥控器生产厂家可以将/x0设为/10或/00,众合牌遥控器的用户码为11100010,即为E2H;16位代码的后8位为数据码,即按键功能操作码,编码则如表1所列。表1按键功能操作码编码表   表1中新键功能可以根据需要自行设定,这里给出的是

4、我们为电子钟设计的。  遥控器发送一组指令的时间是44ms,故操作遥控器一次可发出多组指令代码,以备接收头接收。  我们设计的控制系统需要从中取出3组数据。2.2接收头的使用  红外接收头通称遥控预放器,它将接收到的脉冲位置调制码转换成如图3所示的接收码。接收头使用简单,只需将它的三个引脚分别接地、+5V电源和CPU的INT0或INT1即可。 图3接收码3软件设计  本系统旨在识别指令代码并依据指令信息实现新键功能,我们的思路是在中断服务程序中识别指令代码并保存数据,用主程序对数据进行比较和处理,从而实现各种功能。  3.1中断服

5、务程序  3.1.1代码的判断  代码的判断是用计数和比较的方法来实现的,进入中断的同时立即打开定时器T1,开始计数,代码/00和/10的计数时间由其脉冲宽度决定,分别为1ms和2ms,则理论计数值A0、A1分别可由以下公式得出:  A0=1ms/一个机器周期  A1=2ms/一个机器周期  当单片机采用不同频率的晶振时,理论计数值也将随之不同。  考虑到遥控器与单片机基准频率的误差,实际计数值很难保证与理论计数值完全一致,为此需给/00和/10的实际计数值开设一个窗口,以免丢失数据;同时,为增强抗干扰性,窗口宽度应适中,经过实验

6、,我们确定的窗口宽度为0.224ms,具体数值如表2所列。表2记数窗口数值   当实际计数值在A0L~A0H时,我们认为接收的代码是/00;实际计数值在A1L~A1H时,则将代码记为/10。  3.1.2指令的识别  将接收的指令代码逐位存储在单片机RAM区的2AH~2FH单元中,则可以存储48位共3组指令代码,存储的有效方式如表3所列。表3存储方式   在表3中,jjH表示的是表1中的任意一个按键的功能操作码,只有当2A=2C=E2H,且2B=2D=jjH的时候,此指令代码才被认为是有效的,将jjH代表的操作码存入数据暂存单元1

7、EH中,主程序即可以使用。  3.1.3中断服务程序流程  程序中,先将接收的每一位代码作/00、/10的判别后存储下来,存满48位后,再进行数据是否有效的判别,最后存储有效的指令代码。程序框图如图4所示。  图4中,移位处理是指2AH~2FH中的6个字节整体向左移动,目的是为了防止接收头从某一组指令的中间开始接收数据而造成的数据丢失,若移位16次还不能出现有效的指令代码,则认为此组数据无效。 图4中断服务程序框图  3.2主程序  为配合中断服务程序,在主程序初始化中设定INT0或INT1为负跳变边沿触发方式,同时将定时器T1设

8、定在工作方式2,且不允许中断。  控制功能的实现,可以采用不断地从指令代码暂存单元1EH中取出数据再与表1中的按键功能操作码逐一比较的方法,挑选出对应的功能,通过单片机控制继电器实现设备的开关,并引入适当的延时函数,达到不同的功能。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。