书城工业技术智能仪器设计基础
19100400000006

第6章 人机接口技术(1)

智能仪器通常要有人机交换功能,即用户和仪器交换信息的功能。一方面用户对智能仪器进行状态干预;另一方面是智能仪器向用户报告运行状态与处理结果。实现智能仪器人机交互功能的部件有键盘、显示器、打印机、绘图仪和磁带机等。这些部件同智能仪器微机系统的连接是由人机接口电路来完成的,因此人机接口技术是智能仪器设计的关键技术之一。

3.1显示器及其接口

智能仪器常用的显示器有发光二极管显示器LED、液晶显示器LCD和等离子显示器等。

单个发光二极管常被用作指示灯和报警。由若干个发光二极管组合起来,可显示各种字符。LED的特点是工作电压低、响应速度快、寿命长、价格低。

LCD显示器本身不发光,而只是调制环境光。它的特点是低电压、微功耗、外形薄。缺点是寿命短,在暗室中不能使用。

3.1.1LED显示器结构

连同小数点在内,一共是8个LED。点亮适当的字段,即能显示0~9的数字和某些字符、符号。这种显示器有两种形式:一种是发光二极管的阴极连在一起的共阴极显示器,另一种是阳极连在一起的共阳极显示器。7段显示器的字符形状有些失真,能显示的字符数量较少,但控制简单,使用方便,故在数字显示和控制仪器中得到了广泛应用。

3.1.2LED显示器工作原理

点亮显示器的方法有静态和动态两种。所谓静态显示,就是当显示器显示某一个字符时,相应的发光二极管恒定地通以电流,例如7段显示器的b、c通电,则显示1。静态显示时,较小的电流能得到较高的亮度,故可由输出口直接驱动。但这种显示方式每一位都需要有一个8位输出口(锁存器)控制。当显示位数很少时,采用此方法是合适的;当显示位数较多时,用静态显示所需的I/O口太多,此时,为节省器件,可采用动态显示方法。

所谓动态显示,就是轮流点亮各位显示器,该方法只需一个8位段码输出口和一个8位扫描输出口(显示位数小于8位时),后者的作用是依次接通各位LED。动态显示需要较大的驱动电流,故在输出口之后尚需加接驱动器。显示器的亮度既同驱动电流有关,也同点亮时间与间隔时间的比例有关。调整电流和时间参数,可实现亮度较高且较稳定的显示。

将数据或字符转换成相应的7段代码,可采用硬件译码或软件译码的方法来实现。为了方便显示器与单片机的接口,可选用能输出7段代码的译码/驱动集成电路,例如7447BCD7段译码/驱动器是显示接口电路中常用的一种器件,它能将一个4位的二十进制数字直接转换成相应的7段代码信号,并通过内部晶体管直接驱动发光二极管。

用硬件译码电路实时性虽好,但电路复杂,成本较高。在智能仪器中通常采用简便易行的软件法进行译码,即用软件查表将字符转换成7段代码,再输出至锁存器。

3.1.3LED显示器接口实例

LED显示器与89C51的接口电路,其中8155为单片机的扩展接口芯片。要显示的6位数据分别存放在89C51的RAM单元7AH~7FH中,作为显示缓冲单元,由8155的PB口输出。PA口输出扫描信号,通过反相驱动器去逐个点亮各位LED。8155I/O口的地址为7F00H~7F05H。

通常,将这些代码依次存于ROM中,当需要显示某字符时,只要找出该字符在ROM中的相应地址,即可得到该字符的7段显示码。

89C51的显示子程序如下(略去伪指令ORG等,以下程序同):

DISP:MOV DPTR,#7F00H

MOV A,#03H

MOVX @DPTR,A;置8155 的PA 口、PB 口为输出方式

MOV R0,#7AH;置显示缓冲器指针初值

MOV R3,#01H;置扫描模式初值

MOV A,R3

DISP1:MOV DPTR,#7F0lH

MOVX @DPTR,A;扫描模式→8155 PA 口

INC DPTR

MOV A,@R0;取显示数据

ADD A,#0DH;加偏移量

MOVC A,@A+PC;查表取段码

MOVX @DPTR,A;段码→8155 PB 口

ACALL DELAY;延时

INC R0

MOV A,R3

JB ACC.5,DISP2;判完

RL A;扫描模式左移1 位

MOV R3,A

AJMP DISP1

DISP2:RET

SEGPT:DB 3FH,06H,5BH,4FH…

DELAY:MOV R5,#02H;延时子程序(1 ms)

DELAY1:MOV R4,#0FFH

DELAY2:DJNZ R4,DELAY2

DJNZ R5,DELAY1

RET

3.2LCD显示器及其接口

LCD显示器是一种低功耗的显示器件,在计算器、万用表、袖珍式仪表和低功耗应用系统中得到广泛使用。七段LCD显示器显示的字符数量很有限,对于比较复杂的字符无法表达。点阵式液晶显示模块可以显示各种各样的字符,它可以由用户任意定义。显示模块具有编程功能,与单片机接口方便,可以直接挂在数据总线上。

3.2.1LCD显示器的工作原理

在上、下玻璃电极之间封入行列型液晶材料,液晶分子平行排列,上、下扭曲90°,外部入射光线通过上偏振片后形成偏振光,该偏振光通过平行排列的液晶材料被旋转90°,再通过与上偏振片垂直的下偏振片,被反射板反射回来,呈透明状态;当上、下电极加上一定的电压后,电极部分的液晶分子转成垂直排列,失去旋光性,从上偏振片入射的偏振光不被旋转,光无法通过下偏振片返回,因而呈黑色。根据需要,将电极做成各种文字、数字、图形,就可以获得各种状态显示。

3.2.2LCD显示器的驱动方式

液晶显示器的驱动方式可分为静态驱动和迭加驱动两种,驱动方式由电极引线的选择方式确定。这样,在选择好液晶显示器后,用户无法改变驱动方式。

3.2.2.1静态驱动方式

当此字段上两个电极的电压相同时,两电极的相对电压为零,该字段不显示;当此字段上的两个电极的电压相位相反时,两电极的相对电压为方波幅值的两倍,该字段呈黑色显示。

它由7个驱动回路组合而成,CommON为公共端,当CommON端为1时,反相后输出为0,当任意一端比如a为1时,第一个异或门输出为1,两个电极电压电位相反,字段显示当a为0时,异或门输出为0,两个电极电压相位相同,a字段不能显示。其他各位原理相同,在此不一一列举。

3.2.2.2迭加驱动方式

当显示字段增多时,为减少引出线和驱动回路数,需要采用迭加驱动方式,也叫时分驱动方式。时分驱动方式通常采用电压平均法,其占空比有1/2、1/8、1/11、1/16、1/32、1/64等,偏比有1/2、1/3、1/4、1/5、1/7、1/9等。

下面以常用的1/3偏置法为例加以说明。这种迭加法有三个公共电极:COM1,COM2,COM3。连接方式是:COM1接每个字符的a、b的公共端电极,COM2接每个字符的c、f、g的公共端电极,COM3接每个字符的d、e、dp的公共端电极,S1、S2、S3是各字符单独的电极,S1接b、c、dp;S2接a、d、g;S3接e、f。采用迭加法需要15根引入线,而用静态方法实现则需要33根引入线。

从驱动波形可以看出:a和c字段上所加的驱动波形是峰值为V0的选择状态,而g段上所加的驱动波形是峰值为1/3V0的非选择状态。a和c字段显示,而g字段不显示。

由接线方法可以得出加在各字段上的电压值分别为:

a=COM1 S2

b=COM1 S1

c=COM2 S1

d=COM3 S2

e=COM3 S3

f=COM2 S3

dp=COM3 S1

g=COM2 S2

3.2.3LCD显示器与单片机的接口

静态液晶显示器的型号为6500。背极bp由4047构成的振荡电路提供方波信号,4056为BCD码七段译码/驱动器,4514为416译码器。高电平输出有效,将D端接地,4个4056由4514构成的38译码器轮流选通。P1.4、P1.5、P1.6分别与A、B、C相连,形成38译码。P1.7与INIHBIT(23脚)输出允许端相连,以控制有效输出,4054为4位液晶显示驱动器,四进四出,作为小数点驱动。由于4056和4054都具有锁存功能,因此,该显示电路可实现静态显示。4514输出的高电平选通信号控制4056和4054进行数据锁存,它们所需要的方波信号由4047振荡电路提供。液晶显示电路与89C51单片机的接口利用内部的P1口,也可以改用其他扩展I/O口。如果需要和八位显示屏接口,就需要增加4片4056和1片4054,4514改为416译码法即可,为了与液晶显示的低功耗相适应,电路中全部选用CMOS器件。

下面给出液晶显示器的显示子程序。设显示缓冲区为89C51片内RAM的30H~33H,4个单元依次放置四位分离的BCD码。

DISPLA:MOVR0,#30H;初始化,缓冲单元首址→R0

MOV R3,#00H;初位选

MOV R4,#04H;4 位显示

DISPL1:MOV A,R3;位选有效位转为高4 位并入R2 保存

SWAP A;

MOV R2,A;

MOV A,@R0;拼成P1 口输出BCD 码及控制位。

ORL A,R2;

ORL A,#80H;

MOV P1,A;

ANL P1,#7FH;屏蔽P1.7 位

ORL P1,#80H;

INC R3;指向下一位送显示数

INC R0;指向下一个显示缓冲单元

DINZ R4,DISPL1

RET

若需要显示小数点,就要给4054送小数点选择控制。例如要显示第三位小数时,加入下列程序段:

POINT2:MOV A,#44H;高位4 选中S4 低位4 为0010

ORL A,#80H;驱动第三位小数点

MOV P1,A;

ANL P1,#7FH;

ORL P1,#80H;

3.2.4LCD显示模块及应用

3.2.4.1液晶模块HY12232A和HY12232C的电路结构特点

液晶模块HY12232A和HY12232C中都采用了两片SED1520来驱动。它们的区别在于像素点及视屏尺寸不同。

3.2.4.2液晶模块HY12232A和HY12232C的应用

1.直接访问方式接口电路及驱动程序

其程序清单如下:

COM EQU 20H;指令寄存器

DAT EQU 21H;数据寄存器

CWADD1 EQU 8000H;写指令代码地址(E1)

CRADD1 EQU 8200H;读状态字地址(E1)

DWADD1 EQU 8100H;写显示数据地址(E1)

DRADD1 EQU 8300H;读显示数据地址(E1)

CWADD2 EQU 4000H;写指令代码地址(E2)

DRADD2 EQU 4200H;读状态字地址(E2)

DWADD2 EQU 4100H;写显示数据地址(E2)

DRADD2 EQU 4300H;读显示数据地址(E2)

写指令代码子程序:

PRO:PUSH DPL

PUSH DPH

MOV DPTR,#CRADD1;设置读状态字地址

PROl:MOVX A,@DPTR;读状态字

JB ACC.7,PRO1;判“忙”标志为“0”否,否再读

MOV DPTR,#CWADD1;设置写指令代码地址

MOV A,COM;取指令代码

MOVX @DPTR,A;写指令代码

POP DPH

POP DPL

RET

写显示数据子程序:

PR1:PUSH DPL

PUSH DPH

MOV DPTR,#CRADD1;设置读状态字地址

PR11:MOVX A,@DPTR;读状态字

JB ACC.7,PR11;判“忙”标志为“0”否,否再读

MOV DPTR,#CWADD1;设置写显示数据地址

MOV A,DAT;取数据

MOVX @DPTR,A;写数据

POP DPH

POP DPL

RET

读显示数据子程序:

PR2:PUSH DPL

PUSH DPH

MOV DPTR,#CRADDI;设置读状态字地址

PR21:MOVX A,@DPTR;读状态字

JB ACC.7,PR21;判“忙”标志为“0”否,否再读

MOV DPTR,#DRADD1;设置读显示数据地址

MOVX A,@DPTR;读数据

MOV DAT,A;存数据

POP DPH

POP DPL

RET

写指令代码子程序:

PR3:PUSH DPL

PUSH DPH

MOV DPTR,#CRADD2;设置读状态字地址

PR31:MOVX A,@DPTR;读状态字

JB ACC.7,PR31;判“忙”标志为“0”否,否再读

MOV DPTR,#CWADD2;设置写指令代码地址

MOV A,COM;取指令代码

MOVX @DPTR,A;写指令代码

POP DPH

POP DPL

RET

写显示数据子程序:

PR4:PUSH DPL

PUSH DPH

MOV DPTR,#CRADD2;设置读状态字地址

PR41:MOVX A,@DPTR;读状态字

JB 0ACC.7,PR41;判“忙”标志为“0”,否再读

MOV DPTR,#DWADD2;设置写显示数据地址

MOV A,DAT;取数据

MOVX @DPTR,A;写数据