0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用单片机控制微型打印机的资料详细概述

Wildesbeast 来源:单片机教程网 作者:单片机教程网 2020-06-21 11:04 次阅读

1引言

由于常用的微型针式打印机的速度慢,噪声大,无法满足某些场合的需要。微型热敏打印机具有打印速度快、噪音低、可靠性高、字迹清晰、机头小而轻等优点,可满足各种场合的打印要求,因此得到广泛应用。笔者在汽车行驶记录仪的开发过程中,根据厂家要求,选用较为先进的热敏打印机作为打印设备。但微型热敏打印头对打印时序和温度要求较高,一旦控制不当极易造成打印头烧毁。因此,在有合理的硬件设计的基础上,软件设计也十分重要。本文使用某些软件设计替代了部分硬件电路,使打印机的控制电路得到了简化。

介绍了基于89S51单片机的微型热敏打印机的组成,分析了打印原理,详细给出了整体流程以及各个功能模块的软件设计。热敏打印头采用I/O口模拟串行数据传输实现数据加载。设计的微型热敏打印机运用于实际,取得了良好的效果。

2 打印原理

选用的FTP-628作为热敏打印头。该热敏打印头点结构384点/行,水平方向点密度:8点/mm,垂直方向行间距:8点/mm。有效打印宽度48mm。打印速度最大为60mm/秒[1]。

要打印的数据在时钟CLK的配合下,经由数据输入脚DI移到热敏机芯内部的移位寄存器中。经384个时钟周期,一行384位数据全部移到移位寄存器后,锁存端的锁存信号/LAT由CPU置低,移位寄存器的数据被锁存到锁存器。然后热敏头加热控制信号STB产生高电平,此时根据384点输入的DI数据是1或者是0决定发热元件是否发热,由此在热敏纸上产生要打印的点行。

3 系统整体框图

本文介绍的微型热敏打印机由主控芯片步进电机驱动模块、热敏打印头过热保护模块、热敏打印头缺纸检测模块、RS-232通信模块、供电模块等部分组成。其中步进电机驱动模块负责控制打印纸走纸及走纸速度;热敏打印头过热保护模块防止热敏打印头温度过高损坏;热敏打印头缺纸检测电路完成热敏打印头是否有纸检测;RS-232通信模块实现打印机与上位机之间的通信;供电模块给控制电路及热敏打印头供电。根据实际需要,考虑成本,选择89S51单片机作为主控芯片[2]。如图1,给出了主控芯片与各个模块之间的接口功能设计。

图1 主控芯片与功能模块的接口设计

4 系统软件设计

4.1 整体流程

如图2,给出了整个系统工作的软件流程图。本热敏打印机的软件设计主要是通过RS-232通信模块接收由主机传来的数据。当接收到数据时,首先要判断是命令字还是字符 数据。如果是命令字,则打印机按照命令动作;如果判断为字符数据,则从字库中提取字符点阵,按行打印,走纸。

图2 系统工作流程图

4.2 数据加载与印字

将内存缓冲区的数据输出到热敏打印头的移位寄存器中,可以通过硬件方式和软件移位的方式实现[3]。本打印机实现方案采用的是后者。一般情况下,软件移位是由I/O口模拟串行数据传输时序。图3为I/O口实现数据移位流程图。P1.0口模拟时钟CLOCK,P1.1口在CLOCK的配合下输出数据DATA,输出数据到热敏打印头内部的移位寄存器中。

P2[0:5]分别与打印头内部的加热选通信号STB[0:5]相连接。当数据全部移入到移位寄存器后,对STB[0:5]操作,加热印字。由于热敏打印机是通过打印头加热后在热敏打印纸上灼烧印字,所以,加热时间的长短决定了印字的清晰与快慢。因此,根据实际情况,合理的设计加热时间对于实现热敏打印机的高质量打印十分重要。

图3 I/O口实现数据移位流程图

4.3 步进电机走纸及驱动

图4 I/O口模拟输出PWM的时序图

设计的热敏打印机内部的二相四拍步进电机控制打印头的走纸及走纸速度。由2路I/O口模拟2路PWM输出,再经过两个非门,将输出的2路模拟PWM波形转换为4路,输入步进电机驱动器,驱动步进电机[4]。图4为P1.2与P1.3口模拟输出PWM的时序图。在一个周期内,P1.2较P1.3延时3/4个周期。

4.4 保护与中断

热敏打印头加热时间一般为1ms,连续加热超过1s后,很容易烧毁、损坏热敏头,所以实际的热敏打印机必须对热敏打印头添加过热保护电路。当热敏打印头温度过高时,过热保护模块输出一个低电平到/INT0脚,使打印机进入中断[3]。图5为过热保护中断流程图。进入中断后,主控芯片断开热敏打印头加热供电控制继电器,停止热敏打印头的加热供电,并暂停其他动作。当热敏打印头温度降低后,则过热保护模块输出一个高电平到/INT0脚,此时,打印机延时一段时间后出中断。

热敏打印头内部用光电继电器作为传感器,检测打印头是否有纸。当热敏打印头无纸时,传感器中的发光二极管发出的光束无法经由打印纸反射到光敏三极管上,光敏三极管由此而无法导通,经过外部电路后,/INT1为低电平,进入中断。反之,/INT1为高电平,工作正常。其中断流程与过热保护中断类似。

图5 过热保护中断流程图

4.5 字符库的构造与提取

由于本打印机是应用于汽车行驶记录仪的专用打印机,按照汽车行驶记录仪的要求,约需使用100个左右的汉字以及26个大写英文字母以及10个阿拉伯数字,为降低字库对硬件存储空间的要求,采用自定义的字符库。另外,自定义的字符库灵活性较强,在自定义字库中,这样既可以在同等打印宽度的情况下实现灵活打印,也可以使打印出来的字符效果美观。提取字符点阵时,首先判断字符类型,再寻得要打印字符的首地址,按照该字符的点阵规范,从字库中取出打印点阵放入缓冲区,进而加载,并打印。

5 结束语

本文使用软件实现了热敏打印机的运行控制。实验证明,微型热敏打印机在实时性要求不高的诸多场合能正常运行,验证了设计方案的合理性。而对于实时性要求高、成本并不敏感的打印环境,则应该引入实时操作系统,实现对打印机的实时操作。

本文创新点:为简化硬件电路,采用软件移位实现数据加载,通过软件产生步进电机所需的 PWM驱动信号;为减小打印机对存储空间的需求,针对汽车行驶记录仪使用字符少的特点,设计了自定义的字符库。

下面还介绍一个

摘要:在分析M-164微型打印机控打原理的基础上,设计了以89C52为核心的汉字微型打印机,介绍了主要的硬件构成及主要的控打软件。这种微型打印机是仪器仪表的重要输出设备。

关键词:单片机;打印控制;并行接口;存贮器

1引言

由于单片机具有简单实用、高可靠性、良好的性能价格比以及体积小等优点,已经在各个技术领域得到了迅猛发展。本文着重介绍89C52对并行接口的微型打印机的控制,以便更好地了解和掌握单片机对外部接口的一般和一些特殊功能的应用。

2控制打印原理

89C52单片机执行程序存贮器中的程序,控制电机带动滑槽轮及蜗杆转动[1],使打印机的机头滑架左右移动,从而不断改变同一点行上的打点位置。蜗杆的转动一方面通过凸轮带动走纸机构实行走纸,另一方面驱动色带移动。电机转动时感应线圈有一个3 V的正弦信号,经过整形电路后成为方波,此方波输入到89C52,经过89C52相应的指令检测此方波的变化时刻(从上升沿变到下降沿或者从下降沿变到上升沿时刻),在方波变化时刻使打印机的相应打针进行冲打,完成打印任务,同时由这个方波的变化确保各打印点之间的距离相等。当机头滑架到达最左边时,磁铁使干簧管闭合,这时单片机送出一负脉冲作为行同步信号,使每行打印时在最左端对齐。

3硬件组成

3.1驱动电路

用89C52的P1口的P10~P14分别控制打印机的电机及打印针头,P3.3控制干簧继电开关,当滑架到达最左端时,电机每转一圈,干簧继电开关闭合一次,P3.3就接地一次发出一负脉冲作为同步信号,以保证打印时每行在最左端对齐。在以前众多微型打印机中,由于应用三极管的拉电流,当单片机上电复位时P1口的初始状态为输入方式,所以P10~P17均为高电平,如果没有一个非门[2],则单片机上电复位时就会使组成功率放大器(由2个NPN管构成)的三极管导通,从而使电机转动和4个打针同时通电,这是不允许的。在这里使用灌电流足以驱动电机和打针,故不需非门,如图1所示。

电机转动时,感应线圈输出幅值为3 V的正弦波,经10,11两端子送出到晶体管整形为方波后送入P3.4,P3.4检测此方波作为打印同步信号,以确保打印点之间距离相等。4只打针循环同步情况如图2所示。由图2可知:A,C打针是在方波下降到来时刻冲打,B,D打针在方波上升到来时冲打。

4只打针A,B,C,D在滑架上从左到右水平安装,间隔24个点位。在打印每行96个点时,他们同时移动。次序依次通电激励,每打1点,滑架右移1/4点位,4只打针打完正好移动1个点位。冲打1点行,滑架连续移动24点位。冲打顺序如图3所示。

打印机工作时的程序如下:

3.2基本系统

由于微型打印机的打印缓冲区一次可快速装入240个代码,如全部为汉字,则要占用RAM为240×32=7 650个字节,显然89C52内的256 B[3]RAM明显不够,所以要外挂1片数据存贮器(这里用的是6116)才能满足要求。基于这些,他的基本系统由89C52芯片,27C040(27C040并不是作为程序存贮器使用,而是用来存放字库、字符),数据存贮器(6116)构成,如图4所示。

由于27C040只有1片,所以其片选线与地址锁存器(74LS373)的片选线均直接接地。同时外接的27C040的地址线A0~A7由P0口通过地址锁存器提供,A8~A15由P2口提供,A16~A18由P1.5~P1.7提供。而数据存贮器(6116)片选端CE是由89C52的P2.7控制的,当P2.7=0时则选中6116,此时89C52的P2.0~P2.2输出6116所需的高位地址,P0口输出6116的低8位地址锁存在锁存器74LS373中。若是读6116,则P0口变为输入方式,在RD为低电平时,选通6116,此时6116中相应的数据出现在P0口,再由CPU读入累加器A中。若是写,则P0口为输出,当为低电平时,将累加器A中出现在P0口上的数据写入6116。

3.389C52对打印机联络信号的控制

3.3.1打印机的联络信号

打印机的联络信号有,BUSY。

:数据选通触发脉冲,输入。此信号上升沿时数据线上8位数据被打印机读入机内锁存。

:回答脉冲,输出。当其为“低”电平时表示数据已被接收而且打印机准备好接收下一个数据。

BUSY:“忙”信号,为状态输出线,当打印机在打印字符、执行命令期间BUSY=1,表示打印机处于“忙”状态,这时打印机通知主机,他处于“忙”之中而不能接收数据,此时主机不能使用信号向打印机送入新的数据字节。当打印机打完一个字符后,BUSY=0,同时他产生信号通知主机,准备接收下一个数据,当主机接收到BUSY=0时,主机向打印接口输出1 B到D0~D7,并发出低电平信号,当打印机收到STB低电平信号后,单片机在其上升沿时读入数据。其时序图[4]如图5所示。

3.3.289C52对联络信号实施控制的电路电路图如图6所示。

上电复位时D触发器(U1)的Q输出端为1,无论P3.0为何值,经过“或”门(6)后,BUSY=1,不接收数据。

当89C52的P2.7=0时,即有6116(数据存贮器)的CE为低电平,表示选中了6116,由图3可知当P2.7=0时,经过反相器(3)再经过“或”门(8),此时无论P3.7为何值74ALS374的片选端CE总为高电平,即没有选中,这样就保证了外部的数据与数据存贮器的数据分别进行传输与接收而不至发生混乱。从上面的分析,当P2.7=0时,表示选中了6116,而没

有选中74ALS374,此时主机不应有数据送入打印机,即有BUSY=`,=1,下面来看是否满足这点:当P2.7=0时,经过反相器(3)一路经D触发器(U2)的Q输出为1即=1,另一路经过“或”门(8),这时无论P3.7为何值,输出总为1,再经D触发器(U1)的Q输出也为1,经“或”门(6)后,BUSY=1,显然满足要求。

当P2.7=1时,通过“非”门(3)后变为0,若此时单片机准备读取数据(即P3.7=0),他们经过“或”门(8)后,一路到74ALS374的片选端(CE),一路到D触发器(U1)的清除端,使D触发器的Q输出端为0,即有74ALS374(CLK)为0,表示74ALS374的D0-D7端已有数据(同时,即P3.5=1,,这样通过检测单片机的P3.5就可知道是否有数据输入),此时若89C52的P3.0=0,经过“或”门(6)后输出为0,即BUSY=0,又由于P2.7经过“非”门(3)后为0,他输出到D触发器(U2)的D端,当P3.6()从低电平变为高电平时使D触发器(U2)的Q输出端为0即=0,这时当主机发出脉冲时,在脉冲上升沿到来时打印机开始从74ALS374中读入数据。

4软件设计

系统控制软件主要包括:主程序、打印机是否在线的子程序、判断是何种机型的子程序、判断滑架到达最左端的子程序、读取数据的子程序和走纸与打印的子程序等,其主程序流程框图如图7所示,其他子程序由于篇幅所限,在此不再详细介绍。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6032

    文章

    44513

    浏览量

    632887
  • 寄存器
    +关注

    关注

    31

    文章

    5310

    浏览量

    119994
  • 打印机
    +关注

    关注

    10

    文章

    762

    浏览量

    45575
收藏 人收藏

    评论

    相关推荐

    360万像素3D打印机参考设计

    电子发烧友网站提供《360万像素3D打印机参考设计.pdf》资料免费下载
    发表于 10-31 09:47 0次下载
    360万像素3D<b class='flag-5'>打印机</b>参考设计

    激光打印机好还是喷墨式打印机

    激光打印机与喷墨式打印机作为目前市场上主流的两种打印设备,各自具有独特的特点和适用场景。 一、激光打印机的特点与优势 激光打印机,顾名思义,
    的头像 发表于 10-14 13:48 542次阅读

    3D打印机优化:ARMxy嵌入式计算机的作用

    、塑料的丝材通过喷射粘结剂或挤出等方式实现层层堆积叠加形成三维实体。 解决方案 3D打印机控制系统硬件通常由两部分组成: 工业电脑:这是控制系统的核心部分,相当于一个微型电脑。主板上
    的头像 发表于 10-10 15:22 221次阅读
    3D<b class='flag-5'>打印机</b>优化:ARMxy嵌入式计算机的作用

    基于MSP430FR5738的打印机墨盒方案

    电子发烧友网站提供《基于MSP430FR5738的打印机墨盒方案.pdf》资料免费下载
    发表于 09-29 11:01 0次下载
    基于MSP430FR5738的<b class='flag-5'>打印机</b>墨盒方案

    佳能打印机安装指引

    这个是普通佳能打印机使用的,很好用。不限大型
    发表于 09-18 09:40 0次下载

    打印机和喷墨打印机的区别

    打印机,在常见的表述中,更常被称为激光打印机,它与喷墨打印机在多个方面存在显著的区别。以下是对两者区别的详细分析:
    的头像 发表于 09-16 15:45 383次阅读

    光墨打印机是什么_光墨打印机为何不能普及

    光墨打印机是联想公司于2011年推出的一种创新打印设备,它融合了喷墨和激光打印机的优势技术,为打印市场带来了全新的解决方案。以下是关于光墨打印机
    的头像 发表于 09-16 15:42 263次阅读

    桌面运维工具之打印机驱动安装

    1.前言 桌面运维同学经常会处理打印机驱动安装这类工单,手动安装打印机驱动通常包含以下步骤: 1.根据打印机型号网上查找对应打印机驱动 2.使用cmd命令进入管理员界面 3.将
    的头像 发表于 09-12 15:29 1574次阅读
    桌面运维工具之<b class='flag-5'>打印机</b>驱动安装

    如何选用RFID标签打印机

    基础上设计增加RFID射频模块(发送器和接收器)、控制单元以及阅读器天线来实现这些功能。 RFID标签打印机是专门用于打印和编码RFID标签的设备。它不仅可以打印标签上的信息,还能将特
    的头像 发表于 09-09 16:26 218次阅读
    如何选用RFID标签<b class='flag-5'>打印机</b>

    Klipper固件的打印机可以插卡打印吗?

    在本文中,我们将详细探讨Klipper固件的打印机是否可以插卡打印,以及如何实现这一功能。我们将从以下几个方面进行分析: Klipper固件的基本概念和特点 Klipper固件是一种基于Python
    的头像 发表于 08-30 14:34 486次阅读

    蓝牙打印机解决方案

    概述 打印机广泛应用在仪器仪表、公共事业抄表、超级市场、移动警务系统、便利店、移动政务系统,邮政、手持设备、餐饮等各个领域,而作为一种短距离无线通信协议,蓝牙技术具有低成本、低功耗、高速率、方便灵活
    的头像 发表于 08-02 15:36 508次阅读
    蓝牙<b class='flag-5'>打印机</b>解决方案

    canon打印机怎么用

    以下是一些关于Canon打印机使用的基本步骤和技巧: 安装打印机驱动程序: 访问Canon官方网站,根据您的打印机型号下载相应的驱动程序。 运行下载的安装程序并按照提示完成安装。 连接打印机
    的头像 发表于 06-14 18:05 1972次阅读

    条形码标签和条码打印机哪个好?

    对于您的问题,“条形码标签”和“条码打印机”哪个好,实际上取决于您的具体需求。1.条码打印机的优点条形码打印机是一种以热为基础的打印机,主要包括热敏
    的头像 发表于 05-08 10:56 621次阅读
    条形码标签和条码<b class='flag-5'>打印机</b>哪个好?

    3D打印机防静电保护

    3D打印机又称三维打印机,它是一种数字模型文件为基础,通过打印一层层的粘合材料来制造三维的物体。 3D打印主流工艺有:FDM,SLA,SLS,3DP、LOM、DLP、FFF、EMB等。
    的头像 发表于 04-19 20:17 272次阅读
    3D<b class='flag-5'>打印机</b>防静电保护

    并联式3D打印机的设计与计算

    从机械结构、电控部分和上位软件三方面讲述了并联式3D打印机的组成,采用SolidWorks三维建模软件设计了一款并联式3D打印机,通过运动算法计算和步进电机算法对其进行控制。结果表明
    的头像 发表于 12-25 14:08 1271次阅读
    并联式3D<b class='flag-5'>打印机</b>的设计与计算