坐在:李奇刚 来源:周立功单片机
一.HT6221遥控器芯片简介
1. 特征
* 工作电压: 1.8V~3.5V
* Dout输出38KHz
* 最小发射字: 一个字
* 一个455KHz的陶瓷或晶体
* 16位地址码
* 8位数据码
* ppm代码方式
* 最大活动键 HT6221: 32键
HT6222: 64键
2. 应用
* 电视和录像录音机控制器
* 夜盗警报系统
* 烟火警报系统
* 车门控制器
* 汽车警报系统
* 安全系统
* 其它遥控系统
3. 概述
HT6221/HT6222能编码16位地址码和8位数据码, HT6221/HT6222包含32键(K1~K32)和64键(K1~K64)
4. 引脚图
5. 方框图
6.引脚说明
引脚号 |
引脚名称 |
I/0 |
描述 |
1~6 |
R3~R8 |
输入 |
键盘行控制, 高电平有效 |
7 |
DOUT |
输出 |
串行数据输出引脚, 38KHz发射频率 |
8 |
VDD |
输入 |
1.8V~3.5V |
9 |
DT |
输入 |
最重要数据位(DT)代码设置 |
10 |
X2 |
输出 |
455KHz振荡器输出 |
11 |
X1 |
输入 |
455KHz振荡器输入 |
12 |
VSS |
输入 |
地 |
13 |
LED |
输出 |
发射输出 |
14~21 |
C8~C1 |
输入/输出 |
键盘列控制 |
22 |
AIN |
输入 |
低8位地址码输入 |
23~24 |
R1~R2 |
输入 |
键盘行控制, 高电平有效 |
7. 内部连接应用电路
二.代码的特征
1. HT6221键码的形成
当一个键按下超过36ms,振荡器使芯片激活,如果这个键按下且延迟大约108ms,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。
2. 代码格式(以接收代码为准,接收代码与发射代码反向)
①位定义
②单发代码格式
③连发代码格式
注:代码宽度算法: 16位地址码的最短宽度:1.12×16=18ms
16位地址码的最长宽度:2.24ms×16=36ms
易知8位数据代码及其8位反代码的宽度和不变:(1.12ms+2.24ms)×8=27ms
∴32位代码的宽度为(18ms+27ms)~(36ms+27ms)
三.解码方法及软件说明
1.解码的关键是如何识别“0”和“1”,从位的定义我们可以发现“0”、“1”均以0.56ms的低电平开始,不同的是高电平的宽度不同,“0”为0.56ms,“1”为1.68ms,所以必须根据高电平的宽度区别“0”和“1”。如果从0.56ms低电平过后,开始延时,0.56ms以后,若读到的电平为低,说明该位为“0”,反之则为“1”,为了可靠起见,延时必须比0.56ms长些,但又不能超过1.12ms,否则如果该位为“0”,读到的已是下一位的高电平,因此取(1.12ms+0.56ms)/2=0.84ms最为可靠,一般取0.84ms左右均可。