技术频道

智能型LED键盘显示技术及其在仪器仪表中的应用

摘 要:对仪器仪表中普遍使用的LED键盘显示人机交互技术做了分析,给出一种由智能型LED键盘显示芯片HD7279A构成的人机交互电路。该电路具有接口简单、外围元件少,体积小,功能强的特点,使用该器件可简化仪器仪表中人机界面交互电路的设计。文中给出了HD7279A的主要特性,硬件电路及相应程序。

关键词:智能型 LED键盘显示 人机交互 单片机

1 引言

  在仪器仪表电路设计中,人机交互界面是必不可少的环节,现阶段仪器仪表中通常使用的是发光数码管显示器(LED)技术和键盘输入技术,LED显示技术获得广泛应用的原因是:⑴价格低廉;⑵显示信息清晰醒目;⑶对仪器仪表系统资源占用相对较少;⑷能量消耗相对较小,电源电路简单。传统的LED键盘显示人机交互电路通常由以下两种方式构成:⑴采用通用逻辑电路芯片如74LS165、CD4051等构成,此种方法的成本较低,但使用的外围器件数量众多,占用的仪器仪表空间较大,可靠性较差;⑵采用专用的显示芯片或键盘显示接口芯片如MAX7219或Intel 8279等。MAX7219的功能较强但不具备键盘管理功能,键盘电路需另外设计,同时该芯片的价格较高。Intel8279虽是专用的键盘显示接口电路,但却不具备LED显示器的驱动能力,同时其总线接口方式造成接口电路复杂,同时也无法和近年来广为流行的非总线型单片机接口。

  鉴于以上原因,这里使用智能型键盘显示控制芯片HD7279A设计成一种适用于仪器仪表的键盘显示电路,该LED键盘显示人机接口电路克服了传统人机交互接口电路的缺点,简化了仪器仪表人机交互软硬件设计。下面首先对HD71279A予以介绍。

2 HD7279A的结构及特点

  HD7279A是管理键盘和LED显示器的专用智能控制芯片,该芯片采用串行接口方式,可同时驱动8位共阴极LED数码管或64位独立LED发光二极管,同时能对多达8×8的键盘矩阵的按键盘情况进行监视,具有自动消除键抖动并识别按键代码的功能,从而可以提高CPU的工作效率,同时其串行接口方式又可大简化CPU接口电路的设计,减少软硬件资源的占用。

  HD7279A的主要特点如下:

  ⑴串行接口,无需外围元件可直接驱动LED;

  ⑵具有控制译码/不译码及消隐和闪烁属性等多种控制指令,编程灵活;

  ⑶循环左移和循环右移指令;

  ⑷具有段寻址指令,方便控制独立LED;

  ⑸具有级联功能,可方便的实现多于8位显示或多于64键的键盘接口;

  ⑹可接64键控制器,内含去抖动处理,可直接输出键值。

3 人机界面硬件及软件设计

  由上述介绍可知HD7279A是一款功能强大的智能型键盘LED显示管理芯片,笔者在研制电子皮带计量控制器中使用HD7279A构成人机界面,该控制器采用8位LED数码管分时显示瞬时流量、本班产量、上班产量等测量结果,并可在键盘控制下显示零点电压、空带信号电压平均值,称重传感器信号电压,速度电压,速度、负载、时间、日期、标定系数、速度截距,速度斜率、速度、电压平均、校零时间、速度电压或频率下限、负载下限、负载上限、起始班时、每班间隔、密码、PID控制参数、定值流量等多个设定参数,本系统还设有1,2,3,4,5,6,7,8,9,0,清零,修改,打印,校零、流量、产量、观测等20个按键,用于输入或修改上述参数,下面给出采用HD7279A设计的键盘显示电路。

  采用HD7279A设计的键盘显示硬件电路连接图如图1所示。图1中8个键盘上拉电阻取10KΩ,8个位限流电阻取为20Ω,8个下拉电阻取100KΩ,HD7279A工作时需要外接的RC振荡电路以供系统工作,其典型值分别为R=1.5KΩ,C=15pf,如果芯片无法正常工作,请首先检查此振荡电路且在进行印制电路板布线时,所有元件,尤其是振荡电路的元件应尽靠近HD7279A并尽量使电路连线最短。HD7279A的RESET复位端在一般应用情况下,可以直接与正电源连接,在需要较高可靠性的情况下可以连接外部的复位电路,能直接由CPU控制在上电或RESET端由低电平变为高电平后,HD7279A大约需要经过18-25Ms的时间才会进入到正常工作状态。


图1 电子皮带计量控制器键盘显示电路

  HD7279A的键值分布为:右边数第一列为0-7,第二列为8-15,依次类推,本设计中由于共用到20个键,故使用了从右下角开始的S0-S1920个键,其键值与按键的对应关系如表1所示。

  表1 键值功能表

  本系统使用AT89C52单片机并将单片机的P1.0-P1.3分别与HD7279A的CS、CLK、DATA、KEY相连,AT89C52单片机的晶振取为12MHz,当选取其它的时钟频率则应注意延时时间的选择应满足HD7279A时序要求。

  下面给出与上述电路配套的显示与读键值子程序。

  内存定义

  SDATA DATA 20H;发送数据单元

  RDATA DATA 21H;接收数据单元

  ;位定义

  CS BIT P1.0;

  CLK BIT P1.1;

  DAT BIT P1.2;

  KEY BIT P1.3;

  ;主程序

  MAIN:JB P1.3, MAIN;检测按键,无键按下等待

  MOV SDATA,#15H;发读键盘指令

  ACALL SEND

  ACALL RECE

  SETB P1.0;置CS高电平

  MOV B,#10;十六进制键码转换成BCD码,以备显示

  MOV A,RDATA

  DIV AB

  MOV R1,A

  MOV SDATA,#0C9H;发送键码的十位值,按方式1译码下载显示

  ACALL SEND

  MOV SDATA,R1

  ACALL SEND

  MOV SDATA,#0C8H;发送键码的个位值

  ACALL SEND

  MOV SDATA,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

  S-LOOP:MOV C,. SDATA.7;输出1位到HD7279的DAT端

  MOV P1.2,C

  SETB P1.1;置CLK高电平

  MOV A, SDATA;待发数据左移

  RL A

  MOV SDATA,A

  ACALL DEY2;延时8μS

  CLR P1.1;置CLK低电平

  ACALL DEY2;延时8μS

  DJNZ R2,S-LOOP;检测8位是否发送完毕

  CLR P1.2;发送完毕,DAT端置低,返回

  RET

  ;接收一字节数据子程序,高位在前

  RESE: MOV R2,#08H;接收8位

  SETB P1.2;DAT端置为高电平,输入状态

  ACALL DEY1;延时50μS

  R-LOOP:SETB P1.1;置CLK高电平

  ACALL DEY2;延时8μS

  MOV RDATA,A

  RL A;接收数据左移1位

  MOV RDATA,A

  MOV C, P1.2;接收1位数据

  MOV RDATA.0,C

  CLR P1.1;置CLK低电平

  ACALL DEY2;延时

  DJNZ R2,R-LOOP; 接收8位是否发送完毕

  CLR P1.2;接收完毕,DAT端重新置成低电平(输出状态)

  RET

结束语

  利用智能型LED显示键盘控制器,可以构成较复杂的仪器仪表人机显示界面,相对提高人机界面的友好程度,减少对仪器仪表系统软硬件资源的占用,提高仪器工作的可靠性,因而是仪器仪表系统人机界面的一种良好的构成方案。

参考文献

  1 李华.MCS系列单片机实用接口技术.北京航空航天大学出版社,1993

文章版权归西部工控xbgk所有,未经许可不得转载。