关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 可编程数码管/键盘串行接口芯片HD7279A的原理与应用

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

作者: 时间:2011-08-01 来源:网络 收藏

该指令的格式如下:

D7D6D5D4D3D2D1D0
10010a2a1a0
D7D6D5D4D3D2D1D0
DPABCDEFG

在该指令格式中,a2,a1,a0为位地址,A~G和DP为显示数据,分别对应7段LED管的各段。当相应的数据位为1时,该段点亮,否则,该段不亮。实际上,此指令是比较灵活的,设计时可以通过造字形表来显示用户所需的字符。

(4)闪烁控制88H

此命令用于控制各个管的闪烁属性,d1~d8分别对应管1~8。在相应的各位中0表示闪烁,1表示不闪烁。开机后的缺省状态为各位均不闪烁。具体指令格式如下:

D7D6D5D4D3D2D1D0
10001000
D7D6D5D4D3D2D1D0
d8d7d6d5d4d3d2d1

(5)读数据指令15H

该指令的格式如下:

D7D6D5D4D3D2D1D0
00010101
D7D6D5D4D3D2D1D0
d7d6d5d4d3d2d1d0

该指令主要用于从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


4 HD7279A的

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: MOV R7,#08H

LP1: RLC A

MOV P1.2,C

SETB P1.1

MOV R6#02H

LP2: DJNZ R6, LP2 ;延时8μs

CLR P1.1

MOV R6, #02H

LP3:DJNZ R6,LP3 ;延时8μs

DJNZ R7,LP1

RET

(2)接收一字节子程序:(接收字符存于A中)

STJS: MOV R7,#08H

LP1:SETB P1.1

SETB P1.2

MOV R6,#02H

LP2: DJNZ R6,LP2 ;延时8μs

MOV C, P1.2

RLC A

CLR P1.1

MOV R6,#01H

LP3: DJNZ R6,LP3 ;延时

DJNZ R7,LP1



评论


相关推荐

技术专区

关闭