HD7279A的原理与应用

2006-05-07 17:32:03来源: 互联网

 

摘要:详述一种专用的智能键盘和LED控制芯片HD7279A的工作原理、工作时序及其控制指令;介绍HD7279A与CPU及键盘显示器的接口电路,并给出实际接口电路的程序实例和实际应用中的注意事项。

关键词:HD7279A 接口电路 接口程序

  HD7279A硬件电路图HD7279A是一种管理键盘和LED显示器的专用智能控制芯片。它能对8位共阴极LED显示器或64个LED发光管进行管理和驱动,同时能对多达8×8的键盘矩阵的按键情况进行监视,具有自动消除键抖动并识别按键代码的功能,从而可以提高CPU工作的效率。HD7279A和微处理器之间采用串行接口,其接口电路和外围电路简单,占用口线少,加之它具有较高的性能价格比,因此,在微型控制器、智能仪表、控制面板和家用电器等领域中日益获得广泛的应用。

一、 引脚说明与接口电路

  279A的硬件电路如图1所示,它共有28个引脚。 RC引脚用于连接HD7279A的外接振荡元件,其典型值为R=1.5kΩ,C=15pF。RESET为复位端。该端由低电平变成高电平并保持25ms即复位结束。通常,该端接+5V即可。DIG0~DIG7分别为8个LED管的位驱动输出端。SA~SG分别为LED数码管的A段~G段的输出端。DP为小数点的驱动输出端。HD7279A片内具有驱动电路,它可以直接驱动1英吋及以下的LED数码管,使外围电路变得简单可靠。 DIG0~DIG7和SA~SG同时还分别是64键盘的列线和行线端口,完成对键盘的监视、译码和键码的识别。在8×8阵列中每个键的键码是用十六进制表示的,可用读键盘数据指令读出,其范围是00H~3FH。 HD7279与微处理器仅需4条接口线,其中CS为片选信号(低电平有效)。当微处理器访问HD7279A(读键号或写指令)时,应将片选端置为低电平。DATA为串行数据端,当向HD7279A发送数据时,DATA为输入端;当HD7279A输出键盘代码时,DATA为输出端。CLK为数据串行传送的同步时钟输入端,时钟的上升沿表示数据有效。KEY为按键信号输出端,在无键按下时为高电平;而有键按下时此引脚变为低电平并且一直保持到键释放为止。 (图1 HD7279A硬件电路图,点击下载)

二、 电特性

表1所列为HD7279A的电特性。

参数
符号
测试条件
最小值
典型值
最大值
电源电压
Vcc/V
.
4.5
5.0
5.5
工作电流
Icc/mA
不接LED
.
3
5
工作电流
Icc/mA
LED全亮, ISEG=10mA
.
60
100
逻辑输入高电平
Vih/V
.
2.0
.
5.5
逻辑输入低电平
Vil/V
.
0
.
0.8
按键响应时间
Tkey/ms
含去抖时间
10
18
40
KEY引脚输入电流
Iki/mA
.
.
.
10
KEY引脚输出电流
IKO/mA
.
.
.
7
表 1
 

三、 控制指令

  1 HD7279A指令系统由6条纯指令、7条带数据指令和1条读键盘指令组成。6条纯指令为:
  (1) 复位指令。指令代码为A4H,其功能为清除所有显示,包括字符消隐属性和闪烁属性。
  (2) 测试指令。指令代码为BFH,其功能为将所有的LED点亮并闪烁,可用于自检。
  (3) 左移指令。指令代码为A1H,其功能为将所有的显示左移1位,移位后,最右位空(无显示),不改变消隐和闪烁属性。
  (4) 右移指令。指令代码为A0H,其功能与左移指令相似,只是方向相反。
  (5) 循环左移指令。指令代码为A3H,其功能为将所有的显示循环左移1位。移位后,最左位内容移至最右位,不改变消隐和闪烁属性。
  (6) 循环右移指令。指令代码为A2H,其功能与循环左移指令相似,只是方向相反。
  2 带数据指令均由双字节组成,它们是:
  (1) 按方式0译码下载指令

1 0 0 0 0  a2  a1  a0
DP X X X d3  d2  d1  d0

X X:无影响 第1字节为指令,其中a2,a1,a0代表显示位地址:

a2,a1,a0 7 6 5 4 3 2 1 0
显示位 8 7 6 5 4 3 2 1


显示位8为最高位,参见图1。 第2字节为显示内容,其中DP为小数点控制位,DP=1,小数点显示;DP=0,小数点熄灭。 d3 d2 d1 d0为数据,按方式0译码时数据和显示的关系如下:
 

d3 d2 d1 d0 00H 01H 02H 03H 04H 05H 06HH 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH
显示内容
0  1  2  3  4 5  6  7  8  9  -  E  H  L  P  空


  (2) 按方式1译码下载指令
 

1 1 0 0 1 a2 a1 a0
DP X X X d3 d2 d1 do


该指令和按方式0译码下载指令的含义基本相同。按方式1译码时数据和显示的关系如下:
 

d3 d2 d1 d0 00H 01H 02H 03H 04H 05H 06HH 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH
显示内容
0  1  2  3  4  5  6  7  8  9  -  E H  L  P  空


  (3) 不译码下载指令
 

1 0 0 1 0 a2 a1 a0
DP A B C D E F G


a2 a1 a0仍为位地址,第2字节仍为显示内容,其中DP和A~G分别代表小数点和LED显示器的7段,相应位为1时,该段点亮;为0时,该段熄灭。
  (4) 闪烁控制指令
 

1 0 0 0 1 0 0 0
d8  d7  d6  d5 d4 d3 d2 d1


该指令规定了每个数码管的闪烁属性。d1~d8分别对应第1到第8个数码管,该位为1不闪烁;该位为0闪烁。缺省状态为所有数码管均不闪烁。
  (5) 消隐控制指令
 

1 0 0 1 1 0 0 0
d8  d7  d6  d5 d4  d3  d2  d1


该指令规定了每个数码管的消隐属性。d1~d8分别对应第1到第8个数码管,该位为1显示;该位为0消隐。应该注意的是至少要有1位保持显示状态,如果全部消隐则该命令无效。
  (6) 段点亮指令
 

1 1 1 0 0 0 0 0
X  X  d5  d4 d3  d2  d1  d0

XX:无影响。
该指令的作用是点亮某个LED数码管中的某一段或64个LED发光管中的某一个。d0~d5的范围是00H~3FH,所对应的段如下:
 

数据 00H 01H ...06H 07H 08H 09H ...0EH 0FH ... ... 38H 39H ...3EH 3FH
G   F ... A   DP G   F ... A   DP ... ... G   F ... A  DP
数码管 第1个 ... ... 第2个 ... ... ... ... 第8个 ... ...


  (7) 关闭指令
 

1 1 0 0 0 0 0 0
X  X  d5  d4 d3  d2  d1  d0

XX:无影响。
该指令的作用是关闭某个数码管中的某一段,其对应关系同段点亮指令。
  3 读取键盘指令:
 

0 0 0 1 0 1 0 1
d7  d6  d5  d4 d3  d2  d1  d0


  该指令的作用是读取当前的键盘代码。与其他带数据的指令不同,它的第2个字节不是写入HD7279A的数据,而是从HD7279A读回的按键代码。如前说述,当有键按下时其范围是00H~3FH;而无键按下时代码是FFH。

四、 时序

  (1) 纯指令时序:微处理器发出8个CLK脉冲,向HD7279A传送8位指令。DATA引脚为高阻状态,如图2所示。

图2 纯指令时序

  (2) 带数据指令时序:微处理器发出16个CLK脉冲,前8个向HD7279A传送8位指令;后8个向HD7279A传送8位数据。DATA引脚为高阻状态,如图3所示。
 

图3 带数据指令时序

  (3) 读键盘指令时序:微处理器发出16个CLK脉冲,前8个向HD7279A传送8位指令, DATA引脚为高阻状态;后8个由HD7279A向微处理器返回8位按键代码,DATA引脚为输出状态。在最后1个CLK脉冲的下降沿DATA引脚恢复高阻状态,如图4所示。
 

图4读键盘指令时序

五、 几点说明

  1证正确的时序是HD7279A正常工作的前提条件。当选定了HD7279A的振荡元件RC和晶振之后,应调节延时时间,使时序中的T1~T8满足表2所列要求。由表2所列的数值可知,HD7279A时序规定的时间范围很宽,达10~50倍,很容易满足,但为了提高微处理器访问HD7279A的速度,在要求系统运行速度较快时,应仔细调试HD7279A的读写程序,使其运行时间接近最短。
2 微处理器通过KEY引脚电平来判断是否有键按下,在使用查询方式管理键盘时,该引脚接至微处理器的1位I/O端口;如果使用中断方式,该引脚应接至微处理器的外部中断输入端。同时应将该中断触发控制位设置成下降沿有效的边沿触发方式。若置成电平触发方式,则应注意在按键时间较长时可能引起的多次中断问题。
  3 HD7279A没有提供组合键功能。如果某些场合确需双键组合使用,可在微处理器某位I/O引脚接入一键,与HD7279A所连键盘共同组成双键功能。
  4 图1电路中有3种电阻:阻值为200Ω的电阻是限流电阻,用来限制LED数码管的电流。在使用中不应为了过分追求数码管的亮度而任意减小其电阻值,以防HD7279A芯片过热烧坏。阻值为100kΩ和10kΩ的电阻分别称为下拉电阻和位选电阻,如果HD7279A仅用于显示器管理,则这两种电阻都可以去掉。
  5 HD7279A的3,5,26脚均为空闲引脚,一律悬空。

六、 HD7279A与AT89C51的接口程序

  这里以HD7279A与AT89C51的接口电路为例,给出1个包括纯指令、带数据指令和读键盘指令的程序实例。该程序对键盘进行监视,当有键按下时读取按键代码并将其显示在LED显示器上。接口电路如图5所示,其中HD7279A的外接振荡元件使用典型值。AT89C51的晶振频率为12MHz。
 

表 2 单位:μs
   
符号 最小值 典型值 最大值
T1 25 50 250
T2 5 8 250
T3 5 8 250
T4 15 25 250
T5 15 25 250
T6 5 8 --
T7 5 8 250
T8     5
 
 


接口程序实例:
    MOV  P1,#0F9H;I/O口初始化
    ACALL DEY25;等待25ms复位时间
    MOV   029H,#0A4H;发复位指令
    ACALL  SEND
    SETB   P1.0;置CS高电平
MAIN: JB P1.3, MAIN;检测按键,无键按下等待
    MOV   029H,#15H;发读键盘指令
    ACALL   SEND
    ACALL  RECE
    SETB   P1,0;置CS高电平
    MOV   B,#10;十六进制键码转换成BCD码, ;以备显示
    MOV   A,028H
    DIV   AB
    MOV   R1,A
    MOV   029H,#0C9H;发送键码的十位值,按 ;方式1译码下载显示
    ACALL   SEND
    MOV   029H,R1
    ACALL  SEND
    MOV   029H,#0C8H;发送键码的个位值,按 ;方式1译码下载显示
    ACALL  SEND
    MOV   029H,B
    ACALL   SEND
    SETB   P1.0;置CS高电平
WAIT: JNB P1.3,WAIT
    AJMP   MAIN
SEND: MOV R2,#08H;发送8位
    CLR   P1.0
    ACALL   DEY1;延时50μs(T1)
S_LOOP:MOV C,029H.7;输出1位到HD7279A的 ;DATA端
    MOV   P1.2,C
    SETB   P1.1;置CLK高电平
    MOV   A,029H;待发数据左移
    RL   A
    MOV   029H,A
    ACALL   DEY2;延时8μs(T2)
    CLR   P1.1;置CLK低电平
    ACALL  DEY2;延时8μs(T3)
    DJNZ   R2,S_LOOP;检测8位是否发送完毕
    CLR   P1.2;发送完毕,DATA端置低,返回
    RET  
RESE: MOV R2,#08H;接收8位
    SETB P1.2;DATA端置为高电平,输入状态
    ACALL DEY1;延时50μs(T5)
R_LOOP:SETB P1.1;置CLK高电平
    ACALL DEY2;延时8μs(T6)
    MOV 028H,A
    RL A;接收数据左移1位
    MOV 028H,A
    MOV C,P1.2;接收1位数据
    MOV 028H.0,C
    CLR P1.1;置CLK低电平
    ACALL DEY2;延时8μs
    DJNZ R2,R_LOOP;接收8位是否发送完毕
    CLR P1.2;接收完毕,DATA端重新置成低电平(输出状态)
RET延时子程序略。MES

参考文献

1 何立民MCS-51系列单片机应用系统设计.北京:北京航空航天大学出版社,1990
2 王幸之单片机应用系统抗干扰技术.北京:北京航空航天大学出版社,2000

编辑: 引用地址:http://www.eeworld.com.cn/designarticles/others/200605/3660.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved