HT6221 遥控器芯片简介
发布时间:2008/5/28 0:00:00 访问次数:1299
一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.
引脚图
-20 dip/sop
ht6221
ht6222
-24 dip/sop
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)
三解码方法及软件说明
0
0.56ms
data period(1.12ms)
1
0.56ms
data period(2.24ms)
2.5ms
9ms
32 (4.5ms~63ms)
(a0~a15+d0~d7+d0~d7)
4.5ms
9ms
解码的关键是如何识别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
左右均可
2
根据码的格式
应该等待9ms
的起始码和4.5ms
的结果码完成后才能读码
3
从上述两点
我们可得到解码程序的流程图
这样接收到的仅仅是普通的代码
要得到标准的键值
还必须进行代码识别和代码
转换
下面是从代码接收到获得标准值的子程
krem
与接收头相连的i/o
口
1ah,1bh,1ch,1dh
存放代码的4
个连续单元
yao_kong: clr ea
jnb krem,remot1
sjmp rem_bak
平时krem
为高电平
所以当krem=1
时
表示无键按下
应立即返回
remot1: jnb krem,$
等待9ms
的起始
一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.
引脚图
-20 dip/sop
ht6221
ht6222
-24 dip/sop
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)
三解码方法及软件说明
0
0.56ms
data period(1.12ms)
1
0.56ms
data period(2.24ms)
2.5ms
9ms
32 (4.5ms~63ms)
(a0~a15+d0~d7+d0~d7)
4.5ms
9ms
解码的关键是如何识别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
左右均可
2
根据码的格式
应该等待9ms
的起始码和4.5ms
的结果码完成后才能读码
3
从上述两点
我们可得到解码程序的流程图
这样接收到的仅仅是普通的代码
要得到标准的键值
还必须进行代码识别和代码
转换
下面是从代码接收到获得标准值的子程
krem
与接收头相连的i/o
口
1ah,1bh,1ch,1dh
存放代码的4
个连续单元
yao_kong: clr ea
jnb krem,remot1
sjmp rem_bak
平时krem
为高电平
所以当krem=1
时
表示无键按下
应立即返回
remot1: jnb krem,$
等待9ms
的起始
上一篇:高频管和低频管的判别