摘要:介绍了基于89S51单片机的微型热敏打印机的组成,分析了打印原理,详细给出了整体流程以及各个功能模块的软件设计。热敏打印头采用I/O口模拟串行数据传输实现数据加载。设计的微型热敏打印机运用于实际,取得了良好的效果。电子园51单片机学习网9]5U'r XER
关键词:热敏打印机 过热保护 步进电机 数据加载
A@S:Q6@44606电子园51单片机学习网M@N'g[QF
/e#^*tu3h N1m446061引言
6KT;w_-S'h(\K af@44606由于常用的微型针式打印机的速度慢,噪声大,无法满足某些场合的需要。微型热敏打印机具有打印速度快、噪音低、可靠性高、字迹清晰、机头小而轻等优点,可满足各种场合的打印要求,因此得到广泛应用。笔者在汽车行驶记录仪的开发过程中,根据厂家要求,选用较为先进的热敏打印机作为打印设备。但微型热敏打印头对打印时序和温度要求较高,一旦控制不当极易造成打印头烧毁。因此,在有合理的硬件设计的基础上,软件设计也十分重要。本文使用某些软件设计替代了部分硬件电路,使打印机的控制电路得到了简化。电子园51单片机学习网5b#p| L+u)} i!c
jV!@.W~ aWk z446062打印原理电子园51单片机学习网7Q:Q G|/q
电子园51单片机学习网km(||\/gi~选用的FTP-628作为热敏打印头。该热敏打印头点结构384点/行,水平方向点密度:8点/mm,垂直方向行间距:8点/mm。有效打印宽度48mm。打印速度最大为60mm/秒[1]。电子园51单片机学习网 k)W c#_cA
要打印的数据在时钟CLK的配合下,经由数据输入脚DI移到热敏机芯内部的移位寄存器中。经384个时钟周期,一行384位数据全部移到移位寄存器后,锁存端的锁存信号/LAT由CPU置低,移位寄存器的数据被锁存到锁存器。然后热敏头加热控制信号STB产生高电平,此时根据384点输入的DI数据是1或者是0决定发热元件是否发热,由此在热敏纸上产生要打印的点行。电子园51单片机学习网!f3]U9MI0Xx~*U/]
电子园51单片机学习网 n2\ m?_z#|{,Q7\a4I4w3系统整体框图
8t6m(xF \Os"V(G s#J44606LI tc5YW[#o7on.G44606本文介绍的微型热敏打印机由主控芯片、步进电机驱动模块、热敏打印头过热保护模块、热敏打印头缺纸检测模块、RS-232通信模块、供电模块等部分组成。其中步进电机驱动模块负责控制打印纸走纸及走纸速度;热敏打印头过热保护模块防止热敏打印头温度过高损坏;热敏打印头缺纸检测电路完成热敏打印头是否有纸检测;RS-232通信模块实现打印机与上位机之间的通信;供电模块给控制电路及热敏打印头供电。根据实际需要,考虑成本,选择89S51单片机作为主控芯片[2]。如图1,给出了主控芯片与各个模块之间的接口功能设计。电子园51单片机学习网 [ ^v#Wb5i ec e
电子园51单片机学习网R"L:IY4eM-Q(Dz4Hv#Hf44606
X2@$J2wGN1m"[3I*J1^4Y44606电子园51单片机学习网!}ny6Hs'z#nM)V`图1 主控芯片与功能模块的接口设计电子园51单片机学习网.C9t6jd'ACl
}*\Kfo0B.JZ%F446064系统软件设计电子园51单片机学习网+I F^ CWpJ`.T g
电子园51单片机学习网[%P!b5l2K,T;rG5V!u/t P4.1整体流程
V"x-R,{1cY W44606电子园51单片机学习网}0wW@:xa5Ux
如图2,给出了整个系统工作的软件流程图。本热敏打印机的软件设计主要是通过RS-232通信模块接收由主机传来的数据。当接收到数据时,首先要判断是命令字还是字符 数据。如果是命令字,则打印机按照命令动作;如果判断为字符数据,则从字库中提取字符点阵,按行打印,走纸。
]Q)U yFo*Kt44606电子园51单片机学习网d.EYnn
t,J2B n1y4mq$Co44606图2 系统工作流程图电子园51单片机学习网"_#}I\2H;T
1KwJ q}K s446064.2数据加载与印字电子园51单片机学习网m+D3WkL!H:[
8? _.H+Sh8H`"O,E2r44606将内存缓冲区的数据输出到热敏打印头的移位寄存器中,可以通过硬件方式和软件移位的方式实现[3]。本打印机实现方案采用的是后者。一般情况下,软件移位是由I/O口模拟串行数据传输时序。图3为I/O口实现数据移位流程图。P1.0口模拟时钟CLOCK,P1.1口在CLOCK的配合下输出数据DATA,输出数据到热敏打印头内部的移位寄存器中。电子园51单片机学习网zN7~|2`3mi$ve
-fV:z?M)rWH J44606P2[0:5]分别与打印头内部的加热选通信号STB[0:5]相连接。当数据全部移入到移位寄存器后,对STB[0:5]操作,加热印字。由于热敏打印机是通过打印头加热后在热敏打印纸上灼烧印字,所以,加热时间的长短决定了印字的清晰与快慢。因此,根据实际情况,合理的设计加热时间对于实现热敏打印机的高质量打印十分重要。
k2\X0vq:C q3DX44606!^ [7D.Kb'M2EN t$m44606电子园51单片机学习网.Z.f1qX(x(C,MU
电子园51单片机学习网2vAaTl图3 I/O口实现数据移位流程图电子园51单片机学习网 ~)P/[Ec#P
电子园51单片机学习网%G ag/o+U'T-B&t4.3步进电机走纸及驱动电子园51单片机学习网 GpU9w,^w
3~(?\A"v44606
u5h*]?+V9z]u3Y'U44606\v'u iGgv H44606图4 I/O口模拟输出PWM的时序图
3m0m]YT V44606电子园51单片机学习网A!R:~4_+umsm
设计的热敏打印机内部的二相四拍步进电机控制打印头的走纸及走纸速度。由2路I/O口模拟2路PWM输出,再经过两个非门,将输出的2路模拟PWM波形转换为4路,输入步进电机驱动器,驱动步进电机[4]。图4为P1.2与P1.3口模拟输出PWM的时序图。在一个周期内,P1.2较P1.3延时3/4个周期。
u x _F4_Z_+w446064.4保护与中断
&KOq'C2B SZW^44606电子园51单片机学习网el-? ? Nk热敏打印头加热时间一般为1ms,连续加热超过1s后,很容易烧毁、损坏热敏头,所以实际的热敏打印机必须对热敏打印头添加过热保护电路。当热敏打印头温度过高时,过热保护模块输出一个低电平到/INT0脚,使打印机进入中断[3]。图5为过热保护中断流程图。进入中断后,主控芯片断开热敏打印头加热供电控制继电器,停止热敏打印头的加热供电,并暂停其他动作。当热敏打印头温度降低后,则过热保护模块输出一个高电平到/INT0脚,此时,打印机延时一段时间后出中断。
]$eE#Xsz44606电子园51单片机学习网Ppz\'[}U)Q+M热敏打印头内部用光电继电器作为传感器,检测打印头是否有纸。当热敏打印头无纸时,传感器中的发光二极管发出的光束无法经由打印纸反射到光敏三极管上,光敏三极管由此而无法导通,经过外部电路后,/INT1为低电平,进入中断。反之,/INT1为高电平,工作正常。其中断流程与过热保护中断类似。电子园51单片机学习网|#K zC6Qv
电子园51单片机学习网+?sD!dD$gt)F&]g7AR x)Z~ j7n44606
5U[ O&l Yd9V44606电子园51单片机学习网^OMP_[;T$r ^Y图5 过热保护中断流程图
C#};DtL5]44606I6ZgO;q446064.5字符库的构造与提取
-^:u"?-\^+~t44606I |1l N#g5e,X44606由于本打印机是应用于汽车行驶记录仪的专用打印机,按照汽车行驶记录仪的要求,约需使用100个左右的汉字以及26个大写英文字母以及10个阿拉伯数字,为降低字库对硬件存储空间的要求,采用自定义的字符库。另外,自定义的字符库灵活性较强,在自定义字库中,这样既可以在同等打印宽度的情况下实现灵活打印,也可以使打印出来的字符效果美观。提取字符点阵时,首先判断字符类型,再寻得要打印字符的首地址,按照该字符的点阵规范,从字库中取出打印点阵放入缓冲区,进而加载,并打印。电子园51单片机学习网LhORI9z.k kA)c
电子园51单片机学习网-h#x;r8? o` C5结束语
5p!?+VI.rlq&K446063E,_ B%Be?*\0X44606本文创新点:为简化硬件电路,采用软件移位实现数据加载,通过软件产生步进电机所需的 PWM驱动信号;为减小打印机对存储空间的需求,针对汽车行驶记录仪使用字符少的特点,设计了自定义的字符库。电子园51单片机学习网-D}9b+Po"sXr
电子园51单片机学习网(pKYyfO本文使用软件实现了热敏打印机的运行控制。实验证明,微型热敏打印机在实时性要求不高的诸多场合能正常运行,验证了设计方案的合理性。而对于实时性要求高、成本并不敏感的打印环境,则应该引入实时操作系统,实现对打印机的实时操作。
Sn UE WSFd,\44606vO0ux?-lsA44606 电子园51单片机学习网 H I }!F(NCsaM
电子园51单片机学习网#o5uAbY_ S v8q电子园51单片机学习网3x p9h`)}L
GYv-n0f"`U44606参考文献:电子园51单片机学习网GwH M&Zo&UZ
电子园51单片机学习网._2E}2gz z*hp[1]Thermal Printer FTP-628MCL101 Production Specification[DB]. FUJITSU Inc.2002.08.
0J%L%a:|0D Tgs7z44606电子园51单片机学习网,I dr/Ybbh8n[2]王幸之,钟爱琴,王雷,王闪. AT89系列单片机原理与接口技术[M].北京:北京航空航天大学出版社,2004.5电子园51单片机学习网1N&K n.j(l ?
电子园51单片机学习网8V3J+G(o U[3]邓红等, 用字位显示接口驱动步进电机的设计方法[J],微计算机信息 2005年第8-1期,
ZJ*L9E&fQ44606u#_]3|9GU P44606111-112电子园51单片机学习网)W-h4v@C;yZLg
电子园51单片机学习网"O+u%`1lt$\*@[4]张会生.基于77E58的高速行式热敏打印机控制板的研制[J].电子技术应用,2004,(1):37-39.
#~hji\qt+?F44606
文章评论(0条评论)
登录后参与讨论