摘要:介绍了MAXIM公司生产的ICM7211四位液晶显示驱动器的内部结构和引脚功能,给出了用AT89C51和ICM7211显示驱动器设计的微电机无接触测速系统的硬件电路连接方法?同时给出了该无接触测速系统的主程序、显示子程序、中断子程序流程图以及显示子程序的程序清单。
1 概述
ICM7211是MAXIM公司推出的四位七段码LCD液晶显示驱动器。该器件内部含有输入数据锁存器、BCD码到七段码的译码器、基准时钟信号发生器和位选电路。
图1
ICM7211有二种数据输入结构:多位BCD码接口和微处理器接口,两种结构以器件型号是否带有后缀“M”来区分,不带“M”的为BCD接口,带“M”的为微处理器接口。ICM7211通过片内字符字形ROM对BCD码进行译码。它有两种不同的字符字形:十六进制码和B代码,以器件型号是否带后缀“A”区分,不带“A”的为十六进制输出,带“A”的为B代码输出。低功耗的ICM7211型LCD驱动器可用电池供电,可用于便携式智能仪表等场合,ICM7211的器件型号与对应的接口、输出代码如表1所列。本文把四种型号统称为ICM7211。
表1 ICM7211的具体型号与其接口和输出代码对照表
输入数据的结构形式
2 ICM7211的引脚功能
ICM7211的内部结构如图1所示。各引脚的功能如下:
V+(1脚):+5V电源;
GND(35脚):地端;
OSCILLATOR(36脚):振荡器接入端,可外接电容或外部时钟源。不用时悬空或接地;
BP(5脚):背极信号输入/输出端;
B3~B0(30~27脚):BCD码输入;
DS1、DS2和CS1、CS2(不带“M”后缀的器件为D1~D4,即31~34脚):这四个端口中的前、后两脚分别为位选和片选信号端;
A1~G1(37~40、2~4脚):第一位(个位)LCD七段码输出;
A2~G2(6~12脚):第二位(十位)LCD七段码输出;
A3~G3(13~19脚):第三位(百位)LCD七段码输出;
A4~G4(20~26脚):第四位(千位)LCD七段码输出。
3 使用说明
从ICM7211的引脚功能可知:使用该器件的关键在于掌握显示驱动器、振荡器与位选电路的结构,以下对显示驱动器和位选电路作以详述。
3.1 显示驱动器
ICM7211显示驱动部分包括一个振荡器、一个七级二进制分频器(÷128)、一个背极驱动器和一个28段(字形)驱动器。
ICM7211中的RC振荡器有四种工作方式。将36脚悬空可产生19kHz方波信号;如果希望用较低的频率来驱动大显示器,可在36脚与1脚或35脚之间接一个电容(22pF、220pF等),外接电容越大,频率越小;其实也可以在36脚接一个外部时钟源来激励振荡器,此时外接时钟源的频率应为背极频率的128倍。当V+为5V时,要求外部时钟源在1.5V与5V之间振荡,低于1V的时间不能超过1μs;如果将36脚接地,而背极输出驱动器处于关闭状态,那么BP输入/输出脚将作输入用,此时可用另一片ICM7211的背极输出来驱动,这种情况一般适用于两片ICM7211级联的情况。
将振荡器产生的19kHz方波信号用七级二进制分频器(÷128)分频可产生150Hz的背极信号,实际上,背极驱动器只是一个简单的反相器,反相器的输入是最后一级分频器的输出。背极输出信号是0~V+之间占空比为50%的方波,由于背极输出电阻较小(典型值200Ω),所以背极驱动器能驱动电容性大显示器。
段驱动器是一个CMOS反相器,反相器输出电阻约2kΩ?当相应段被置于关闭位置时,段驱动器的输出与背极信号相同,否则,段驱动器的输出与背极信号相反,波形图如图2所示。由于段与背极驱动器的上升时间与下降时间相同,所以,加在LCD上的直流分量的平均值小于25mV,这一特点可延长LCD的使用寿命。
3.2 位选电路
ICM7211有二种数据接口:多位BCD接口和微处理器(μp)接口。它们的主要区别在于位选信号,多位BCD接口使用的是四条独立的选通脉冲输入线,其时序图如图3所示,真值表如表2所列;而微处理器(μp)接口使用的位选信号是两条地址线和两条片选信号线,图4所示是其时序图,其真值表如表3所列。
表2 ICM7211(A)真值表
表3 ICM7211(A)M真值表
4 微电机无接触测速系统
4.1 硬件电路
通常由于微电机的输出功率较小。因此,采用离心式转速表或测速发电机测转速时,测量仪表与电机同轴连接增加了电机的阻力转矩,严重时,微电机还可能带不动这些测量仪表。所以,在微电机测速时,本设计采用闪光测速和光电码盘测速等无接触测速法。
图5
图5是一个单片机控制的电机光电码盘无接触测速电路,图中只画出了与测速有关的电路,其它的电路(如看门狗电路,转速控制电路等)都没画出。单片机AT89C51具有4kB的Flash和两个16位定时/计数器,时钟频率可达24MHz,T0作为计数器可用于转速脉冲计数,T1用作定时器。显示驱动器选用ICM7211,显示器则选4 .5位YXY4501型LCD显示器,万位可由四段液晶显示驱动器4054驱动。该电路简单可靠、实用方便,由于采用的均是低功耗器件,因而非常适用于便携式智能测速仪表使用。所用转速传感器为光电码盘红外发射接收管。光电码盘被设计成黑白相间的60对条纹粘贴于电机端轴上,码盘前端放置一对红外发射管和红外接收管,码盘与红外发射接收管构成了测速传感器。这样,一方面红外光会透射过黑条纹而不被接收管接收到,另一方面,红外光照射到白条纹上会被反射回来。调整好发射管与接收管的位置,使接收管能够接收到被反射回来的红外线。这样,随着电机的转动,码盘也一起转动,接收管就会输出一串电脉冲信号。该信号经过LM324集成运放整形后送到AT89C51的计数器T0。T1为定时器,定时时间为0.1s,设0.1s内T0收到的脉冲数为N,则电机转速的算式为:
η=60(N/6)=10N
4.2 软件设计
图6是该测速系统的主程序、显示子程序及T1中断服务子程序的程序流程图?下面是显示子程序的程序清单:
DISPLAY: MOV R2, #04H
MOV R0,#40H
MOV R1, #50H
LOOP1: MOV A, @R1
MOV DPH, A
MOV A, @R0
MOV DPL, A
MOVX @DPTR, A
ACALL TIME
INC R0
INC R1
DJNZ R2, LOOP1
RET
图6
需要说明的是:RAM中40~43单元中存放的是从个位到千位的BCD码以及万位BCD码,数据可由T1中断服务来采集并保存到这些单元中;50~53单元存放的是从个位到万位的选通地址中的高八位,其地址值分别为#7FH、#5FH、#3FH和#1FH。在进行软件设计时?应在主程序中送入这四个初始化值。该程序巧妙的应用了BCD码值作为低位地址,而将ICM7211作为“只写”外部RAM使用,这一设计大大地简化了显示子程序设计。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)