现在位置:范文先生网>理工论文>电子通信论文>可编程数码管/键盘串行接口芯片HD7279A的原理与应用

可编程数码管/键盘串行接口芯片HD7279A的原理与应用

时间:2023-02-21 00:12:12 电子通信论文 我要投稿
  • 相关推荐

可编程数码管/键盘串行接口芯片HD7279A的原理与应用

  摘要:HA7279A是一种智能键盘和LED专用控制芯片,它带有串行接口,可同时驱动8位共阴式数码管或64只独立LED。文中详述了该芯片的工作原理、工作时序及控制指令,给出了HD7279A与CPU的实际接口电路及设计程序,同时指出了实际应用中的一些注意事项。
  关键词:HD7279A;工作时序;接口电路
  
  1主要特性
  
  HD7279A是比高公司生产的单片具有串行接口、可同时驱动8位共阴式数码管(或64只独立LED)的智能显示驱动芯片,该芯片同时可连接多达64键的键盘矩阵,一片即可完成LED显示及键盘接口的全部功能。HD7279A和微处理器之间采用串行接口,其接口和外围电路比较简单,且占用口线少,加之它具有较高的性能价格比,因此,在微型控制器、智能仪表、控制面板和家用电器等领域获得了日益广泛的应用。
  
  HD7279A的主要特点如下:
  
  ●带有串行接口,无需外围元件便可直接驱动LED;
  
  ●各位可独立控制译码/不译码、消隐和闪烁等属性;
  
  ●具有(循环)左移/(循环)右移指令;
  
  ●具有段寻址指令,可方便地用来控制独立的LED显示管;
  
  ●64键键盘控制器内含去抖动电路。
  
  2引脚说明
  
  HD7279A一共有28个引脚,各引脚的主要功能如下:
  
  RESET:复位端。当该端由低电平变成高电平,并保持25ms后,复位过程结束。通常,该端接+5V电源;
  
  DIG0~DIG7:8个LED管的位驱动输出端;
  
  SA~SG:LED数码管的A段~G段的输出端;
  
  DP:小数点的驱动输出端;
  
  RC:外接振荡元件连接端,其中电阻的典型值为1.5kΩ?电容的典型值为15pF。
  
  HD7279A与微处理器仅需4条接口线,其中CS为片选信号(低电平有效)。DATA为串行数据端,当向HD7279A发送数据时,DATA为输入端;当HD7279A输出键盘代码时,DATA为输出端。CLK为数据串行传送的同步时钟输入端,时钟的上升沿表示数据有效。KEY为按键信号输出端,该端在无键按下时为高电平;而在有键按下时变为低电平,并一直保持到按键释放为止。
  
  3控制指令和接口时序
  
  HD7279A的控制指令分为纯指令和带有数据的指令两大类,以下分别给予介绍。
  
  3.1纯指令
  
  HD7279A控制指令中的纯指令有复位(清除)指令A4H、左移指令A1H和右移指令A0H。其中,复位(清除)指令A4H用于清除所有的显示,同时清除所有设置的字符消隐和闪烁等属性。执行该指令后,芯片所处的状态与系统上电后所处的状态一样。左移指令A1H可使所有的显示自右向左(从第1位向第8位)移动一位(包括处于消隐状态的显示位),但对各位所设置的消隐及闪烁属性不起作用。右移指令A0H与左移指令类似,但所做移动为自左向右(从第8位向第1位)移动,移动后,最左边一位为空。
  
  3.2带有数据的指令
  
  带有数据的指令包括以下5种:
  
  D7D6D5D4D3D2D1D010000a2a1a0D7D6D5D4D3D2D1D0DPXXXd3d2d1d0
  (1)下载数据且按方式0译码
  
  这种指令的格式为:
  
  该命令由二字节组成,前半部分为指令,其中a2~a0为位地址,d0~d3为数据,收到此指令时,HD7279A将按照以下规则(译码方式0)进行译码。即:
  
  0000:显示0;1001:显示9
  
  1010:显示-;1111:显示空白
  
  (2)下载数据且按方式1译码
  
  此指令与上一条指令基本相同,所不同的只是译码方式。该指令的译码方式为:d0~d3的值对应于0~9和A~F。格式如下:
  
  D7D6D5D4D3D2D1D011001a2a1a0D7D6D5D4D3D2D1D0DPXXXd3d2d1d0
  (3)下载数据但不译码
  
  该指令的格式如下:
  
  D7D6D5D4D3D2D1D010010a2a1a0D7D6D5D4D3D2D1D0DPABCDEFG
  在该指令格式中,a2,a1,a0为位地址,A~G和DP为显示数据,分别对应7段LED数码管的各段。当相应的数据位为1时,该段点亮,否则,该段不亮。实际上,此指令是比较灵活的,设计时可以通过造字形表来显示用户所需的字符。
  
  (4)闪烁控制88H
  
  此命令用于控制各个数码管的闪烁属性,d1~d8分别对应数码管1~8。在相应的各位中?0表示闪烁,1表示不闪烁。开机后的缺省状态为各位均不闪烁。具体指令格式如下:
  
  D7D6D5D4D3D2D1D010001000D7D6D5D4D3D2D1D0d8d7d6d5d4d3d2d1
  (5)读键盘数据指令15H
  
  该指令的格式如下:
  
  D7D6D5D4D3D2D1D000010101D7D6D5D4D3D2D1D0d7d6d5d4d3d2d1d0
  该指令主要用于从HD7279A读出当前的按键代码。与其它指令不同的是,此命令的前一个字节00010101B为微控制器传送到HD7279A的指令,而后一个字节d0~d7才是HD7279A返回的按键代码,该代码的具体范围是0~3FH(当无键按下时,为0xFF)。
  
  当HD7279A检测到有效按键时,KEY引脚从高电平变为低电平,并一直保持到按键结束。在此期间,如果HD7279A接收到“读键盘数据指令”,则输出当前按键的键盘代码;而如果在接收到“读键盘指令”时没有有效按键被按下时,HD7279A则输出FFH(11111111B)。
  
  3.3串行接口时序
  
  综上所述?在HD7279A的指令结构类型中?不带数据的纯指令的指令宽度为8BIT,即微处理器需发送8个CLK脉冲。而带有数据的指令宽度为16BIT,即微处理器需发送16个CLK脉冲。但其中的读取键盘数据指令?宽度也是16BIT?的前8个BIT为微处理器发送到HD7279A的指令,后8个BIT为HD7279A返回的键盘代码。执行此指令时,HD7279A的DATA端在第9个CLK脉冲的上升沿变为输出状态,并于第16个脉冲的下降沿恢复为输入状态,以等待接收下一个指令。图1是HD7229A的3种指令接口时序图。
  
  图2
  
  4HD7279A的应用
  
  4.1硬件电路
  
  HD7279A的典型应用电路如图2所示,使用时HD7279A应连接共阴式数码管,无需用到的键盘和数码管可以不连接。如果不用键盘,则典型电路图中连接到键盘的8只10kΩ电阻和8只100kΩ下拉电阻均可以省去。而如果使用键盘,则电路中的8只100kΩ下拉电阻则不能省略。除非不接入数码管,否则连接至DP及SA~SG的8只200Ω电阻也不能省去。
  
  4.2软件编程
  
  通过下面的一些子程序可对键盘进行监视,并在有键按下时读取按键代码,以便调用显示程序将该键值显示在LED显示器上。在图2所示的接口电路中,HD7279A的外接振荡元件可使用典型值。AT89C51的晶振频率为6MHz。
  
  如果将P1.0接到CS,P1.1接到CLK,P1.2接到DATA,而将P1.3接KEY,那么,其具体的软件程序代码如下:
  
  (1)发送一字节子程序:(发送数存于A中)
  
  STFS:MOVR7,#08H
  
  LP1:RLCA
  
  MOVP1.2,C
  
  SETBP1.1
  
  MOVR6?#02H
  
  LP2:DJNZR6,LP2;延时8μs
  
  CLRP1.1
  
  MOVR6,#02H
  
  LP3:DJNZR6,LP3;延时8μs
  
  DJNZR7,LP1
  
  RET
  
  (2)接收一字节子程序:(接收字符存于A中)
  
  STJS:MOVR7,#08H
  
  LP1:SETBP1.1
  
  SETBP1.2
  
  MOVR6,#02H
  
  LP2:DJNZR6,LP2;延时8μs
  
  MOVC,P1.2
  
  RLCA
  
  CLRP1.1
  
  MOVR6,#01H
  
  LP3:DJNZR6,LP3;延时
  
  DJNZR7,LP1
  
  RET
  
  (3)显示程序(采用下载数据但不译码方式,其字形表由用户根据需要和硬件连线来确定,指令码为90~97):
  
  DTR:MOVR5,#05H
  
  MOVR0,#40H
  
  MOVR1,#95H
  
  LP1:CLRP1.0(CS=0)
  
  MOVR6,#0CH
  
  LP2:DJNZR6,LP2;延时50μs
  
  MOVA,R1
  
  ACALLSTFS;发指令
  
  MOVR6,#04H
  
  LP3:DJNZR6,LP3;延时25μs
  
  MOVA,@R0
  
  ADDA,#0DH
  
  MOVCA,@A+PC
  
  ACALLSTFS;发显示代码
  
  MOVR6,#02H
  
  LP4:DJNZR6,LP4;延时8μs
  
  SETBP1.0;CS=1
  
  INCR0
  
  DECR1
  
  DJNZR5,LP1
  
  RET
  
  TABDB7EH,30H,6DH,79H,33H,5BH,5FH,70H,7FH,7BH,
  
  DB77H,1FH,4EH,3DH,4FH,47H,00H,67H
  
  (4)读键值子程序:所读的键值保存在A、B单元中,其值与按键在键盘中的位置及硬件连线有关。
  
  ST:ACALLKEY1
  
  CJNEA,#0FFH,LP1
  
  CLR00H
  
  RET
  
  LP1:JB00H,LP2
  
  SETB00H
  
  RET
  
  LP2:MOVB,#FFH
  
  RET
  
  KEY1:CLRP1.0;CS=0
  
  MOVR6,#0CH
  
  LP1:DJNZR6,LP1;延时50μs
  
  MOVA?#15H
  
  ACALLSTFS;发指令
  
  MOVR6,#06H
  
  LP2?DJNZR6,LP2;延时25μs
  
  ACALLSTJS;读键值
  
  MOVB,A
  
  SETBP1.0;CS=1
  
  RET

【可编程数码管/键盘串行接口芯片HD7279A的原理与应用】相关文章:

串行接口LED数码管及键盘管理器件ZLG7289A的原理与应用08-06

USB接口芯片FT245AM的原理08-06

PCI总线接口芯片9050及其应用08-06

专用键盘接口芯片的一种CPLD实现方案08-06

串行接口键盘控制器SK5278及其在单片机系统中的应用08-06

PCI接口芯片s5935及其应用08-06

ADμC812的串行外设接口(SPI)及其应用08-06

USB总线接口芯片CH371及其应用08-06

键盘事件的挂钩监控原理及其应用08-19