利用SPMC65P2404A单片机做红外接收
本文主要介绍利用SPMC65P2404A单片机做红外接收,可作为用户系统设计的参考。
关键词:SPMC65P2404A、行列式键扫描 1 引言 本系统应用凌阳科技8位工业级单片机SPMC65P2404A做红外接收,SPMC65P2404A单片机的定时、计数器具有CCP(Capture、Compare、PWM)功能,利用其Capture功能可以很方便完成红外接收。 2 芯片特性简介 SPMC65系列单片机是凌阳科技公司设计开发的8位工业级通用型单片机,具有超强的抗干扰能力,广泛应用于家用电器、工业控制、仪器仪表等控制领域。SPMC65P2404A单片机功能特点如下: ● SPMC65 CPU
- 支持 182 条指令, 11 种寻址方式
- 系统时钟频率最高可达 8MHz
- 支持位操作指令(置 1 、清零、取反、测试)
● 存储空间
- 4K 字节的程序空间( OTP ),并且可设置保密功能。
- 192 字节的 RAM (含堆栈空间)
● I/O 端口
- 23/15 个具有复用功能的双向 I/O 端口
- 可编程设置为带上拉 / 下拉电阻输入或者悬浮输入
- I/O 具备 LED 驱动能力
- 其中 2 个 I/O 端口能提供 20mA 的吸入电流 ● 中断管理
- 外部中断选项:非屏蔽中断 NMI 或可屏蔽中断 IRQ
- 支持 4 个外部中断,其中的一个可设置为非屏蔽中断 NMI
- 12 个内部中断 ● 复位管理
- 上电复位 (POR)
- 低电压复位 (LVR)
- 看门狗复位 (WDR)
- 外部复位 (ERST)
- 非法地址复位 (IAR) ● 时钟管理
- 3 种时钟源:晶体 / 陶瓷振荡器、 RC 振荡器、外部时钟输入
- 在 RC 振荡模式下,能够输出时钟信号 | ● 电源管理
- 2 种省电模式: STOP 模式、 HALT 模式
● 2 个外围模拟电路
- 8 通道 10 位精度的 A/D 转换器( 100KHz )
- 低电压复位( 2.5V/4V )
● 2 通道 8 位定时 / 计数器 (Timer0,Timer2)
- 定时、计数功能
- 捕获功能( 8 位脉宽测量)
- 8 位比较输出功能 ● 2 通道 16 位定时 / 计数器 (Timer1,Timer3)
- 定时、计数功能
- 捕获功能( 8 位脉宽 / 周期测量,或 16 位脉宽测量)
- 16 位比较输出功能
- 12 位 PWM 输出功能
● 时基定时器
- 频率选择: 1KHz ~ 62.5KHz @8MHz
- 7 级分频选择
● 蜂鸣器输出
- 频率选择: 1KHz ~ 2MHz @8MHz
- 12 级分频选择
● 可编程看门狗定时器
- 中断频率选择: 1.5Hz ~ 195Hz ● 串行总线接口
- SPI 总线频率:最高为 2MHz @8MHz |
3 系统总体方案介绍 本例以电视遥控器作为红外发射源,简单介绍了如何进行红外遥控接收。主控芯片采用凌阳公司的SPMC65P2404A*28P。
系统框图如图3-1所示。 图 3-1系统框图 3.1 红外发送和接收简介 红外通信由红外发送和红外接收两部分组成。 3.1.1 红外发送
图 3-2 红外发射框图 编码不能直接通过红外发送器发送,因为发送信号容易受到外界的干扰。为了提高编码的稳定性,必须调制编码,调制好的信号可通过红外发射管发射红外信号。图3-3给出调制的过程,将编好的码和一定频率的信号相叠加形成输出的波形。一定的频率是指接收器件的接收频率。
图 3-4 红外接收框图 红外接收的需先进行解调,解调的过程是通过红外接收管进行接收的。其基本工作过程为:当接收到调制信号时,输出高电平,否则输出为低电平,是调制的逆过程。
图 3-5 解调3.2 编码格式 本例选用一电视遥控器作为发射源,下图给出其编码格式。
图 3-6 红外编码格式 头脉冲―――发送前的起始位(不占空间)
系统码―――固定数字10H
资料码―――1个字节
资料反码――1个字节 3.3 原理图 如图3-7所示,红外接收管将接收到的信号进行解调,然后由PB1输入,CPU解码,将解码后的数据转换为遥控器按键值,然后显示出来。PA接一个数码管作为显示部分,显示遥控器按键值。本例只接收遥控器上的按键0~9发出的信号。 数码管初始状态为0。 CPU利用捕获功能进行数据解码。
图 3-7 IR系统原理图 4 系统软件设计 4.1 主流程 程序主流程如图4-1所示。程序的主循环时间选择4ms。
图4-1 键盘主流程图 4.2 数据接收流程图 数据接收流程图如图4-2所示。
图4-2 数据接收子流程 4.3 数据校验流程图 数据校验流程图如图4-3所示。
图 4-3 数据校验子流程 4.4 数据转换流程图 数据转换流程图如图4-4所示。
图4-4 数据转换子流程
|