条形码扫描器毕业设计.docx
- 文档编号:3042463
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:33
- 大小:1,008.30KB
条形码扫描器毕业设计.docx
《条形码扫描器毕业设计.docx》由会员分享,可在线阅读,更多相关《条形码扫描器毕业设计.docx(33页珍藏版)》请在冰豆网上搜索。
条形码扫描器毕业设计
条形码扫描器设计
摘要
在这个科学技术日星月异的信息时代,条码技术自动识别技术被广泛应用于各行各业,他给人们的生活带来了许多的便捷,同时也大大提高了我们的工作效率。
因而,无论是理论上还是实际应用一维条码识别系统研究都具有相当深远的意义。
本文从条形码图像的采集和条形码的识别两方面入手。
条形码图像的采集系统是根据光电检测开关GDS对黑白颜色的识别输出不同的电平值,再利用单片机AT89C51对GDS开关输入的不同电平的值进行译码,此处采用交叉25码的编码方式进行相应的译码。
最终通过max232通信串口电路将数据传送到PC端显示。
关键词:
AT89C51;单片机;GDS;交叉25码;
DesignofBar-codeScanner
Abstract
NowadayswearelivinginanInformationAgewithgradualimprovementsofscienceandtechnologyeveryday.Barcodetechnologyandautomaticidentificationtechnologyarewidelyappliedinmanyfieldsofourliveswhichhasbroughtusalotofconvenienceandmadeourworkmoreefficient.Therefore,thestudyofbarcodeidentificationsystemhasprofoundsignificanceboththeoreticallyandpractically.
Thispaperisfocusedonimageacquisitionandbarcodeidentification.Barcodeimageacquisitionsystemincludesseveralmajordataprocessingsteps.Firstly,photoelectricswitchGDSoutputsalevelvaluecorrespondingtotheblackandwhitecolorarrangementinthebarcode.Then,SingleChipMicrocomputerAT89C51decodesthelevelvalueformtheGDSswitch.Cross-25-codecodingschemeisusedfordecodingthecorrespondedlevelvaluehere.Lastly,dataissendtoPCfordisplayingthroughthemax232communicationserialinterfacecircuit.
KeyWords:
AT89C51;MCU;GDS;Cross-25-code
4.2程序设计流程图19
1绪论
1.1本课题研究背景
数千年来,科学技术的发展促进着社会经济的发展,其中自动识别技术在人类工作生活中充当着不可或缺的重要地位。
自动识别技术是指利用特定的电子设备,自动获取产品相关信息,同时将产品的相关信息输送给后台的计算机系统进行处理的一种技术。
例如指纹识别技术,电子车牌号识别技术,条形码识别技术等等。
条形码技术就是众多自动识别技术中的一种,它以成本低廉,识别速度快,准确度高,可靠性强等一系列优势广泛应用于物流信息管理系统,超市结账管理系统,图书馆管理系统,工业生产流程管理系统等等。
可以说目前的条形码识别技术涉及到我们日常生活的大部分领域。
它给我们的生活带来了太多的便捷同时也为我们的生产提高了效率。
所以研究这样的一种技术的重要性就不言而喻了。
1.2国内外研究现状
20世纪70年代,我国在条形码领域的研究相对西方发达国家一直处于落后阶段,那时我们国家对于条形码技术仅仅处于一种简单了解的程度,并不能对条形码技术进行成熟的应用。
到了20世纪80年代,随着我们国家的一些贸易出口单位以及相关科研部门对条形码识别技术的日益重视,我国的条形码技术研究事业开始进入高速发展时代。
目前条形码技术正在与其他技术相互渗透,典型的有条形码技术与便携嵌入式设备为代表的移动计算技术。
这些技术的结合很大程度上提高了我们的工作效率,所以条形码自动识别技术有着相当广阔的发展前景。
就国际角度来看,自20世纪20年代提出条形码的概念以来,条形码技术已经发展长达近一个世纪的时间。
所以早已对条形码技术能够进行成熟的应用。
与此同时,条形码技术也在不断的升级发展,目前已经由简单的一维条码发展到二维条码。
应用领域也从商业拓展到了现在的物流,仓储等领域。
1.3课题设计目标及任务
本设计是以单片机AT89C51为核心芯片,GDS光电检测开关为条形码扫描头,使用C语言在KeiluVision4软件平台编程实现。
需要实现的目标是:
(1)利用GDS光电检测开关扫描条形码之后,系统能够对扫描的条形码进行相应的译码功能;
(2)系统内部译码成功之后,通过数据线,系统将译码的结果传送到计算机屏幕上进行显示。
本设计利用软件AltiumDesigner进行初始的电路原理图设计,之后再利用AltiumDesigner根据原理图画出相应的PCB图,利用KeiluVision4进行程序部分的功能实现。
最后按照电路图将相应的元器件焊接在PCB板上,然后进行调试,直至最终的功能实现为止。
具体任务有:
(1)条形码的硬件系统设计:
1单片机晶振电路设计;
2单片机复位电路设计;
3信号采集电路设计;
4串口通信电路设计;
(2)条形码软件系统设计:
①条形码扫描器的系统软件设计;
②中断采集数据的程序设计;
③译码程序的设计;
5串口通信的程序设计;
(3)系统调试。
2条形码的编码原理
2.1条形码的编码方法
条形码的编码是根据条形码不同的“条”和“空”的来表示二进制的0和1,再根据这些“条”和“空”的不同组合来表示成不同的数字或者字符。
以此来表示不同的商品信息。
条码的码制有很多种,但大致上分类两大类,分别是宽度调节编码法和模块组配编码法,具体编码方法如下:
2.1.1宽度调节编码法
宽度调节编码法即条码符号中的条和空由宽、窄两种单元组成的条码编码方法。
按照这种方式编码时,是以窄单元(条或空)表示逻辑值“0”,宽单元(条或空)表示逻辑值“l”。
宽单元通常是窄单元的2~3倍。
对于两个相邻的二进制数位,由条到空或由空到条,均存在着明显的印刷界限。
39条码、库德巴条码及交插25条码均属宽度调节型条码。
下面以交插25条码为例,简要介绍宽度调节型条码的编码方法。
交插25条码是一种条、空均表示信息的连续型、非定长、具有自校验功能的双向条码。
它的每一个条码数据符由5个单元组成,其中两个是宽单元(表示二进制的“1”),三个窄单元(表示二进制的“0”)。
图2.1是交插25码的一个示例。
图2.1“3185”的交叉25码
2.1.2模块组配编码法
模块组配编码法即条码符号的字符由规定的若干个模块组成的条码编码方法。
按照这种方式编码,条与空是由模块组合而成的。
一个模块宽度的条模块表示二进制的“1”,而一个模块宽度的空模块表示二进制的“0”。
商品条码模块的标准宽度是0.33mm,它的一个字符由2个条和2个空构成,每一个条或空由1~4个标准宽度的模块组成,每一个条码字符的总模块数为7。
凡是在字符间用间隔(位空)分开的条码,称为非连续性条码。
凡是在条码字符间不存在间隔(位空)的条码,称为连续性条码。
模块组配编码法条码字符的构成如图2.2所示。
图2.2模块组配编码法条码字符的构成
2.2常见条形码的编码
2.2.1交叉25码
交叉25码是一种高密度的,可以嵌入任意数量数字的,长度可变化的数字条形码。
该条形码是基于标准25码的规范改进而得来,它比标准25码有更高的密度与数据存储能力。
交叉25码主要运用在物流行业与仓储业中。
标准25码只用黑色条码代表数字0-9,而交叉25码既使用黑色条码也使用白色条码来代表0-9的数字。
例如,标准25码会用前五个黑色条码表示第一个数字,用紧接着的五个黑色条码表示第二个数字;而交叉25码是使用前五条黑色条码表示第一个数字,而用介于前五个黑色条码中的白色条码表示第二个数字。
这也是交叉25码名称的来源。
交叉25码是连续型、非定长、具有自动校验功能的双向条码,交叉25码的编码是以两个字符为一组(上下各一个)进行编码,其中一个字符以条编码,另一个字符以空编码,每个字符由5个单元组成(3个窄单元,2个宽单元),两个字符的条空相互交叉组合在一起。
其中起始符为0000,终止符为100。
编码方法以窄单元(条或空)表示逻辑值“0”,宽单元(条或空)表示逻辑值“1”。
宽单元通常是窄单元的2~3倍。
交叉25码图片如下:
图2.3交叉25码
2.2.2EAN13条码
一个EAN-13条码被划分成了4个区域:
1)数制2)厂商码3)商品码4)校验位。
通常,第一个数制位被打印在条码的左边,第二个数制位被作为条码下方左手边的那组六位数的第一个字符打印,厂商码是条码下方左手边的后5位数,产品码是条码下方右手边的前五位数,校验位是条码下方右手边的最后一位。
数制:
数制是由2位组成的(有些时候是3位),用来区分国家或经济区域制定厂商码的编码权利。
任何以0开始的数制都是一个UPC-A条码。
下表给出了有效的数值码:
厂商码:
厂商码是由数制码标示的编码管理局为每个厂商分配的一个唯一的编码。
一个公司的所有产品将使用相同的厂商码。
产品码:
产品码是厂商分配的唯一编码。
和厂商码不同,产品码不需要UCC分配,厂商可以为他们的每个产品自由的分配产品码而不需要考虑任何其他的组织。
既然UCC已经确保了厂商码的唯一性,厂商只需要确保他们自己的产品码不重复就是了。
校验位:
校验位是一个附加的位,用来验证一个条码是否被正确的扫描。
扫描可能产生不正确的数据,这可能是由于不一致的扫描速度、不完善的打印或一系列其他的问题造成的,因此,有必要验证条码的其余数据已经被正确的诠释。
校验位是从条码中其余的数字位中计算得到的。
通常,如果校验位和基于已经扫描得到的数据计算出来的校验位的值相同的话,就可以高度的信任条码已经被正确扫描。
EAN-13码图片如下:
图2.4EAN13条码
2.2.3Code128条码
Code128码于1981年推出,是一种长度可变、连续性的字母数字条码。
与其他一维条码比较起来,相对较为复杂,支持的字元也相对较多,又有不同的编码方式可供交互运用,因此其应用弹性也较大。
Code128特性如下:
(1)允许双向扫描;
(2)可自行决定是否加上检验位;
(3)条码长度可调,但包括开始位和结束位在内,不可超过232个字元;
(4)具有A、B、C三种不同的编码类型,可提供ASCII中128个字元的编码使用;
(5)同一个128码,可以由A、B、C三种不同编码规则互换,既可扩大字元选择的范围,也可缩短编码的长度。
Code128码图片如下:
图2.5Code128码
2.3脉宽测量方法
脉宽测量中会遇到这样的问题,何时对定时器采集的数据进行提取?
显然,利用外部中断信号是比较方便的。
扫描器发出的脉冲信号可以直接作用于INT0,如图,从扫描器输出信号可知,扫描器在扫描空时产生下降沿信号,假设在脉冲下降沿产生中断后开始记录数据,此处数据采集的是一个元素条的宽度,元素空的宽度被丢掉。
因此,必须采取适当的硬件电路对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 条形码 扫描器 毕业设计