版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机与液晶显示器(LCD)的接口LCD(LiquidCrystalDisplay)液晶显示器,被动式显示器件:本身并不发光,LCD显示器里面另有光源,在控制信号的作用下,可以让光源发出的光通过或不通过。液晶显示器具有省电、抗干扰能力强等优点,广泛应用在智能仪器仪表和单片机测控系统中。1单片机与液晶显示器(LCD)的接口1LCD的基本结构及显示原理液晶是一种介于固体与液体之间,具有规则性分子排列的有机化合物。一般最常用的液晶型态为向列型液晶,分子形状为细长棒形。利用液晶经过处理后能改变光线通过方向的特性,从而达到白底黑字或黑底白字显示的目的。2LCD的基本结构及显示原理液晶是一种介于固体与液体之间,具有扭曲向列型液晶显示器
(TwistedNematicLiquidcrystaldisplay)3扭曲向列型液晶显示器
(TwistedNematicLi扭曲向列型液晶显示器
(TwistedNematicLiquidcrystaldisplay)4扭曲向列型液晶显示器
(TwistedNematicLiLCD显示器的分类按排列形状可分为:字段型、点阵字符型和点阵图形型。5LCD显示器的分类按排列形状可分为:5(1)字段型。以长条状组成字符显示。主要用于数字显示,也可用于显示西文字母或某些字符,已广泛用于电子表、计算器、数字仪表中。(2)点阵字符型。专门用于显示字母、数字、符号等。它由若干57或510的点阵组成,每一点阵显示一字符。广泛应用在各类单片机应用系统中。(3)点阵图形型。它是在平板上排列多行或多列,形成矩阵式的晶格点,点的大小可根据显示的清晰度来设计。广泛应用于图形显示,如用于笔记本电脑、彩色电视和游戏机等。6(1)字段型。以长条状组成字符显示。主要用于数字显示,也可用点阵字符型液晶显示模块介绍单片机应用中,常用点阵字符型LCD显示器。要有相应的LCD控制器、驱动器来对LCD显示器进行扫描、驱动,还要RAM和ROM来存储单片机写入的命令和显示字符的点阵。 由于LCD的面板较为脆弱,制造商已将LCD控制器、驱动器、RAM、ROM和LCD显示器用PCB连接到一起,称为液晶显示模块(LCdModule,LCM)。
单片机控制LCM时,只要向LCM送入相应的命令和数据就可显示需要的内容。下面介绍常见的点阵型液晶显示模块:1602字符型LCM(两行,每行16个字符)。7点阵字符型液晶显示模块介绍71.基本结构与特性(1)液晶显示板在液晶显示板上排列着若干57或510点阵的字符显示位,从规格上分为每行8、16、20、24、32、40位,有1行、2行及4行等,根据需要,选择购买。(2)模块电路框图图10-20所示为字符型LCD模块的电路框图,它由日立公司生产的控制器HD44780、驱动器HD44100及几个电阻和电容组成。HD44100是扩展显示字符位用的(例如,16字符1行模块就可不用HD44100,16字符2行模块就要用一片HD44100)。81.基本结构与特性8
图10-20
字符型LCD模块的电路框图99(3)1602字符型LCM的特性①内部具有字符发生器ROM(CGROM),即字符库。可显示192个57点阵字符,见图10-21。由该字符库可看出LCM显示的数字和字母部分的代码值,恰好与ASCII码表中的数字和字母相同。所以在显示数字和字母时,只需向LCM送入对应的ASCII码即可。②模块内有64字节的自定义字符RAM(CGRAM),用户可自行定义8个57点阵字符。③模块内有80字节的数据显示存储器(DDRAM)。10(3)1602字符型LCM的特性1011图10-21ROM字符库的内容11图10-21ROM字符库的内容2.LCM的引脚16个引脚,也有少数的LCM为14个引脚,其中包括8条数据线、3条控制线和3条电源线,见表10-15。通过单片机写入模块的命令和数据,就可对显示方式和显示内容做出选择。122.LCM的引脚123.命令格式及功能说明(1)内部寄存器控制器HD44780内有多个寄存器,寄存器的选择如表10-16所示。RS位和R/脚上的电平决定对寄存器的选择和读/写,而DB7~DB0决定命令功能。133.命令格式及功能说明13(2)命令功能说明下面介绍可写入命令寄存器的11个命令。①清屏。格式如下:功能:清除屏幕显示,并给地址计数器AC置“0”。②返回。格式如下:功能:置DDRAM(显示数据RAM)及显示RAM的地址为“0”,显示返回到原始位置。14(2)命令功能说明14③输入方式设置。格式如下:功能:设置光标的移动方向,并指定整体显示是否移动。其中:I/D=1,为增量方式;I/D=0,为减量方式;如S=1,表示移位;如S=0,表示不移位。④显示开关控制。格式如下:15③输入方式设置。格式如下:15功能:D位(DB2)控制整体显示的开与关,D=1,开显示;D=0,则关显示。C位(DB1)控制光标的开与关,C=1,光标开;C=0,则光标关。B位(DB0)控制光标处字符闪烁,B=1,字符闪烁;B=0,字符不闪烁。⑤光标移位。格式如下:功能:移动光标或整体显示,DDRAM中内容不变。其中:16功能:16S/C=1时,显示移位;S/C=0时,光标移位。R/L=1时,向右移位,R/L=0时,向左移位。⑥功能设置。命令格式如下:功能:DL位设置接口数据位数,DL=1为8位数据接口;DL=0为4位数据接口。N位设置显示行数,N=0单行显示;N=1双行显示。F位设置字型大小,F=1为510点阵,F=0为57点阵。17S/C=1时,显示移位;S/C=0时,光标移位。17⑦CGRAM(自定义字符RAM)地址设置。格式如下功能:设置CGRAM的地址,地址范围为0~63。⑧DDRAM(数据显示存储器)地址设置。格式如下:功能:设置DDRAM的地址,地址范围为0~127。⑨读忙标志BF及地址计数器。格式如下:18⑦CGRAM(自定义字符RAM)地址设置。格式如下18功能:BF位为忙标志。BF=1,表示忙,此时LCM不能接收命令和数据;BF=0,表示LCM不忙,可接收命令和数据。AC位为地址计数器的值,范围为0~127。
向CGRAM/DDRAM写数据。格式如下:功能:将数据写入CGRAM或DDRAM中,应与CGRAM或DDRAM地址设置命令结合使用。19功能:BF位为忙标志。BF=1,表示忙,此时LCM不能接收命
从CGRAM/DDRAM中读数据。格式如下:功能:从CGRAM或DDRAM中读出数据,应与CGRAM或DDRAM地址设置命令结合使用。(3)有关说明①显示位与DDRAM地址的对应关系,如表10-17所示。20 从CGRAM/DDRAM中读数据。格式如下:20②标准字符库。图10-21所示为字符库的内容、字符码和字型的对应关系。③字符码(DDRAMDATA)、CGRAM地址与自定义点阵数据(CGRAM数据)之间的关系,如表10-18所示。21②标准字符库。图10-21所示为字符库的内容、字符码和字型10.4.3AT89S51单片机与LCD的接口及软件编程1.AT89S51单片机与LCD模块的接口AT89S51单片机与LCD模块的接口如图10-22所示。图10-22
AT89S51单片机与LCD模块的接口电路2210.4.3AT89S51单片机与LCD的接口及软件编程2.软件编程(1)初始化 先对LCD模块进行初始化,否则模块无法正常显示。两种初始化方法。 ①模块内部的复位电路进行的初始化LCM有内部复位电路,能进行上电复位。复位期间BF
=
1,在电源电压VDD达4.5V以后,此状态可维持10ms。复位时执行下列命令:232.软件编程23清除显示功能设置,DL=1为8位数据长度接口;N=0单行显示;F=0为5
7点阵字符。开/关设置,D=0关显示;C=0关光标;B=0关闪烁功能。进入方式设置,I/D=1地址采用递增方式;S=0关显示移位功能。
②软件初始化流程如图10-23所示。24清除显示24
图10-23
软件初始化流程2525(2)显示程序编写【例10-1】编写程序在LCD第一行显示“CS&S”,第二行显示“92”。程序如下:START:
MOV DPTR,#8000H ;命令口地址送DPTR MOV A,#01H ;清屏并置AC为0 MOVX @DPTR,A ;输出命令 ACALL F_BUSY ;等待直至LCM不忙 MOV A,#38H ;功能设置,8位接口, ;2行显示,
5×7点阵 MOVX @DPTR,A ACALL F_BUSY26(2)显示程序编写26 MOV A,#0EH ;开显示及光标,不闪烁 MOVX @DPTR,A ACALL F_BUSY MOV A,#06H ;内容显示,AC为增量 MOVX @DPTR,A ACALL F_BUSY MOV DPTR,#0C000H;数据口地址送DPTR MOV A,#43H ;C的ASCII码为43H MOVX @DPTR,A ;第一行第一位显示C ACALL F_BUSY27 MOV A,#0EH ;开显示及光标,不闪烁27 MOV A,#53H ;S的ASCII码为53H MOVX @DPTR,A ;显示CS ACALL F_BUSY MOV A,#26H ;&的ASCII码为26H MOVX @DPTR,A ;显示CS& ACALL F_BUSY MOV A,#53H MOVX @DPTR,A ;显示CS&S ACALL F_BUSY MOV DPTR,#8000H ;指向命令口28 MOV A,#53H ;S的ASCII码为53H28 MOV A,#0C0H ;置DDRAM地址为40H MOVX @DPTR,A ;第二行首显示光标 ACALLF_BUSY MOV DPTR,#C000H ;指向数据口 MOV A,#39H ;9的ASCII码为39H MOVX @DPTR,A ;显示9 ACALLF_BUSY MOV A,#32H ;2的ASCII码为32H MOVX @DPTR,A ;显示92
……LCD是慢速显示器件,所以在执行每条指令之前一定要确认LCM的忙标志为0,即非忙状态,否则该命令将失效。29 MOV A,#0C0H ;置DDRAM地址为40H29判定“忙”标志的子程序F_BUSY如下:F_BUSY:PUSH PH ;保护现场 PUSH DPL PUSH PSW PUSH AccLOOP: MOV DPTR,#8000H
MOVX A,@DPTR JB Acc.7,LOOP ;忙,继续等待 POP Acc ;不忙,恢复现场返回 POP PSW POP DPL POP DPH RET30判定“忙”标志的子程序F_BUSY如下:3010.5AT89S51单片机与微型打印机TPP-40A/16A的 接口微型打印机的内部有一单片机,固化有控打程序。打印机通电后,由打印机内部的单片机执行固化的控打程序,就可以接收和分析主控单片机送来的数据和命令,然后通过控制电路,实现对打印头机械动作的控制,进行打印。此外,微型打印机还能接受人工干预,完成自检、停机和走纸等操作。常用的微型打印机有TPP-40A/16A、GP16以及XLF嵌入仪器面板上的汉字微型打印机。下面介绍AT89S51单片机与常见的TPP-40A/16A微型打印机的接口设计。3110.5AT89S51单片机与微型打印机TPP-40A1.TPP-40A/16A微型打印机简介单片机控制的微型智能打印机。TPP-40A与TPP-16A的接口信号与时序完全相同,硬件电路及插脚完全兼容,只是某些命令代码不同。TPP-40A每行打印40个字符,TPP-16A则每行打印16个字符。(1)TPP-40A/16A主要技术性能、接口要求及时序①单片机控制,2KB控打程序及标准的Centronics打印机并行接口。②可打印全部标准的ASCII代码字符,以及128个非标
321.TPP-40A/16A微型打印机简介32准字符和图符。有16个代码字符(67点阵)可由用户通过程序自行定义,并可通过命令用此16个代码字符去替换任何驻留代码字型,以便用于多种文字的打印。③可打印出8240点阵的图样(汉字或图案点阵)。代码字符和点阵图样可在一行中混合打印。④字符、图符和点阵图可以在宽和高的方向放大
2、3、4倍。⑤每行字符的点行数(包括字符的行间距)可用命令更换,即字符行间距空点行可在0~256间任选。33准字符和图符。有16个代码字符(67点阵)可由用户通过程序⑥带有水平和垂直制表命令,便于打印表格。(2)Centronics接口信号 国际流行Centronics打印机并行接口,与单片机间通过一条20芯扁平电缆及接插件相连。打印机有一个20线扁平插座,信号引脚排列如图10-24所示。 各引脚功能:DB0~DB7:数据线,由单片机发送给打印机。(STROBE):数据选通信号。在该信号上升沿时,数据线上的8位并行数据被打印机读入机内锁存。34⑥带有水平和垂直制表命令,便于打印表格。3435
图10-24
TPP-40A/16A引脚排列(从打印机背视)35图10-24TPP-40A/16A引脚排列(从打BUSY:打印机“忙”状态信号。信号有效(高电平)时,打印机正忙于处理数据。此时,单片机不得使
信号有效,向打印机送入新的数据。
:应答信号,低电平有效。表明打印机已取走数据线上的数据。
:“出错”信号。当送入打印机的命令格式出错时,打印机立即打印一行提示出错的信息。在打印出错信息之前,该信号线出现一个负脉冲,脉冲宽度为30s。36BUSY:打印机“忙”状态信号。信号有效(高电平)时,打印机37图10-25TPP-40A/16A接口信号时序37图10-25TPP-40A/16A接口信号时序(3)接口信号时序时序如图10-25。选通信号
宽度需大于0.5s。应答信号
可与
信号作为一对应答联络信号,也可与BUSY为一对应答联络信号。2.字符代码及打印命令写入的全部代码共256个,其中00H无效。代码01H~0FH为打印命令;代码10H~1FH为用户自定义代码;代码20H~7FH为标准ASCII代码;TPP-40A/16A可打印的非ASCII代码如图10-26,代码80H~FFH为非ASCII代码,包括少量汉字、希腊字母、块图图符和一些特殊字符。38(3)接口信号时序3839图10-26
TPP-40A/16A可打印的非ASCII代码39图10-26TPP-40A/16A可打印的非(1)字符代码全部字符代码为10H~FFH,回车换行代码0DH为字符串的结束符。当输入代码满40/16个时,打印机自动回车。举例如下。①打印“$2356.73”单片机输出的代码串为24H,32H,33H,35H,36H,2EH,37H,33H,0DH。②打印“23.7cm3”单片机输出的代码串为32H,33H,2EH,37H,63H,6DH,9DH,0DH。40(1)字符代码4041(2)打印命令由一个命令字和若干参数字节组成,表10-18所示为TPP-40A/16A命令代码及功能。有关打印命令的更详细说明,参见技术说明书。41(2)打印命令3.TPP-40A/16A与AT89S51单片机接口设计 直接与AT89S51相接。TPP-40A/16A没有读、写信号,只有握手线
、BUSY(或
),接口电路如图10-27所示。
42图10-27TPP-40A/16A与AT89S51单片机数据总线的接口3.TPP-40A/16A与AT89S51单片机接口设计4单片机用一条地址线(图10-27中使用P2.7,即A15)来控制写选通信号
和读取BUSY状态。图10-28为通过扩展的82C55连接的打印机接口电路。采用查询法,即通过读与82C55的PC0脚的相连的BUSY状态,来判断送给打印机的一个字节的数据是否处理完毕。也可用中断法(BUSY直接与单片机的
脚相连)
43单片机用一条地址线(图10-27中使用P2.7,即A15)来44图10-28
TPP-40A/16A与AT89S51单片机扩展的I/O连接44图10-28TPP-40A/16A与AT89S51【例10-2】把单片机内部RAM的3FH~4FH单元中的ASCII码数据送打印机。82C55的端口A与端口C的上半部设置为方式0输出,端口C的下半部为方式0输入。打印程序PRINT如下:PRINT: MOV R0,#7FH ;控制端口地址→R0 MOV A,#81H ;82C55控制字→A MOVX @R0,A ;控制字→控制口 MOV R1,#3FH ;数据区首地址→R1 MOV R2,#0FH ;R2为打印数据个数的计数器45【例10-2】把单片机内部RAM的3FH~4FH单元中的ASLOOP:
MOV A,@R1 ;打印数据单元中内容→A INC R1 ;指向下一个数据单元 MOV R0,#7CH ;82C55的端口A地址→R0 MOVX @R0,A;打印数据送82C55并锁存 MOV R0,#7FH ;82C55的控制口地址→R0 MOV A,#0EH ;PC7的复位控制字→A MOVX @R0,A ;PC7=0 MOV A,#0FH ;PC7的置位控制字→A
MOVX @R0,A ;PC7由0变146LOOP:MOV A,@R1 ;打印数据单元中内LOOP1:MOV R0,#7EH ;端口C地址→R0 MOVX A,@R0 ;读入端口C的值 ANL A,#01H;屏蔽掉端口C的高7位,只留PC0位 JNZ LOOP1 ;查BUSY状态,为1,未处理 ;完,跳LOOP1 DJNZR2,LOOP ;打印数据个数R2非零,未完 ;,跳LOOP END47LOOP1:MOV R0,#7EH ;端口C地址→R010.6AT89S51单片机与BCD码拨盘的接口设计在某些单片机系统中,有时需输入一些控制参数,这些参数一经设定将维持不变。使用数字输入拨盘简单、直观,方便可靠。1.BCD码拨盘简介使用最方便的拨盘是十进制输入、BCD码输出的BCD码拨盘。图10-29为4片BCD码拨盘拼接的4位十进制输入拨盘组。每片拨盘具有0~9十个位置,每个位置都有相应的数字显示。因此,每片拨盘可代表一位十进制数。需要几位十进制数即可选择几片BCD码拨盘拼接。4810.6AT89S51单片机与BCD码拨盘的接口设计4849图10-29
4位BCD码拨盘组49图10-294位BCD码拨盘组BCD码拨盘后面有5个接点,如图10-29所示,其中A为输入控制端,另外4条是BCD码输出端8、4、2、1。拨盘拨到不同位置时,输入控制端A分别与4条BCD码输出端中的某条或某几条接通,其接通的BCD码输出端状态正好与拨盘指示的十进制数一致。表10-19所示为BCD码拨盘的输入/输出状态表。50BCD码拨盘后面有5个接点,如图10-29所示,其中A为输入51512.单片BCD码拨盘与单片机的接口单片BCD码拨盘可以与任何一个4位的I/O口或扩展的I/O口相连,以输入BCD码。图10-30所示为AT89S51单片机通过P1.0~P1.3与单片BCD码拨盘相连的接口电路。
图10-30
单片BCD码拨盘与AT89S51单片机的接口522.单片BCD码拨盘与单片机的接口52A接+5V,当拨盘拨至某个输入的十进制数时,相应的8、4、2、1有效端输出高电平(如拨至“6”时,4、2端为有效端),无效端为低电平。输出正逻辑BCD码(原码)。如控制端A接地,则8、4、2、1输出端通过电阻上拉至高电平时,输出负逻辑BCD码(反码)。软件编程,只需读入P1.0~P1.3端口的状态,例如:MOV P1,#0FFH ;设置P1端口为输入MOV A,P1 ;读入P1.0~P1.7的状态ANL A,0FH ;屏蔽P1.4~P1.7MOV 40H,A ;将BCD码拨盘的值存入内部RAM的40H单元53A接+5V,当拨盘拨至某个输入的十进制数时,相应的8、4单片机与液晶显示器(LCD)的接口LCD(LiquidCrystalDisplay)液晶显示器,被动式显示器件:本身并不发光,LCD显示器里面另有光源,在控制信号的作用下,可以让光源发出的光通过或不通过。液晶显示器具有省电、抗干扰能力强等优点,广泛应用在智能仪器仪表和单片机测控系统中。54单片机与液晶显示器(LCD)的接口1LCD的基本结构及显示原理液晶是一种介于固体与液体之间,具有规则性分子排列的有机化合物。一般最常用的液晶型态为向列型液晶,分子形状为细长棒形。利用液晶经过处理后能改变光线通过方向的特性,从而达到白底黑字或黑底白字显示的目的。55LCD的基本结构及显示原理液晶是一种介于固体与液体之间,具有扭曲向列型液晶显示器
(TwistedNematicLiquidcrystaldisplay)56扭曲向列型液晶显示器
(TwistedNematicLi扭曲向列型液晶显示器
(TwistedNematicLiquidcrystaldisplay)57扭曲向列型液晶显示器
(TwistedNematicLiLCD显示器的分类按排列形状可分为:字段型、点阵字符型和点阵图形型。58LCD显示器的分类按排列形状可分为:5(1)字段型。以长条状组成字符显示。主要用于数字显示,也可用于显示西文字母或某些字符,已广泛用于电子表、计算器、数字仪表中。(2)点阵字符型。专门用于显示字母、数字、符号等。它由若干57或510的点阵组成,每一点阵显示一字符。广泛应用在各类单片机应用系统中。(3)点阵图形型。它是在平板上排列多行或多列,形成矩阵式的晶格点,点的大小可根据显示的清晰度来设计。广泛应用于图形显示,如用于笔记本电脑、彩色电视和游戏机等。59(1)字段型。以长条状组成字符显示。主要用于数字显示,也可用点阵字符型液晶显示模块介绍单片机应用中,常用点阵字符型LCD显示器。要有相应的LCD控制器、驱动器来对LCD显示器进行扫描、驱动,还要RAM和ROM来存储单片机写入的命令和显示字符的点阵。 由于LCD的面板较为脆弱,制造商已将LCD控制器、驱动器、RAM、ROM和LCD显示器用PCB连接到一起,称为液晶显示模块(LCdModule,LCM)。
单片机控制LCM时,只要向LCM送入相应的命令和数据就可显示需要的内容。下面介绍常见的点阵型液晶显示模块:1602字符型LCM(两行,每行16个字符)。60点阵字符型液晶显示模块介绍71.基本结构与特性(1)液晶显示板在液晶显示板上排列着若干57或510点阵的字符显示位,从规格上分为每行8、16、20、24、32、40位,有1行、2行及4行等,根据需要,选择购买。(2)模块电路框图图10-20所示为字符型LCD模块的电路框图,它由日立公司生产的控制器HD44780、驱动器HD44100及几个电阻和电容组成。HD44100是扩展显示字符位用的(例如,16字符1行模块就可不用HD44100,16字符2行模块就要用一片HD44100)。611.基本结构与特性8
图10-20
字符型LCD模块的电路框图629(3)1602字符型LCM的特性①内部具有字符发生器ROM(CGROM),即字符库。可显示192个57点阵字符,见图10-21。由该字符库可看出LCM显示的数字和字母部分的代码值,恰好与ASCII码表中的数字和字母相同。所以在显示数字和字母时,只需向LCM送入对应的ASCII码即可。②模块内有64字节的自定义字符RAM(CGRAM),用户可自行定义8个57点阵字符。③模块内有80字节的数据显示存储器(DDRAM)。63(3)1602字符型LCM的特性1064图10-21ROM字符库的内容11图10-21ROM字符库的内容2.LCM的引脚16个引脚,也有少数的LCM为14个引脚,其中包括8条数据线、3条控制线和3条电源线,见表10-15。通过单片机写入模块的命令和数据,就可对显示方式和显示内容做出选择。652.LCM的引脚123.命令格式及功能说明(1)内部寄存器控制器HD44780内有多个寄存器,寄存器的选择如表10-16所示。RS位和R/脚上的电平决定对寄存器的选择和读/写,而DB7~DB0决定命令功能。663.命令格式及功能说明13(2)命令功能说明下面介绍可写入命令寄存器的11个命令。①清屏。格式如下:功能:清除屏幕显示,并给地址计数器AC置“0”。②返回。格式如下:功能:置DDRAM(显示数据RAM)及显示RAM的地址为“0”,显示返回到原始位置。67(2)命令功能说明14③输入方式设置。格式如下:功能:设置光标的移动方向,并指定整体显示是否移动。其中:I/D=1,为增量方式;I/D=0,为减量方式;如S=1,表示移位;如S=0,表示不移位。④显示开关控制。格式如下:68③输入方式设置。格式如下:15功能:D位(DB2)控制整体显示的开与关,D=1,开显示;D=0,则关显示。C位(DB1)控制光标的开与关,C=1,光标开;C=0,则光标关。B位(DB0)控制光标处字符闪烁,B=1,字符闪烁;B=0,字符不闪烁。⑤光标移位。格式如下:功能:移动光标或整体显示,DDRAM中内容不变。其中:69功能:16S/C=1时,显示移位;S/C=0时,光标移位。R/L=1时,向右移位,R/L=0时,向左移位。⑥功能设置。命令格式如下:功能:DL位设置接口数据位数,DL=1为8位数据接口;DL=0为4位数据接口。N位设置显示行数,N=0单行显示;N=1双行显示。F位设置字型大小,F=1为510点阵,F=0为57点阵。70S/C=1时,显示移位;S/C=0时,光标移位。17⑦CGRAM(自定义字符RAM)地址设置。格式如下功能:设置CGRAM的地址,地址范围为0~63。⑧DDRAM(数据显示存储器)地址设置。格式如下:功能:设置DDRAM的地址,地址范围为0~127。⑨读忙标志BF及地址计数器。格式如下:71⑦CGRAM(自定义字符RAM)地址设置。格式如下18功能:BF位为忙标志。BF=1,表示忙,此时LCM不能接收命令和数据;BF=0,表示LCM不忙,可接收命令和数据。AC位为地址计数器的值,范围为0~127。
向CGRAM/DDRAM写数据。格式如下:功能:将数据写入CGRAM或DDRAM中,应与CGRAM或DDRAM地址设置命令结合使用。72功能:BF位为忙标志。BF=1,表示忙,此时LCM不能接收命
从CGRAM/DDRAM中读数据。格式如下:功能:从CGRAM或DDRAM中读出数据,应与CGRAM或DDRAM地址设置命令结合使用。(3)有关说明①显示位与DDRAM地址的对应关系,如表10-17所示。73 从CGRAM/DDRAM中读数据。格式如下:20②标准字符库。图10-21所示为字符库的内容、字符码和字型的对应关系。③字符码(DDRAMDATA)、CGRAM地址与自定义点阵数据(CGRAM数据)之间的关系,如表10-18所示。74②标准字符库。图10-21所示为字符库的内容、字符码和字型10.4.3AT89S51单片机与LCD的接口及软件编程1.AT89S51单片机与LCD模块的接口AT89S51单片机与LCD模块的接口如图10-22所示。图10-22
AT89S51单片机与LCD模块的接口电路7510.4.3AT89S51单片机与LCD的接口及软件编程2.软件编程(1)初始化 先对LCD模块进行初始化,否则模块无法正常显示。两种初始化方法。 ①模块内部的复位电路进行的初始化LCM有内部复位电路,能进行上电复位。复位期间BF
=
1,在电源电压VDD达4.5V以后,此状态可维持10ms。复位时执行下列命令:762.软件编程23清除显示功能设置,DL=1为8位数据长度接口;N=0单行显示;F=0为5
7点阵字符。开/关设置,D=0关显示;C=0关光标;B=0关闪烁功能。进入方式设置,I/D=1地址采用递增方式;S=0关显示移位功能。
②软件初始化流程如图10-23所示。77清除显示24
图10-23
软件初始化流程7825(2)显示程序编写【例10-1】编写程序在LCD第一行显示“CS&S”,第二行显示“92”。程序如下:START:
MOV DPTR,#8000H ;命令口地址送DPTR MOV A,#01H ;清屏并置AC为0 MOVX @DPTR,A ;输出命令 ACALL F_BUSY ;等待直至LCM不忙 MOV A,#38H ;功能设置,8位接口, ;2行显示,
5×7点阵 MOVX @DPTR,A ACALL F_BUSY79(2)显示程序编写26 MOV A,#0EH ;开显示及光标,不闪烁 MOVX @DPTR,A ACALL F_BUSY MOV A,#06H ;内容显示,AC为增量 MOVX @DPTR,A ACALL F_BUSY MOV DPTR,#0C000H;数据口地址送DPTR MOV A,#43H ;C的ASCII码为43H MOVX @DPTR,A ;第一行第一位显示C ACALL F_BUSY80 MOV A,#0EH ;开显示及光标,不闪烁27 MOV A,#53H ;S的ASCII码为53H MOVX @DPTR,A ;显示CS ACALL F_BUSY MOV A,#26H ;&的ASCII码为26H MOVX @DPTR,A ;显示CS& ACALL F_BUSY MOV A,#53H MOVX @DPTR,A ;显示CS&S ACALL F_BUSY MOV DPTR,#8000H ;指向命令口81 MOV A,#53H ;S的ASCII码为53H28 MOV A,#0C0H ;置DDRAM地址为40H MOVX @DPTR,A ;第二行首显示光标 ACALLF_BUSY MOV DPTR,#C000H ;指向数据口 MOV A,#39H ;9的ASCII码为39H MOVX @DPTR,A ;显示9 ACALLF_BUSY MOV A,#32H ;2的ASCII码为32H MOVX @DPTR,A ;显示92
……LCD是慢速显示器件,所以在执行每条指令之前一定要确认LCM的忙标志为0,即非忙状态,否则该命令将失效。82 MOV A,#0C0H ;置DDRAM地址为40H29判定“忙”标志的子程序F_BUSY如下:F_BUSY:PUSH PH ;保护现场 PUSH DPL PUSH PSW PUSH AccLOOP: MOV DPTR,#8000H
MOVX A,@DPTR JB Acc.7,LOOP ;忙,继续等待 POP Acc ;不忙,恢复现场返回 POP PSW POP DPL POP DPH RET83判定“忙”标志的子程序F_BUSY如下:3010.5AT89S51单片机与微型打印机TPP-40A/16A的 接口微型打印机的内部有一单片机,固化有控打程序。打印机通电后,由打印机内部的单片机执行固化的控打程序,就可以接收和分析主控单片机送来的数据和命令,然后通过控制电路,实现对打印头机械动作的控制,进行打印。此外,微型打印机还能接受人工干预,完成自检、停机和走纸等操作。常用的微型打印机有TPP-40A/16A、GP16以及XLF嵌入仪器面板上的汉字微型打印机。下面介绍AT89S51单片机与常见的TPP-40A/16A微型打印机的接口设计。8410.5AT89S51单片机与微型打印机TPP-40A1.TPP-40A/16A微型打印机简介单片机控制的微型智能打印机。TPP-40A与TPP-16A的接口信号与时序完全相同,硬件电路及插脚完全兼容,只是某些命令代码不同。TPP-40A每行打印40个字符,TPP-16A则每行打印16个字符。(1)TPP-40A/16A主要技术性能、接口要求及时序①单片机控制,2KB控打程序及标准的Centronics打印机并行接口。②可打印全部标准的ASCII代码字符,以及128个非标
851.TPP-40A/16A微型打印机简介32准字符和图符。有16个代码字符(67点阵)可由用户通过程序自行定义,并可通过命令用此16个代码字符去替换任何驻留代码字型,以便用于多种文字的打印。③可打印出8240点阵的图样(汉字或图案点阵)。代码字符和点阵图样可在一行中混合打印。④字符、图符和点阵图可以在宽和高的方向放大
2、3、4倍。⑤每行字符的点行数(包括字符的行间距)可用命令更换,即字符行间距空点行可在0~256间任选。86准字符和图符。有16个代码字符(67点阵)可由用户通过程序⑥带有水平和垂直制表命令,便于打印表格。(2)Centronics接口信号 国际流行Centronics打印机并行接口,与单片机间通过一条20芯扁平电缆及接插件相连。打印机有一个20线扁平插座,信号引脚排列如图10-24所示。 各引脚功能:DB0~DB7:数据线,由单片机发送给打印机。(STROBE):数据选通信号。在该信号上升沿时,数据线上的8位并行数据被打印机读入机内锁存。87⑥带有水平和垂直制表命令,便于打印表格。3488
图10-24
TPP-40A/16A引脚排列(从打印机背视)35图10-24TPP-40A/16A引脚排列(从打BUSY:打印机“忙”状态信号。信号有效(高电平)时,打印机正忙于处理数据。此时,单片机不得使
信号有效,向打印机送入新的数据。
:应答信号,低电平有效。表明打印机已取走数据线上的数据。
:“出错”信号。当送入打印机的命令格式出错时,打印机立即打印一行提示出错的信息。在打印出错信息之前,该信号线出现一个负脉冲,脉冲宽度为30s。89BUSY:打印机“忙”状态信号。信号有效(高电平)时,打印机90图10-25TPP-40A/16A接口信号时序37图10-25TPP-40A/16A接口信号时序(3)接口信号时序时序如图10-25。选通信号
宽度需大于0.5s。应答信号
可与
信号作为一对应答联络信号,也可与BUSY为一对应答联络信号。2.字符代码及打印命令写入的全部代码共256个,其中00H无效。代码01H~0FH为打印命令;代码10H~1FH为用户自定义代码;代码20H~7FH为标准ASCII代码;TPP-40A/16A可打印的非ASCII代码如图10-26,代码80H~FFH为非ASCII代码,包括少量汉字、希腊字母、块图图符和一些特殊字符。91(3)接口信号时序3892图10-26
TPP-40A/16A可打印的非ASCII代码39图10-26TPP-40A/16A可打印的非(1)字符代码全部字符代码为10H~FFH,回车换行代码0DH为字符串的结束符。当输入代码满40/16个时,打印机自动回车。举例如下。①打印“$2356.73”单片机输出的代码串为24H,32H,33H,35H,36H,2EH,37H,33H,0DH。②打印“23.7cm3”单片机输出的代码串为32H,33H,2EH,37H,63H,6DH,9DH,0DH。93(1)字符代码4094(2)打印命令由一个命令字和若干参数字节组成,表10-18所示为TPP-40A/16A命令代码及功能。有关打印命令的更详细说明,参见技术说明书。41(2)打印命令3.TPP-40A/16A与AT89S51单片机接口设计 直接与AT89S51相接。TPP-40A/16A没有读、写信号,只有握手线
、BUSY(或
),接口电路如图10-27所示。
95图10-27TPP-40A/16A与AT89S51单片机数据总线的接口3.TPP-40A/16A与AT89S51单片机接口设计4单片机用一条地址线(图10-27中使用P2.7,即A15)来控制写选通信号
和读取BUSY状态。图10-28为通过扩展的82C55连接的打印机接口电路。采用查询法,即通过读与82C55的PC0脚的相连的BUSY状态,来判断送给打印机的一个字节的数据是否处理完毕。也可用中断法(BUSY直接与单片机的
脚相连)
96单片机用一条地址线(图10-27中使用P2.7,即A15)来97图10-28
TPP-40A/16A与AT89S51单片机扩展的I/O连接44图10-28TPP-40A/16A与AT89S51【例10-2】把单片机内部RAM的3FH~4FH单元中的ASCII码数据送打印机。82C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 综合医院健康推广
- 2026年护士资格证考试重点串讲笔记
- 2026年西藏旅游市场营销专业仿真题集
- 高考复习知识点基础题-人类与地理环境的协调发展
- 英语五年级下册U3教学方案
- 运输驾驶员诚信考核制度
- 公关服务公司公关物料调配管理制度
- LC基础技术应用 5
- 2026东城一中面试题库及答案
- 废物处理利用工程飞灰建材化利用改建项目可行性研究报告模板-拿地立项申报
- 急诊病历书写规范
- T-CASEI 026-2023 在役立式圆筒形钢制焊接储罐安全附件检验技术标准
- GB/T 5760-2025塑料离子交换树脂氢氧型阴离子交换树脂交换容量的测定
- 重症医学科机械通气监测及护理措施
- (2025年)幼儿园保健医考试题库(附答案)
- 2025年再生资源考试试题及答案
- 雨雾天气安全行车课件
- 前庭大腺脓肿护理
- 江苏常州2014-2022年中考满分作文99篇
- (正式版)DB32∕T 5136-2025 《跨境电商零售进口商品线下展示交易规范》
- 2025年重庆市初中学业水平考试中考(会考)生物试卷(真题+答案)
评论
0/150
提交评论