当前位置:首页 > 单片机 > 单片机
[导读]业界领先的TEMPO评估服务 高分段能力,高性能贴片保险丝 专为OEM设计师和工程师而设计的产品 Samtec连接器 完整的信号来源 每天新产品 时刻新体验 完整的15A开关模式电源   摘 要 文章介绍了一种用红外遥控器作控制

业界领先的TEMPO评估服务 高分段能力,高性能贴片保险丝 专为OEM设计师和工程师而设计的产品 Samtec连接器 完整的信号来源 每天新产品 时刻新体验 完整的15A开关模式电源   摘 要 文章介绍了一种用红外遥控器作控制器的单片机控制系统, 具体说明了其软、硬件的实现方法。

1 概述

单片机控制系统广泛应用在电气设备和电子产品中, 而实现控制的外部操作多由键盘或计算机完成, 有一定的局限性, 比如, 对一些电子产品所显示数据的修改来说, 当安装位置较高时, 按键控制很不方便, 若采用PC, 则除了电路更复杂外, 造价也相应提高。为此, 我们研制了采用普通电视用的红外遥控器做控制器的单片机控制系统

2 硬件设计

采用MCS251 系列单片机, 选用众合牌电视遥控器, 重新设置按键功能。将红外线接收头的输出端与单片机的外部中断( INT 0 或INT1) 连接, 操作遥控器时, 接收头有信号输出, 单片机产生中断。

2. 1 红外遥控器简介

2. 1. 1 基本组成

红外遥控器的核心是遥控发射集成电路, 众合牌电视遥控器采用的集成芯片是M50462AP, 其内部由图1 中虚线框内各部分电路组成。


图1 遥控发射集成电路

2. 1. 2 工作原理

当遥控器有键被按下时, 振荡电路立即接通并起振, 扫描信号发生器随即发出8 路不同时序的扫描时序脉冲, 依次对键盘矩阵进行扫描, 键盘编码器则由接收到的回送信号判断出被按键位置, 并输出相应的编码至译码器, 经译码器进行码元变换后的信号被重新编码调制后输出。

2. 1. 3 指令代码

集成芯片M50462AP 的输出信号是脉冲位置调制码, 其载频是中心频率为40kHz, 占空比为3 的方波信号。

一位脉冲位置调制码如图2 所示。当脉冲宽度为1ms 时, 代表一个二进制数/ 00; 脉冲宽度为2ms时, 代表一个二进制数/ 10。


图2 脉冲位置调制码

每一条传送指令由16 位这样的/ 00、/ 10代码组成, 这16 位代码的前8 位为用户码, 用户码的构成形成为1110xx10, 遥控器生产厂家可以将/ x0 设为/ 10或/ 00, 众合牌遥控器的用户码为11100010, 即为E2H; 16 位代码的后8 位为数据码, 即按键功能操作码, 编码则如表1 所列。

表1 按键功能操作码编码表

表1 中新键功能可以根据需要自行设定, 这里给出的是我们为电子钟设计的。

遥控器发送一组指令的时间是44ms, 故操作遥控器一次可发出多组指令代码, 以备接收头接收。

我们设计的控制系统需要从中取出3 组数据。

2. 2 接收头的使用

红外接收头通称遥控预放器, 它将接收到的脉冲位置调制码转换成如图3 所示的接收码。接收头使用简单, 只需将它的三个引脚分别接地、+ 5V 电源和CPU 的INT 0 或INT 1 即可。


图3 接收码

3 软件设计

本系统旨在识别指令代码并依据指令信息实现新键功能, 我们的思路是在中断服务程序中识别指令代码并保存数据, 用主程序对数据进行比较和处理, 从而实现各种功能。

3. 1 中断服务程序

3. 1. 1 代码的判断

代码的判断是用计数和比较的方法来实现的,进入中断的同时立即打开定时器T 1, 开始计数, 代码/ 00和/ 10的计数时间由其脉冲宽度决定, 分别为1ms 和2ms, 则理论计数值A0、A1 分别可由以下公式得出:

A0= 1ms/ 一个机器周期

A1= 2ms/ 一个机器周期

当单片机采用不同频率的晶振时, 理论计数值也将随之不同。

考虑到遥控器与单片机基准频率的误差, 实际计数值很难保证与理论计数值完全一致, 为此需给/ 00和/ 10的实际计数值开设一个窗口, 以免丢失数据; 同时, 为增强抗干扰性, 窗口宽度应适中, 经过实验, 我们确定的窗口宽度为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代表的操作码存入数据暂存单元1EH 中, 主程序即可以使用。

3. 1. 3 中断服务程序流程

程序中, 先将接收的每一位代码作/ 00、/ 10的判别后存储下来, 存满48 位后, 再进行数据是否有效的判别, 最后存储有效的指令代码。程序框图如图4 所示。

图4 中, 移位处理是指2AH~ 2FH 中的6 个字节整体向左移动, 目的是为了防止接收头从某一组指令的中间开始接收数据而造成的数据丢失, 若移位16 次还不能出现有效的指令代码, 则认为此组数据无效。


图4 中断服务程序框图

3. 2 主程序

为配合中断服务程序, 在主程序初始化中设定INT 0 或INT 1 为负跳变边沿触发方式, 同时将定时器T1 设定在工作方式2, 且不允许中断。

控制功能的实现, 可以采用不断地从指令代码暂存单元1EH 中取出数据再与表1 中的按键功能操作码逐一比较的方法, 并附以其他功能的实现子程序。

4 结束语

当选用其他型号的遥控器或单片机时, 除了需重新确定遥控器的指令代码类型和单片机的计数速度外, 本文介绍的方法依然适用。

采用红外遥控器做控制器的单片机系统, 不仅价格低廉, 而且电路简单、实用, 操作方便, 性能稳定, 易于推广。目前已在我们制作的多种自动控制系统中使用。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭