位置:51电子网 » 技术资料 » 单 片 机

基于89S51单片机的微型热敏打印机软件设计

发布时间:2008/5/27 0:00:00 访问次数:1819

  摘要:介绍了基于89s51单片机的微型热敏打印机的组成,分析了打印原理,详细给出了整体流程以及各个功能模块的软件设计。热敏打印头采用i/o口模拟串行数据传输实现数据加载。设计的微型热敏打印机运用于实际,取得了良好的效果。
关键词:热敏打印机过热保护步进电机数据加载

1引言

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

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]操作,加热印字。由于热敏打印机是通过打印头加热后在热敏打印纸上灼烧印字,所以,加热时间的长短决定了印字的清晰与快慢。因此,根据实际情况,合理的设计加热时间对于实现热敏打印机的高质量打印十分重要。

图3i/o口实现数据移位流程图

4.3 步进电机走纸及驱动

图4i/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为过热保护中断流程图。进入中断后,主控芯片断开热敏打

  摘要:介绍了基于89s51单片机的微型热敏打印机的组成,分析了打印原理,详细给出了整体流程以及各个功能模块的软件设计。热敏打印头采用i/o口模拟串行数据传输实现数据加载。设计的微型热敏打印机运用于实际,取得了良好的效果。
关键词:热敏打印机过热保护步进电机数据加载

1引言

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

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]操作,加热印字。由于热敏打印机是通过打印头加热后在热敏打印纸上灼烧印字,所以,加热时间的长短决定了印字的清晰与快慢。因此,根据实际情况,合理的设计加热时间对于实现热敏打印机的高质量打印十分重要。

图3i/o口实现数据移位流程图

4.3 步进电机走纸及驱动

图4i/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为过热保护中断流程图。进入中断后,主控芯片断开热敏打

相关IC型号

Warning: Undefined variable $stockkeys in G:\website_51dzw\www.51dzw.com\code\tech\view.php on line 152

热门点击

 

推荐技术资料

硬盘式MP3播放器终级改
    一次偶然的机会我结识了NE0 2511,那是一个远方的... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式