6.2MCS-51单片机与显示器的接口技术显示器用于实现单片机应用系统中的数据输出和状态的反馈。单片机系统中常用的显示器有发光二极管、七段数码显示器、液晶显示器等。6.2.1LED显示器及其接口发光二极管简称LED(LightEmittingDiode)。LED显示器从外观可分为“8”字形的七段数码管、米字形数码管、点阵块、矩形平面显示器、数字笔划显示器等。1.七段LED数码显示器七段LED数码管显示器能够显示十进制或十六进制数字及某些简单字符。但控制简单,使用方便,在单片机系统中应用较多。其结构如下页图所示。上图中的a~g七个笔划(段)及小数点dp均为发光二极管。数码管显示器根据公共端的连接方式,可以分为共阴极数码管(将所有发光二极管的阴极连在一起)和共阳极数码管(将所有发光二极管的阳极连在一起)。单片机系统扩展LED数码管时多用共阳LED。共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱动功率很小;而共阴数码管段笔画是用高电平(“0”)点亮的,要求驱动功率较大。通常每个段笔画要串一个数百欧姆的降压电阻。2.LED点阵模块显示器LED点阵模块显示器是指由发光二极管排成一个m×n的点阵,每个发光二极管构成点阵中的一个点。这种显示器显示的字形逼真,能显示的字符比较多,但控制比较复杂。适用于显示汉字、图形和表格,广泛应用于公共场合的信息发布。七段LED字形码如下表所示。3.LED的驱动接口LED工作时需要一定的工作电流,才能正常发光。单个LED实际上是一个压降为1.2~1.5V的发光二极管,流过LED的电流大小决定了它的发光强度,R为限流电阻。适当减小限流电阻可以增加LED的工作电流,使LED的显示效果更好。但工作电流过大,会对驱动器件、LED造成损害。通常每个段笔画要串一个数百欧姆的降压电阻。下图为单个LED的驱动接口电路。4.LED数码管的显示与驱动LED数码管显示器的工作方式:静态和动态两种显示方式。(1)静态显示方式静态显示方式的各数码管在显示过程中持续得到送显信号,与各数码管接口的I/O口线是专用的。其特点是显示稳定,无闪烁,用元器件多,占I/O线多,无须扫描。系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,节省CPU时间,提高CPU的工作效率,编程简单。[例题]利用在8051串行口扩展多片串行输入并行输出的移位寄存器74LS164作为静态显示器接口的方法,设计3位静态显示器接口,并写出显示更新子程序,实现将7FH~7DH3个单元的数值分别显示在3位LED2~LED0上。解:接口电路如图下图所示。3个共阳极数码管的公共端均接Vcc,段码通过串行口,采用串—并转换原理,分别送出3个数码管的段码(先送出的段码字节在LED2数码管上显示),图中的电阻值取100~500。程序如下:ORG1000HDISPSER:MOVR5,#03H;显示3个字符MOVR1,#7FH;7FH~7DH存放要显示的数据DL0:MOVA,@R1;取出要显示的数据MOVDPTR,#STAB;指向段数据表MOVCA,@A+DPTR;查表取字形数据MOVSBUF,A;送出数据,进行显示JNBT1,$;输出完否?CLRT1;输出完,清中断标志DECR1;再取下一个数据DJNZR5,DL0;循环3次RET;返回STAB:DB0C0H,0F9H,0A4H,0B0H;段数据表(共阳极)DB·…………END(2)动态显示方式动态显示方式是指一位一位地轮流点亮每位显示器,与各数码管接口的I/O口线是共用的。其特点是有闪烁,用元器件少,占I/O线少,必须扫描,花费CPU时间,编程复杂。[例题]设计89S51通过74LS273扩展6位七段共阳极LED显示器。解:接口电路如下页图所示。在程序中通过P0口将相应的字形码写入74LS273,P2.0~P2.5作为段码输出口,P0口的端口地址为00FFH。进行扫描时,P2的低6位依次置1,依次选中了从左至右的显示器。使用74LS04作为段码输出驱动(反相驱动),所以共阴极数码管在段数据表中的字形码应与共阳极数码管的字形码相同。显示器就可以显示出6位字符。说明:1、单片机WR引脚要与273的CLK连接2、273的CLR引脚要与VCC连接3、DPTR值不一定是7FFFh,用FFH可消除闪烁6.2.2LCD显示器及其接口液晶显示器简称LCD(LiquidCrystalDiodes)是利用液晶经过处理后能够改变光线传输方向的特性,达到显示字符或者图形的目的。其特点是体积小、重量轻、功耗极低、显示内容丰富等特点,在单片机应用系统中有着日益广泛的应用。1.LCD的分类及特点分类:笔段式和点阵式(可分为字符型和图像型)。笔段式LCD显示器:类似于LED数码管显示器。每个显示器的段电极包括a,b,c,d,e,f,g七个笔划(段)和一个背电极BP(或COM)。可以显示数字和简单的字符。点阵式LCD显示器:段电极与背电极呈正交带状分布,液晶位于正交的带状电极间。点阵式LCD的控制一般采用行扫描方式,如图右所示为显示字符“A”的情况。2.笔段式LCD液晶显示器的驱动在LCD的公共极(一路为背电极)加上恒定的交变方波信号,通过控制段极的电压变化,在LCD两极间产生所需的零电压或二倍幅值的交变电压,以达到LCD亮、灭的控制。在笔段式LCD的段电极与背电极间施加周期地改变极性的电压(通常为4V或5V),可使该段呈黑色。3.LCD显示模块LCM(LiquidCrystalDisplayModule)在实际应用中,用户很少直接设计LCD显示器驱动接口,一般是直接使用专用的LCD显示驱动器和LCD显示模块LCM。LCM是把LCD显示屏、背景光源、线路板和驱动集成电路等部件构造成一个整体,作为一个独立部件使用。其特点是功能较强、易于控制、接口简单,在单片机系统中应用较多。其内部结构如下页图所示。LCM一般带有内部显示RAM和字符发生器,只要输入ASCII码就可以进行显示。LCD显示器接口原理•1.LCD的基本结构及工作原理图液晶显示器基本结构液晶字符显示屏液晶图形点阵显示屏LCD显示模块LCM按显示功能可分为:LCD段式显示模块、LCD字符型显示模块、LCD图形显示模块三类。HD44780字符显示模块是较常用的LCD显示模块,共有14个引脚,其中,8个数据引脚,3个控制引脚,3个电源引脚。每个HD44780可控制的字符可达每行80个,具有驱动16×40点阵的能力。具有其自身的11条指令构成的指令系统,用户对模块写入适当的控制命令,即可完成清屏、显示、地址设置等操作。各引脚功能定义如下表所示。[例题]设计8051单片机驱动HD44780显示模块的接口电路。解:8051单片机与HD44780显示模块的线路连接如下图所示,8051的P1口与HD44780的数据线相连,HD44780的端信号由8051的P3.5提供,HD44780的通信允许信号E由8051的P3.3提供,HD44780的寄存器选择信号RS由8051的P3.4提供。W/RHD44780初始化的方法主要有以下两种:(1)利用模块内部的复位电路进行初始化,完成清除显示、功能设置、开/关显示、设置光标状态及闪烁功能、方式设置。(2)利用软件编程实现初始化。1602液晶显示模块接线图(16字符×2行)