LED数码管驱动电路ICM7218B及与MCS51单片机的接口
2022-02-16
来源:易榕旅网
第21卷增刊2004年7月 贵州大学学报(自然科学版)Journal of Guizhou Universiy t(Natural Sciences)Vol. 21 SupplementJul. 2004文章编号100(】一5269(2004)S0一0044一04LED数码管驱动电路ICM7218 B及与MCS51单片机的接口 邹德良(贵州大学职业技术学院教科处,贵州贵阳550004)摘要在当今各种测控仪表中,尤其是智能化仪表都需要直观地将结果或各种参数显示出来,这就涉及到显示器的驱动问题,大多采用驱动集成电路如MC14499,75452,CD14513等,但这些芯片可驱动的位数较少。本文介绍的ICM7218B芯片可驱动8位LED数码管,并且可十分方便的与微处理器接口,因此被广泛地应用于各种测控仪表中。关键词LED;驱动;MCU;集成电路;接口;编码;译码中图分类号TH703文献标识码C1引言 ICM7218系列集成电路是INTERSIL公司推出的CMOS通用8位LED数码管驱动电路。该系列有A-E五种型号。均内含位与段驱动电路及自动扫描控制电路,扫描频率250HZ;有较强的位段驱动能力,8位驱动电流大于170mA,段驱动电流大于20rnA。另外还有8x8位的静态存储器以及七段16进制显示码和十进制显示码译码电路,该电路采用单一十5V电源供电,数据在电压降至2V时可保存不丢失,并且有降低功耗的功能。当电路工作在降低功耗的模式是则在指令的作用下将停止振荡器、译码器和显示器的工作,此时功耗仅10泌左右。2 ICM7218B的内部结构及管脚配置 图1为ICM7218B的原理框图,引脚配置如图2所示。各引脚的功能如下:" WRITE:低电平有效,将输人数据写人RAM中。" MODE:高电平,输人控制字;低电平,输人数据。" ID4:为SHUTDOWN信号,低电平将关闭晶振、译码器和显示,高电平则正常工作。" ID5:译码/不译码信号,高电平,不译码,应由软件译码;低电平,由ICM7218B内部译码器进行硬件译码,有全十六进制译码和B码译码两种方式。软件译码时,输人的8位数据直接控制8个段的显示,格式如下:I D7 ID6 ID5 ID4 ID3 ID2 IDI IDOD. P a b c e g f d 某位置为1,则相应此位的段被点亮,但D. P不同,当此位置0时,D. P即小数点被点亮。" ID6:决定硬件译码方式,高电平时,进行十六进制译码;低电平时,进行十进制(B码)9 ID7:为高电平,表示后面输人数据;低电平,表示后面不输人数据。。DI GIT1一DIGIT8;8位位驱动位,通常接七段LED数码管的位 .VCC及GND:电源及地・D. P:小数点控制位。辛收稿日期:2004 -03 -30增刊邹德良:LED数码管驱动电路ICM7218B及与MCS51单片机的接口部数字关信号图1 ICM7218B功能框图DIGPf4 DIGI T6GND DIGTI7DIGTf3 DIGI TIDIGIT5DIGIT2DIG1T8B ID6(HEXA/CODE B)I D5(DECODE)ID7(DATACOMING)WRn下 MODE f I D4(SHUTDOWN)ID ItcV+IDO ID2 m3 _aD.P图2 ICM7218B引脚配置 ICM7218B的控制信号线只有两根,数据线有8根IDO一ID7,其中高四位是复用的,当写WRITE信号为低电平有效时,此时若MODE为高电平时,由数据线IDO一ID7写人命令字,其中只有IN一ID7有意义,低四位可不予理会,可取任意值;若此时MODE为低电平时,由数据线IDO一ID7写人显示数据;在写人显示数据时,ICM7218B是采用数据串操作方式,即在写人命令字后,紧接着写人的是第一位要显示的数据(MODE为低电平),其次是第2位数据,接着是第3位数据,……直到8位数据都写完,ICM7218 B才驱动LED数码显示,在没写够8位数据时,LED数码管全灭。当写人的数据超过8各时,ICM7218B对第九个数据及以后的任何数据都不予理会。.注意:(1)在写人命令时, ICM7218B对低4位IDO一ID3不予理会,即可取任意值。( 2)当ICM7218 B设定在译码方式时(写人命令字时ID5="O") , ICM7218B对高4位IN一ID7不予理会,即可取任意值。( 3)写信号WRITE是电平有效信号,而不是边沿有效信号。(4)若写人命令字时,I D5="0”则ICM7218B工作在非译码状态,根据写人命令字时ID6的状态不贵州大学学报(自然科学版)第21卷同,ICM7218B或工作在16进制显示码译码显示状态,或工作在BCD显示码显示状态。写人的二进制与16进制显示码、BCD显示码的对应关系如下:二进制码0 1 2 3 4 5 6 7 8 9l0,几12 13 14 1516进制码0 1 2 3 4 5 6 7 8 9ABC D E FBCD显示码 0 1 2 3 4 5 6 7 8 9一E H L P(灭) (5)由于ICM7218B本身没有工作地址,其选通是由MODE和WR共同完成的,所以只需用MOVXC)aDPTR,A指令就可以向ICM7218 B中写命令或数据,而与DPTR的值无关。但为了安全起见,DPTR中应指定某一地址单元,以免与其它工作单元冲突而改写这些单元的数据3 ICM7218B与MCS51单片机的接口及应用厂 图3为MCS51单片机与ICM7218B接口组成的8位LED硬件扫描动态显示器。由于ICM7218B兼有软件译码和硬件译码功能,如果使显示器显示出“HELLO一( ,f,可用软件译码和硬件译码的方式分别得到。限于篇幅,本人在这儿仅介绍软件译码编程,硬件译码编程读者可参照格式自己编写。图3 ICAU218B搭接的8位LED动态显示先找出各字符的编码。根据a, b,C,d,C,f,g各段与数据位的对应关系,可得:H中a,d段为0,其余为1,即10111110或BEH,同样E,L,O、一、4的编码分别为:CFH,8BH,FBH,84H,66H。将HELLO一04字符编码分别存人MCS51单片机片内40H单元为首址的8个字节单元中,如下所示:40H 41H 42H 43H 44H 45H 46H 47HBEH CFH 8BH 8BH FBH 84H FBH 66H控制字决定如下: .ID7为I,后跟数据.I D6为x,因不译码,此位无效。.I D5为1,不译码.I D4为1,不关闭即: 1‘}/}I{1一/1/}/I/}其中x为任意,可为0,也可为1,现设为0,则控制字为:BOH。程序如下:显示器最右边一位为第一位,RO为显示数据单元地址,起始为47H单元,R2为显示位数,共8位。DIS一MAIN: SETB Pl. 0;置MODE为高,准备写控制字MOV A,#OBOH;控制字BOH MOV DPTR,#O100H ;7218B工作地址MOVX@ DPTR,A;输出控制字CLR Pl. 0;置MODE为低,准备写数据增刊邹德良:LED数码管驱动电路ICM7218B及与MCS51单片机的接口・47・ACALL DISP8;显示8位数据RETDISP8:MOV RO,#47H;显示数据首地址MOV R2,#08H;共8位显示MOV DPTR,#0100HAGAINMOV A, @ RO;取出显示数据MOVX@ DPTR,A;输出数据DEC RO;指向下一位DJNZ R2, AGAIN ; 8位未完,继续RET;子程序返回结束语ICM7218B是一种性能价格比较高的LED数码管驱动集成电路,与其它LED数码管驱动集成电路,如MC 14499 , MC 14495 ,9368 , CD4511等芯片相比,具有可驱动LED数码管位数多,与微处理器接口电路简单,编程容易,不需要外加限流电阻和时钟等优点。值得向大家推荐采用。参考文献[1〕李华.MCS51系列单片机实用接口技术【M].北京航空航天大学出版社.[2」电子技术应用,1999,(6).[3] DATA一ACQUISITION DATABOOK. ANALOG DEVICES CORP, 1987.