基于增强型STC系列单片机的微型打印机设计方案

发布者:huanxin最新更新时间:2017-12-29 来源: eefocus关键字:增强型  STC系列  单片机  微型打印机 手机看文章 扫描二维码
随时随地手机看文章

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

点击浏览下一页

图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结束语

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


关键字:增强型  STC系列  单片机  微型打印机 引用地址:基于增强型STC系列单片机的微型打印机设计方案

上一篇:单片机利用在微型打印机中的应用设计
下一篇:适合于STC单片机的EEPROM读写程序

推荐阅读最新更新时间:2024-03-16 15:50

89C51及74LS273、74LS244组成的单片机系统功能实现
已知系统的连接如图所示,试编写程序实现下列功能: (1)编写显示程序,显示“123456”。 (2)编写主程序,功能为:当有键按下(0~7号)时,都显示键号; 无键按下,保持原有显示状态。
[工业控制]
89C51及74LS273、74LS244组成的<font color='red'>单片机</font>系统功能实现
单片机驱动ds18b20四路温度巡回检测程序
#include "reg52.h"//头文件 #include "intrins.h" #define uchar unsigned char//宏定义 #define uint unsigned int//宏定义 sbit led_7=P1^7;//;;;LED秒闪烁 sbit DQ=P2^2;////定义I/O的硬件接口--温度 uchar code temp = {{40,92,34,152,2,0,0,132}, //张 {40,42,193,186,2,0,0,77}, //江 {40,153,209,186,2,0,0,111}, //斌 {40,14,151,7,3,0,0,
[单片机]
一种基于PSoC的无线静载仪采集系统的设计
  近年来,我国工程建筑事业开展迅猛,城市高层建筑也随之得到了前所未有的高速发展。桩基的成桩质量与其实际承载力关系到整个高层建筑的设计和安危,因此对于高层建筑而言,桩基承载力检测非常重要。我国建筑桩基技术规范(JCJ94-94)规定:对于一级建筑物以及缺乏可参照试桩资料的二级建筑物为确定单桩竖向极限承载力,应进行现场静载试验。   现有的静载检测仪虽然做到了白动化、智能化,但是都是基于有线连接方式的,并且所使用的8位MCS-51单片机功耗较大、功能较单一,数据盒与上位机交换数据采用RS-232串口通信,无法适应电子系统无线化、小型化、高效化、集成化、节能化的发展需求。并且新一代的PC机上的COM接口已逐浙消失,单独设计USB转R
[测试测量]
一种基于PSoC的无线静载仪采集系统的设计
单片机制作模拟电子琴
  在这个小制作里除了给大家介绍了“mini”模拟电子琴所需的硬件外,还主要介绍了用单片机为控制核心如何控制蜂鸣器演奏音节的基本方法。   实现这个电路的硬件是非常简单的,硬件主要运用了STC89C52RC单片机为核心的主控芯片,外设有8个按键,和一个复位按键以及蜂鸣器作为喇叭在这里我就不多说了。主要是由STC89C52单片机的的P1口8个按键控制Do,Re,Mi,Fa,So,La,Xi,Do的各个音符,然后由P0口的一位数码管显示出来,同时位于P3.3口的蜂鸣器发出声音。   现在我主要简单介绍单片机如何控制蜂鸣器演奏音阶的方法,我们都知道单片机具有强大的控制功能和灵活的编程实现特性,我们可以利用单片机产生不同频率来获
[单片机]
<font color='red'>单片机</font>制作模拟电子琴
基于C51单片机的多路开关状态显示电路原理图
如下图所示, AT89S51 单片机的 P1.0 - P1.3 接四个发光二极管 L1 - L4 ,P1.4 - P1.7 接了四个开关 K1 - K4 ,编程将开关的状态反映到发光二极管上。(开关闭合,对应的灯亮,开关断开,对应的灯灭)。 1 . 把 “ 单片机系统 ” 区域中的 P1.0 - P1.3 用导线连接到 “ 八路发光二极管指示模块 ” 区域中的 L1 - L4 端口上; 2 . 把 “ 单片机系统 ” 区域中的 P1.4 - P1.7 用导线连接到 “ 四路拨动开关 ” 区域中的 K1 - K4 端口上。
[模拟电子]
基于C51<font color='red'>单片机</font>的多路开关状态显示电路原理图
掌握方法和技巧轻松学习51单片机
单片机是微机的一种,现时有8051、AVR、ARM7、ARM9等系列,其中 “8051”是源自于Intel公司的MCS-51系列芯片,但目前不同生产厂商都以其兼容芯片为主,如Ateml公司的89C51/89S51系统,宏晶公司的STC89C52RC。本文所述的正是宏晶的STC89C52RC,该芯片烧写简单,只用通过宏晶的工具通过串口MAXRS232的TX、RX脚位就可以将程序烧录到芯片,是一个非常不错的嵌入式入门基础,教程多、51系列的学习板普遍就是采用STC89C52RC的芯片,可见其通用性很广,那怎样才能快速学习8051单片机呢。 学习51系列的CPU需要记忆脚位功能,我学习的时候得益于其简单的熟记方法,脚位的功能与位置掌
[单片机]
掌握方法和技巧轻松学习51<font color='red'>单片机</font>
RAM在单片机里的用途
单片机就是个小计算机,跳蚤虽小不但五脏惧全,有时还跳得很高呢!自然,大计算机少不得的数据存储系统,小不点的单片机一样有,而且往往和CPU集成在一起,更加显得小巧灵活.直到90年代初,国内容易得到的单片机就是8031:不带存储器的芯片,要想工作,还必需外加RAM和ROM,单片机成了3片机,...现在不同了,大的小的又是51,又是AVR又是STC,还有什么430,PIC等等,都各说各的好,可是谁业也不敢说"我不要存储器"!好,废话少说... 单片机内,有这么几种数据存储手段: 1.程序存储器:里面存放的是单片机的灵魂:工作程序.小的可能只有1KB(最多只能装1024条8位数据,因为实际指令还有许多2字节,3字节指令,所以它还装不下
[单片机]
FPGA在智能仪表中的应用
随着微电子技术的发展,采用现场可编程门阵列(FPGA)进行数字信号处理得到了飞速发展。由于FPGA具有现场可编程的特点,可以实现专用集成电路,因此越来越受到硬件电路设计工程师们的青睐。 目前,在自动化监测与控制仪器和装置中,大多以8位或16位MCU为核心部件。然而伴随着生产技术的进步和发展,对监测与控制的要求也在不断提高,面对日益复杂的监测对象和控制算法,传统的MCU往往不堪重负。把FPGA运用到这些仪表和设备中,可以减少这些仪器、设备的开发周期,大幅度提升这些仪器的性能,减少总成本和体积。 在低阻值、高精度线圈电阻测试仪中关键部分用FPGA硬件电路来实现,可以节省系统的面积开销、减少所用的芯片数和PCB板块数,提升系统性能,并
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved