基于单片机的喷墨打印机控制技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于单片机的喷墨打印机控制技术 摘要介绍一种采用 51 系列单片机控制驱动 600800 系列喷墨打印机的 硬件接口设计和软件设计方法。 以控制打印机实现表格打印功能为例,给出了用 51 语言编写的一系 列相关基本控制程序。 关键词单片机喷墨打印机 3 语言 单片机应用系统中最常用的输出打印设备是微型打印机,例如系列、 系列打印机等,对它们的控制技术也较为成熟。 但是近年来随着通用打印机的广泛使用,微型打印机的缺点也日益明 显一是通用性及互换性不强;二是打印输出文档的幅面过小,不便于装订 及存档。 而通用打印机都配有国际标准并行接口和串行接口 232/422, 纸张大 小可任意选择。 这些特点是微型打印机所无法抗衡的。 因此在越来越多的单片机应用系统中逐渐趋向于使用通用打印机作 为打印输出设备。 本文介绍了以-51 系列单片机为核心,通过国际标准 8 位并行接口控 制驱动-600/800 系列喷墨打印机的硬件接口电路没计方法及控制程序设
计方法。 1 日接口标准 -600/800 系列喷墨打印机采用与正-标准兼容的并行打印机接口,接 口各引脚信号的定义如表 1 所示。 表 1 接口信号 引脚号信号方向说明 1 输入数据选通触发脉冲 2~907 输入数据线 10 输出应答脉冲 11 输出忙信号 13 输出打印机在线 14 输出故障指示 12、 18~ 25-接地 2 硬件设计 本着统一编址控制的原则,硬件原理如图 1 所示。 本设计采用-51 系列的 8952 型单片机, 其内部有 8 字节的程序存储器, 尽可满足本设计的程序、表格的存储要求。 在外部扩展了一片数据存储器 62256 作为打印数据缓冲区,62256 的 存储容量为 32 字节,可以存放大量的打印数据。 从原理框图可看出,62256 的片选端由单片机的 2.7 口控制,因此的 地址范围为 0000~7。 本设计采用查询方式进行打印驱动控制,单片机与打印机的接口包括 如下内容 1 单片机的八位数据线通过 74377 锁存后与打印机的八位数据线相连, 传送打印数据。 单片机的 2.7 口通过 7404 反相后与 74377 的端相连,因此单片机向 打印机传送数据的口地址为 8000。
2 单片机的 1.0 口提供数据选通信号,它与打印机端连接,进行将打 印数据送打印机的选通控制。 3 单片机的 1.1 口接打印机的端,以信号作为打印机"忙"或"闲"状态 查询信号。 3 单片机驱动控制打印机的软件设计 3.1 打印机的控制方法 系统上电后,当需要打印的数据出现在数据线上时,只要主机向打印 机的端发一个负脉冲,就把数据送入了打印机。 本设计对打印机的控制采取查询等待方式。 首先主机读打印机线,如果为高电子则表示打印机正"忙",禁止接收 数据,需等待。 当打印机取走数据并处理完毕后,线被置为闲低电平,同时输出应答 脉冲通知主机,可以再次输入数据。 控制时序如图 2 所示。 为数据选通信号,打印机在其上升沿时读入数据。 当主机发送数据后,需要有 0.5μ 以上的延时才能向线发负脉冲,即 图 2 中的 1 值不小于 0.5μ;当信号从高电平变为低电子后,要保证负脉 冲的宽度,亦即图 2 中的 2 值不小于 0.5μ;当信号从低电平变为高电平 后,要保证有 0.5μ 以上的延时,亦即图 2 中的 3 值不小于 0.5μ,以确 保打印机将数据可靠读入。 控制流程见图 3 所示。 无论打印机打印输出的是文字还是图形,主机向其发送的.皆是一系
列以字节为单位的数据,因此如何向打印机发送数据是关键所在。 以下为一数据发送程序实 3.2 控制程序设计 -600/800 系列喷墨打印机使用 3 语言,而在单片机控制系统中使用 十六进制代码。 因此在以下程序设计中,将命令全部替换为用十六进制代码表示。 在单片机实时控制系统中,打印机最常用的功能是将控制系统的测试 结果打印出来。 下面通过如何实现一张表格的打印来具体说明单片机控制驱动喷墨 打印机的软件设计方法。 需要打印的表格如表 2 所示。 首先在界面的"附件"的"画图"中制作好如表 2 的表格,将其保存为文 件名.,并且在向单片机的程序存储器中烧写程序代码时将此文档代码一 并写入,存放在以 _为起始地址的程序区内。 _的值由所制作的表格大小决定,表格的宽度和长度分别用_和_表示。 表 2 需打印的表格 测 试 项 目技 术 指 标实 测 值 +5 电 源 +5±02+15 电源 +15±03-15 电源 -15±03+20 电源+20±05 由流程图 4 可看出,首项工作是由主机向打印机发送命令,利用软件 实现打印机的初始化。 初始化的内容包括纸张型号、文本长度、上下边距、左右边距的设置
等。 在本设计中初始化程序如下 打印机初始化完成后,将打印缓冲区清零。 这个打印缓冲区实际上就是位于外部 62256 内的一段存储区域, 62256 的地址范围是 0000~7,在本设计中将打印缓冲区的首地址定义为 0000。 为了书写方便在以下的程序中用_表示这个地址值。 接着将中以_为首址的内容读出并写入首址为_的打印缓冲区内,其代 码长度即所设定打印数据全部存入打印缓冲区后,只要主机向打印机发开 始打印命令,将打印缓冲区内的数据按字节依次发往打印机,一张符合要 求的表格即打印出来了。 具体程序如下 打印数据全部存入打印缓冲区后,只要主机向打印机发开始打印命令, 将打印缓冲区的数据按字节依次发往打印机,一长符合要求的表格即打印 出来了。 具体程序如下 所设计的-51 系列单片机与喷墨打印机的硬件接口和程序在衡阳无线 电总厂的多种测试仪器中应用,效果良好。 该硬件接口和软件编程方法具有一定的通用性,适用于采用 3 打印机 命令语言并且配有并行接口的各种打印机,只需在程序中根据不同机型修 改个别参数值,即可实现打印输出。