1、1微型打印机控制电路的设计摘 要: 目前,电子领域正向着数字化、信息化、微型化的方向发展。打印机作为数据输出设备之一也朝着多功能、高性能的方向发展,微型打印机是电子信息领域中一种很重要的输出设备。本设计基于TPP-40A微型打印机,采用89S52 单片机控制,利用并行接口技术,同时通过液晶显示器显示打印的数据和文字信息。可以实现打印一段固定的汉字和单个任意的数字,同时把打印的内容显示在液晶显示器上。它具有速度快、噪声低、体积小、重量轻、运行可靠、维护成本低等特点。关键词:微型打印机 单片机 液晶显示器 键盘The design of control circuit in Micro-print
2、erAbstract:Nowadays, electronic field is developing towards the direction of digitization、informatization and micromation. As one of data output equipments, the printer is also spreading out in multifunction、high-performance. And the Micro-printer is a very important output equipment in electronic i
3、nformation field. Based on Micro-printerTPP-40A, this design adopts micro-controller (89S52), makes use of parallel-interface technique and in the meantime displays printing data and word information on Liquid Crystal Display. It can print a paragraph of regular Chinese characters and single discret
4、ional number. At the same time the Liquid Crystal Display can display print content. It possesses the characteristics of high-speed、low-noise 、small-volume 、lightweight、reliable running and low cost of maintenance.Keywords: Micro-printer Single Chip Computer Liquid Crystal Display Keyboard2 引言自从 20
5、世纪 70 年代问世以后,单片机作为微型计算机一个很重要的分支,应用广泛,发展迅速,已对很多领域产生了重大影响。尤其是美国 Intel 公司生产的MCS-51 系列单片机,由于其具有集成度高、处理功能强、可靠性好、系统结构简单、价格低廉、易于使用等优点,在我国已经得到广泛使用,并已经在各个技术领域得到了迅猛发展。随着普通打印机价格的下降,它们在单片机系统的应用也逐渐增多。微型打印机是一种通过单片机控制编程,可以自动完成一定打印任务作业的机械装置。微型打印机具有多功能超小体积、可电池供电和便于随身携带的特点。例如 GP 系列和P 系列打印机都是点阵式打印机,因为打印机内部有一个单片机系统,并固化
6、有控打程序,智能化程度很高。打印机启动后,由内部单片机执行程序,就可以接受和分析主机送来的数据和命令,然后通过控制电路,实现对打印头机械动作的控制,进行打印。微型打印机可广泛使用在超市、便利店、餐饮服务、商场打印票据等,可满足不同使用人员的要求。本设计可以实现打印预先设定的汉字和 09 十个数字,可以应用在食堂、超市等地,用来打印小票并可以其显示相关信息。因此微型打印机以其小型化、多功能等特点广泛应用在生产、销售等领域,为人们带来了极大的方便。2 设计要求(1) 支持多种打印命令,命令代码均为单字节,格式简单。(2) 可输出标准的数字、在程序中所设定的汉字和英文字符。(3) 要求简单实用、有高
7、可靠性、良好的性能价格比以及体积小,方便携带。3 系统组成本设计由微型打印机、单片机、键盘、液晶显示器和电源模块等五部分组成,系统框图如图3-1所示。其中单片机部分的作用是控制微型打印机、键盘和液晶显示器;键盘用来输入要打印的信息;显示器用来显示所打印的内容;电源模块则为整个电路提供电源。液晶显示器 单片机 MCU键盘 微型打印机电源图 3-1 系统框图34 硬件部分设计4.1 打印机部分打印机是一种复杂而精密的机械电子装置,无论哪种打印机,其结构基本上都可分为机械装置和控制电路两部分,这两部分是密切相关的。机械装置包括打印头、字车机构、走纸机构、色带传动机构、墨水(墨粉)供给机构以及硒鼓传动
8、机构等等,它们都是打印机系统的执行机构,由控制电路统一协调和控制;而打印机的控制电路则包括CPU主控电路,驱动电路,输入输出接口电路及检测电路等。下面介绍打印机一般原理:打印机是小型机电一体化系统。机械部分为执行机构,在机内CPU及驱动电路控制下完成“数据”打印。打印机的一般构成及工作原理如下图4-1所示: 虽然打印机的外观千变万化,打印出来的图形,色彩也各不相同,但从原理上,我们可将常用的打印机分为三种类型:针式打印机、喷墨打印机和激光打印机。下面重点介绍一下针式打印机的结构和工作原理。4.1.1 针式打印机(1) 针式打印机的工作原理主机送来的代码,经过打印机输入接口电路的处理后送至打印机
9、的主控电路,在控制程序的控制下,产生字符或图形的编码,驱动打印头打印一列的点阵图形,同时字车横向运动,产生列间距或字间距,再打印下一列,逐列进行打印;一行打印完毕后,启动走纸机构进纸,产生行距,同时打印头回车换行,打印下一行;上述过程反复进行,直到打印完毕。 (2) 针式打印机的结构针式打印机关键在于其打印头的结构。打印头的结构比较复杂,可分为打印针,驱动线圈,定位器,激励盘等。简单的说,打印头的工作过程是这样的:当打印头从驱动电路获得一个电流脉冲时,电磁铁的驱动线圈就产生磁场吸引打印针衔铁,接口电路CPU 及控制电路驱动电路打印头电源打印机图 4-1 打印机一般原理图单片机或 PC 系统4带
10、动打印针击打色带,在打印纸上打出一个点的图形。因其直接执行打印功能的是打印针,所以这类打印机被称为针式打印机。针式打印机的种类繁多,型式各异,一般分为打印机械装置和控制与驱动电路两大部分。针式打印机在正常工作时有三种运动,即打印头的横向运动、打印纸的纵向运动和打印针的击针运动。这些运动都是由软件控制驱动系统通过一些精密机械进行的。 打印机械装置主要包括字车与传动机构、打印针控制机构、色带驱动机构,走纸机构和打印机状态传感器,这些机构都为精密机械装置,以保证各种机构能实现下面的各种运动。 字车与传动机构 字车是打印头的载体,打印头通过字车传动系统实现横向左、右移动,再由打印针撞击色带而印字。字车
11、的动力源一般都用步进电动机,通过传动装置将步进电动机的转动变为字车的横向移动。一般用钢丝绳或同步齿形带进行传动。 打印针控制机构 打印针是正确打印的关键。打印针控制机构实现打印针的出针和收针动作。通常利用电磁原理控制打印针的动作。 色带驱动机构 打印针撞击色带,色带上的印油在打印纸上印出字符或图形。在打印过程中,打印头左、右移动时,色带驱动机构驱动色带也同时循环往复转动,不断改变色带被打印针撞击的部位,保证色带均匀磨损,从而既延长了色带的使用寿命,又保证了打印出的字符或图形颜色均匀。 色带驱动机构一般利用字车电动机带动同步齿形带(如LQ-1600K)或钢(尼龙)丝绳驱动色带铀转动,也可采用两个
12、单独的电动机(如某些彩色打印机)分别带动色带正、反向走带。 走纸机构 该机构实现打印纸的纵向移动。当打印完一行后,由它走纸换行。走纸方式一般有摩擦走纸、齿轮馈送和压纸滚筒馈送等。其动力方式为通过牵引机构将步进电动机的转动转变为走纸移动。 打印机状态传感器 对于不同的打印机来说,传感器的设置情况不同。通常有原始位置传感器(检测字车是否停在左边原始位置上)、纸尽传感器(检测所装的打印纸是否用完,用完则报警)、计时传感器(检测字车的瞬时位置)和机盖状态传感器(检测正在打印中的异常开打印机盖操作)等等。 (3) 针式打印机的特点针式打印机由于采用的是机械击打式的打印头,因此穿透力很强,能打印多层复写纸
13、,具备拷贝功能,另外还能打印不限长度的连续纸。使用的耗材是色带,在三种打印机中是最廉价的一种。其缺点就是体积、重量都较大,打印噪音大,精度低,速度慢,一般无打印彩色图像功能。适合有专门要求的专业应用场合,例如财务、税务、金融机构等等。常见的机型有EPSON的LQ系列,如LQ680K;STAR的AR、CR系列,如AR6400等。 54.1.2 喷墨打印机和激光打印机(1) 喷墨打印机喷墨打印机的工作原理基本与针式打印机相同,这两者的本质区别就在于打印头的结构。喷墨打印机的打印头,是由成百上千个直径极其微小(约几微米)的墨水通道组成。当打印头的控制电路接收到驱动信号后,即驱动这些执行单元产生振动,
14、将通道内的墨水挤压喷出;或产生高温,加热通道内的墨水,产生气泡,将墨水喷出喷孔;喷出的墨水到达打印纸,即产生图形。这就是压电式和气泡式喷墨打印头的基本原理。喷墨打印机打印精度高,通常都能打印彩色图像,而且体积及重量都可以做的非常小巧,甚至能随身携带打印,打印时的噪音也很小。因此喷墨打印机的使用成本很高。同时,也不具备拷贝和打连续纸功能。适合对打印质量要求高但数量较小的场合,如家庭,小型办公室等等。常见的机型有EPSON的STYLUS PHOTO系列,如STYLUS PHOTO 900;CANON的i系列,如i6500、i355等。 (2) 激光打印机激光打印机与针式、喷墨打印机的一个本质的区别
15、在于:激光打印机打印一次成像一整页,是逐页打印;而针式和喷墨打印机都是打印头一次来回打印一行,是逐行打印。因此,相同打印要求下,激光打印机的打印速度要比针式打印机和喷墨打印机要快,这也是激光打印机的一个优势所在。激光打印机的打印精度也很高,基本上与喷墨打印机无太大区别。能打印彩色图像,且对打印介质的要求没有喷墨打印机那么高。打印的速度是三种打印机中最快的,而且噪音也很小。但体积和重量相对喷墨打印机要大。只能逐页打印,无拷贝和打印连续纸功能。适合打印数量大,任务重的场合,如大型商务机构,设计、印刷领域等等。常见的机型有惠普HP的LaserJet系列,如LaserJet1010,Color Las
16、erJet 8550等。 4.1.3 微型打印机微型打印机,简称微打,是针对通用打印机而言的,具有处理票据较窄、整机体积较小、操作电压较低的特点。它是广大打印机家族中一个细小而特别的种类,在通常的 IT 刊物、杂志及各类市场调查报告中,微型打印机均鲜有提及,甚至被忽略不记。以致一般的人虽然在生活中经常见到,然而对其缺乏必要的认识和了解。但作为特种打印机系列一个重要的组成部分,微打的市场需求日渐扩大,应用也越来越广泛,越来越多的通用打印机厂商也开始涉及微打领域。 (1) 微型打印机的分类微型打印机具有体积小巧、价格低廉、功能多样的特点,所以在越来越多的领域得到了广泛的应用。下面按不同的方式对微型
17、打印机进行分类: 按打印原理分:针式(细分为字轮式、梭式点阵式、9 针点阵式、24 针点阵式) 、热敏式(细分为列式热敏式、行式热敏式) 、喷墨式、热转印、激光式(后面两种打6印方式的微型机较少) 。 按应用分:由于微型打印机在各行业应用十分广泛,所以分成在金融零售业的ECR(高效消费者响应) 、POS、交通运输业上的打票机、服务行业的排队机等。 按通信方式分:有线通信(串口、并口、USB 或网口) 、无线通信(运用 IrDA 和Bluetooth 技术) 。 (2)针式微型打印机与热敏微型打印机的比较基本工作原理针式微型打印机至少由以下基本关键部件组成:打印机芯、打印控制器、电源和外壳,而打
18、印机芯又由打印头和字车电机运动机构、走纸电机运动机构以及各种传感器等组成。针式微打是通过控制打印头运动和走纸运动,并控制打印头出针击打色带和打印纸,把色带上相应点的墨汁印在打印纸上,从而在纸上打出所需的信息。直热行式热敏微打,其热敏头由一排紧密均匀排列的特殊材料的可加热电阻组成,每个单元电阻对应一个点,控制其不同点的通电即可对相应的点加热,而与其紧密接触的带热敏涂层的热敏纸受热就可以印出相应的点信息,再同时通过走纸的控制,就可以打印出各种信息。另一种热敏微打热转印微打,其工作原理与直热式热敏机基本相同,不同之处在于:热转印微打通过加热带热敏涂层的碳带,把相应碳带加热点上的涂层材料转印到普通的打
19、印纸上。性能表现主要是热敏微打的速度是针式微打的几倍。总之,直热式热敏微打主要在噪声、速度和分辨率上优于针式微打,而针式微打却在拷贝能力和打印后纸张的保存效果(热转印式除外)上优于直热式热敏微打,这些各自的优点奠定了这两大类的微打在不同应用领域受青睐的地位。 随着国内电子政务、电子商务的迅速发展,以及工商、税务电子监控等政策的逐渐实施,对发票和税控收据的自动打印要求将越来越广泛,商业收款和税控发票打印也就成为微型打印机应用最为广泛的领域,而热敏式、9 针串行点阵式打印方式则在此领域应用最为广泛。 此外,随着微型打印机技术的发展,各种新型的微型打印机也慢慢走向市场,如便携式微型打印机,它在水、电
20、、燃气等抄表业务中得到了很好的推广。相对于传统的手工抄表,然后录入电脑,再由电脑打印出单据送到用户手中,便携式微打表现出了极大的方便性。类似的应用还有火车上的移动式补票机等。4.2单片机芯片部分89S52是标准的40引脚双列直插式集成电路芯片 1,引脚排列请参见下图4-2:7p1.01p1.12p1.23p1.34p1.45p1.56p1.67p1.78RST/VPD9RXD/P3.010TXD/P3.111INT0/P3.212INT1/P3.313T0/P3.414T1/P3.515WR/P3.616RD/P3.717XTAL218XTAL119GND20 P2.0 21P2.1 22P2
21、.2 23P2.3 24P2.4 25P2.5 26P2.6 27P2.7 28PSEN 29ALE/PROG 30EA/VPP 31P0.7 32P0.6 33P0.5 34P0.4 35P0.3 36P0.2 37P0.1 38P0.0 39VCC 40图4-2 89S52芯片引脚4.2.1 信号引脚介绍(1) 输入/输出口线P0.0 P 0.7 P0口8位双向口线P1.0 P 1.7 P1口8位双向口线P2.0 P 2.7 P2口8位双向口线P3.0 P 3.7 P3口8位双向口线(2) 地址锁存控制信号(ALE)在系统扩展时,ALE用于控制把P 0口输出的低8位地址送入锁存器锁存起来,
22、以实现低位地址和数据的分时传送。此外由于ALE是六分之一晶振频率的固定频率输出的正脉冲,因为可作为外部时钟或外部定时脉冲使用。(3) 外部程序存储器读选通信号(/PSEN)在读外部ROM时/PSEN有效(低电平),以实现外部ROM单元的读操作。(4) 访问程序存储器控制信号(/EA)当/EA信号为低电平时,对ROM的读操作限定在外部程序存储器;而当/EA信号为高电平时,则对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储器。(5) 复位信号(RST)当输入的复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的复位操作。(6) 外接晶体引线端(XTAL 1和XTAL 2)当
23、使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。8(7) 地线(Vss)(8) +5V电源(Vcc)以上就是89S52单片机芯片40条引脚的定义及简单功能说明 2。4.2.2 信号引脚的第二功能由于工艺及标准化等原因,芯片的引脚数目是有限制的,例如MCS-51系列单片机芯片引脚的数目是40条,但单片机为实现其功能所需要的信号数目却远远超过此数,因此就出现了供需问题。解决这一问题唯一可行的办法是“复用”,即给一些信号引脚赋予双重功能。如果我们把前述的信号定义为引脚第一功能的话,则根据需要再定义的信号就是它的第二功能。第二功能信号定义主要集中在P
24、 3口线中,另外再加上几个其它信号线。(1) EPROM 存储器程序固化所需要的信号P3的8条口线都定义有第二功能,详见表4-1。表4-1 P 3口线的第二功能口线第二功能 信号名称P3.0RXD 串行数据接收P3.1TXD 串行数据发送P3.2/INT0 外部中断0申请P3.3/INT1 外部中断1申请P3.4T0 定时器/计数器0计数输入P3.5T1 定时器/计数器1计数输入P3.6/WR 外部RAM写选通P3.7/RD 外部RAM读选通有内部EPROM的单片机芯片(例如87C51),为写入程序需提供专门的编程脉冲和编程电源,它们也是由信号引脚以第二功能的形式提供的,即:9编程脉冲: 30
25、脚(ALE/PROG)编程电压(25V):31脚(/EA/V PP)(2) 备用电源引入MCS-51 单片机的备用电源也是以信号引脚第二功能的方式由 9 脚(RST/VPD)引入的。当电源发生故障,电压降低到下限值时,备用电源经此端向内部 RAM 提供电压,以保护内部 RAM 中的信息不丢失。4.3 单片机与微型打印机的接口4.3.1微型打印机 TPP-40A 的主要性能、接口要求及时序TPP-40A 是一种单片机控制的微型智能打印机。每行打印 40 个字符 3。(1) TPP-40A 主要技术性能 采用单片机控制,具有 2KB 控达程序标准的 Centronic 并行接口。 具有较丰富的打印
26、命令,命令代码均为单字节,格式简单。 可产生全部标准的 ASCII 代码字符,以及 128 个非标准字符和图符。有 16 个代码字符(67 点阵)可由用户通过程序自行定义。并可通过命令用此 16 个代码字符去更换任何驻留代码字型,以便用于多种文字的打印。 可打印出 8240 点阵的图样(汉字或图案点阵) 。代码字符和点阵图样可在一行中混合打印。 字符、图符和点阵图可以在宽和高的方向放大为2、3、4 倍。 每行字符的点行数(包括字符的行间距)可用命令更换。即字符行间距空点行在0256 间任选。 带有水平和垂直制表命令,便于打印表格。 具有重复打印同一字符命令,以减少输送代码的数量。 带有命令格式
27、的检错功能。当输入错误命令时打印机立即打印错误信息代码。(2) 接口信号TPP-40A 微型打印机与单片机间是通过一条 20 芯扁平电缆及接插件相连(如图 4-3 所示) 。打印机有一个 20 线扁平插座,信号引脚排列如表 4-2 所示: 表 4-2 打印机信号引脚排列2 4 6 8 10 12 14 16 18 20GNDGND GND GND GND GND GND GND /ACK /ERR/STB DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 BUSY1 3 5 7 9 11 13 15 17 19插入扁平电缆插头从打印机背面视图图 4-3 扁平电缆和插件接口2 20
28、19110其中: DB0DB7:数据线,单向传输,由单片机输入给打印机。 /STB(STROBE):数据选通信号。在该信号的上升沿时,数据线上的 8 位并行数据被打印机读入机内锁存。 BUSY:打印机“忙”状态信号。当该信号有效(高电平)时,表示打印机忙于处理数据。此时,单片机不得使 STB 信号有效,向打印机送入新的数据。 /ACK:打印机的应答信号。低电平有效,表明打印机已取走数据线上的数据。 /ERR:“出错”信号。送入打印机的命令格式出错时,打印机立即打印一行出错信息提示出错。在打印出错信息之前该信号线出现一个负脉冲,脉冲宽度为30s。(3) 接口信号时序 4接口信号时序如图 4-4
29、所示。选通信号/STB 宽度需大于 0.5s。/ACK 应答信号可与/STB 信号作为一对应答联络信号,可使用/STB 与 BUSY 作为一对应答联络信号 5。20ns 50ns NEXTXT050ns6sBUSY时间不定(不同命令、数据而异)2030sDB0DB7/STB/ACK图 4-4 接口信号时序图114.3.2 字符代码及打印命令TPP-40A 全部代码共 256 个,其中 00H 无效,代码 01H0FH 为打印命令;代码 10H1FH 为用户自定义代码;代码 20H7FH 为标准 ASCII 代码;代码 80HFFH为非 ASCII 代码,其中包括少量汉字、希腊字母、块图图符和一
30、些特殊的字符。(1) 字符代码TPP-40A 中全部字符代码为 10HFFH,回车换行代码 0DH 为字符串的结束符。但当输入代码满 40 个时,打印机自动回车。几个例子如下: 打印“2356.73”输送代码串为:24,32,33,35,36,2E,37,33,0D。 打印“23.7”输送代码为:32,33,2E,37,63,6D,9D,0D。 打印“This is Micro-Printer”输送代码串为:54H,68H, 69H,73H, 20H,69H,73H,20H, 4DH,69H,63H,72H, 6FH,2DH,70H,72H,69H,6EH,74H,65H,72H,2EH,0D
31、H。(2) 打印命令打印命令由一个命令字和若干个参数字节组成,命令结束符为 0DH,除下述表中代码 06H 的命令必须用它外,均可省略。TPP-40A 命令代码及功能见表 4-3。表 4-3 TPP-40A 命令代码及功能命令代码 命令功能01H 打印字符、图等,增宽(1、2、3、4)02H 打印字符、图等,增高(1、2、3、4)03H 打印字符、图等,宽和高同时增加(1、2、3、4)04H 字符间距更换或定义05H 用户自定义字符点阵06H 驻留代码字符点阵式样更换07H 水平(制表)跳区08H 垂直(制表)跳行09H 恢复 ASCII 代码和清输入缓冲区命令0AH 一个空格后回车换行0BH
32、0CH 无效0DH 回车换行/命令结束0EH 重复打印同一字符命令120FH L 打印点阵图命令(3) 命令非法时的出错显示当主机向 TPP-40A 输入非法命令时,打印机即打印出错代码。其意义为:ERROR0: 放大系数出界,即放大倍数是 1,2,3 和 4 以外的数字。此错误出现在 01H,01H,03H 命令时。ERROR1:定义代码非法。用户自定义代码不是 10H1FH.ERROR2:非法换码命令。换码命令只能用 10H1FH 去代换驻留字符代码,否则为非法。ERROR3:绘图命令错误。指定图形字节数为 0 或大于 240。ERROR4:垂直指标命令错误。指定空行数为零 6。4.3.3
33、 TPP-40A 与 MCS-51单片机接口设计TPP-40A 是智能打印机,其控制电路由单片机构成,在输入电路中有锁存器,在输出电路中有三态门控制。因此可以不通过 I/O 口直接与单片应用系统的总线连接,即打印机的数据线可以以外部 I/O 口的形式与 MCS-51 系列单片机的 P0 口相连。如图 4-5 所示: TPP-40A 没有读、写信号线,只有一对握手线/STB、BUSY ,因此,用一根地址线(使用 P2.7)来控制读写信号选通 /STB 和读取打印机的 BUSY状态 7。4.4 单片机与液晶显示器的接口显示器部分是由液晶显示控制行、列驱动器和 HY128*64 液晶显示器组成的 8
34、。 4.4.1 液晶显示控制驱动器 HD61202的特点HD61202 液晶显示控制驱动器是一种带有驱动输出的图形液晶显示控制器,它可直接与 8 位微处理器相连,它可与 HD61203 配合对液晶屏进行行、列驱动。323334353637383920 2635791113/WRP2.7/RDP0.789S52P0.0GND/STBBUSYDB7TPP-40ADB0GND111161917151728图 4-5 单片机和微型打印机的接口13HD61202 是一种带有列驱动输出的液晶显示控制器,它可与行驱动器 HD61203 配合使用,组成液晶显示驱动控制系统。(1) 内藏 6464=4096 位
35、显示 RAM,RAM 每位数据对应 LCD 屏上一个点的亮暗状态;(2) HD61202 是列驱动器,具有 64 路列驱动输出;(3) HD61202 读、写操作时序与 68 系列微处理器相符,因此它可直接与 68 系列微表 4-4 与微处理器的接口信号引脚功能引脚符号 状态 引脚名称 功能CS1,CS2,CS3 输入 芯片片选端 CS1 和 CS2 低电平选通,CS3 高电平选通。E输入读写使能信号在 E 下降沿,数据被锁存(写)入 HD61202;在 E 高电平期间,数据被读出R/W 输入 读写选择信号 R/W=1 为读选通,R/W=0 为写选通RS 输入 数据、指令选择信号 RS=1 为
36、数据操作 RS=0 为写指令或读状态DB0-DB7 三态 数据总线RST 输入 复位信号 复位信号有效时,关闭液晶显示,使显示起始行为 0,RST 可跟 MPU 相连,由 MPU 控制;也可直接接 VDD,使之不起作用。处理器接口相连;(4) HD61202 的占空比为 1/32-1/64。4.4.2液晶显示控制驱动器 HD61202的引脚功能HD61202 的与各种器件信号的引脚功能如表 4-4,表 4-5,表 4-6 所示:表 4-5 与 HD61203 接口信号引脚功能M 输入 交流驱动波形信号FRM 输入 帧同步信号CL 输入 锁存行显示数据的同步信号 该信号上升沿时锁存数据,同时改变
37、显示输出地址1,2 输入 内部操作时钟信号14表 4-6 与 LCD 接口信号引脚功能4.4.3液晶显示控制驱动器 HD61202的指令系统HD61202 的指令系统比较简单,总共只有七种。现分别介绍如下: (1) 显示开/关指令表 4-7 显示开/关指令R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 0 0 1 1 1 1 1 1/0当 DB0=1 时,LCD 显示 RAM 中的内容;DB=0 时,关闭显示。(2) 显示起始行(ROW)设置指令表 4-8 显示起始行设置指令R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0
38、1 1 显示起始行(0-63)该指令设置了对应液晶屏最上一行的显示 RAM 的行号,有规律的改变显示起始行,可以使 LCD 实现显示滚屏的效果。(3) 页(RAGE)设置指令表 4-9 页设置指令R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 1 0 1 1 1 页号(0-7)显示 RAM 共 64 行,分 8 页,每页 8 行。(4) 地址(Y Address)设置指令表 4-10 地址设置指令R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0Y1-Y64 液晶显示驱动端VDD,VSS内部逻辑电源VEE1,VEE2液晶显示驱动电路
39、的电源常令 VEE1=VEE2V1L-V4L,V1R-V4R液晶显示驱动电压 其电压值均在 VCC 和 VEE 之间,常令V1L=V1R,V2L=V2R,V3L=V3R , V4L=V4RADC 决定 Y1-Y64 与液晶屏的连接顺序ADC=1JF,Y1=$0,Y64=$63ADC=0 时,Y1=$63,Y64=$0该引脚直接接 VCC 或 GND 即可150 0 0 1 显示列地址(0-63)设置了页地址和列地址,就唯一确定了显示 RAM 中的一个单元,这样 MCU 就可以用读、写指令读出该单元中的内容或向该单元写进一个字节数据。(5) 读状态指令表 4-11 读状态指令R/W RS DB7
40、 DB6 DB5 DB4 DB3 DB2 DB1 DB01 0 BUSY 0 ON/OFF REST 0 0 0 0该指令用来查询 HD61202 的状态,各参量含义如下:BUSY: 1-内部在工作 0-正常状态ON/OFF:1-显示关闭 0-显示打开REST: 1-复位状态 0-正常状态在 BUSY 和 REST 状态时,除读状态指令外,其它指令不对 HD61202 产生作用。在对 HD61202 操作之前要查询 BUSY 状态,以确定是否可以对 HD61202 进行操作。(6) 写数据指令表 4-12 写数据指令R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00
41、 1 写 数 据(7) 数据指令读、写数据指令每执行完一次读、写操作,列地址就自动增一,必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的。表 4-13 数据指令R/W RS DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB01 1 读 显 示 数 据4.4.4 HY-12864的电路结构特点HY-12864 是使用 HD61202 作为列驱动器,同时使用 HD61203 作为行驱动器的液晶模块 9。由于 HD61203 不与 MCU 发生联系,只要提供电源就能产生行驱动信号和各种同步信号,比较简单。下面主要介绍以下 HY12864 这个模块的逻辑
42、电路图。HY-12864 共有两片 HD61202 和一片 HD61203,如下图 4-6 所示:LCD 64行振荡电路16Vss Vdd Vo RS R/WE DB0 DB1 DB7 CS1 CS2 RES 图 4-6 逻辑电路图在 HY-12864 中,两片 HD61202 的 ADC 均接高电平,RST 也接高电平,这样在使用 HY-12864 时就不必再考虑这两个引脚的作用。/CSA 跟 HD61202(1)的/CS1 相连;/CSB 跟 HD61202(2)的 CS1 相连,因此/CSA、/CSB 选通组合信号为/CSA,/CSB=01选通(1) ,/CSA,/CSB=10 选通(2
43、) 。对于 HY-12864 只要供给 VDD、VSS 和 V0 即可,HD61202 和 HD61203 所需电源将有模块内部电路在 VDD 和 V0、VSS 的作用下产生的10。4.4.5 HY-12864的应用图 4-7 接口电路原理图上面是液晶显示器 HY12864 与单片机 89S52 的接口电路。控制电路为直接访问方式的接口电路 11。电路原理图如上图所示: 单片机的 P0 端口直接与显示器的数据端口相连;电位器用来调节显示器屏幕亮度,而负电源由显示器本身提供;单片机的读写信号端口通过与非门控制显示器的读写使能端,高电平时数据被读出,下降沿时数据被锁存即写入列驱动器;P2.3 口控
44、制芯片片选端(第二个列驱动器) ,P2.2 口控制芯片片选端(第一个列驱动器) ,且二者均为低电平有效;P2.1 口控制读写选通信号,输入低电平时写选通,本设计64 列 64 列同步脉冲DB0-DB7控制BL-BL+Vee17不需读入,所以只要低电平即可;P2.0 口控制数据指令选择信号,高电平为数据操作,低电平写指令或读状态,即先为 0 写入控制字再为 1 写入数据代码确定什么字。4.5 键盘部分4.5.1 单片机键盘和键盘接口概述单片机使用的键盘可分为独立式和矩阵式两种。独立式实际上就是一组相互独立的按键,这些按键可直接与单片机的I/O接口连接,其方法是每个按键独占一条口线,接口简单 12
45、。矩阵式键盘也称行列式键盘,因为键的数目较多,所以键按行列组成矩阵(如图4-8所示) 。图4-8 键盘接口电路图按一个键到键的功能被执行主要应包括两项工作:一是键的识别,即在键盘中找出被按的是哪个键,另一项是键功能的实现。第一项工作是使用接口电路实现的,而第二项工作则是通过执行中断服务程序来完成。下面来介绍键盘接口问题 13。具体来说,键盘接口应完成以下操作功能:a 键盘扫描,以判定是否有键被按下(称之为“闭合键” ) 。b 键识别,以确定闭合键的行列位置。c 产生闭合键的键码。d 排除多键、串键(复按)及去抖动。这些内容通常是以软硬件结合的方式来完成的,即在软件的配合下由接口电路来完成。但具
46、体那些由硬件完成由软件完成,要看接口电路的情况。总的原则是,硬件复杂软件就简单,硬件简单软件就得复杂一些。可以为MCS-51单片机实现键盘接口的方法和接口芯片有:a 使用单片机芯片本身的并/串行口b 使用通用接口芯片(例如8255、8155等)/专用接口芯片82794.5.2 单片机键盘接口和键功能的实现(1) 键盘接口处理内容 键扫描SW-PBS3SW-PBS9SW-PBSFSW-PBS0SW-PBS4SW-PBS1SW-PBS2SW-PBS6SW-PBSASW-PBS5SW-PBSESW-PBSB SW-PBS7SW-PBS8SW-PBSCSW-PBSDP1.0P1.1P1.1P1.2P1
47、.3P1.0P1.3P1.2P1.4P1.5P1.7P1.4P1.5P1.6P1.7P1.6EA/VP31X119 X218RESET9RD17 WR16INT012 INT113T014 T115P101 P112 P123P134 P145 P156P167 P178P00 39P0138P02 37P03 36P0435P05 34P06 33P0732P20 21P2122P22 23P23 24P2425P25 26P26 27P2728PSEN 29ALE/P 30TXD 11RXD 108051U?18键盘上的键按行列组成矩阵,在行列的交点上都对应有一个键。为判定有无键被按下(闭
48、合键)以及被按键的位置,可使用两种方法:扫描法和翻转法,其中以扫描法使用较为普遍。因此下面以扫描法为例,说明查找闭合键的方法。现以图4-9所示的4行4列键盘为例,对键扫描进行说明。图4-9 键扫描法示意图首先是判定有没有键被按下。如图4-9所示,键盘的行线一端经电阻接+5V电源,另一端接单片机的输入口线。各列线的一端接单片机的输出口线,另一端悬空。为判定有没有键被按下,可先经输出口向所有列线输出低电平,然后再输入各行线状态。若行线状态中有低电平,则表示有键被按下。然后再判定被按键的位置。因为在键盘矩阵中有键按下时,被按键处的行线和列线被接通,使穿过闭合键的那条行线变为低电平。假定图4-9中A键被按下,则判定键位置的扫描是这样进行的:输入口11110 1 1 1+5V输出口(a)11011 1 0 1输入口+5V输出口(c)(b)输入口输出口11111 0 1 1+5V19先使输出口输出0EH,然后输入行线状态,测试行线状态中是否有低电平(图4-9(a) ) 。如果没有低电平,再使输出口输出0DH,再测试行线状态(图4-9(b) ) 。到输出口输出0BH时,行线中有状态为低电平者,则闭合键找到(图4-9(c) ) ,通过此次扫描的行线值和列线值就可以知道闭合键的位置。至此行扫描似乎可以结束,但实际上扫描往往要继续进行下去,以发现可能出现的多键同时被按下。 去抖动当扫描表明有键被