论文正文.doc

微型打印机控制电路的设计论文资料

收藏

压缩包内文档预览:(预览前20页/共59页)
预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图 预览图
编号:27447474    类型:共享资源    大小:175.70KB    格式:ZIP    上传时间:2019-11-28 上传人:遗**** IP属地:湖北
6
积分
关 键 词:
微型打印机 控制电路 设计 论文 资料
资源描述:
微型打印机控制电路的设计论文资料,微型打印机,控制电路,设计,论文,资料
内容简介:
级学生毕业设计(论文)中期报告系别班级学生姓名指导教师课题名称: 微型打印机控制电路的设计简述开题以来所做的具体工作、取得的进展及下一步主要工作:1、 开题以来所做的具体工作和取得的进展或成果经过查阅大量的相关资料,现在已经对微型打印机的原理有了一个清晰深入的了解,对单片机控制系统及其原理进行了详细分析,并对单片机与键盘、微型打印机以及液晶显示器的接口电路都进行了详细的了解。现在正在完成相关电路的制作及相关程序的编写,并解决在此过程中所遇到的问题,收集制作过程中的相关资料,为毕业论文的撰写准备资料。 2、存在的具体问题在制作过程当中要不断的对程序进行修改,由于对单片机编程掌握不是很熟练,在实际调试过程中有一定的困难。关于HD61202液晶显示控制驱动器资料掌握不全面,以及显示器程序编制相关知识运用不熟练。因此在实际的电路制作、调试以及相关程序的编写中存在一定的困难。3、下一步的主要研究任务,具体设想与安排继续电路制作以及相关程序调试,得出结果。制作出实用的由单片机控制的微型打印机,即采用89S52单片机控制,利用并行接口技术,同时通过液晶显示器显示打印的数据和文字信息。可以实现打印一段固定的汉字和单个任意的数字,同时把打印的内容显示在液晶显示器上。争取做的简单实用、有高可靠性、有良好的性能价格比以及体积小、方便携带的微型打印机。 根据掌握的毕业设计的相关资料以及在调试过程中所遇问题的解决的相关资料,着手撰写论文。 学生签字: 指导教师的建议与要求: 指导教师签字: 注:本表格同毕业设计(论文)一同装订成册,由所在单位归档保存。毕业设计(论文)任务书 题 目(包括副标题)微型打印机控制电路的设计教师姓名系 别职 称学生姓名班 级学 号课题成果形式论文 设计说明书 实物 软件 其它1毕业设计(论文)课题任务的内容和要求(如原始数据、技术要求、工作要求等): 毕业设计主要内容 设计一个微型打印机控制电路 完成相关的技术文档和毕业设计论文 毕业设计的主要指标 用单片机控制微型打印机,具有并行接口 可打印字符、数据 工艺制作任务 画出硬件框图 画出硬件原理图 画出软件流程图 软件程序编写(包括输入、输出控制,键盘控制,打印主程序等) 调试电路及程序 写出完整的设计论文 毕业设计基本要求 有较丰富的打印命令,命令代码均为单字节,格式简单 可输出标准的数字、在程序中所设定的汉字和英文字符 要求简单实用、有高可靠性、良好的性能价格比以及体积小,方便携带 应收集的文献资料 MCS-51系列单片机实用接口技术 单片机的C语言应用程序设计(第三版) 单片机基础(修订版) 单片机人机接口实例集2毕业设计(论文)工作进度计划:周 次工作内容早进入阶段第一周第二周第三周第四周第五周第六周第七周第八周第九周第十周第十一周第十二周查阅资料系统方案设计系统制作系统制作系统制作系统调试系统调试调试程序调试程序调试程序撰写课题论文撰写课题论文撰写课题论文 教研室(学科组)主任签字: 毕业设计(论文)前期检查表 填表时间: 专业班级学生姓名指导教师职称课题名称 微型打印机控制电路的设计选题方面是否属专业内容属 于结合实际程度紧密结合实际先进性可行性 可行性强难易程度适 当任务书填写规范程度规 范主要技术指标是否具体具 体工作量大小适 中图纸及实物要求具体程度 符合要求参考文献填写规范程度 规 范开题报告或方案论证可行性是必要性是先进性是经济技术分析是有何建议教研室主任签字: 系主任签字: 毕 业 设 计(论文)题 目 微型打印机控制电路的设计 副标题 性 质: 毕业设计 毕业论文学生姓名 班 级 系 别 专 业 指导教师 评定成绩 优 良 中 及格 不及格微型打印机控制电路的设计摘要:目前,电子领域正向着数字化、信息化、微型化的方向发展。打印机作为数据输出设备之一也朝着多功能、高性能的方向发展,微型打印机是电子信息领域中一种很重要的输出设备。本设计基于TPP-40A微型打印机,采用89S52单片机控制,利用并行接口技术,同时通过液晶显示器显示打印的数据和文字信息。可以实现打印一段固定的汉字和单个任意的数字,同时把打印的内容显示在液晶显示器上。它具有速度快、噪声低、体积小、重量轻、运行可靠、维护成本低等特点。关键词:微型打印机单片机液晶显示器键盘The design of control circuit in Micro-printerAbstract:Nowadays, electronic field is developing towards the direction of digitization、informatization and micromation. As one of data output equipments, the printer is also spreading out in multifunction、high-performance. And the Micro-printer is a very important output equipment in electronic information field. Based on Micro-printerTPP-40A, this design adopts micro-controller (89S52), makes use of parallel-interface technique and in the meantime displays printing data and word information on Liquid Crystal Display. It can print a paragraph of regular Chinese characters and single discretional number. At the same time the Liquid Crystal Display can display print content. It possesses the characteristics of high-speed、low-noise、small-volume 、lightweight、reliable running and low cost of maintenance.Keywords: Micro-printer Single Chip Computer Liquid Crystal Display Keyboard目 录1 引言12 设计要求13 系统组成14 硬件部分设计24.1打印机部分24.2单片机芯片部分54.3 单片机与微型打印机的接口74.4单片机与液晶显示器的接口114.5键盘部分154.6 电源模块设计185 软件部分205.1 程序设计整体流程图205.2 键处理流程图216 显示与测试结果227 结论23参考文献24致谢25附录 1:程序26附录2:整机电路图47英文资料及中文翻译48附件2 毕业设计(论文)开题报告 微型打印机控制电路的设计 系 别: 专 业: 学生姓名: 指导教师: 20 年 月 日开题报告填写要求1开题报告作为毕业设计(论文)答辩委员会对学生答辩资格审查的依据材料之一,应在指导教师指导下,由学生在毕业设计(论文)工作前期完成,经指导教师签署意见、专家组及系主任审查后生效;2开题报告必须用黑墨水笔工整书写或按教务处统一设计的电子文档标准格式(可从教务处网页上下载)打印,禁止打印在其它纸上后剪贴;3工程设计与软件开发类的开题报告应包括以下内容:(1)主要任务以及主要技术经济指标;(2)设计的国内外现状和发展趋势;(3)研究路线与关键技术;(4)实验条件;(5)进度计划;(6)参考文献等;4科研论文类的开题报告应包括以下内容:(1)研究的目的;(2)研究的国内外现状和发展趋势;(3)主要研究内容与关键问题;(4)拟采用的研究手段;(5)进度计划;(6)参考文献等;5开题报告的撰写应符合科技文献规范,且不少于2000字;参考文献应不少于15篇,包括科技期刊、教科书、专著等。 毕业设计(论文)开题报告课题题目 微型打印机控制电路的设计课题类型实做课题来源自拟成果形式实物及论文同组同学无开题报告内容(可另附页)内容见附页毕业设计开题报告:(后接附页)指导教师意见(课题难度是否适中、工作量是否饱满、进度安排是否合理、工作条件是否具备等)指导教师签名: 月 日 专家组及系里意见(选题是否适宜、各项内容是否达到毕业设计(论文)大纲要求、整改意见等)专家组成员签字: 教学主任(签章): 月 日附页:开题报告 微型打印机控制电路的设计一、主要任务以及主要技术经济指标 主要任务:打印字符、数据 要求简单实用、有高可靠性、良好的性能价格比以及体积小,方便携带二、 设计的国内外现状和发展趋势 微型打印机是一种通过单片机控制编程,可以自动完成一定打印任务作业的机械装置。或者更确切的说,多功能超小体积,可电池供电,便于随身携带的微型打印机。 微型打印机从其打印原理上分为两种,热敏式打印机和针式打印机。国内外发展热门的大都在微型票据打印机。热敏式票据打印机通过发热体直接使热敏纸变色产生印迹,它具有结构简单、体积小巧、重量轻、噪音小、功耗低、印字质量高、无需更换色带等优点,但由于其价格较高,一般用于特定场合的微型票据打印机。针式打印机通过打印头出针击打色带把色带上的色迹印在纸上,针式打印机打印速度相对较慢,噪音较大,但由于其低廉的价格及特殊环境下的打印输出功能(如多层打印等),使得它成为微型票据打印机的主流工作方式。还有的具有超强复写能力:票据打印机采用了超强击打力度的打印头,具有很强的穿透力,在打印多联票据时可以一次完成,提高了工作效率。很多机型甚至提供了1+6层的复写能力,可清晰打印7联复写票据 微型打印机的发展现状 由于单片机具有简单实用、高可靠性、良好的性能价格比以及体积小等优点,已经在各个技术领域得到了迅猛发展。随着普通打印机价格的下降,它们在单片机系统的应用也逐渐增多。例如GP系列和P系列打印机都是点阵是打印机,因为打印机内部有一个单片机系统,并固化有控打程序,智能化程度很高。因此打印机不但功能强,而且与主机接口简单。一般每行可打印40个字符。随着技术的发展,微行打印机的虽变得价格低廉,但功能强大,支持并口打印,核心部件为长寿命打印机芯,采用了目前先进的换纸技术,即开盖、关盖便可完成换纸;更方便使用;可广泛使用在超市、便利店、餐饮服务、商场打印票据等,满足不同使用人员的要求。 微型打印机的发展趋势微型打印机在许多生产领域的使用实践证明,它在提高工作效率,节约各种材料,便于工作中携带,功能增多等方面,有着令世人瞩目的作用,引起了世界各国和社会各层人士的广泛关注。在新的世纪,研发新型微型打印机的工业必将得到更加快速的发展和更加广泛的应用。 微型打印机的技术发展趋势 从近几年世界微型打印机推出的产品来看,微型票据打印机的技术正在向智能化、轻便化和快速化的方向发展,其发展趋势主要为:紧凑的设计,超小体积,方便操作,字符与非字符量增大,节约资源(低耗材),耐用性强,打印精度高,具有纸张全自动纠错、自动对边、自适应厚度打印,且保证打印噪音低。三、研究方向与关键技术本设计主要采用89S52单片机控制,利用并行接口技术,同时通过液晶显示器显示打印的数据和文字信息,系统框图如下图所示。可以实现打印一段固定的汉字和单个任意的数字,同时把打印的内容显示在液晶显示器上。支持多种打印命令,命令代码均为单字节,格式简单;可输出标准的数字、在程序中所设定的汉字和英文字符;要求简单实用、有高可靠性、良好的性能价格比以及体积小,方便携带。打印机启动后,由内部单片机执行固化程序,就可以接受和分析主机送来的数据和命令,然后通过控制口驱动电路,实现对打印头机械动作的控制,进行打印。液晶显示器 单片机MCU键盘微型打印机电源 四、实验条件需具备稳压电源、示波器、电脑、仿真器、下载器、信号发生器各一台五、进度计划周 次工作内容早进入阶段第一周第二周第三周第四周第五周第六周第七周第八周第九周第十周第十一周 第十二周查阅资料系统方案设计系统制作系统制作系统制作系统调试系统调试调试程序调试程序调试程序撰写课题论文撰写课题论文论文答辩六、参考文献1. 李广弟,朱月秀,王秀山 . 单片机基础(修订版M.北京:北京航空航天大学出版社 2001年2. 李朝青. 单片机原理及接口技术(简明修订版M.北京:北京航空航天大学出版社 2000年3. 沈德金等. MCS-51系列单片机接口电路与应用程序实例M.北京:北京航空航天大学出版社 1990年4. 高明等. 单片机微机接口与系统设计M.哈尔滨:哈尔滨工业大学出版社 1995年5. 公茂法,马宝甫,孙晨等. 单片机人机接口实例集M.北京:北京航空航天大学出版社 1998年6. 张洪润,蓝清华等. 单片机应用技术教程M. 北京:清华大学出版社 1997年 7. 李华. MCS-51系列单片机实用接口技术M. 北京:北京航空航天大学出版社 1993年8. 马忠梅,籍顺心. 单片机的C语言应用程序设计(第三版)M. 北京:北京航空航天大学出版社 1997年9. 周航慈著. 单片机应用程序设计技术M. 北京:北京航空航天大学出版社 1987年10. 陈粤初等. 单片机应用系统设计与实践M. 北京:北京航空航天大学出版社1991年11. 赵晓安. MCS-51单片机原理及应用M. 天津:天津大学出版社 2001年12. 赵志航,郑志辉. MCS-51单片机C语言应用程序开发技术及实例M.北京:航空工业出版社 1996年13. 何立民. 单片机应用技术选编(5)M. 北京:北京航空航天大学出版社 1997年14. 陈龙三. 8051单片机C语言控制与应用M. 北京:清华大学出版社 1999年15. 李兰友等. 单片机应用开发十例M. 北京:电子工业出版社 1994年毕业设计(论文)指导检查工作记录表系别班级学生姓名指导教师课题名称微型打印机控制电路的设计时间(学期、周次)内容及指导记录布置毕业设计题目,讲解毕业设计要求。学生初步了解毕业设计任务根据毕业设计任务,学生查找照资料 设计相关电路 完成实际电路的制作 调试各单元电路及程序,完成论文写作指导教师签字:注:本表格同毕业设计(论文)一同装订成册,由所在单位归档保存。 引言 自从20世纪70年代问世以后,单片机作为微型计算机一个很重要的分支,应用广泛,发展迅速,已对很多领域产生了重大影响。尤其是美国Intel公司生产的MCS-51系列单片机,由于其具有集成度高、处理功能强、可靠性好、系统结构简单、价格低廉、易于使用等优点,在我国已经得到广泛使用,并已经在各个技术领域得到了迅猛发展。随着普通打印机价格的下降,它们在单片机系统的应用也逐渐增多。微型打印机是一种通过单片机控制编程,可以自动完成一定打印任务作业的机械装置。微型打印机具有多功能超小体积、可电池供电和便于随身携带的特点。例如GP系列和P系列打印机都是点阵式打印机,因为打印机内部有一个单片机系统,并固化有控打程序,智能化程度很高。打印机启动后,由内部单片机执行程序,就可以接受和分析主机送来的数据和命令,然后通过控制电路,实现对打印头机械动作的控制,进行打印。微型打印机可广泛使用在超市、便利店、餐饮服务、商场打印票据等,可满足不同使用人员的要求。本设计可以实现打印预先设定的汉字和09十个数字,可以应用在食堂、超市等地,用来打印小票并可以其显示相关信息。因此微型打印机以其小型化、多功能等特点广泛应用在生产、销售等领域,为人们带来了极大的方便。2 设计要求(1) 支持多种打印命令,命令代码均为单字节,格式简单。(2) 可输出标准的数字、在程序中所设定的汉字和英文字符。(3) 要求简单实用、有高可靠性、良好的性能价格比以及体积小,方便携带。3 系统组成液晶显示器 单片机MCU键盘微型打印机电源图3-1 系统框图本设计由微型打印机、单片机、键盘、液晶显示器和电源模块等五部分组成,系统框图如图3-1所示。其中单片机部分的作用是控制微型打印机、键盘和液晶显示器;键盘用来输入要打印的信息;显示器用来显示所打印的内容;电源模块则为整个电路提供电源。4 硬件部分设计4.1 打印机部分打印机是一种复杂而精密的机械电子装置,无论哪种打印机,其结构基本上都可分为机械装置和控制电路两部分,这两部分是密切相关的。机械装置包括打印头、字车机构、走纸机构、色带传动机构、墨水(墨粉)供给机构以及硒鼓传动机构等等,它们都是打印机系统的执行机构,由控制电路统一协调和控制;而打印机的控制电路则包括CPU主控电路,驱动电路,输入输出接口电路及检测电路等。下面介绍打印机一般原理:打印机是小型机电一体化系统。机械部分为执行机构,在机内CPU及驱动电路控制下完成“数据”打印。打印机的一般构成及工作原理如下图4-1所示: 接口电路CPU及控制电路驱动电路打印头电源打印机图4-1打印机一般原理图单片机或PC系统虽然打印机的外观千变万化,打印出来的图形,色彩也各不相同,但从原理上,我们可将常用的打印机分为三种类型:针式打印机、喷墨打印机和激光打印机。下面重点介绍一下针式打印机的结构和工作原理。4.1.1 针式打印机(1) 针式打印机的工作原理主机送来的代码,经过打印机输入接口电路的处理后送至打印机的主控电路,在控制程序的控制下,产生字符或图形的编码,驱动打印头打印一列的点阵图形,同时字车横向运动,产生列间距或字间距,再打印下一列,逐列进行打印;一行打印完毕后,启动走纸机构进纸,产生行距,同时打印头回车换行,打印下一行;上述过程反复进行,直到打印完毕。 (2) 针式打印机的结构针式打印机关键在于其打印头的结构。打印头的结构比较复杂,可分为打印针,驱动线圈,定位器,激励盘等。简单的说,打印头的工作过程是这样的:当打印头从驱动电路获得一个电流脉冲时,电磁铁的驱动线圈就产生磁场吸引打印针衔铁,带动打印针击打色带,在打印纸上打出一个点的图形。因其直接执行打印功能的是打印针,所以这类打印机被称为针式打印机。针式打印机的种类繁多,型式各异,一般分为打印机械装置和控制与驱动电路两大部分。针式打印机在正常工作时有三种运动,即打印头的横向运动、打印纸的纵向运动和打印针的击针运动。这些运动都是由软件控制驱动系统通过一些精密机械进行的。 打印机械装置主要包括字车与传动机构、打印针控制机构、色带驱动机构,走纸机构和打印机状态传感器,这些机构都为精密机械装置,以保证各种机构能实现下面的各种运动。 字车与传动机构 字车是打印头的载体,打印头通过字车传动系统实现横向左、右移动,再由打印针撞击色带而印字。字车的动力源一般都用步进电动机,通过传动装置将步进电动机的转动变为字车的横向移动。一般用钢丝绳或同步齿形带进行传动。 打印针控制机构 打印针是正确打印的关键。打印针控制机构实现打印针的出针和收针动作。通常利用电磁原理控制打印针的动作。 色带驱动机构 打印针撞击色带,色带上的印油在打印纸上印出字符或图形。在打印过程中,打印头左、右移动时,色带驱动机构驱动色带也同时循环往复转动,不断改变色带被打印针撞击的部位,保证色带均匀磨损,从而既延长了色带的使用寿命,又保证了打印出的字符或图形颜色均匀。 色带驱动机构一般利用字车电动机带动同步齿形带(如LQ-1600K)或钢(尼龙)丝绳驱动色带铀转动,也可采用两个单独的电动机(如某些彩色打印机)分别带动色带正、反向走带。 走纸机构 该机构实现打印纸的纵向移动。当打印完一行后,由它走纸换行。走纸方式一般有摩擦走纸、齿轮馈送和压纸滚筒馈送等。其动力方式为通过牵引机构将步进电动机的转动转变为走纸移动。 打印机状态传感器 对于不同的打印机来说,传感器的设置情况不同。通常有原始位置传感器(检测字车是否停在左边原始位置上)、纸尽传感器(检测所装的打印纸是否用完,用完则报警)、计时传感器(检测字车的瞬时位置)和机盖状态传感器(检测正在打印中的异常开打印机盖操作)等等。 (3) 针式打印机的特点针式打印机由于采用的是机械击打式的打印头,因此穿透力很强,能打印多层复写纸,具备拷贝功能,另外还能打印不限长度的连续纸。使用的耗材是色带,在三种打印机中是最廉价的一种。其缺点就是体积、重量都较大,打印噪音大,精度低,速度慢,一般无打印彩色图像功能。适合有专门要求的专业应用场合,例如财务、税务、金融机构等等。常见的机型有EPSON的LQ系列,如LQ680K;STAR的AR、CR系列,如AR6400等。 4.1.2 喷墨打印机和激光打印机(1) 喷墨打印机喷墨打印机的工作原理基本与针式打印机相同,这两者的本质区别就在于打印头的结构。喷墨打印机的打印头,是由成百上千个直径极其微小(约几微米)的墨水通道组成。当打印头的控制电路接收到驱动信号后,即驱动这些执行单元产生振动,将通道内的墨水挤压喷出;或产生高温,加热通道内的墨水,产生气泡,将墨水喷出喷孔;喷出的墨水到达打印纸,即产生图形。这就是压电式和气泡式喷墨打印头的基本原理。喷墨打印机打印精度高,通常都能打印彩色图像,而且体积及重量都可以做的非常小巧,甚至能随身携带打印,打印时的噪音也很小。因此喷墨打印机的使用成本很高。同时,也不具备拷贝和打连续纸功能。适合对打印质量要求高但数量较小的场合,如家庭,小型办公室等等。常见的机型有EPSON的STYLUS PHOTO系列,如STYLUS PHOTO 900;CANON的i系列,如i6500、i355等。 (2) 激光打印机激光打印机与针式、喷墨打印机的一个本质的区别在于:激光打印机打印一次成像一整页,是逐页打印;而针式和喷墨打印机都是打印头一次来回打印一行,是逐行打印。因此,相同打印要求下,激光打印机的打印速度要比针式打印机和喷墨打印机要快,这也是激光打印机的一个优势所在。激光打印机的打印精度也很高,基本上与喷墨打印机无太大区别。能打印彩色图像,且对打印介质的要求没有喷墨打印机那么高。打印的速度是三种打印机中最快的,而且噪音也很小。但体积和重量相对喷墨打印机要大。只能逐页打印,无拷贝和打印连续纸功能。适合打印数量大,任务重的场合,如大型商务机构,设计、印刷领域等等。常见的机型有惠普HP的LaserJet系列,如LaserJet1010,Color LaserJet 8550等。 4.1.3 微型打印机微型打印机,简称微打,是针对通用打印机而言的,具有处理票据较窄、整机体积较小、操作电压较低的特点。它是广大打印机家族中一个细小而特别的种类,在通常的IT刊物、杂志及各类市场调查报告中,微型打印机均鲜有提及,甚至被忽略不记。以致一般的人虽然在生活中经常见到,然而对其缺乏必要的认识和了解。但作为特种打印机系列一个重要的组成部分,微打的市场需求日渐扩大,应用也越来越广泛,越来越多的通用打印机厂商也开始涉及微打领域。 (1) 微型打印机的分类微型打印机具有体积小巧、价格低廉、功能多样的特点,所以在越来越多的领域得到了广泛的应用。下面按不同的方式对微型打印机进行分类: 按打印原理分:针式(细分为字轮式、梭式点阵式、9针点阵式、24针点阵式)、热敏式(细分为列式热敏式、行式热敏式)、喷墨式、热转印、激光式(后面两种打印方式的微型机较少)。 按应用分:由于微型打印机在各行业应用十分广泛,所以分成在金融零售业的ECR(高效消费者响应)、POS、交通运输业上的打票机、服务行业的排队机等。 按通信方式分:有线通信(串口、并口、USB或网口)、无线通信(运用IrDA和Bluetooth技术)。 (2)针式微型打印机与热敏微型打印机的比较基本工作原理针式微型打印机至少由以下基本关键部件组成:打印机芯、打印控制器、电源和外壳,而打印机芯又由打印头和字车电机运动机构、走纸电机运动机构以及各种传感器等组成。针式微打是通过控制打印头运动和走纸运动,并控制打印头出针击打色带和打印纸,把色带上相应点的墨汁印在打印纸上,从而在纸上打出所需的信息。直热行式热敏微打,其热敏头由一排紧密均匀排列的特殊材料的可加热电阻组成,每个单元电阻对应一个点,控制其不同点的通电即可对相应的点加热,而与其紧密接触的带热敏涂层的热敏纸受热就可以印出相应的点信息,再同时通过走纸的控制,就可以打印出各种信息。另一种热敏微打热转印微打,其工作原理与直热式热敏机基本相同,不同之处在于:热转印微打通过加热带热敏涂层的碳带,把相应碳带加热点上的涂层材料转印到普通的打印纸上。性能表现主要是热敏微打的速度是针式微打的几倍。总之,直热式热敏微打主要在噪声、速度和分辨率上优于针式微打,而针式微打却在拷贝能力和打印后纸张的保存效果(热转印式除外)上优于直热式热敏微打,这些各自的优点奠定了这两大类的微打在不同应用领域受青睐的地位。 随着国内电子政务、电子商务的迅速发展,以及工商、税务电子监控等政策的逐渐实施,对发票和税控收据的自动打印要求将越来越广泛,商业收款和税控发票打印也就成为微型打印机应用最为广泛的领域,而热敏式、9针串行点阵式打印方式则在此领域应用最为广泛。 此外,随着微型打印机技术的发展,各种新型的微型打印机也慢慢走向市场,如便携式微型打印机,它在水、电、燃气等抄表业务中得到了很好的推广。相对于传统的手工抄表,然后录入电脑,再由电脑打印出单据送到用户手中,便携式微打表现出了极大的方便性。类似的应用还有火车上的移动式补票机等。4.2单片机芯片部分89S52是标准的40引脚双列直插式集成电路芯片1,引脚排列请参见下图4-2:图4-2 89S52芯片引脚4.2.1 信号引脚介绍(1) 输入/输出口线P0.0 P0.7 P0口8位双向口线P1.0 P1.7 P1口8位双向口线P2.0 P2.7 P2口8位双向口线P3.0 P3.7 P3口8位双向口线(2) 地址锁存控制信号(ALE)在系统扩展时,ALE用于控制把P0口输出的低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。此外由于ALE是六分之一晶振频率的固定频率输出的正脉冲,因为可作为外部时钟或外部定时脉冲使用。(3) 外部程序存储器读选通信号(/PSEN)在读外部ROM时/PSEN有效(低电平),以实现外部ROM单元的读操作。(4) 访问程序存储器控制信号(/EA)当/EA信号为低电平时,对ROM的读操作限定在外部程序存储器;而当/EA信号为高电平时,则对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储器。(5) 复位信号(RST)当输入的复位信号延续2个机器周期以上高电平时即为有效,用以完成单片机的复位操作。(6) 外接晶体引线端(XTAL1和XTAL2)当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。(7) 地线(Vss)(8) +5V电源(Vcc)以上就是89S52单片机芯片40条引脚的定义及简单功能说明2。4.2.2 信号引脚的第二功能由于工艺及标准化等原因,芯片的引脚数目是有限制的,例如MCS-51系列单片机芯片引脚的数目是40条,但单片机为实现其功能所需要的信号数目却远远超过此数,因此就出现了供需问题。 解决这一问题唯一可行的办法是“复用”,即给一些信号引脚赋予双重功能。如果我们把前述的信号定义为引脚第一功能的话,则根据需要再定义的信号就是它的第二功能。第二功能信号定义主要集中在P3口线中,另外再加上几个其它信号线。(1) EPROM 存储器程序固化所需要的信号P3的8条口线都定义有第二功能,详见表4-1。表4-1 P3口线的第二功能口线第二功能 信号名称P3.0 RXD串行数据接收P3.1 TXD串行数据发送P3.2 /INT0外部中断0申请P3.3 /INT1外部中断1申请P3.4 T0定时器/计数器0计数输入P3.5 T1定时器/计数器1计数输入P3.6 /WR外部RAM写选通P3.7 /RD外部RAM读选通有内部EPROM的单片机芯片(例如87C51),为写入程序需提供专门的编程脉冲和编程电源,它们也是由信号引脚以第二功能的形式提供的,即:编程脉冲: 30脚(ALE/PROG)编程电压(25V):31脚(/EA/VPP)(2) 备用电源引入MCS-51单片机的备用电源也是以信号引脚第二功能的方式由9脚(RST/VPD)引入的。当电源发生故障,电压降低到下限值时,备用电源经此端向内部RAM提供电压,以保护内部RAM中的信息不丢失。4.3 单片机与微型打印机的接口4.3.1微型打印机TPP-40A的主要性能、接口要求及时序TPP-40A是一种单片机控制的微型智能打印机。每行打印40个字符3。(1) TPP-40A主要技术性能 采用单片机控制,具有2KB控达程序标准的Centronic并行接口。 具有较丰富的打印命令,命令代码均为单字节,格式简单。 可产生全部标准的ASCII代码字符,以及128个非标准字符和图符。有16个代码字符(67点阵)可由用户通过程序自行定义。并可通过命令用此16个代码字符去更换任何驻留代码字型,以便用于多种文字的打印。 可打印出8240点阵的图样(汉字或图案点阵)。代码字符和点阵图样可在一行中混合打印。 字符、图符和点阵图可以在宽和高的方向放大为2、3、4倍。 每行字符的点行数(包括字符的行间距)可用命令更换。即字符行间距空点行在0256间任选。 带有水平和垂直制表命令,便于打印表格。 具有重复打印同一字符命令,以减少输送代码的数量。 带有命令格式的检错功能。当输入错误命令时打印机立即打印错误信息代码。(2) 接口信号TPP-40A微型打印机与单片机间是通过一条20芯扁平电缆及接插件相连(如图4-3所示)。打印机有一个20线扁平插座,信号引脚排列如表4-2所示: 表4-2 打印机信号引脚排列 2 4 6 8 10 12 14 16 18 20GND GND GND GNDGNDGNDGND GND /ACK/ERR /STB DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7BUSY1 3 5 7 9 11 13 15 17 19插入扁平电缆插头从打印机背面视图图4-3 扁平电缆和插件接口220191 其中: DB0DB7:数据线,单向传输,由单片机输入给打印机。 /STB(STROBE):数据选通信号。在该信号的上升沿时,数据线上的8位并行数据被打印机读入机内锁存。 BUSY:打印机“忙”状态信号。当该信号有效(高电平)时,表示打印机忙于处理数据。此时,单片机不得使STB信号有效,向打印机送入新的数据。 /ACK:打印机的应答信号。低电平有效,表明打印机已取走数据线上的数据。 /ERR:“出错”信号。送入打印机的命令格式出错时,打印机立即打印一行出错信息提示出错。在打印出错信息之前该信号线出现一个负脉冲,脉冲宽度为30s。(3) 接口信号时序420ns50nsNEXTXT050ns6sBUSY时间不定(不同命令、数据而异)2030sDB0DB7/STB/ACK图4-4接口信号时序图 接口信号时序如图4-4所示。选通信号/STB宽度需大于0.5s。/ACK应答信号可与/STB信号作为一对应答联络信号,可使用/STB与BUSY作为一对应答联络信号5。4.3.2 字符代码及打印命令TPP-40A全部代码共256个,其中00H无效,代码01H0FH为打印命令;代码10H1FH为用户自定义代码;代码20H7FH为标准ASCII代码;代码80HFFH为非ASCII代码,其中包括少量汉字、希腊字母、块图图符和一些特殊的字符。(1) 字符代码TPP-40A中全部字符代码为10HFFH,回车换行代码0DH为字符串的结束符。但当输入代码满40个时,打印机自动回车。几个例子如下: 打印“2356.73”输送代码串为:24,32,33,35,36,2E,37,33,0D。 打印“23.7”输送代码为:32,33,2E,37,63,6D,9D,0D。 打印“This is Micro-Printer”输送代码串为:54H,68H, 69H,73H, 20H,69H,73H,20H, 4DH,69H,63H,72H, 6FH,2DH,70H,72H,69H,6EH,74H,65H,72H,2EH,0DH。(2) 打印命令打印命令由一个命令字和若干个参数字节组成,命令结束符为0DH,除下述表中代码06H的命令必须用它外,均可省略。TPP-40A命令代码及功能见表4-3。表4-3 TPP-40A命令代码及功能命令代码命令功能01H打印字符、图等,增宽(1、2、3、4) 02H打印字符、图等,增高(1、2、3、4) 03H打印字符、图等,宽和高同时增加(1、2、3、4) 04H字符间距更换或定义 05H用户自定义字符点阵 06H驻留代码字符点阵式样更换 07H水平(制表)跳区 08H垂直(制表)跳行 09H恢复ASCII代码和清输入缓冲区命令0AH一个空格后回车换行0BH0CH无效 0DH回车换行/命令结束 0EH重复打印同一字符命令 0FHL打印点阵图命令(3) 命令非法时的出错显示当主机向TPP-40A输入非法命令时,打印机即打印出错代码。其意义为:ERROR0: 放大系数出界,即放大倍数是1,2,3和4以外的数字。此错误出现在 01H,01H,03H命令时。ERROR1:定义代码非法。用户自定义代码不是10H1FH.ERROR2:非法换码命令。换码命令只能用10H1FH去代换驻留字符代码,否则为非法。ERROR3:绘图命令错误。指定图形字节数为0或大于240。ERROR4:垂直指标命令错误。指定空行数为零6。4.3.3 TPP-40A与MCS-51单片机接口设计TPP-40A是智能打印机,其控制电路由单片机构成,在输入电路中有锁存器,在输出电路中有三态门控制。因此可以不通过I/O口直接与单片应用系统的总线连接,即打印机的数据线可以以外部I/O口的形式与MCS-51系列单片机的P0口相连。如图4-5所示:TPP-40A没有读、写信号线,只有一对握手线/STB、BUSY,因此,用一根地址线(使用P2.7)来控制读写信号选通 /STB和读取打印机的BUSY状态7。3233343536373839202635791113/WRP2.7/RDP0.789S52P0.0GND/STBBUSYDB7 TPP-40ADB0GND111161917151728图4-5 单片机和微型打印机的接口4.4 单片机与液晶显示器的接口显示器部分是由液晶显示控制行、列驱动器和HY128*64液晶显示器组成的8。 4.4.1 液晶显示控制驱动器HD61202的特点HD61202液晶显示控制驱动器是一种带有驱动输出的图形液晶显示控制器,它可直接与8位微处理器相连,它可与HD61203配合对液晶屏进行行、列驱动。HD61202是一种带有列驱动输出的液晶显示控制器,它可与行驱动器HD61203配合使用,组成液晶显示驱动控制系统。(1) 内藏6464=4096位显示RAM,RAM每位数据对应LCD屏上一个点的亮暗状态;(2) HD61202是列驱动器,具有64路列驱动输出;(3) HD61202读、写操作时序与68系列微处理器相符,因此它可直接与68系列微表4-4 与微处理器的接口信号引脚功能引脚符号状态引脚名称功能CS1,CS2,CS3输入芯片片选端CS1和CS2低电平选通,CS3高电平选通。E输入读写使能信号在E下降沿,数据被锁存(写)入HD61202;在E高电平期间,数据被读出R/W输入读写选择信号R/W=1为读选通,R/W=0为写选通RS输入数据、指令选择信号RS=1为数据操作 RS=0为写指令或读状态DB0-DB7三态数据总线RST输入复位信号复位信号有效时,关闭液晶显示,使显示起始行为0,RST可跟MPU相连,由MPU控制;也可直接接VDD,使之不起作用。处理器接口相连;(4) HD61202的占空比为1/32-1/64。4.4.2液晶显示控制驱动器HD61202的引脚功能HD61202的与各种器件信号的引脚功能如表4-4,表4-5,表4-6所示:表4-5 与HD61203接口信号引脚功能M输入交流驱动波形信号FRM输入帧同步信号CL输入锁存行显示数据的同步信号该信号上升沿时锁存数据,同时改变显示输出地址1,2输入内部操作时钟信号Y1-Y64液晶显示驱动端VDD,VSS内部逻辑电源VEE1,VEE2液晶显示驱动电路的电源常令VEE1=VEE2V1L-V4L,V1R-V4R液晶显示驱动电压其电压值均在VCC和VEE之间,常令V1L=V1R,V2L=V2R,V3L=V3R, V4L=V4RADC决定Y1-Y64与液晶屏的连接顺序ADC=1JF,Y1=$0,Y64=$63ADC=0时,Y1=$63,Y64=$0该引脚直接接VCC或GND即可表4-6 与LCD接口信号引脚功能4.4.3液晶显示控制驱动器HD61202的指令系统HD61202的指令系统比较简单,总共只有七种。现分别介绍如下: (1) 显示开/关指令表4-7 显示开/关指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB00 0 0 0 1 1 1 1 1 1/0当DB0=1时,LCD显示RAM中的内容;DB=0时,关闭显示。(2) 显示起始行(ROW)设置指令表4-8 显示起始行设置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 1 显示起始行(0-63)该指令设置了对应液晶屏最上一行的显示RAM的行号,有规律的改变显示起始行,可以使LCD实现显示滚屏的效果。(3) 页(RAGE)设置指令表4-9 页设置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 1 0 1 1 1 页号(0-7)显示RAM共64行,分8页,每页8行。(4) 地址(Y Address)设置指令表4-10 地址设置指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 0 0 1 显示列地址(0-63)设置了页地址和列地址,就唯一确定了显示RAM中的一个单元,这样MCU就可以用读、写指令读出该单元中的内容或向该单元写进一个字节数据。(5) 读状态指令表4-11 读状态指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB01 0BUSY 0 ON/OFF REST 0 0 0 0该指令用来查询HD61202的状态,各参量含义如下: BUSY:1-内部在工作 0-正常状态 ON/OFF:1-显示关闭 0-显示打开 REST: 1-复位状态 0-正常状态在BUSY和REST状态时,除读状态指令外,其它指令不对HD61202产生作用。在对HD61202操作之前要查询BUSY状态,以确定是否可以对HD61202进行操作。(6) 写数据指令表4-12 写数据指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 0 1 写 数 据(7) 数据指令读、写数据指令每执行完一次读、写操作,列地址就自动增一,必须注意的是,进行读操作之前,必须有一次空读操作,紧接着再读才会读出所要读的单元中的。表4-13 数据指令R/W RSDB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 1 1 读 显 示 数 据4.4.4 HY-12864的电路结构特点HY-12864是使用HD61202作为列驱动器,同时使用HD61203作为行驱动器的液晶模块9。由于HD61203不与MCU发生联系,只要提供电源就能产生行驱动信号和各种同步信号,比较简单。下面主要介绍以下HY12864这个模块的逻辑电路图。HY-12864共有两片HD61202和一片HD61203,如下图4-6所示:振荡电路64行 LCD 64 列64列控制同步脉冲DB0-DB7VeeBL+BL-Vss Vdd Vo RS R/WE DB0 DB1 DB7 CS1 CS2 RES 图4-6 逻辑电路图在HY-12864中,两片HD61202的ADC均接高电平,RST也接高电平,这样在使用HY-12864时就不必再考虑这两个引脚的作用。/CSA跟HD61202(1)的/CS1相连;/CSB跟HD61202(2)的CS1相连,因此/CSA、/CSB选通组合信号为/CSA,/CSB=01选通(1),/CSA,/CSB=10选通(2)。对于HY-12864只要供给VDD、VSS和V0即可,HD61202和HD61203所需电源将有模块内部电路在VDD和V0、VSS的作用下产生的10。4.4.5 HY-12864的应用图4-7 接口电路原理图上面是液晶显示器HY12864与单片机89S52的接口电路。控制电路为直接访问方式的接口电路11。电路原理图如上图所示: 单片机的P0端口直接与显示器的数据端口相连;电位器用来调节显示器屏幕亮度,而负电源由显示器本身提供;单片机的读写信号端口通过与非门控制显示器的读写使能端,高电平时数据被读出,下降沿时数据被锁存即写入列驱动器;P2.3口控制芯片片选端(第二个列驱动器),P2.2口控制芯片片选端(第一个列驱动器),且二者均为低电平有效;P2.1口控制读写选通信号,输入低电平时写选通,本设计不需读入,所以只要低电平即可;P2.0口控制数据指令选择信号,高电平为数据操作,低电平写指令或读状态,即先为0写入控制字再为1写入数据代码确定什么字。4.5 键盘部分4.5.1 单片机键盘和键盘接口概述单片机使用的键盘可分为独立式和矩阵式两种。独立式实际上就是一组相互独立的按键,这些按键可直接与单片机的I/O接口连接,其方法是每个按键独占一条口线,接口简单12。矩阵式键盘也称行列式键盘,因为键的数目较多,所以键按行列组成矩阵(如图4-8所示)。图4-8 键盘接口电路图按一个键到键的功能被执行主要应包括两项工作:一是键的识别,即在键盘中找出被按的是哪个键,另一项是键功能的实现。第一项工作是使用接口电路实现的,而第二项工作则是通过执行中断服务程序来完成。下面来介绍键盘接口问题13。具体来说,键盘接口应完成以下操作功能:a 键盘扫描,以判定是否有键被按下(称之为“闭合键”)。b 键识别,以确定闭合键的行列位置。c 产生闭合键的键码。d 排除多键、串键(复按)及去抖动。这些内容通常是以软硬件结合的方式来完成的,即在软件的配合下由接口电路来完成。但具体那些由硬件完成由软件完成,要看接口电路的情况。总的原则是,硬件复杂软件就简单,硬件简单软件就得复杂一些。可以为MCS-51单片机实现键盘接口的方法和接口芯片有:a 使用单片机芯片本身的并/串行口b 使用通用接口芯片(例如8255、8155等)/专用接口芯片82794.5.2 单片机键盘接口和键功能的实现(1) 键盘接口处理内容 键扫描键盘上的键按行列组成矩阵,在行列的交点上都对应有一个键。为判定有无键被按下(闭合键)以及被按键的位置,可使用两种方法:扫描法和翻转法,其中以扫描法使用较为普遍。因此下面以扫描法为例,说明查找闭合键的方法。现以图4-9所示的4行4列键盘为例,对键扫描进行说明。输入口11110 1 1 1+5V输出口(a)(b)输入口输出口11111 0 1 1+5V11011 1 0 1输入口+5V输出口(c)图4-9 键扫描法示意图首先是判定有没有键被按下。如图4-9所示,键盘的行线一端经电阻接+5V电源,另一端接单片机的输入口线。各列线的一端接单片机的输出口线,另一端悬空。为判定有没有键被按下,可先经输出口向所有列线输出低电平,然后再输入各行线状态。若行线状态中有低电平,则表示有键被按下。然后再判定被按键的位置。因为在键盘矩阵中有键按下时,被按键处的行线和列线被接通,使穿过闭合键的那条行线变为低电平。假定图4-9中A键被按下,则判定键位置的扫描是这样进行的:先使输出口输出0EH,然后输入行线状态,测试行线状态中是否有低电平(图4-9(a)。如果没有低电平,再使输出口输出0DH,再测试行线状态(图4-9(b)。到输出口输出0BH时,行线中有状态为低电平者,则闭合键找到(图4-9(c),通过此次扫描的行线值和列线值就可以知道闭合键的位置。至此行扫描似乎可以结束,但实际上扫描往往要继续进行下去,以发现可能出现的多键同时被按下。 去抖动当扫描表明有键被按下之后,紧接着应进行去抖动处理。因为常用键盘的键实际上就是一个机械开关结构,被按下时,由于机械接触点的弹性及电压突跳等原因,在触点闭合或断开的瞬间会出现电压抖动,如图4-10所示。抖动时间长短与键的机械特性有关,一般为510ms。而键的稳定的闭合时间和操作者按键动作有关,大约为十分之几到几秒不等。键按下前沿抖动后沿抖动 图4-10 键闭合和断开时的电压抖动 键码计算被按键确定下来之后,接下来的工作是计算闭合键的键码,因为有了键码,才能通过散转指令把程序执行转到闭合键所对应的中断服务程序上去。也可以直接使用该闭合键的行列值组合产生键码,但这样做会使各子程序的入口地址比较散乱,给JMP指令的使用带来不便。所以通常都是以键的排列顺序安排键号,例如,图4-11所示的键号是按从左到右从上到下的顺序编排的。这样安排,使键码既可以根据行号列号以查表求得,也可以通过计算得到。按图4-11所示的键码编排规律,各行的首号依次是00H,04H,08H,0CH,如列号按03顺序,则键码的计算公式为: 键码=行首号+列号00H01H02H03H04H05H06H07H08H09H0AH0BH0CH0DH0EH0FH图4-11 键号排列 等待键释放计算键码之后,再以延时后进行扫描的方法等待键释放。等待键释放是为了保证键的一次闭合仅进行一次处理。综上所述,键盘接口处理的核心内容是测试有无闭合键,对闭合键进行去抖动处理,求得闭合键的键码。这些操作内容通常都是有软硬件相结合的方法实现,但如果使用像8279这样的专用接口芯片,可以大大简化软件。为了使键盘操作更稳定可靠,还可以加一些附加功能,例如屏蔽功能:在对一个闭合键已进行处理时,再按下其它键不会产生影响;对于一个键,不管按下多长时间,仅执行一次键处理子程序等。(2) 键盘接口的控制方式在单片机的运行过程中,何时执行键盘扫描和处理,可有以下3种情况: 随机方式,每当CPU空闲时执行键盘扫描程序。 中断方式,每当有键闭合时才向CPU发出中断请求,中断响应后执行键盘扫描程序。 定时方式,每隔一定时间执行一次键盘扫描程序,定时可由单片机定时器完成。(3) 键处理子程序在计算机中每一个键都对应一个处理子程序,得到闭合键的键码后,就可以根据键码,转相应的键处理子程序(分支是使用JMP等散转指令实现的),进行字符、数据的输入或命令的处理。这样就可以实现该键所设定的功能14。4.6电源模块设计4.6.1单元电源电路设计为了能够让单片机和打印机更好,更稳定地工作,采用了图4-12所示单元电源电路,由电源变压器、桥堆和滤波电容器所组成。电源变压器的初级电压输入为220V,次级输出电压为12V15 16。由于单片机所需的是+5V电源,经滤波电容和三端稳压集成电路MC7812后可得到+12V电压,MC7812能将15V25V的直流电压变换成12V的稳定电压,在12V的电压中含有少量的低频成分和接收外界的高频成分,再经后一级滤波后送三端稳压集成图4-12 电源电路图电路LM317,LM317能将大于7V15V的直流电压变换成+5V的稳定电压并且提供的较大电流以保证打印机正常工作。同时由于电流较大导致三端稳压集成电路MC7812和LM317过热,为了确保电路工作正常,给两个芯片分别加上散热片。4.6.2直流稳压电源的检测 本系统对电源要求高,因为稳定性和可靠性在单片机的应用中具有格外重要的意义。为了提高稳定性,单片机的允许电压变化范围很宽。通常单片机使用5V电压,所以采用较为复杂的稳压电源,电源电路的主要部件采用集成的三端稳压器件如LM317与MC7812,稳压电源输入电压范围宽,输出电压稳定,电流较大,抗干扰能力强,以满足主控系统和微型打印机的要求17。 数字万用表对稳压电源的测试结果,如表4-14所示: 输入级(原)MC7812输出输出级+5V直流稳压电源220V交流电压11.998 V4.997V表4-14 电压测试 5 软件部分根据程序设计步骤流程图(图5-1),准备本次设计所需要的整体流程图和部分流程图。图5-1 程序设计步骤流程图拟制设计任务书建立或修改数学类型确立算法编制或修改流程图编制或修改程序汇编通过上机调试调试通过试运行通过完成YYN程序有大问题NYYN5.1 程序设计整体流程图通过对本设计的了解,可以知道软件的主要作用是通过单片机来控制打印机、键盘、液晶显示器三个外接设备。当数据选通信号为上升沿时,单片机上的8位并行数据写入到打印机内锁存;忙判断信号BUSY为高电平时,此时,单片机不能向打印机发送数据。当打印机忙时,调用显示,使液晶显示屏显示当前打印的信息,并可通过按键来改变打印数值。首先,进行整个程序的初始化及清屏。当有按键按下时,程序判断是哪个键被按下,然后执行相应的按键功能,并调用液晶显示器,显示所打印的内容;当没有键按下时,返回键盘扫描,再判断是否有键被按下。本次程序设计的整体流程图,如图5-2所示: Y清屏调用显示键盘扫描判断哪个键被按下执行相应的按键功能图5-2 程序设计整体流程图初始化N键被按下5.2 键处理的流程图键盘部分应实现如下功能:首先,对键盘进行扫描,判断是否有键被按下。如果没有,则转回键盘扫描,看下次是否有键被按下;如果有键被按下,则先对键进行去抖动,然后算出是哪个键被按下,再延时等待键释放。因为每一个键都对应一个处理子程序,得到闭合键的键码后,就可以根据键码,转相应的键处理子程序(分支是使用JMP等散转指令实现的),进行字符、数据的输入或命令的处理。这样就可以实现该键所设定的功能。根据上述说明,画出本次程序设计的键处理流程图,如图5-3所示:YN开始键扫描去抖动键码计算JMPA+DPTRA=00H01键处理程序00键处理程序键处理程序键处理程序A=01H A=H A=nnH图5-3 键处理流程图键释放有无键按下YN6 显示与测试结果整个电路接通后,当键盘中打印按键按下时,微型打印机开始工作,打印所设定的汉字,同时在液晶显示屏上显示所打印的内容;当打印完毕后,显示屏上显示打印完毕。当按下第十五键时,显示屏清屏并显示汉字和“请输入:”,微型打印机等待打印。当按下数字键中任何一个时,显示屏上显示相应数字同时微型打印机打印该数字。 具体打印显示结果如下图6-1所示:按键选择液晶显示器显示按 下打印键天津工程师范学院通信0201班曹宝爽毕业设计。按 下十五键按 下数字键1天津工程师范学院通信0201班曹宝爽毕业设计。请输入:天津工程师范学院通信0201班曹宝爽毕业设计。请输入:1图6-1 打印显示示例7 结 论此设计体现了由单片机控制的微型打印机的众多优点:多功能超小体积,可用电池供电,设计紧凑,方便操作,可打印的内容及其形式具有多样性,节约资源(低耗材),耐用性强,打印精度高,且保证打印噪音低。在本次设计中,实现了利用微型打印机打印出一段固定的文字,并可以任意打印出09十个阿拉伯数字,同时在液晶显示器上显示所打印的内容;在不超过单片机内存的情况下,根据改编程序重新设定一些字符或者表格等,就可以将所设定的内容打印且显示出来。在设计制作微型打印机控制电路的过程当中,遇到了不少问题。例如,在打印过程中,会出现只打印出字的一半的情况,即字的上半部分不对应该字的下半部分,原因是代码顺序调反;还有一种情况就是打印乱码,原因是打印机对单片机造成干扰。而设计制作直流稳压电源时,发现应用三端集成稳压电路MC7805输出的电压虽然可以达到5V,但是提供的电流较小,使微型打印机无法正常工作。把MC7805换成大电流稳压器件LM317,可得到较大的电流。由于带负载较重导致稳压器件本身过热,因此在稳压器件上加了散热片,防止器件过热烧坏。本设计由于水平有限,电路及程序设计还有需要改进的地方,在今后的学习和研究中,将继续改进完善。另外在调试过程中,以保证作品实现功能准确为前提,尽量做到电路简单、美观,效果好成本低,以增强其实用价值。参考文献1 李广弟,朱月秀,王秀山单片机基础,第2版(修订版),北京航空航天大学出版社,2001年,1-221 2 梅丽凤,王艳秋,汪毓铎等单片机原理及接口技术,第1版,清华大学出版社 北京交通大学出版社,2004年,244-2483 吴景狄单片机的总线与口线,电子世界,2001年,第1期,32-334 公茂法,马宝甫,孙晨单片机人机接口实例集,第1版,北京航空航天大学出版社,1998年,63-119,155-1685 陈宝江,翟勇,张幽彤等MCS单片机应用系统实用指南,第1版,机械工业出版社,1998年,345-3486 胡汉才单片机原理及其接口技术,第2版,清华大学出版社,2004年,126-1667 赵性初单片机微型计算机原理与接口技术,第1版,华中理工大学出版社,1993年,136-1388 蔡莹液晶技术与电子纸,电子产品世界,2003年,第21期,38-409 丁易新OCMJ图形液晶显示器与AVR单片机的接口设计,中国无线电电子学文摘,2005年,第31(4)期,48-5010 周仕凤用MCS-51做LCD接口实验,电子世界,2002年,第8期,3711 肖健,李华文,梁家毅字符型液晶显示模块与单片机的接口技术,电子产品世界,2002年,第17期,68-6912 李鹏飞AVR单片机与44小键盘的使用,无线电,2006年,第5期,39-4113 吴景狄单片机的键盘及LED数码显示接口,电子世界,2001年,第4期,30-3114 吴金戌,沈庆阳,郭庭吉8051单片机实践与应用,第1版,清华大学出版社,2001年,163-16615 谭博学,苗汇静,唐诗等集及成电路原理应用,第1版,电子工业出版社,2003年,206-22216 黄智伟,王彦,陈文光等全国大学生电子设计竞赛训练教程,第1版,电子工业出版社,2004年,73-8017 WU Xunwei,HANG GuoqiangLow power DC circuits employing AC power supply,SCIENCE IN CHINA (INFORMATION SCIENCES),2002,, Vol.45 No.3,232致 谢毕业设计是我大学本科学习的过程向学校、社会交出的一张总结答卷。它不仅是我对大学四年所学知识的总结,也是把所学知识融会贯通运用到实践中的一次尝试,是衡量我四年学习成果的一个必要标准。通过此次的毕业设计,不仅使我深刻的巩固以往的所学习本专业的知识,也实际熟练了本专业的技能操作。在毕业设计过程中,通过翻阅有关微型打印机方面的书集,拓宽了我的知识面,并对单片机的知识有了总体的理解,经过了反复思考的过程。这让我能够深刻的体会到基础的理论知识与实际实现还是存在的差异,实际应用中还要考虑各个方面的因素,这给我以后的学习和工作奠定了坚实的基础。在毕业设计即将结束之际,我要感谢我的指导教师李杰老师以及胡建明老师。从毕业设计的准备到结束,他们在毕业设计过程中给予了我多方面的支持和帮助。因为有这些老师的大力帮助,使得我们可以很快的解决制作过程中所遇到的问题和困难,也使得我们从中学习到许多知识及做人的道理,增强了我们自主学习和动手的能力,为我们今后步入工作岗位打下了良好的基础。在此我还要感谢和我一起完成毕业设计的同学们,特别感谢陈海山和刘全刚两位同学所给予我的帮助。在这次设计中我们紧密合作、互相协商,不仅锻炼了我们的沟通能力,而且培养了我们的团队精神。最后还要感谢我生活以及学习了四年的学院,在这次毕业设计中提供给我们良好的环境以及便利的条件,让我们全心投入到这次毕业设计中。再次感谢所有帮助过我的人们!并祝愿我们学院越来越美好!附录1:程序 COM EQU 34H ;指令寄存器 DAT EQU 35H ;数据寄存器 CWADD1 EQU 8400H ;写指令代码地址(左) CRADD1 EQU 8600H ;读状态字地址(左) DWADD1 EQU 8500H ;写显示数据地址(左) DRADD1 EQU 8700H ;读显示数据地址(左) CWADD2 EQU 8800H ;写指令代码地址(右) CRADD2 EQU 8A00H ;读状态字地址(右) DWADD2 EQU 8900H ;写显示数据地址(右) DRADD2 EQU 8B00H ;读显示数据地址(右) RELIE EQU 36H ;在汉字中保存列其始值 COLUMN EQU 30H ;列地址寄存器(0-127) PAGER EQU 31H ;页地址寄存器D2,D1,D0:页地址 ;D7:字符体D7=0为6X8点阵 ; D7=1为8X8点阵 CODER EQU 32H ;字符代码寄存器 COUNT EQU 33H ;计数器 ZIDI EQU 37H ;字体在表中的位置指针地位 ;MOV DPTR,#CCTAB ; MOV ZIDI,DPL MOV ZIGAO,DPH ZIGAO EQU 38H ;字体在表中的位置指针高位 DONGXH EQU 39H ;此为动态显示的位数 BAOHUDI EQU 3AH BAOHUGAO EQU 3BH ;3CH,3DH,3EH,3FH作键盘用 ADREL1 EQU 42H ADREL2 EQU 43H;* ORG 0000H AJMP MAIN ORG 0030H;数据接P0口MAIN: MOV SP,#70H MOV 40H,#00H MOV 41H,#40H MOV R4,#0AH MOV R0,#50HCLEARA: MOV R0,#00H INC R0 DJNZ R4,CLEARA LCALL INT LCALL CLEAR LCALL DDD ;静态字显示L1: MOV 3CH,#0F7H ;开始键扫描 MOV 3DH,#00HL2: MOV A,3CH MOV P1,A MOV A,P1 MOV 3EH,A SETB C MOV 3FH,#04HL3: RLC A JNC KEYIN INC 3DH DJNZ 3FH,L3 ;LCALL DISP1 MOV A,3CH SETB C RRC A MOV 3CH,A JC L2 AJMP L1KEYIN: MOV R7,#60D2: MOV R6,#248 DJNZ R6,$ DJNZ R7,D2D3: MOV A,P1 XRL A,3EH JZ D3 CLR C MOV A,3DH RLC A MOV DPTR,#TABLE JMP A+DPTRMNMN: AJMP L1TABLE: AJMP MN0 ;键盘入口地址 AJMP MN1 AJMP MN2 AJMP MN3 AJMP MN4 AJMP MN5 AJMP MN6 AJMP MN7 AJMP MN8 AJMP MN9 AJMP MN13 AJMP MN14 AJMP MN15 ;键盘入口地址MN0: MOV A,40H JNZ FANMN0 AJMP MN0_0FANMN0: AJMP MNMNMN0_0: MOV A,41H SUBB A,#80H JC JX0 AJMP FANMN0 AJMP MNMNMN10: AJMP MNMNMN11: AJMP MNMNMN12: AJMP MNMNMN13: AJMP MNMNMN15:; MOV ADREL1,#00H MOV ADREL2,#0BCH SETB P3.2LP1_1: JB P3.2,LP1_1 MOV R4,ADREL1LP2_1: MOV A,R4 MOV DPTR,#PRNTAB1_1 MOVC A,A+DPTR MOV DPTR,#0000H MOVX DPTR,ALP3_1: JB P3.2,LP3_1 INC R4 MOV A,R4 XRL A, ADREL2 JNZ LP2_1 MOV ADREL1,#00H MOV ADREL2,#0BCH SETB P3.2LP1_2: JB P3.2,LP1_2 MOV R4,ADREL1LP2_2: MOV A,R4 MOV DPTR,#PRNTAB1_2 MOVC A,A+DPTR MOV DPTR,#0000H MOVX DPTR,ALP3_2: JB P3.2,LP3_2 INC R4 MOV A,R4 XRL A, ADREL2 JNZ LP2_2 MOV DPTR,#CCTAB4 MOV ZIDI,DPL MOV ZIGAO,DPH MOV PAGER,#06H MOV COLUMN,#00H ;打 MOV CODER,#00H LCALL CCW_PR MOV DPTR,#CCTAB4 MOV ZIDI,DPL MOV ZIGAO,DPH MOV PAGER,#06H MOV COLUMN,#10H ;印 MOV CODER,#01H LCALL CCW_PR MOV DPTR,#CCTAB4 MOV ZIDI,DPL MOV ZIGAO,DPH MOV PAGER,#06H MOV COLUMN,#20H ;完 MOV CODER,#02H LCALL CCW_PR MOV DPTR,#CCTAB4 MOV ZIDI,DPL MOV ZIGAO,DPH MOV PAGER,#06H MOV COLUMN,#30H ;毕 MOV CODER,#03H LCALL CCW_PR AJMP MNMN;以下字不动DDD: MOV DPTR,#CCTAB1 MOV ZIDI,DPL MOV ZIGAO,DPH MOV PAGER,#00H MOV COLUMN,#00H ;天 MOV CODER,#00H LCALL CCW_PR MOV DPTR,#CCTAB1 MOV ZIDI,DPL MOV ZIGAO,DPH MOV PAGER,#00H MOV COLUMN,#10H ;津 MOV CODER,#01H LCALL CCW_PR MOV DPTR,#CCTAB1 MOV ZIDI,DPL MOV ZIGAO,DPH MOV PAGER,#00H MOV COLUMN,#20H ;工 MOV CODER,#02H LCALL CCW_PR MOV DPTR,#CCTAB1 MOV ZIDI,DPL MOV ZIGAO,DPH MOV PAGER,#00H MOV COLUMN,#30H ;程 MOV CODER,#03H LCALL CCW_PR MOV DPTR,#CCTAB1 MOV ZIDI,DPL MOV ZIGAO,DPH MOV PAGER,#00H MOV COLUMN,#40H ;师 MOV CODER,#04H LCALL CCW_PR MOV DPTR,#CCTAB1 MOV ZIDI,DPL MOV ZIGAO,DPH MOV PAGER,#00H MOV COLUMN,#50H ;范 MOV CODER,#05H LCALL CCW_PR MOV DPTR,#CCTAB1 MOV ZIDI,DPL MOV ZIGAO,DPH MOV PAGER,#00H MOV COLUMN,#60H ;学 MOV CODER,#06H LCALL CCW_PR MOV DPTR,#CCTAB1 MOV ZIDI,DPL MOV ZIGAO,DPH MOV PAGER,#00H MOV COLUMN,#70H ;院 MOV CODER,#07H LCALL CCW_PR RET ;中文演示程序段 MOV DPTR,#CTAB MOV ZIDI,DPL MOV ZIGAO,DPH MOV PAGER,#84H ; : MOV COLUMN,#20H MOV CODER,#1AH LCALL CW_PR RET;初始化子程序INT: MOV COM,#0C0H ;设置显示起始行为第一行 LCALL PRL0 LCALL PRR0 MOV COM,#3FH ;开显示设置 LCALL PRL0 LCALL PRR0 RET;清显示RAM区(清屏)子程序CLEAR: MOV R2,#00H ;页面地址暂存器设置CLEAR1: MOV A,R2 ORL A,#0B8H ;或页面地址设置代码 MOV COM,A ;页面地址设置 LCALL PRL0 LCALL PRR0 MOV COM,#40H ;列地址设置为0 LCALL PRL0 LCALL PRR0 MOV R3,#40H ;一页清64个字节CLEAR2: MOV DAT,#00H ;显示数据为0 LCALL PRL1 LCALL PRR1 DJNZ R3,CLEAR2 ;页内字节清零循环 INC R2 ;页地址暂存器加1 CJNE R2,#08H,CLEAR1 ;RAM区清零循环,共八页 RET ;写指令代码子程序(左)PRL0: PUSH DPL ;片选设置为00 PUSH DPH MOV DPTR,#CRADD1 ;设置读状态字地址PRL01: MOVX A,DPTR ;读状态字 JB ACC.7,PRL01 ;判忙标志为0否,否在读 MOV DPTR,#CWADD1 ;设置写指令代码地址 MOV A,COM ;取指令代码 MOVX DPTR,A ;写指令代码 POP DPH POP DPL RET ;写显示数据子程序(左)PRL1: PUSH DPL ;片选设置为00 PUSH DPH MOV DPTR,#CRADD1 ;设置读状态字地址PRL11: MOVX A,DPTR ;读状态字 JB ACC.7,PRL11 ;判忙标志为0否,否在读 MOV DPTR,#DWADD1 ;设置写显示数据地址 MOV A,DAT ;取数据 MOVX DPTR,A ;写数据 POP DPH POP DPL RET;读显示数据子程序(左)PRL2: PUSH DPL ;片选设置为00 PUSH DPH MOV DPTR,#CRADD1 ;设置读状态字地址PRL21: MOVX A,DPTR ;读状态字 JB ACC.7,PRL21 ;判忙标志为0否,否在读 MOV DPTR,#DRADD1 ;设置读显示数据地址 MOVX A,DPTR ;读数据 MOV DAT,A ;存数据 POP DPH POP DPL RET;写指令代码子程序(右)PRR0: PUSH DPL ;片选设置为10 PUSH DPH MOV DPTR,#CRADD2 ;设置读状态字地址PRR01: MOVX A,DPTR ;读状态字 JB ACC.7,PRR01 ;判忙标志为0否,否在读 MOV DPTR,#CWADD2 ;设置写指令代码地址 MOV A,COM ;取指令代码 MOVX DPTR,A ;写指令代码 POP DPH POP DPL RET;写显示数据子程序(右)PRR1: PUSH DPL ;片选设置为10 PUSH DPH MOV DPTR,#CRADD2 ;设置读状态字地址PRR11: MOVX A,DPTR ;读状态字 JB ACC.7,PRR11 ;判忙标志为0否,否在读 MOV DPTR,#DWADD2 ;设置写显示数据地址 MOV A,DAT ;取数据 MOVX DPTR,A ;写数据 POP DPH POP DPL RET;读显示数据子程序(右)PRR2: PUSH DPL ;片选设置为10 PUSH DPH MOV DPTR,#CRADD2 ;设置读状态字地址PRR21: MOVX A,DPTR ;读状态字 JB ACC.7,PRR21 ;判忙标志为0否,否在读 MOV DPTR,#DRADD2 ;设置读显示数据地址 MOVX A,DPTR ;读数据 MOV DAT,A ;存数据 POP DPH POP DPL RET;8*8CW_PR: CLR EA MOV DPL,ZIDI ;确定字符字模块首地址 MOV DPH,ZIGAO MOV A,CODER ;取代码 MOV B,#08H ;字模块宽度为8个字节 MUL AB ;代码X8 ADD A,DPL ;字符字模块首地址 MOV DPL,A ;=字模库首地址+代码X8 MOV A,B ADDC A,DPH MOV DPH,A MOV CODER,#00H ;借用为间址寄存器 MOV A,PAGER ;读页地址寄存器 JB ACC.7,CW_1 ;判字符体 MOV COUNT,#06H ;6X8点阵 LJMP CW_2CW_1: MOV COUNT,#08H ;8X8点阵CW_2: ANL A,#07H ;取页地址值 ORL A,#0B8H ;或页地址指令代码 MOV COM,A ;写页地址指针 LCALL PRL0 LCALL PRR0 MOV A,COLUMN ;读列地址寄存器 CLR C ANL A,#7FH ;为了滚屏,变成列地址为1-128 SUBB A,#40H ;列地址-64 JC CW_21 ;0为左屏显示区域 MOV COLUMN ,A ;0为右屏显示区域 MOV A,PAGER SETB ACC.4 ;设置区域标志位 MOV PAGER,A ;01为右,10为左 LJMP CW_3CW_21: MOV A,PAGER SETB ACC.5 ;设置区域标志位 MOV PAGER,ACW_3: MOV COM,COLUMN ;设置列地址值 如果超过80H,得减80H,为滚屏 ORL COM,#40H ;或列地址指令标志位 MOV A,PAGER ;判区域标志以确定设置哪个控制器 ANL A,#30H CJNE A,#10H,CW_31 LCALL PRR0 ;01为右区 LJMP CW_4CW_31: LCALL PRL0 ;10为左区CW_4: MOV A,CODER ;取间址寄存器值 MOVC A,A+DPTR ;取字符字模数据 MOV DAT,A ;写数据 MOV A,PAGER ;判区域标志 ANL A,#30H CJNE A,#10H,CW_41 LCALL PRR1 ;01为右区 LJMP CW_5CW_41: LCALL PRL1 ;10为左区CW_5: INC CODER ;间址加1 INC COLUMN ;列地址加1 MOV A,COLUMN ;判列地址是否超出区域范围 CLR C CJNE A,#40H,CW_6CW_6: JC CW_9 ;未超出则继续 MOV COLUMN,#00H MOV A,PAGER ;超出则判在何区域 ANL A,#30H CJNE A,#10H,CW_62 MOV A,PAGERCW_61: SETB ACC.4 ;在左区则转右区 CLR ACC.5 MOV PAGER,A MOV COM,#40H ;设置右区列地址为0 LCALL PRR0 AJMP CW_9CW_62: MOV A,PAGER CLR ACC.4 ;在右区则转左区 SETB ACC.5 MOV PAGER,A MOV COM,#40H ;设置左区列地址为0 LCALL PRL0CW_9: DJNZ COUNT,CW_4 ;循环 SETB EA RET;*;16*16CCW_PR: CLR EA MOV DPL,ZIDI ;确定字符字模块首地址 MOV DPH,ZIGAO MOV A,CODER ;取代码 MOV B,#20H ;字模块宽度为32个字节 MUL AB ;代码X32 ADD A,DPL ;字符字模块首地址 MOV DPL,A ;=字模库首地址+代码X32 MOV A,B ADDC A,DPH MOV DPH,A MOV RELIE,COLUMN ;保存列地址起始值 MOV CODER,#00H ;借用为间址寄存器 MOV A,PAGER ;读页地址寄存器CCW_1: MOV COUNT,#10H ;计数器设置为16CCW_2: ANL A,#07H ;取页地址值 ORL A,#0B8H ;或页地址指令代码 MOV COM,A ;写页地址指针 LCALL PRL0 LCALL PRR0 MOV COLUMN,RELIE ;取列地址值 MOV A,COLUMN ;读列地址寄存器 CLR C ANL A,#7FH ;为了滚屏,变成列地址为1-128 SUBB A,#40H ;列地址-64 JC CCW_21 ;0为左屏显示区域 MOV COLUMN ,A ;0为右屏显示区域 MOV A,PAGER SETB ACC.4 ;设置区域标志位 MOV PAGER,A ;01为右,10为左 LJMP CCW_3CCW_21: MOV A,PAGER SETB ACC.5 ;设置区域标志位 MOV PAGER,ACCW_3: MOV COM,COLUMN ;设置列地址值 如果超过80H,得减80H,为滚屏 ORL COM,#40H ;或列地址指令标志位 MOV A,PAGER ;判区域标志以确定设置哪个控制器 ANL A,#30H CJNE A,#10H,CCW_31 LCALL PRR0 ;01为右区 LJMP CCW_4CCW_31: LCALL PRL0 ;10为左区CCW_4: MOV A,CODER ;取间址寄存器值 MOVC A,A+DPTR ;取字符字模数据 MOV DAT,A ;写数据 MOV A,PAGER ;判区域标志 ANL A,#30H CJNE A,#10H,CCW_41 LCALL PRR1 ;01为右区 LJMP CCW_5CCW_41: LCALL PRL1 ;10为左区CCW_5: INC CODER ;间址加1 INC COLUMN ;列地址加1 MOV A,COLUMN ;判列地址是否超出区域范围 CLR C CJNE A,#40H,CCW_6CCW_6: JC CCW_9 ;未超出则继续 MOV COLUMN,#00H MOV A,PAGER ;超出则判在何区域 ANL A,#30H CJNE A,#10H,CCW_62 MOV A,PAGERCCW_61: SETB ACC.4 ;在左区则转右区 CLR ACC.5 MOV PAGER,A MOV COM,#40H ;设置右区列地址为0 LCALL PRR0 LJMP CCW_9CCW_62: MOV A,PAGER CLR ACC.4 ;在右区则转左区 SETB ACC.5 MOV PAGER,A MOV COM,#40H ;设置左区列地址为0 LCALL PRL0CCW_9: DJNZ COUNT,CCW_4 ;当页循环 MOV A,PAGER ;读页地址寄存器 JB ACC.7,CCW_10 ;判完成标志D7位,1则完成退出 INC A ;否则页地址加1 SETB ACC.7 ;置完成位为1 ANL A,#0CFH ;清区域标志 MOV PAGER,A MOV CODER,#10H ;间址寄存器设置为16 LJMP CCW_1 ;大循环CCW_10: SETB EA RET;西文字符库CTAB: DB 000H,000H,000H,000H,000H,000H,000H,000H ;=00H DB 000H,000H,000H,04FH,000H,000H,000H,000H ;!=01H DB 000H,000H,007H,000H,007H,000H,000H,000H ;=02H DB 000H,014H,07FH,014H,07FH,014H,000H,000H ;#=03H DB 000H,024H,02AH,07FH,02AH,012H,000H,000H ;$=04H DB 000H,023H,013H,008H,064H,062H,000H,000H ;%=05H DB 000H,036H,049H,055H,022H,050H,000H,000H ;&=06H DB 000H,000H,005H,003H,000H,000H,000H,000H ;1=07H DB 000H,000H,01CH,022H,041H,000H,000H,000H ;(=08H DB 000H,000H,041H,022H,01CH,000H,000H,000H ;)=09H DB 000H,014H,008H,03EH,008H,014H,000H,000H ;*=0AH DB 000H,008H,008H,03EH,008H,008H,000H,000H ;+=0BH DB 000H,000H,050H,030H,000H,000H,000H,000H ;=0CH DB 000H,008H,008H,008H,008H,000H,000H,000H ;-=0DH DB 000H,000H,060H,060H,000H,000H,000H,000H ;.=0EH DB 000H,020H,010H,008H,004H,002H,000H,000H ;/=0FH DB 000H,03EH,051H,049H,045H,03EH,000H,000H ;0=10H DB 000H,000H,042H,07FH,040H,000H,000H,000H ;1=11H DB 000H,042H,061H,051H,049H,046H,000H,000H ;2=12H DB 000H,021H,041H,045H,04BH,031H,000H,000H ;3=13H DB 000H,018H,014H,012H,07FH,010H,000H,000H ;4=14H DB 000H,027H,045H,045H,045H,039H,000H,000H ;5=15H DB 000H,03CH,04AH,049H,049H,030H,000H,000H ;6=16H DB 000H,001H,001H,079H,005H,003H,000H,000H ;7=17H DB 000H,036H,049H,049H,049H,036H,000H,000H ;8=18H DB 000H,006H,049H,049H,029H,01EH,000H,000H ;9=19H DB 000H,000H,036H,036H,000H,000H,000H,000H ;:=1AH DB 000H,000H,056H,036H,000H,000H,000H,000H ;=1BH DB 000H,008H,014H,022H,041H,000H,000H,000H ;=1EH DB 000H,002H,001H,051H,009H,006H,000H,000H ;?=1FH DB 000H,032H,049H,079H,041H,03EH,000H,000H ;=20H DB 000H,07EH,011H,011H,011H,07EH,000H,000H ;A=21H DB 000H,041H,07FH,049H,049H,036H,000H,000H ;B=22H DB 000H,03EH,041H,041H,041H,022H,000H,000H ;C=23H DB 000H,041H,07FH,041H,022H,01CH,000H,000H ;D=24H DB 000H,07FH,049H,049H,049H,049H,000H,000H ;E=25H DB 000H,07FH,009H,009H,009H,001H,000H,000H ;F=26H DB 000H,03EH,041H,041H,049H,07AH,000H,000H ;G=27H DB 000H,07FH,008H,008H,008H,07FH,000H,000H ;H=28H DB 000H,000H,041H,07FH,041H,000H,000H,000H ;I=29H DB 000H,020H,040H,041H,03FH,001H,000H,000H ;J=2AH DB 000H,07FH,008H,014H,022H,041H,000H,000H ;K=2BH DB 000H,07FH,040H,040H,040H,040H,000H,000H ;L=2CH DB 000H,07FH,002H,00CH,002H,07FH,000H,000H ;M=2DH DB 000H,07FH,006H,008H,030H,07FH,000H,000H ;N=2EH DB 000H,03EH,041H,041H,041H,03EH,000H,000H ;O=2FH DB 000H,07FH,009H,009H,009H,006H,000H,000H ;P=30H DB 000H,03EH,041H,051H,021H,05EH,000H,000H ;Q=31H DB 000H,07FH,009H,019H,029H,046H,000H,000H ;R=32H DB 000H,026H,049H,049H,049H,032H,000H,000H ;S=33H DB 000H,001H,001H,07FH,001H,001H,000H,000H ;T=34H DB 000H,03FH,040H,040H,040H,03FH,000H,000H ;U=35H DB 000H,01FH,020H,040H,020H,01FH,000H,000H ;V36H DB 000H,07FH,020H,018H,020H,07FH,000H,000H ;W=37H DB 000H,063H,014H,008H,014H,063H,000H,000H ;X=38H DB 000H,007H,008H,070H,008H,007H,000H,000H ;Y=39H DB 000H,061H,051H,049H,045H,043H,000H,000H ;Z=3AH DB 000H,000H,000H,000H,000H,000H,000H,000H ;=00H ;3B DB 000H,002H,004H,008H,010H,020H,000H,000H ;=3CH DB 000H,000H,041H,041H,07FH,000H,000H,000H ;=3DH DB 000H,004H,002H,001H,002H,004H,000H,000H ;?=3EH DB 000H,040H,040H,000H,040H,040H,000H,000H ;-=3FH DB 000H,001H,002H,004H,000H,000H,000H,000H ;1=40H DB 000H,020H,054H,054H,054H,078H,000H,000H ;a=41H DB 000H,07FH,048H,044H,044H,038H,000H,000H ;b=42H DB 000H,038H,044H,044H,044H,028H,000H,000H ;c=43H DB 000H,038H,044H,044H,048H,07FH,000H,000H ;d=44H DB 000H,038H,054H,054H,054H,018H,000H,000H ;e=45H DB 000H,000H,008H,07EH,009H,002H,000H,000H ;f=46H DB 000H,00CH,052H,052H,04CH,03EH,000H,000H ;g=47H DB 000H,07FH,008H,004H,004H,078H,000H,000H ;h=48H DB 000H,000H,044H,07DH,040H,000H,000H,000H ;i=49H DB 000H,020H,040H,044H,03DH,000H,000H,000H ;j=4AH DB 000H,000H,07FH,010H,028H,044H,000H,000H ;k=4BH DB 000H,000H,041H,07FH,040H,000H,000H,000H ;l=4CH DB 000H,07CH,004H,078H,004H,078H,000H,000H ;m=4DH DB 000H,07CH,008H,004H,004H,078H,000H,000H ;n=4EH DB 000H,038H,044H,044H,044H,038H,000H,000H ;o=4FH DB 000H,07EH,00CH,012H,012H,00CH,000H,000H ;p=50H DB 000H,00CH,012H,012H,00CH,07EH,000H,000H ;q=51H DB 000H,07CH,008H,004H,004H,008H,000H,000H ;r=52H DB 000H,058H,054H,054H,054H,064H,000H,000H ;s=53H DB 000H,004H,03FH,044H,040H,020H,000H,000H ;t=54H DB 000H,03CH,040H,040H,03CH,040H,000H,000H ;u=55H DB 000H,01CH,020H,040H,020H,01CH,000H,000H ;v=56H DB 000H,03CH,040H,030H,040H,03CH,000H,000H ;w=57H DB 000H,044H,028H,010H,028H,044H,000H,000H ;s=58H DB 000H,01CH,0A0H,0A0H,090H,07CH,000H,000H ;y=59H DB 000H,044H,064H,054H,04CH,044H,000H,000H ;z=5AH DB 000H,000H,008H,036H,041H,000H,000H,000H ;=5BH DB 000H,000H,000H,077H,000H,000H,000H,000H ;|=5CH DB 000H,000H,041H,036H,008H,000H,000H,000H ;=5DH DB 000H,002H,001H,002H,004H,002H,000H,000H ;-=5FH DB 000H,0FFH,0FFH,0FFH,0FFH,0FFH,000H,000H ; =60H;汉字库CCTAB1:;天12*12下半列排DB 00h, 00h, 40h, 48h, 48h, 48h, 48h, 0F8hDB 48h, 48h, 48h, 4Ch, 48h, 40h, 00h, 00hDB 00h, 00h, 20h, 20h, 10h, 08h, 04h, 03hDB 02h, 04h, 08h, 10h, 30h, 10h, 00h, 00h;津12*12下半列排DB 00h, 00h, 20h, 44h, 08h, 20h, 0A8h, 0A8hDB 0A8h, 0FCh, 0A8h, 0F8h, 20h, 20h, 00h, 00hDB 00h, 00h, 04h, 3Ch, 03h, 08h, 0Ah, 0AhDB 0Ah, 3Fh, 0Ah, 0Ah, 0Ah, 08h, 00h, 00h;工12*12下半列排DB 00h, 00h, 00h, 08h, 08h, 08h, 08h, 0F8hDB 08h, 08h, 08h, 0Ch, 08h, 00h, 00h, 00hDB 00h, 00h, 10h, 10h, 10h, 10h, 10h, 1FhDB 10h, 10h, 10h, 10h, 18h, 10h, 00h, 00h;程12*12下半列排DB 00h, 00h, 28h, 0A8h, 0F8h, 24h, 24h, 80hDB 0BCh, 0A4h, 0A4h, 0A4h, 0BCh, 80h, 00h, 00hDB 00h, 00h, 06h, 01h, 3Fh, 01h, 22h, 20hDB 24h, 24h, 3Fh, 24h, 34h, 20h, 00h, 00h;师12*12下半列排DB 00h, 00h, 00h, 0F0h, 00h, 0FCh, 00h, 0E8hDB 28h, 28h, 0F8h, 28h, 2Ch, 0E8h, 00h, 00hDB 00h, 00h, 00h, 27h, 10h, 0Fh, 00h, 0FhDB 00h, 00h, 3Fh, 00h, 08h, 0Fh, 00h, 00h;范12*12下半列排DB 00h, 00h, 88h, 28h, 48h, 08h, 1Ch, 0C8hDB 48h, 5Ch, 48h, 0E8h, 4Ch, 08h, 00h, 00hDB 00h, 00h, 04h, 05h, 3Eh, 01h, 00h, 1FhDB 20h, 22h, 24h, 23h, 20h, 38h, 00h, 00h;学12*12下半列排DB 00h, 00h, 80h, 60h, 0A4h, 0B8h, 0A0h, 0A4hDB 0B8h, 0A0h, 0B0h, 2Ch, 60h, 20h, 00h, 00hDB 00h, 00h, 04h, 04h, 04h, 04h, 14h, 26hDB 3Eh, 05h, 04h, 04h, 06h, 04h, 00h, 00h;院12*12下半列排DB 00h, 00h, 0F8h, 08h, 68h, 98h, 20h, 50hDB 50h, 54h, 58h, 50h, 50h, 30h, 00h, 00hDB 00h, 00h, 3Fh, 04h, 08h, 27h, 21h, 11hDB 0Fh, 01h, 1Fh, 21h, 21h, 39h, 00h, 00hPRNTAB1_1:DB 1BH,57H,00HDB 1BH,31H,00h;DB 1BH,4BH,10H,00H;DB 00h, 00h, 04h, 04h, 08h, 10h, 20h, 0C0hDB 40h, 20h, 10h, 08h, 0Ch, 08h, 00h, 00hDB 1BH,36HDB 20HDB 1BH,4BH,10H,00HDB 00h, 00h, 20h, 3Ch, 0C0h, 10h, 50h, 50hDB 50h, 0FCh, 50h, 50h, 50h, 10h, 00h, 00hDB 1BH,36HDB 20HDB 1BH,4BH,10H,00HDB 00h, 00h, 08h, 08h, 08h, 08h, 08h, 0F8hDB 08h, 08h, 08h, 08h, 18h, 08h, 00h, 00hDB 1BH,36HDB 20HDB 1BH,4BH,10H,00HDB 00h, 00h, 60h, 80h, 0FCh, 80h, 44h, 04hDB 24h, 24h, 0FCh, 24h, 2Ch, 04h, 00h, 00hDB 1BH,36HDB 20HDB 1BH,4BH,10H,00HDB 00h, 00h, 00h, 0E4h, 08h, 0F0h, 00h, 0F0hDB 00h, 00h, 0FCh, 00h, 10h, 0F0h, 00h, 00hDB 1BH,36HDB 20HDB 1BH,4BH,10H,00HDB 00h, 00h, 20h, 0A0h, 7Ch, 80h, 00h, 0F8hDB 04h, 44h, 24h, 0C4h, 04h, 1Ch, 00h, 00hDB 1BH,36HDB 20HDB 1BH,4BH,10H,00HDB 00h, 00h, 20h, 20h, 20h, 20h, 28h, 64hDB 7Ch, 0A0h, 20h, 20h, 60h, 20h, 00h, 00hDB 1BH,36HDB 20HDB 1BH,4BH,10H,00HDB 00h, 00h, 0FCh, 20h, 10h, 0E4h, 84h, 88hDB 0F0h, 80h, 0F8h, 84h, 84h, 9Ch, 00h, 00hDB 0DHPRNTAB1_2:DB 1BH,57H,00HDB 1BH,31H,00h;DB 1BH,4BH,10H,00H;DB 00h, 00h, 02h, 12h, 12h, 12h, 12h, 1FhDB 12h, 12h, 12h, 32h, 12h, 02h, 00h, 00hDB 1BH,36HDB 20HDB 1BH,4BH,10H,00HDB 00h, 00h, 04h, 22h, 10h, 04h, 15h, 15hDB 15h, 3Fh, 15h, 1Fh, 04h, 04h, 00h, 00hDB 1BH,36HDB 20HDB 1BH,4BH,10H,00HDB 00h, 00h, 00h, 10h, 10h, 10h, 10h, 1FhDB 10h, 10h, 10h, 30h, 10h, 00h, 00h, 00hDB 1BH,36HDB 20HDB 1BH,4BH,10H,00HDB 00h, 00h, 14h, 15h, 1Fh, 24h, 24h, 01hDB 3Dh, 25h, 25h, 25h, 3Dh, 01h, 00h, 00hDB 1BH,36HDB 20HDB 1BH,4BH,10H,00HDB 00h, 00h, 00h, 0Fh, 00h, 3Fh, 00h, 17hDB 14h, 14h, 1Fh, 14h, 34h, 17h, 00h, 00hDB 1BH,36HDB 20HDB 1BH,4BH,10H,00HDB 00h, 00h, 11h, 14h, 12h, 10h, 38h, 13hDB 12h, 3Ah, 12h, 17h, 32h, 10h, 00h, 00hDB 1BH,36HDB 20HDB 1BH,4BH,10H,00HDB 00h, 00h, 01h, 06h, 25h, 1Dh, 05h, 25hDB 1Dh, 05h, 0Dh, 34h, 06h, 04h, 00h, 00hDB 1BH,36HDB 20HDB 1BH,4BH,10H,00HDB 00h, 00h, 1Fh, 10h, 16h, 19h, 04h, 0AhDB 0Ah, 2Ah, 1Ah, 0Ah, 0Ah, 0Ch, 00h, 00h59英文资料及中文翻译Computers Input and OutputAccessing a ComputerA computer is a machine that processes data into information. Unless some human being needs the information, there is no point to processing the data. Without data, there are nothing to process. Input and output devices provide a means for people to access a computer. In this chapter, well consider a number of input and output devices and media, and then show how they are physically linked to a computer.Basic I/OKeyboards and Display ScreensThe basic input device on most small computer systems is a key-board. As characters are typed, they are stored in main memory, and then copied from memory to the basic output device, a display screen. In effect, the screen, often called a monitor, serves as a window on main memory, allowing the user to view its contents. Several different types of displays are available. Some shoe white characters against a black background; options include green and amber screens. Color monitors display characters, charts, pictures, and disgrams in color. Standard television sets are sometimes used as inexpensive display devices, but, because the clarity of a televising signal suffers when small elements (such as letters and digits ) are displayed, real computer monitors produce a much sharper image.PrintersThe image displayed on a screen is temporary; it fades as soon as the power is cut. By routing the output to a printer, a permanent copy (called a hard copy) is obtained. Dot matrix printers form characters from patterns of dots; they are inexpensive, but the output can be difficult to read. Letter-quality printers type complete, solid characters, and produce a clean, sharp impression. More exotic techniques form images by spraying ink or by selectively buming (carbonizing) the surface of the paper.GraphiceGraphic OutputComputers are not limited to displaying characters; graphic output is possible, too. Remember that a computers output comes from main memory. Thus, if a graphic image is to be displayed, it must first be constructed in memory. Memory stores bits. How can a cartoon character, a bar chart, or a schematic drawing be defined as a pattern of bits? The secret is to divide the screen into a grid of picture element, or pixels. Each pixel represents a dot or a point; by selectively turning the point on or off,a picture is formed. The on/off state of each pixel is, essentially, binary, and can be stored in memory. As memory is scanned, the picture elements are displayed, and the image appears. The quality, or resolution, of the picture is a function of the number of pixels. For example, a single, large picture element can show no detail; the screen is either all black or all white. With nine pixels (a 3*3 grid), it is possible to form a single, rough character, much as light bulbs form characters on a scoreboard. As the number of picture elements increases, finer and finer details can be displayed. Of course, there is a cost forthis improvement; since information about each pixel must be stored, high-resolution graphics requires more memory than low-resolution graphics. Graphic output displayed on a screen is temporary. For a hard copy, the image can be sent to a plotter.Graphic InputHow might a person manipulate or interact with a picture once it is displayed? One way to generate graphic input is by controlling the cursor. Usually seen as a blinking line or a box, the cursor indicates the position where the next character typed will appear. Perhaps the best-known device for controlling the cursor is a joystick; if you have ever played a computer game,you have probably used one. Similar cursor control can be obtained with a mouse, a small, palmsized device with a roller on the bottom. The mouse is placed on a flat surface. Move it to the left, and the cursor moves to the left, and so on. Like a joystick, a mouse moves the cursor relative to its present position. The cursor control keys found on many keyboards perform the same function . The cursors position defines a point on the screen. Pushing a button on a joystick or a mouse or pressing the enter key inputs the cursors current position. Given the cursors position, the stored program can take appropriate action. With a touch screen or a light pen, a user enters a point simply by touching a spot on the screen. A digitizer is used to input graphic data. The source document (an engineering drawing, for example) is placed on a tablet, and a reference (often, the lower left corner or the center) is established. Next, the digitizer is moved to a significant point such as the juncture of two lines, a button is pushed, and the points x-y coordinates are transmitted into the computer. The user enters all the key points by moving the digitizer methodically over the source document. Later, a plotter can reproduce the drawing by connecting the points.Other Input and Output DevicesPrintersMost microcomputer printers print one character at a time, usually at rates varying from 30 to perhaps 180 characters per second. The speed is fine for a few pages of output. Imagine, however, printing a 200accounting report at 100 characters per second. Assuming a 120-character line and 50 lines per page, the report would take over three hours to print! A more reasonable approach is to use a line printer which, as the name implies, prints line by line instead of character by character. Rates of 1000 lines per minute (and more) are common; at 1000 lines per minute, the accounting report described above could be printed in ten minutes. Even greater speed can be obtained by using a page printer to chum out complete pages at a time. For more compact output or long-term storage, computer output microfilm (COM) can be used.Magnetic MediaSeveral common input media rely on magnetic properties. For example, the characters on the bottom of most checks are printed with a special magnetic ink called MICR (magnetic ink character recognition), and can be read electronically. Another banking medium is the magnetic stripe card. The stripe of magnetic tape holds such data as a customers account number and credit limit, and is read much like sound recording tape.Optical MediaOther media are read optically. For example, consider standardized test forms. Students use a black pencil to mark their answers. The white paper reflects light; the black spots reflect much less; variations in the intensity of the reflected light can be converted to an electronic pattern. OCR (optical character recognition) equipment uses the same principle to read typed or even handwritten material. Bar codes, such as the Universal Product Code (UPC) printed on most supermarket packages, can be read at a checkout station or by a variety of hand-held scanners.TerminalsTerminals are also popurler. Often, a hundred or more are linked to a single central computer by communication lines. A “dumb” terminal is simply a keyboard and a display screen. An intelligent terminal contains its own memory and processor and can perform many data processing functions on its own. Other special-purpose terminals are designed for a specific function. Examples include automatic bank teller terminals and the supermarket checkout stations described earlier.Voice Recognition/Voice Response Perhaps the most natural way of communicating with a computer is by voice. Voice response (output) is already used in such mundane applications as childrens toys and video games. Due to the tremendous variety of human speech patterns, voice recognition (input) is much more difficult, but significant advances have been made. For certain limited applications voice recognition is already available.Linking the ComponentsInterfaces We know that data are stored in a computer as patterns of bits. Within a given machine, the patterns are consistent; for example, if the code for the letter A is 01000001, this pattern, and only this pattern, will be used to represent an a inside the computer. The rule does not apply to input or output devices, however. On a keyboard, each key generates one character. With graphics, pixels are displayed. A dot matrix printer represents characters as patterns of dots. A card reader interprets patterns of holes punched in a card. An optical device reads light intensity, while a magnetic device reads magnetic intensity. Each input or output device represents or interprests data in its own unique way, and the signals used by a periheral device may or may not match the signals stored inside the computer. If these dissimilar devices are to communicate, translation is necessary. This is the function of the interface board.Consider, for example, a keyboard. When a key is pressed, an electronic signal is sent to the keyboards interface. In response, the interface generates the code used to represent that character inside the computer, and transfers the coded data into main memory. Lets change the device to a printer. As output begins, the data are stored inside the computer as binary-coded characters. The printer requires a dot pattern. Clearly translation is necessary. The coded characters are sent to the printers interface, which translates the computers binary codes to printer form.The printer and the key board are different; the signals that physically control them and the electronic patterns they use to represent data are device-dependent. 2However, because the device-dependent tasks are assigned to the respective interface boards, both can be attached to the same computer. On input, an interface board translates external signals into a form acceptable to the computer. 3 Output signals are electronically converted from the computers internal code to a form acceptable to the peripheral device. Because they are electronically different, a printer and a keyboard require different interface board. In fact, every input or output device needs a unique interface board to translate its device-dependent signals to (or form) the computers internal code.Many interface boards contain buffers. A buffer is temporary memory or storage used to adjust for the speed differential between two devices. For example, if youve ever waited for a lengthy paper to print, you are almost certainly aware that the printer is much slower than the computer. If waiting for the printer is a problem, you can add a buffer to you printer interface. Then, instead of having the computer send the content of main memory directly to the printer, it can send the information to the buffer at computer speed. A short time later, as the characters are dumped from the buffer to the printer at printer speed, you can use the computer for some other task.Channels and control unitsThe use of one interface board per device is reasonable on a microcomputer system. However, on a large system with hundreds of peripheral devices, this approach is simply unworkable. Instead, input and output devices are linked to a large computer system through channels and control units.Certain functions (for example, deciding where the next byte can be found or stored in memory and counting the characters transferred to or form an external device) are common to almost all types of input and output. On a microcomputer, they are performed by each interface board; in effect, they are duplicated for each device on the system. On large machines, these common functions are assigned to data channels.Note that a channel handles device-independent functions. What about such device-dependent functions as interpreting magnetic patterns? They are implemented through I/O control units or interface units. Each physical device has its own control unit. The channel communicates with the computer in the computers language; the control unit communicates with the external device on the devices terms; the channel and the control unit, working together, translate.A typical large computer system may have three or four channels, with numerous control unit attached to each one. This is a very flexib
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:微型打印机控制电路的设计论文资料
链接地址:https://www.renrendoc.com/p-27447474.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!