当前位置:首页 > 工业控制 > 工业控制
[导读]摘要:介绍一种采用MCS51系列单片机控制驱动Hewlett Packard DESKJET 600/800系列喷墨打印机的硬件接口设计和软件设计方法。以控制打印机实现表格打印功能为例,给出了用C51语言编写的一系列相关基本控制程序。单片机

摘要:介绍一种采用MCS51系列单片机控制驱动Hewlett Packard DESKJET 600/800系列喷墨打印机的硬件接口设计和软件设计方法。以控制打印机实现表格打印功能为例,给出了用C51语言编写的一系列相关基本控制程序。

单片机应用系统中最常用的输出打印设备是微型打印机,例如TP系列、UP系列打印机等,对它们的控制技术也较为成熟。但是近年来随着通用打印机的广泛使用,微型打印机的缺点也日益明显:一是通用性及互换性不强;二是打印输出文档的幅面过小,不便于装订及存档。而通用打印机都配有国际标准并行接口(CENTRONICS)和串行接口(RS232/422),纸张大小可任意选择。这些特点是微型打印机所无法抗衡的。因此在越来越多的单片机应用系统中逐渐趋向于使用通用打印?魑?蛴∈涑錾璞浮1疚慕樯芰艘訫CS-51系列单片机为核心,通过CENTRONICS国际标准8位并行接口控制驱动HP-DJ 600/800系列喷墨打印机的硬件接口电路没计方法及控制程序设计方法。

1 CENT日ONICS接口标准

HP-DJ 600/800 系列喷墨打印机采用与C正N-TRONICS标准兼容的并行打印机接口,接口各引脚信号的定义如表1所示。

表1 CENTRONICS接口信号

引脚号  信号  方向  说明 
1  STB  输入  数据选通触发脉冲 
2~9  D0D7  输入  数据线 
10  ACK  输出  应答脉冲 
11  BUSY  输出  “忙”信号 
13  SEL  输出  打印机在线 
14  ERR  输出  故障指示 
12、18~25 GND  -  接地 
2 硬件设计

 

本着统一编址控制的原则,硬件原理如图1所示。

本设计采用MCS-51系列的89C52型单片机,其内部有8K字节的程序存储器,尽可满足本设计的程序、表格的存储要求。在外部扩展了一片数据存储器62256作为打印数据缓冲区,RAM62256的存储容量为32K字节,可以存放大量的打印数据。从原理框图可看出,RAM62256的片选CS端由单片机的P2.7口控制,因此RAM的地址范围为:0000H~7FFFH。

本设计采用查询方式进行打印驱动控制,单片机与打印机的接口包括如下内容:

(1)单片机的八位数据线通过74LS377锁存后与打印机的八位数据线相连,传送打印数据。单片机的P2.7口通过74LS04反相后与74LS377的G端相连,因此单片机向打印机传送数据的口地址为8000H。

(2)单片机的P1.0口提供数据选通信号,它与打印机STB端连接,进行将打印数据送打印机的选通控制。

(3)单片机的P1.1口接打印机的BUSY端,以BUSY信号作为打印机"忙"或"闲"状态查询信号。

3 单片机驱动控制打印机的软件设计

3.1打印机的控制方法

系统上电后,当需要打印的数据出现在数据线上时,只要主机向打印机的STB端发一个负脉冲,就把数据送入了打印机。本设计对打印机的控制采取查询等待方式。首先主机读打印机BUSY线,如果BUSY为高电子则表示打印机正"忙",禁止接收数据,需等待。当打印机取走数据并处理完毕后,BUSY线被置为闲(低电平),同时输出应答脉冲ACK通知主机,可以再次输入数据。控制时序如图2所示。

STB为数据选通信号,打印机在其上升沿时读入数据。当主机发送数据后,需要有0.5μs以上的延时才能向STB线发负脉冲,即图2中的t1值不小于0.5μs;当STB信号从高电平变为低电子后,要保证负脉冲的宽度,亦即图2中的t2值不小于0.5μs;当STB信号从低电平变为高电平后,要保证有0.5μs以上的延时,亦即图2中的t3值不小于0.5μs,以确保打印机将数据可靠读入。控制流程见图3所示。

无论打印机打印输出的是文字还是图形,主机向其发送的.皆是一系列以字节为单位的数据,因此如何向打印机发送数据是关键所在。以下为一数据发送程序实

3.2 控制程序设计

HP-DJ 600/800系列喷墨打印机使用HP PCLLEVEL 3语言,而在单片机控制系统中使用十六进制代码。因此在以下程序设计中,将PCL命令全部替换为用十六进制代码表示。

在单片机实时控制系统中,打印机最常用的功能是将控制系统的测试结果打印出来。下面通过如何实现一张表格的打印来具体说明单片机控制驱动喷墨打印机的软件设计方法。

需要打印的表格如表2所示。首先在windows界面的"附件"的"画图"中制作好如表2的表格,将其保存为文件名:REPORT.BMP,并且在向单片机的程序存储器中烧写程序代码时将此BMP文档代码一并写入,存放在以BMP_ADDR为起始地址的程序区内。BMP_ ADDR的值由所制作的表格大小决定,表格的宽度和长度分别用paper_width和paper_length表示。

表2 需打印的表格

测 试 项 目  技 术 指 标  实 测 值 
+5V电源  +5V±0.2V   
+15V电源  +15V±0.3V   
-15V电源  -15V±0.3V   
+20V电源  +20V±0.5V   

由流程图4可看出,首项工作是由主机向打印机发送命令,利用软件实现打印机的初始化。初始化的内容包括纸张型号、文本长度、上下边距、左右边距的设置等。在本设计中初始化程序如下:

打印机初始化完成后,将打印缓冲区清零。这个打印缓冲区实际上就是位于外部RAM 62256内的一段存储区域,RAM 62256的地址范围是0000H~7FFFH,在本设计中将打印缓冲区的首地址定义为0000H。为了书写方便在以下的程序中用PRINT_BUF表示这个地址值。接着将ROM中以BMP_ADDR为首址的内容读出并写入首址为PRINT_BUF的打印缓冲区内,其代码长度即所设定 打印数据全部存入打印缓冲区后,只要主机向打印机发开始打印命令,将打印缓冲区内的数据按字节依次发往打印机,一张符合要求的表格即打印出来了。具体程序如下:

打印数据全部存入打印缓冲区后,只要主机向打印机发开始打印命令,将打印缓冲区的数据按字节依次发往打印机,一长符合要求的表格即打印出来了。具体程序如下:

所设计的MCS-51系列单片机与喷墨打印机的硬件接口和程序在衡阳无线电总厂的多种测试仪器中应用,效果良好。该硬件接口和软件编程方法具有一定的通用性,适用于采用HP PCL LEVEL 3打印机命令语言并且配有Centronics并行接口的各种打印机,只需在程序中根据不同机型修改个别参数值,即可实现打印输出。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭