条码打印机驱动设计实现数据处理功能
李胤贤 ,西南科技大学 网络信息中心,四川 绵阳 621010,
摘 要 ,该文主要是基于芯片 W77E58来设计条码打印机实现数据处 理 ,从而实现了双串口功能在实时数据处理中的应用 。 先 介 绍 了 单片机和核心芯片 W77E58,接着简单介绍了打印机背景 ,接着进行环形队列设计验证和实现 ,说明条码打印机驱动设计 实 现 数 据 处理的时实性和传送数据可靠性 。
关 键 词 ,芯 片 W77E58,单 片 机 ,环 形 队 列
中 图 分 类 号 ,文 献 标 识 码 ,文 章 编 号 ,TP274 A 1009-3044(2009)18-4799-02
The Designto Realizethe Data ProcessingFunction of the Bar Code Printer Actuates
LI Yin-xian
(Network Information Center, Southwest Universityof Science and Technology, Mianyang 621010,China)
Abstract: This article is mainly basedon the chip W77E58 bar code printer designedfor data processing, thus achieving two-serial a port in real-time data-processingfunction s of the application. First introduceda single chip and corechip W77E58, then briefly introducedthe background of the printer, and then a ring queue design verification andthe achievement of that bar code printer driver designed to achieve thereal -time data processing and transmissionof datareliability.
Key
word
word文档格式规范word作业纸小票打印word模板word简历模板免费word简历
s: chip W77E58; monolithic integrated circuit;ring- like formation
条码打印机简称条码机,实际生活中,人们也经常把它叫做标签打印机/标签机。 人们通常会根据不同用途给这种打印设备起不 同的名字,分别有:条形码打印机,条形码列印机,铭牌打印机,条码列印机,标签打印机,条码机,洗水唛打印机,不干胶打印机,卡纸 打印机,价签打印机,吊牌打印机,标签机等等。
用户在选择条码打印机时应该考虑的是,打印标签的大小、每天的打印数量、打印字体的大小(一般小于五号字体的,应该采用
300DPI以上的高精度打印机 ,目前市面上比较实惠的有台湾半导体的 TSC TTP34 3、日本东芝的 TEC45。2 而知名品牌有,美国斑马
105SL、Intermec3400E。很多用户在选择条码打印机另外考虑问题比较多的)有,耐用性、使用的方便性、后期维护费用是否比较高......条码打印机的打印方式采用一种传统的打印方式,是一种专用条码设备,一般有热敏型和热转印型等打印方式,使用专用的标签和 色带/碳带。 条码打印机特点是打印速度快,可打印特殊材料,PVC 等,,可外接切刀等进行功能扩展,其价格比普通喷墨打印机,彩色 打印机要昂贵,使用维护较复杂,适合于需大量制作标签的专业用户使用。 目前常用的条码标签打印机品牌有台湾 、、日 TSCGODEX[9] 本 Shinse、iTEC条码机 、美国 Zebra、Interme。c
主要是为打印机在单片机设计系统下调用而开发的打印机驱动软件,是在单片机设计企业开发平台上实现的。 条码打印机模 块完成的任务是根据输入信息生成相应指令集,并输入到打印机中,由打印机解释执行,打印出条码标签,包括对汉字、英文、数字、
条码和方框等对象的处理和打印介绍了该系统设计和实现的关键技术。
其条码打印机的设计主要的核心是芯片 77E58,整个系统的加载启动任务完全由芯片 77E58 来完成的,通过双串口来实现数 数处理的。
W77E58单片机其串口增强型特征在于特有的地址自动识别和帧出错诊断功 能。 需要注意的是,串口 0 可以使用定时器 T1 或 定时器 T2 作为波特率发生器,而串口 1 只能使用定时器 T1 作为其波特率发生器。 下面以串口 0 为例,对 W77E58串口的工作过程
进行介绍。串口 0 通过引脚 RXD,串行数据接收端,和 TXD,串行数据发送端,进行串行通信,可同时发送和接收数据,具有两个物理上独 立的接收、发送缓冲器 SBUF,它们占用同一地址。 串行口的发送和接收都是以特殊功能寄存器 SBUF的名义进行读或写的 ,发送数 据完毕或接收到数据都会由硬件置位发送中断标志 TI 或接收中断标志 RI。 值得注意的是,中断标志 TI、RI 均需由软件来清零。 [7] 串口 1 的工作过程和串口 0 相类似,只需对其相应的寄存器及标志位进行类似操作即可。 W77E58串行口是可编程接口 ,对它初始 化编程只需对特殊功能寄存器 SCON或 SCON1和电源控制寄存 器 PCON写入相应的控制字即可 。 这里使用定时器 T2 作为串口 0 的波特率发送器,使用定时器 T1 作为串口 1 的波特率发生器。 波特率均设为 9600bp。s
1 设计验证与实现
1.1 77E58性 能 概 述
80C52系列只提供一个串口 , 而很多情况下需要乃至多个串口进行通信,77E58 除了与 80C52一样提供一个标 准的串行口外, 还提供另一个全双工串行接口,我们把前者定义为串行口。 后者为串行口 1.串行口 1 的引脚与 Pl . 2 ( RXD 1)和 P1.3(TXD1复用), 第二个串口与第一个串口都是全双工的,其操作和工作原理完全一样,它们可以采用互不相同的波特率进行工作.第二个串口与先 前的串口有着相似的控制寄存器(SOON 1,地址为 COH;SBUF,l地址为C1H ),其各位定义与 SBUF和 SCON相 同.不同之处在于它虽
收 稿 日 期 ,2009-04-10
Computer Knowledge and Technology电脑知识 与技术
然也是使用定时器产生波特率但是只能使用定时器 1 产生波特率,而先前的串口可以使用定时器 1 和定时器 2 来产生所需的波特 率(通过设置 SFR不同的 位).串行口 1 的中断地址为 0x003B .串行口 1 的中断允许(ES1和中断优先)级(PS1则定义在原中断允许和) 中断控制字的保留位 IE.6 和 IP.6,另外,串行口 1 的 SMOD-1定义 在 WDCON.7 位上,WDCON的地址 是 OxD8。 1.2 环形队列设计与实现
我们知道,队列仅仅是一个按“先入先出”的顺序被访问的信息线性排列表,若将队列首尾相连,便构成了所谓的环形队列.如图
2 所示。 环形队列最常用的场合是在操作系统中用来保存从磁盘文件或控制台读写的信息;在一些必须连续地处理信息且需要缓冲I/O,实时性强的应用程序中也要用到环形队列缓冲区.将环形队列的概念引入单片机双串口的数据收发及实时处理,能大大提高数 据处理的时实性与数据传输的可靠性.环形队列缓冲区定义可由下述语句完成。
typedef stnrct CQ_TYPE/*Circular Type*/Queue
{int data;
int head_pointer;
int tail _ pointer;
int buffer_size;
charbuffer;}
#define buf_ size600
staic chartrans_buffer[buf_size]; 环行队列缓冲区 图 static CQ_TYPE CQ={,-1o ,buf _ size,trans_buffer}; 1 这样便定义了一个首尾指针均指向缓冲区开始前的地址且大小为 600 字节
的环形队列缓冲区,环形队列的首指针由中断程序控制,从而获得将存人环形队列缓冲区中数据的地址;尾指针由主控程序控制,从 而获得将取出的数据的地址;若首指针 head_ pointer+ 1=ail _ pointer, 则缓冲区满;若尾指针上移一位即 tail _ pointer+ 1=head_ pointer,则缓冲区空.以上给出了环形队列缓冲器的设计思想,这里我们分别给出双串口通信的主控和中断程序的
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
图,从中可以 更清楚地看出环形队列缓冲器的纽带作用。
2 应用实例
将 77E58双串口 功能与环形队列应用于行李条与登机牌的条码输出打印系统,设计指标要求很高的实时性,否则将造成数据 丢失.串口 0 以中断方式接收数据,串口 1 以主控方式将处理后的数据向高速打印机输出。 程序框图如图 2 和图 3。
程序片断 语言描述如下 C51 :
#include
#include
#include
#include
/****** 串口新寄存器的定义 ********/
sfr SBUFl=0xCl;
SCONl=0xC0;
sfr PMR=0xC4;
sfr CKCON=0x8E;
shit TI_1=SCONh^l;
sbit RI_1=SCONl^0;
shit FS1=IE^6;
sbit PSl=IP^6;
int result;
void main(void)
{CKCON=0x11; //Timerl uses a divide by 4 clock.
PMR=0x41; //ClockDivide Control.
SCON=0x50; //serial port Mode Control,
SCON1=0x50; TMOD=0x20;//Timer ModeControl. TH1=0XFB;//Set original value. 图 主 控 程 序2 TL1=0xFB;
TR1=1;//Start Timer1.
PS=l;
PCON=0x00 //Set baud ratedouble.
EA=1; //开中断
ESO=1
while(CQ.head_pointer=CQ.tail_pointer)
{CQ.data=bans_buffer[ . CQtail_ pointer];
CQ.tail_pointer=( CQ.tail_pointer+ 1) % CQ .buf_size;
/* 处理数据如图 4*/
SBUF1=result;
//发送结果数据到串口 1 while( TI_1==0); T1_1=0;//清发送中断标志} , 图 接 收 中 断 程 序3
,下 转 第 4804页 ,
本栏目责任编辑,唐一东人工智能及识别技术4800
Computer Knowledge and Technology电脑知识 与技术
的。 它是电路板自动生成的灵魂。在这部分里,应学会读懂网络表。 网络表由两部分组成,元件声明部分和网络定义部分。 会如何在网络表中修改元器件的封装, 元件封装名在网络表中的编辑位置等。 检查网络表是否正确是许多人都深感头痛的一件事,其中一个重要的原因是网络表中的网 络名称无法在原理图上直接读出。 解决这个问题的方法是在原理图的每一条网络上放置简单的网络标号,网络标号有两种用途,一 是使总线或其它网络易于识别,一是表示电气连接。 对于同一张原理图来说,只要网络标号相同的网络就表示它们都是连接在一起 的。
4 印制电路板的设计
印制电路板的设计是 Protel DXP的重要部分 ,一般若对原理图进行制板,那么 ERC电气规则检验必须要通过 ,方可制板。 否则 会增添很多修复电路板的工作,需要手工绘制铜模导线,我们借助 Protel DXP提供的强大功能实现电路板的板面设 计。
Protel 软件深受电子爱好者的喜爱,一般都认为它简单,但这个简单易用是指软件本身的操作,而它所涉及的制作线路板的专 业知识对初学者来说是较难的。 在这里,教学重点是如何放置元件封装类型,调入网络表,自动生成 PCB 图。 其步骤是,设计原理
图、规划电路板、设置参数、引入网络表、元件自动布局和手工调整、布线规则设置、自动布线和手工调整、
报表
企业所得税申报表下载财务会计报表下载斯维尔报表下载外贸周报表下载关联申报表下载
输出、存盘和打印。参考文献,
[1] 姜立东,姜雪松.Protel DXP 原理图与 PCB设 计[M].北京:北京邮电大学出版社,2004:158-200.
[2] 李秀霞,郑春厚. Protel DXP 2004电路设计与仿真教 程[M].北京:北京航空航天大学出版社,2008:32-59. [3] 李小坚.Protel DXP 电路设计与制版实用教程[M].2 版.北京:人民邮电出版社,2009:150-160.
,上 接 第 页 ,4800
Void Serial()(void)interrupt6using
{EA=0;ES0=0;
Trans_buffer[CQ.head_pointer]=SBUF;
RI=0;
CQ.head_pointer=(CQ.head_pointer+1)%CQ.buf_size;
EA=1;ES0=1
4 结论
单片机的发展与操作系统、计算机体系结构、单片机等基础学科密不可分,同时,单片机的开发与应用也为通信、导航等应用学 科提供了更为广阔的发展平台。 对单片机科学的探索研究在自然科学领域揭起了新的学习热潮。 条码打印机驱程序的设计实现是 以芯片 77E58 开发过程中的主要技术难点。 设计选用了 Winbond公司生产 的 77E58 芯片,经过前期设计、后期调试,实现了双串口 功能在实时数据处理中的应用。 在条码打印机的设计实现中,运用了大量学科知识,让我们懂得怎样把不同的知识综合使用,执行 过程着重以芯片 77E58 的核心,更加有利于初识者熟悉 77E58 的工作原理,对条码打印机驱动程序设计技术的进一步发展、完善起 着十分重要的推动作用。
参考文献,
[1] 接口种类—— 数字高清时代将弃用模拟接口[J].微电脑世界,2006,(06).
[2] 张智辉,田地.模数转换器 AD9243与 FIFO 的接口设计[J].电子质量,2002,5:68-69.
[3] SATA接口也 玩 18X 刻录 技嘉 GO-W18SA刻录机评 测[J].现代计算机(普及版),2007,(3). [4] 马海瑞,周爱军.MCGS 的可扩充性及其设备驱动开发[J].控制工程,2005,(S1).
李岩票据打印机驱动程序设计科技创新导报 [5] .Star SP320S [J].,2008,(23).
[6] 刘慧文.基于 W77E58双串口通信的监控系 统[J].单片机与嵌入式系统应用,2003.
本栏目责任编辑,唐一东 人工智能及识别技术4804