7段数码管驱动芯片,7279原理与应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HD7279A的原理与应用
作者:河北科技大学电气信息学院王改名赫苏敏王忠杰
摘要:详述一种专用的智能键盘和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 a
2 a1 a0 DP X X X d
3 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 显示内容0123456789-E H L P空
(2)按方式1译码下载指令
1 1 0 0 1 a
2 a1 a0 DP X X X d
3 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 显示内容012345678 9 -E H L P空
(3)不译码下载指令
1 0 0 1 0 a
2 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 d
2 d1
该指令规定了每个数码管的闪烁属性。
d1~d8分别对应第1到第8个数码管,该位为1不闪烁;该位为0闪烁。
缺省状态为所有数码管均不闪烁。
(5)消隐控制指令
1 0 0 1 1 0 0 0 d8 d7 d6 d5 d4 d3 d
2 d1
该指令规定了每个数码管的消隐属性。
d1~d8分别对应第1到第8个数码管,该位为1显示;该位为0消隐。
应该注意的是至少要有1位保持显示状态,如果全部消隐则该命令无效。
(6)段点亮指令
1 1 1 0 0 0 0 0 X X d5 d4 d3 d
2 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 d
2 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端口;如果使用中断方式,该引脚应接至微处理器的外部中断输入端。
同时应将该中断触发控制位设置成下降沿有效的边沿触发方式。
若置成电平触发方式,则应注意在按键时间较长时可能引起的多次中断问题。
没有提供组合键功能。
如果某些场合确需双键组合使用,可在微处理器某位I/O引脚接
3 HD7279A
入一键,与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。