博主福利:100G+电子设计学习资源包!

http://mp.weixin.qq.com/mp/homepage?__biz=MzU3OTczMzk5Mg==&hid=7&sn=ad5d5d0f15df84f4a92ebf72f88d4ee8&scene=18#wechat_redirect
--------------------------------------------------------------------------------------------------------------------------

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

条形码的编码方法比较常规和普遍。即用模板组合的方式进行编制。那么何为模板宽度,谓模板宽度就是组成条形码宽度的一个基本单位。EAN-13前文已经提到,他的组成字符为0-9这10个阿拉伯数字字符。每个数字字符都是由两个条和两个空构成。共占据7个模板宽度。每个条的宽度范围在1到4个模板宽度之间。并且都是模板长的整数倍。1和0分别表示了条形码的条和空部分。

条码字符集是收集了所有一维条形码的字符集合。他的组成是由三个子集。分别为A子集,B子集,C子集。其部分二进制表示如图9所示。一共组成的编码形式有30种,即每个字符有3个表示形式。至于奇偶形式的表示则由二进制1的个数决定。但是,有三个字符是固定的,分别是条形码的起始符,中间分隔符,终止符。其对应的二进制形式分别是101,01010,101。因此他们三个也不会包含在二进制编码表里面。从图9所示的对应表里面也可以看出,每个数字字符集的奇数子集A和偶数子集C的元素是相反的,偶数子集B和偶数子集C是倒序的。

识别的相关算法

条形码的自动识别技术可以分为两个结构组成。即扫描和译码两部分。扫描结构顾名思义就是将条形码本身携带的信息用一些特殊的设备和技术将其读取出来。比如利用激光,将光信号转换成了电信号。扫描的最终结果是为了得到模板的宽度,也就是条可空的波形的宽度,其方法就是根据条和空的反射不同的效果进行读取。在前文已经提到,条反射回来的是弱信号,而空反射回来的是强信号。译码的原理是接着扫描操作进行的。就是将扫描得到的一些电信号,用一些特定的方式进行翻译,得到最终的数据信息,并且输入客户终端计算机。再将所得到的信息经过一个比较规则的整流电路进行整流处理,最后得到了我们在生活中总能看到的条形码图形。

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

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

系统总体方案设计

系统由五个模块组成:

1.考虑系统整体的采集速度,扫描器使用激光式条形码扫描器。

2.按键模块,由于没有过多的功能选择,所以本装置使用独立键盘。

3.本装置处理器选择使用STC89C52单片机。

4.由于本装置先显示内容较多,所以选择12864液晶显示模块。

5.电源首先选用开关电源将市电转换为12V直流电源,然后再由78系列芯片转到系统需要的电压。

以上问题的解决方案:

1.电源模块使用开关电源模块将市电220V转换为系统所需要的5V,3.3V等。

2.复位电路使用单片机经典复位电路。

3.显示模块使用液晶显示。

4.按键模块使用独立键盘做键盘输入。

5.扫描器模块使用激光式扫描模块。

6.时钟模块使用石英晶振和单片机内部起振电路。

本次设计便携式商品条形码商品识别器硬件主要可分为4大模块。由激光扫描模块,52单片机控制模块,电源模块,显示器模块组成。其在本次设计系统中的功能分别介绍如下:

条形码识别电路设计

激光扫描模块在本次设计中负责采集条码信息,进行快速的读取和识别功能。是本次设计中的总输入端口。由于其不能和单片机直接相连接,所以连接了RS232电平转换模块。由激光扫描读取条码信息后,传输给相应的蜂鸣器进行告知。关于激光扫描的原理和结构组成,可参考本文的2.3章节。注意激光扫描模块的规定电压为5V。激光扫描电路设计如图所示。

电源电路设计

电源模块主要负责给整个设计系统进行供电的作用。本次设计采用的是市场比较常见的5V在线式充电插头进行供电。这里市电为220V,通过这个电源的一些电路结构会产生12V电压,但这也不是我们所需要的,因为单片机的规定电压为5V,而激光扫描的规定电压为3.3V。所以我们需要在传入12V电压时,连接个7805型号的稳压芯片,将电压进行转换变成5V,给52单片机等需要5V的模块进行供电。之后又通过型号为1117的稳压芯片,将5V电压转换为3.3V电压,继续给激光扫描模块进行供电。电源电路设计如图所示。

显示电路设计

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

按键电路设计

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

时钟电路设计

单片机的时钟电路分为采用外部时钟信号和使用片内的震荡电路两种形式。前者工作时,时钟信号需从引脚1输入,这时引脚2处于悬空状态,因为CPU片内时钟信号取自作为反馈放大元件的二输入与非门的一个输入端;后者工作时,时钟信号从引脚1输入,引脚2输出,这时晶振、电容以及片内与非门(起反馈、放大作用的元件,类似于电容三点式震荡电路中的三极管)构成电容三点式振荡器。由于石英晶体振荡器中的静态电容、外接震荡电容均远大于晶体弹性等效串联电容,正因如此,晶体振荡器与谐振并联所产生的频率决定了震荡的频率。在本系统中,采用外部时钟信号的形式作为晶振电路,如果单片机内部没有晶振,就没有时钟周期,没有时钟周期,就无法执行程序代码,就无法实现整个电路,系统时钟电路设计如图所示。

系统总程序设计

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

条形码识别程序设计

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

基于单片机的条形码扫描系统设计相关推荐

  1. 基于单片机节日彩灯控制器系统设计、基于单片机脉搏检测和体温检测设计、基于单片机可燃气体检测及报警系统、基于单片机可调八路抢答器仿真设计-全套设计资料

    1425基于单片机节日彩灯控制器系统设计-protues仿真资料 以单片机为核心,设计一个节日彩灯控制器: l  K1-开始,按此键则灯开始流动(由上而下). l  K2-停止,按此键则停止流动,所有 ...

  2. c语言车库计费系统,基于单片机智能车库计费系统设计.doc

    基于单片机智能车库计费系统设计 基于单片机智能车库计费系统设计 摘要: 经济发展使得汽车的普及程度越来越高,车辆停放计费是车库管理的重要环节.51单片机是经典的单片机产品,具有结构简单.性能稳定和成本 ...

  3. 红外报警c语言,基于单片机的红外报警系统设计 (毕业论文).docx

    基于单片机的红外报警系统设计 (毕业论文) 基于单片机的红外报警系统设计 摘要:随着社会经济的发展,人们生活水平的不断提高,与此同时对人生安全和财产安全提到了一个新的高度,盗窃.入室抢劫等刑事案件的多 ...

  4. 110报警声+单片机c语言,基于单片机的红外报警系统设计毕业论文.docx

    基于单片机的红外报警系统设计 摘要:随着社会经济的发展,人们生活水平的不断提高,与此同时对人生安全和财产安全提到了一个新的高度,盗窃.入室抢劫等刑事案件的多发使得人们越来越渴望有一个安全生活的空间.传 ...

  5. 基于单片机的TLC稳压电源系统设计-基于单片机大脑运算能力智力测试仪-基于单片机超声波测距系统仿真设计(报告 PCB 原理图)-基于单片机超高精度电参数测试设计-基于单片机变电站变压器运行参数监测仿真

    1316基于单片机的TLC稳压电源系统设计-毕设课设仿真资料 三极管射极电压是稳压电源的输出电压,可以接用电器或负载,这个电压值通过TLC549(A/D,同TLC548)数据转换后,送往单片机处理并显 ...

  6. 基于单片机超声波视力保护系统设计-基于51单片机8音键电子琴仿真设计-基于8086八路模拟信号采集均值显示系统设计-基于8086八路数据电压温度采集系统-基于8086波形发生器仿真设计【毕设课设分享】

    539基于单片机超声波视力保护系统设计-设计资料 硬件构成:单片机+最小系统+LCD1602液晶显示模块+超声波模块+DS18B20温度采集模块+光线检测模块+ADC0832模块+蜂鸣器模块+LED指 ...

  7. 【毕业设计】基于单片机的红外测距系统设计与实现 - c51 物联网 stm32

    文章目录 1 简介 2 主要器件 3 实现效果 4 设计原理 4.1 红外测距原理 4.2 红外测距常用算法 4.3 三角法测距原理 4.4 红外测距传感器特点 5 部分实现代码 6 最后 1 简介 ...

  8. 【分享】基于单片机嵌入式的家用智能节水淋浴控制器的设计-基于单片机的电子贺卡控制系统设计-基于单片机的倒计时牌控制系统设计-基于单片机的彩灯控制器系统设计-多模式彩灯-单片机的八路路数字电压表控制设计

    1334基于单片机嵌入式的家用智能节水淋浴控制器的设计-全套毕设课设设计资料 三个ds18b20分别采集进水口热水  冷水 和温水的水温,然后分别显示出来,按下开始按键,系统初始化,自动设置出水温度为 ...

  9. 【毕业设计】基于单片机的火灾报警系统设计与实现 - 物联网 stm32

    文章目录 1 简介 2 绪论 2.1 课题背景与目的 3 烟雾传感器介绍 3.1 类型 3.2 MQ系列传感器介绍 3.3 模块介绍 4 系统设计 4.1 自诊断故障报警功能 4.2 烟雾浓度显示 4 ...

最新文章

  1. java内置_自包含的应用程序,内置Java
  2. 一个打印螺旋数的程序
  3. Linux 基础——权限管理命令chmod
  4. 超详细springboot热部署
  5. 全球活跃开发者不足 1500 万,业余爱好者和学生仅占四分之一
  6. Wayland 1.0 发布,图形服务器
  7. php中有关目录的几个函数 basename() dirname() pathinfo()
  8. 重庆大学计算机学院期刊范围,重庆大学期刊目录.doc
  9. 全球地名中英文对照表(U-Z)
  10. 高斯整数matlab,Matlab---自适应高斯核
  11. 基于STM32的频率计Proteus仿真教程
  12. JS阻止浏览器刷新的方法
  13. 六,文件操作(编码,读写文件,with方法)
  14. 这五个灵魂问题,解决BI新人80%的困惑
  15. rust使用vec在遍历时删除元素
  16. 用sympy库解常微分方程
  17. python计算2的平方代码_Python练习实例46 | 求输入数字的平方,如果平方运算后小于 50 则退出。...
  18. 浅谈mysql的执行计划是何方神圣
  19. CF1395A Boboniu Likes to Color Balls
  20. Python - 至多包含两个字符的最大子串

热门文章

  1. Runtime.getRuntime.exec的陷阱
  2. Team System:基本 Power Tool 工具
  3. 数据之美(五):美不胜收的数据图(上)
  4. 网友推荐;用起来特别爽的四款良心软件,每一款都是黑科技
  5. 双绞线绞合消除电磁干扰原理
  6. python 通信部分
  7. Linux5.9下DHCP服务器的配搭建
  8. 概率 插空法和捆绑法
  9. 基于RTMP协议的Flash流媒体网页直播播放器
  10. 你为什么必须(从现在开始就)掌握linux