微型打印机接口 并行口
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
设计要求:
设计完成单片机与微型打印机接口电路和驱动程序,应具有以下功能:
⑴具有进纸、换行、换页等控制功能。
⑵具有字符设置及打印格式设置功能。
⑶具有图形、字符(汉字、数字、字母)打印功能。
⑷具有曲线及条码打印功能。
3、摘要
课程设计是一项综合性实践教学环节,是对理论课程和实验课程的综合和补充。它主要使学生加深对理论的理解,训练学生如何综合运用学过的理论和技能去分析解决实际问题的能力,从而增强学生的实践能力和创新能力。
单片机系统课程设计是在《微型计算机原理与接口技术》、《单片机原理与应用》等课程基础上,由学生独立完成一个较为完整的实践性微机应用系统设计。通过设计,使学生掌握微机系统以及常用接口电路的设计及调试方法,掌握常用工具软件的使用方法,熟悉如何用汇编语言和或C语言管理硬件设备等。通过课程设计,训练学生如何综合运用所学知识去分析和解决实际问题,掌握微机系统硬件和软件设计及调试的基本过程,并学习如何撰写总结报告,以培养学生严谨的工作作风和科学态度以及探索创新精神。
指导教师负责课程设计的任务布置、设计指导和成绩评定。课程设计任务包括题目名称、设计要求、技术手段、参考文献等。学生在接受任务以后,进行系统的方案选择、系统设计、电路板设计、监控软件设计以及系统的安装调试等工作,最后写出设计报告。本课程设计可两人一组,选择同一个题目。
目录
一、设计任务和性能指标 (2)
二、设计方案 (2)
三、硬件设计 (3)
四、软件设计 (5)
五、调试及性能分析 (7)
六、心得体会 (8)
七、参考文献 (9)
一、设计任务和性能指标
设计完成单片机与微型打印机接口电路和驱动程序,应具有以下功能:
⑴具有进纸、换行、换页等控制功能。
⑵具有字符设置及打印格式设置功能。
⑶具有图形、字符(汉字、数字、字母)打印功能。
⑷具有曲线及条码打印功能。
二、设计方案
微型打印机在单片机应用系统中应用相当广泛,在智能仪器仪表、医疗仪器、消防报警、电力系统、电子衡器、电子收款机、税控机、计价器等系统中几乎成为标准配置。微型打印机的种类很多,有针式和热敏、台式和面板式、非汉字和汉字之分。如按接口类型划分,则有并口和串口两大类,其中串口类又可分为RS232C、RS485、USB及无线接口、红外线接口等。
微型打印机具有响应快、功耗低、价格低和体积小携带方便等优点 ,能够在打印数据量不大的情况下满足打印需求。微型打印机按数据传输方式 ,可分为无线微型打印机和有线微型打印机,前者利用红外或蓝牙进行数据通信 ,不仅需要特殊的硬件支持 ,而且价格昂贵;后者通过串行或并行方式进行数据通信 ,由于串口打印机存在速度慢 ,不能反映当前打印机状态等缺点 ,因此笔者采用具有多线控制精确、数据传输快和高性价比等优点的并口微型打印机。同时为满足高速数据传输要求 ,采用总线方式扩展并口。由于总线数据传输速率较大 ,而并口打印机属于低速外设 ,这必然会带来速率匹配的问题。因此 ,
合理的并行口设计和高效率的驱动方法就显得很重要。
三、硬件设计
MCS-51系列单片机与微型打印机接口电路可以采用并行接口和串行接口两种方式。在并行接口中,其接口信号如下表1所示:
表1 并行连接方式信号示意图
其中:DB0-DB7为数据线,BUSY为忙信号,高电平表示打印机当前不能接收数据;ACK为应答信号;STB为打印机选通信号。ERR 为出错信号,SEL和PE是自检信号。
图1 并行连接系统示意图
计算机并行接口起初只为打印机使用,但随着技术的进步和大量外设的增加并行接口不仅要求连接打印机和其他外设,而且要求能够双向传送数据,对高速外设还要求高速数据传送。从兼容性考虑, IEEE在1994年制定了IEEE1284标准,根据该标准并行接口有5
种工作模式[ 3 - 4 ] 。本设计中并行接口只连接打印机,因此工作在标准模式( SPP)下。并口微型打印机采用北京炜煌公司的WH -A6型热敏微型打印机。该打印机时序严格,能打印全部ASC II码、国家一二级标准汉字、曲线和条形码等。由于该微型打印机接收5 V TTL 电平,而S3C2442输出电压只有1. 8 V ,因此为了匹配电平需要连接两级BUFFER。笔者采用PH IL IPS公司的74ALVC164245电平转换芯片。在实际数据传输过程中,由于总线速度过高,数据在总线上保存时间太短(以50 M的PCLK为例,数据保存时间小于20 ns) ,通过I/O 控制打印机读取总线数据时往往读不到正确数据,因此,在设计中采用74HC573作为锁存器用以解决打印机信号与总线速度不匹配的问题。同时,锁存器的加入除延长数据在总线上的保留时间外,也给驱动的调试带来很大方便。由于总线上的数据是杂乱的,加入锁存器并通过片选选通打印机后,在锁存器的输出端则是送往打印机的数据。可以通过断点方式,测试锁存器是否工作正常,时序是否符合,从而快速判断程序的问题所在。总线方式的扩展并口打印机结构图如图2所示。
图2扩展并口打印机结构图
四、软件设计
下面主要分析写并口函数代码(其中STB 与GPJ9相连,打印机检测到STB 上升沿时读取总线上的数据) 。
图3 发送数据的程序结构流程图
其中,WR ITE_PORT_UCHAR函数向指定端口写入一字节数据; Read_Status_Gp io函数通过读取与打印机状态脚相连的各GP IO 口得到打印机状态信息,并将状态信息存储在一个字节变量中方便检测与输出(低4位保留) 。向并口发送数据
while (pPortObj - > pPortData. QOutCount && CheckPrinterStatus (pPortObj) )