单片机在微型打印机中的应用

发布者:HeavenlyWonder最新更新时间:2006-09-29 来源: 单片机与嵌入式系统ic网关键字:单片机  触发器  存贮 手机看文章 扫描二维码
随时随地手机看文章

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.3 89C52对打印机联络信号的控制

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

3.3.2 89C52对联络信号实施控制的电路电路图如图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所示,其他子程序由于篇幅所限,在此不再详细介绍。

参考文献

[1] 谢筑森,张辉,陈粤初,等.单片机开发与典型应用设计[M].合肥:中国科学技术出版社,1997.
[2] 何立民.MCS-51系列单片机应用系统设计系统配置与接口技术[M].北京:北京航空航天大学出版社,1999.6.
[3] 孙涵芳,徐爱卿.MCS-51/96系列单片机原理及应用[M].北京:北京航空航天大学出版社,1996.
[4] 公茂法,马宝甫,孙晨.单片机人机接口实例集[M].北京:北京航空航天大学出版社,1998.
[5] 侯伯文.单片微型计算机原理及应用[M].北京:机械工业出版社,1987.

关键字:单片机  触发器  存贮 引用地址:单片机在微型打印机中的应用

上一篇:基于GPS的高精度无误差倒计时牌设计
下一篇:基于热敏打印机的心电图形快速打印方法的研究及应用实例

推荐阅读最新更新时间:2024-03-16 12:17

单片机学习之五:基本I/O口试验-点亮二极管
实验一、基本I/O口试验:点亮二极管 1、 试验现象: 8个二极管间隔发光。 2、 试验目的: 了解最简单的单片机程序的编写方法; 了解单片机I/O口驱动二极管的方法 3、 试验任务分析: 要想让二极管按照我们的要求发光,首先要搞清楚电路的连接形式,我们先只看和这部分内容有关的电路。当JMP0跳线接在12位置时(选通二极管显示),电路如下图所示: 下面,我分别把单片机各管脚功能作一简单解释: XTAL1和XTAL2端: 由于单片机是一种时序电路,工作的时候必须外加时钟周期,没有时钟周期,就不能执行程序代码,单片机就不能工作。 XTAL1和XTAL2即为外接时钟引脚。时钟的产生有两种方式,内部方式产生和外部方式
[单片机]
<font color='red'>单片机</font>学习之五:基本I/O口试验-点亮二极管
新唐科技新一代MCU内建两组CAN总线
新唐科技承袭NuMicro™ NUC130/140 CAN总线系列产品成功经验,于2014年再度推出新一代NuMicro™ NUC230/240 带两组CAN总线系列。产品亮点包含:系统频率高达72 MHz、具2组CAN总线、一组USB 2.0 Full Speed界面、多达6组高速UART串口、800 kSPS高转换速度12位A/D并搭配内嵌高精度振荡器,全温全压误差±3%高精度22.1184MHz,工作温度高达105℃。 NUC230/240系列内建2组CAN总线、高达800 kSPS转换速度之12位ADC且工作温度为-40℃ ~ 105℃,集成众多种类的通讯接口,如6组高速UART、4组SPI界面、2组I²C与USB、L
[单片机]
嵌入式系统设计方法的演化—从单片机到单片系统
摘要:在介绍嵌入式系统设计方法变化背景的基础上,综述嵌入式系统设计方法的不同层次,从单片 机应用到单片系统设计的演化,并提出了发展战略。 关键词:嵌入式系统 设计 单片系统(SOC) 硬件描述语言(HDL) IP内核 一、嵌入式系统设计方法变化的背景 嵌入式系统设计方法的演化总的来说是因为应用需求的牵引和IT技术的推动。 1.随着微电子技术的不断创新和发展,大规模集成电路的集成度和工艺水平不断提高。硅材料与人类智慧的结合,生产出大批量的低成本、高可靠性和高精度的微电子结构模块,推动了一个全新的技术领域和产业的发展。在此基础上发展起来的器件可编程思想和微处理(器)技术可以用软件来改变和实现硬件的功能。微处理器和各种可编程大规模集成专用
[嵌入式]
关于单片机中断详解
什么是中断?就是打断当前要做的事,转而去执行别的事情。比如小七我现在正在电脑前写帖子,突然老妈叫我帮她下楼拿点东西,于是我就收到了老妈给我的一个中断(可以叫做外部中断),当我去拿东西时,突然尿急(内部中断,尿袋快要撑爆了),这又是一个中断,!我们把引起中断的事件叫做中断源(如老妈给我的任务,以及我的尿意。。。外部引起的叫外部中断,内部引起的叫内部中断),产生中断后就要去处理它,这称为中断的响应。 由于尿急这个内部中断的优先级比老妈给我的外部中断还要高,尿急了,我总得先去撒尿吧?所以我就先去执行撒尿这个语句(小七:怎么我觉得这个比喻很别扭呢?!)。当我撒完尿后(还是觉得很别扭。。。)我会返回来帮老妈拿东西(高优先级的中断处理完后
[单片机]
MCU销售“卷”出新高度,车用产品现危机
目前,全球都在经受 芯片 需求不振的影响,2023年初至今,全球芯片交货周期持续下滑,据Susquehanna Financial Group 统计,今年3月,全球芯片交期与2022年5月相比,缩短超过一个月。 在这样的大背景下,应用范围最广的芯片品类MCU,特别是中高端MCU的交期也在持续缩短,32位高端MCU的交期为26-52周,处于持续下降态势,汽车用MCU的市况相对较好,没有那么“卷”,交期仍高于40周。 MCU行情及未来预期 从应用角度来看,用于消费类电子产品的通用MCU降价幅度是最大的,而工业和汽车用MCU则相对平稳,部分产品仍缺货。来自芯世相的数据显示,今年第一季度,NXP车用MCU系列产品,如FSx、M
[汽车电子]
PIC单片机模拟读写24C01 EEPROM
//************************************************** //实验目的: //熟悉使用单片机模拟读写24C01 EEPROM //1、首先向24C01 EEPROM写入数据 //2、在从24C01 EEPROM中读取数据,并用LED显示 //************************************************** //************************************************** //硬件设置: //1、SW4开关全部闭合 //2、SW2开关1闭合,其它断开 //3、SW3开关7和8闭合,其它断开 //*******
[单片机]
LCD2004AVR单片机驱动源程序
/*======================================================= 20x4字符液晶主程序,编译软件(I CC AVR_6.31) CPU内部 晶振 8M 数据线B0~B7接PORTB, E=D7 RW=D6 RS=D5 ========================================================= 接线图如下: _______________ ______________ | --1|GND | | --2|+5V | | --3|V0 |
[单片机]
基于单片机和CPLD的高精度大型望远镜伺服控制器设计
设计基于高速单片机C8051F120和CPLD的高精度大型望远镜的伺服控制器,由单片机实现闭环控制算法、上位机通信和LCD显示控制,CPLD实现增量式编码器计数、电机驱动波形发生以及I/O接口。该控制器可独立进行电机控制,也可配合上位机进行控制,具有实时性和抗干扰能力强、成本低、调试方便等特点。 引言 微电子技术和计算机的发展推动着伺服控制技术的进步,控制系统的硬件系统越来越高速化、小型化、模块化,功能也日趋强大完善;而且,伺服控制技术是朝着更开放、更加模块化的控制结构的方向发展的,要求控制器算法实现简单、控制接口灵活,针对不同的伺服控制对象时硬件系统不变,软件系统也可以完成参数的自动调整。 在高精度大型望远镜伺服控制应用
[单片机]
基于<font color='red'>单片机</font>和CPLD的高精度大型望远镜伺服控制器设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

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

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