zenmap扫描结果没有显示_便携式条形码扫描系统设计

6609818b341fe1df738c2d249b4d08ff.png

本文设计的基础是系统识别相应的条码图像到显示在相应的液晶显示器上。系统的运行过程就是是读入图片到识别图片的过程,所以在分析它的功能的时候就按运行的过程进行模块划分。

0748b400458150553d54232814b46a77.png

1. 左侧空白区:其位置在整个条形码的最左侧,并且它的宽度较宽,他的最大的作用是为了提示作用。提示条形码要被扫描器扫描。

2. 起始符:顾名思义起始符就是条形码开始的字符。组成部分有3种,分别是黑、白、黑三种条组成。当然就可以获得整个模板的宽度。

3. 左侧数据符:他的位置在起始符的左侧。由6个没有识别的字符构成,一共42个模板的宽度,即每个字符由7个模板构成。

4. 中间分隔符:依顺序而来,中间分隔符挨着左侧数据符在其右侧。顾名思义中间分隔符是整个条形码的中间位置,方便区分左右侧数据符的作用。由五个条码构成,分别是白、黑、白、黑、白。一共占据5个模板宽度,即每个条码一个模板宽度。

5. 右侧数据符:位于中间分隔符的右侧,一共有5个待识别数字,共35个模板宽度。

6. 校检符:位于右侧数据符的右侧,具有决定性。即如果校检符错误,则整个条形码无法进行扫描和读取。占据7个模板宽度。

7. 终止符:与起始符对比,即为整个条形码的终止位置。有三个条码构成,即黑、白、黑。

8. 右侧空白区:位于终止符的右侧,其最小宽度为7个模板宽度。


一维条形码的二进制表示方法

条形码的编码方法比较常规和普遍。即用模板组合的方式进行编制。那么何为模板宽度,谓模板宽度就是组成条形码宽度的一个基本单位。

前文已经提到,他的组成字符为0-9这10个阿拉伯数字字符。每个数字字符都是由两个条和两个空构成。共占据7个模板宽度。每个条的宽度范围在1到4个模板宽度之间。并且都是模板长的整数倍。1和0分别表示了条形码的条和空部分。

77b4cf8521f3b6c011984d5b0709a5f7.png

条码字符集是收集了所有一维条形码的字符集合。他的组成是由三个子集。分别为A子集,B子集,C子集。一共组成的编码形式有30种,即每个字符有3个表示形式。

至于奇偶形式的表示则由二进制1的个数决定。但是,有三个字符是固定的,分别是条形码的起始符,中间分隔符,终止符。其对应的二进制形式分别是101,01010,101。

因此他们三个也不会包含在二进制编码表里面。每个数字字符集的奇数子集A和偶数子集C的元素是相反的,偶数子集B和偶数子集C是倒序的。

5a25c557c3d24596cf44a337c836407a.png

 

识别的相关算法

条形码的自动识别技术可以分为两个结构组成。即扫描和译码两部分。扫描结构顾名思义就是将条形码本身携带的信息用一些特殊的设备和技术将其读取出来。

比如利用激光,将光信号转换成了电信号。扫描的最终结果是为了得到模板的宽度,也就是条可空的波形的宽度,其方法就是根据条和空的反射不同的效果进行读取。

在前文已经提到,条反射回来的是弱信号,而空反射回来的是强信号。译码的原理是接着扫描操作进行的。就是将扫描得到的一些电信号,用一些特定的方式进行翻译,得到最终的数据信息,并且输入客户终端计算机。

再将所得到的信息经过一个比较规则的整流电路进行整流处理,最后得到了我们在生活中总能看到的条形码图形。

48c50807e8316d238fe2c111685a9e1f.png

系统总体方案设计

便携式商品条形码识别器,上面提到主要由四大模块组成。激光扫描,单片机,12864液晶显示器,电源模块。

其工作的大致原理为,激光扫描到条形码并进行存储。同时蜂鸣器开始鸣响,然后扫描器将数据信息通过串口通信传输给单片机,单片机收到信息后会与事先设定好的程序进行对比,并将对比后的信息传输给12864液晶显示器。显示器也会根据事先设计好的程序进行相应的显示格式,并完成工作。                

a396fe29eba2b9c413d90469d83c9563.png

 

条形码识别电路设计

激光扫描模块在本次设计中负责采集条码信息,进行快速的读取和识别功能。是本次设计中的总输入端口。由于其不能和单片机直接相连接,所以连接了RS232电平转换模块。

由激光扫描读取条码信息后,传输给相应的蜂鸣器进行告知。注意激光扫描模块的规定电压为5V。

e1ef76577c0e15896f42a3be8834b012.png

电源电路设计

电源模块主要负责给整个设计系统进行供电的作用。本次设计采用的是市场比较常见的5V在线式充电插头进行供电。

这里市电为220V,通过这个电源的一些电路结构会产生12V电压,但这也不是我们所需要的,因为单片机的规定电压为5V,而激光扫描的规定电压为3.3V。

所以我们需要在传入12V电压时,连接个7805型号的稳压芯片,将电压进行转换变成5V,给52单片机等需要5V的模块进行供电。之后又通过型号为1117的稳压芯片,将5V电压转换为3.3V电压,继续给激光扫描模块进行供电。

93877e32c170569789a91a3a496abc56.png

 

显示电路设计

本次选用的显示器为比较适用的12864液晶显示器。其最明显的优势是显示的字符多,可以显示汉字。并且使用了串口通信。这正好符合单片机的特点,通过单片机的串口传输接口,把从程序中对比之后的信息结果呈现出来。

15f6e29e03a5f2ac9fcf24d04bc5e2cb.png

 

按键电路设计

在由单片机组成的便携式商品条形码识别器,最实用的独立式键盘。这种键盘具有硬件与软件相对简单的特点,其缺点是按键数量较多时,要占用大量口线。

a19b526a75fbc04be6cf0ea9ef37f6b3.png


时钟电路设计

单片机的时钟电路分为采用外部时钟信号和使用片内的震荡电路两种形式。前者工作时,时钟信号需从引脚1输入,这时引脚2处于悬空状态,因为CPU片内时钟信号取自作为反馈放大元件的二输入与非门的一个输入端;后者工作时,时钟信号从引脚1输入,引脚2输出,这时晶振、电容以及片内与非门(起反馈、放大作用的元件,类似于电容三点式震荡电路中的三极管)构成电容三点式振荡器。

由于石英晶体振荡器中的静态电容、外接震荡电容均远大于晶体弹性等效串联电容,正因如此,晶体振荡器与谐振并联所产生的频率决定了震荡的频率。

在本系统中,采用外部时钟信号的形式作为晶振电路,如果单片机内部没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,就无法实现整个电路。

694ff6786664546cc6f5d04c942da31e.png

 


复位电路设计

单片机复位电路就好比电脑的重启部分,当电脑在使用中出现死机,按下重启按钮电脑内部的程序从头开始执行。单片机也一样,当单片机系统在运行中,受到环境干扰出现程序跑飞的时候,按下复位按钮内部的程序自动从头开始执行。

7d8f61c5b4fa8ff9f45f4ba310d9a46c.png

 


MAX232串口电路设计

MAX232 芯片是美信公司专门为电脑的RS-232 标准串口设计的接口电路,使用+5v 单电源供电。其主要作用是用来将普通5V 的TTL 电平转为10V 串口通信电平。

内部结构基本可分三个部分。

第一部分是电荷泵电路。由1、2、3、4、5、6 脚和4 只电容构成。功能是产生+12v 和-12v 两个电源,提供给RS-232 串口电平的需要。

第二部分是数据转换通道。由7、8、9、10、11、12、13、14 脚构成两个数据通道。其中13 脚(R1IN)、12 脚(R1OUT)、11 脚(T1IN)、14 脚(T1OUT)为第一数据通道。8脚(R2IN)、9 脚(R2OUT)、10 脚(T2IN)、7 脚(T2OUT)为第二数据通道。

TTL/CMOS 数据从T1IN、T2IN 输入转换成RS-232 数据从T1OUT、T2OUT送到电脑DP9 插头;DP9 插头的RS-232 数据从R1IN、R2IN 输入转换成TTL/CMOS 数据后从R1OUT、R2OUT 输出。

第三部分是供电。15 脚DNG、16 脚VCC(+5v)。

afbbbcf99e477aca066761e47f60aae5.png


 

系统总程序设计

本次设计的流程大致为初始化LCD,初始化个串口,接下来由激光扫描读取条码信息,并识别条码。将结果传送给单片机,进行与数据库做对比,并将对比结果传送给液晶显示器,并呈现出来。

cccab952b648f8aadaa6e193d71e5ef7.png


条形码识别程序设计

在读取和扫描条形码的电路设计上,我采用了激光扫描器的流程设计。其优点是速度快,精度高。

df3a6353099f8911391beb517e971099.png

--- END ---

加入开发圈,一起学习吧


获取课设全部资料首页发送1002

干货 | 三极管工作原理详解

收藏 | 单片机逻辑电路与逻辑运算

干货 | C语言最重要的知识点

海量51单片机学习资料与你共分享!

14G/100集-51单片机视频教程

228c831580bf6dc31e2ff107aacb026f.gif

302067a166452e83529f9d7ec837ffd1.png

6641409cc98e4f3a2500c0a002d67e1a.gif

戳戳下载学习资料        ·        好看人儿记得点点

6641409cc98e4f3a2500c0a002d67e1a.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值