HE6221红外遥控发送芯片7.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
HE6221红外遥控发送芯片7

PAGE 1 PAGE 11 HT6221/2解码成标准的键值 李奇刚 一.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) 三.解码方法及软件说明 解码的关键是如何识别“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左右均可。 根据码的格式,应该等待9ms的起始码和4.5ms的结果码完成后才能读码。 从上述两点,我们可得到解码程序的流程图。 这样接收到的仅仅是普通的代码,要得到标准的键值,还必须进行代码识别和代码转换,下面是从代码接收到获得标准值的子程。 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的起始码发送完 MOV R2,#32 ;32表示代码共32位,也可以送24,这样 ;接收到的24位码将不包括数据代码的 ;反代码 ; ;代码接收 BYTE1: MOV R3,#250 BYTE2: MUL AB ;延时约6ms,可以稍长或稍短,但不能 ;小于4.5ms,也不能太长。太长连击时 ;将影响程序运行速度 JNB KREM,BYTE3; DJNZ R3,BYTE2 ;由于结果码为4.5ms,如果小于4.5ms, ;结果码未发送完,读得的码值将出错 BYTE3: JNB KREM,$ ;等待高电平

文档评论(0)

haowendangqw + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档