简易超市收银机的研究和设计.doc_第1页
简易超市收银机的研究和设计.doc_第2页
简易超市收银机的研究和设计.doc_第3页
简易超市收银机的研究和设计.doc_第4页
简易超市收银机的研究和设计.doc_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

石家庄铁道大学四方学院毕业设计简易超市收银机的研究与设计Simple supermarket of the cash registerResearch and design 2012 届 电气工程 系专 业 电子信息工程 学 号 学生姓名 指导教师 完成日期 2012年5 月4日毕业设计成绩单学生姓名学号班级专业电子信息工程毕业设计题目简易超市收银机的研究与设计指导教师姓名高迎霞指导教师职称讲 师评 定 成 绩指导教师 得分评阅人 得分答辩小组组长 得分成绩:院长(主任) 签字:2012 年 5 月 28 日毕业设计任务书题 目简易超市收银机的设计学生姓名学号班级专业电子信息工程承担指导任务单位电气工程系导师姓名高迎霞导师职称讲师一、 主要内容单片机stc89系列实现一维条码识别和lcd驱动。单片机可注册商品和价格以及计算每次交易的总价。二、基本要求单片机完成可编程控制逻辑,可连接一维条码识别探头并读取信息。1、驱动lcd液晶屏,完成注册商品和累加总价的工作;2、使用Keil C编程,实现相关逻辑控制;3、电路原理图设计,protel印刷电路图设计;4、提出系统设计框图,提出相应的解决方案;5、需单片机和芯片,开发电路板以相关传感器。三、 主要技术指标1、完成主要功能;2、电路原理图;3、使用说明书撰写;4、论文正文不少于1万字,查阅文献资料不少于10篇,其中外文文献2篇以上,翻译与课题有关的外文资料不少于3000汉字。四、 应收集的资料及参考文献1、C语言开发;2、关于STC89系列相关单片机开发文档;3、相关传感和显示器件使用手册和接口电路。五、 进度计划第 1 周第 2 周 开题报告和任务分配第 3 周第 7 周 需求分析,概要设计第 8 周第12周 详细设计,中期考核第13周第14周 写论文第15周第16周 上交论文,答辩教研室主任签字时间2012年1月5日毕业设计开题报告题目简易超市收银机学生姓名学号班级专业电子信息工程一、研究背景 随着社会发展,科学进步,人们生活水平在逐步提高,对高效率生活方式有了更多需求和期望。经济的迅速发展也对超市的经营提出了更高要求,超市收银机的使用比传统手工式管理更加便利迅捷,方便了大家的生活,保障了生活质量,因而成为了人们生活中不可替代的一部分。超市购物在人们生活中扮演了很重要的角色,怎么才能让人们在购物中享受到方便和快捷,收银机的出现解决了这一问题。自动化收银系统应该能够为用户提供完整,正确和灵活的收银结算信息和快捷的查询手段,收银机有检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等优势。超市收银机硬件电路简单,软件功能完善,操控系统可靠,性价比较高,具有一定的实用价值,因此具有开发价值。二、国内外研究现状世界上最早的收银机是在1879年,由美国的詹敏斯利迪和约翰利迪兄弟制造,其功能只实现营业记录备忘和监督雇用人的不轨行为。到六十年代后期,随着电子技术的飞跃发展,日本率先研制成功了电子收银机(ECR),电子收银机的发明具有划时代的意义,其技术性能和商业功能远远超过原型的机构式现金收款机,具有智能化、网络化多功能的特点,成为在商业销售上进行劳务管理、会计帐务管理、商品管理的有效工具和手段。到八十年代中期,功能强劲的商业专用终端系统(POS)产生,成为第三代收银机。国内:早年中国没有自己的收银机研发团队,那时引进国外的电子收银机。后来随着电子收银机的广泛应用和饱受好评,我国出现了自制的电子收银机,并且一步步跟上了世界收银机研发进度,从二代机的应用开始跨进了三代机的研发应用。现在中国的技术已经成熟,对ECR的研究也进入了一个新的阶段。三、 预期达到的目标1、单片机完成可编程控制逻辑。可连接一维条码识别探头并读取信息。2、驱动lcd液晶屏。完成注册商品和累加总价的工作。3、使用Keil C编程。实现相关逻辑控制。四、研究方案1、毕业设计目的:(1)简易超市收银机具有可设置10个商品价目表(PLU)。商品的数字编号、品名、单价等信息可输入;(2)扩展键盘实现商品注册的确认和取消;(3)扩展条形码输入设备,实现商品的条形码输入;(4)LCD液晶显示实现商品的数字编号、品名、单价的输出显示功能;(5)存储模块对商品的信息库进行了有序的分类的存储,在扫描商品编码时可以快速的调出商品信息;(6)其它发挥功能。2、业设计分析整个系统可分为:条形码输入模块、电源模块、防抖动模块、 控制器模块、键盘模块、液晶显示模块、存储模块六个部分,功能表示如图1所示:控制器模块STC89C52键盘模块条形码输入模块存储模块防抖动模块液晶显示模块电源模块图1、系统结构框图、控制器模块:由于STC89C52的强大功能,并且可以移植各种操作系统,使控制器工作可靠,因此,控制器模块选择STC89C52。、键盘模块:开发板上自带的键盘就可以实现商品注册的确认和取消,而且还有剩余的键位可以使用,可以增加其他按键功能。、液晶模块:LCM240128ZK液晶显示模块的的显示功能更完善强大,而且其外观尺寸、视域尺寸以及显示内容都比LCD1602大的多,其内涵的中文字库亦比LCD1602丰富,更适合作为本设计比较复杂的显示要求。同时,我们选用LCD1602作为小液晶显示器,用来作为收银机向顾客显示所购买商品总计金额的窗口。此时的要求相对简单,LCD1602完全可以满足。、防抖动模块:在实现商品的注册信息时,我们进行按键进行确认或取消,在开关动作瞬间往往会出现信号来回弹跳的现象,虽然只是拨键一次,而实际上产生的信号却不只是弹跳一次,因此必须加上消除抖动的电路5、存储模块:由于设计要求的存储量不大,STC89C52内置存储器就可以满足我们设计的要求,所以没有必要进行外部存储。、条形码输入模块:一维条码识别探头具有准确识别一维条码的功能,可以将识别后的信息显示在液晶显示器上。它通过串口与开发板进行通信,稳定而高效。五、系统开发环境硬件配置:Intel(R) Core(TM)2 Duo CPU P7350 2.00Hz 2G内存操作系统:Microsoft Windows XP Professional Version 2002 Service Pack 3开发工具:Keil C、EDA/SOPC、PROTEL实验开发系统六、进度计划第 1 周第 2 周 开题报告和任务分配第 3 周第 7 周 需求分析,概要设计第 8 周第12周 详细设计,中期考核第13周第14周 写论文第15周第16周 上交论文,答辩指导教师签字时 间 2011年4月6日摘要本设计是以单片机stc89系列为控制核心,本设计实现了条形码信息输入、独立键盘输入、商品信息注册和价格以及计算每次交易的总价;并且具有液晶屏显示、eeprom存储等功能;完成了题目中的所有基本要求。本设计采用stc89c52实验开发板为核心控制器,完成了简易超市收银机各项功能要求。我们实现了从独立键盘读入商品信息,从扫描仪读取条形码的信息以及收银机注册商品和价格累加等最基本的功能。收银机液晶显示采用lcd1602液晶屏,可显示扫描到的购物条目信息,并且利用lcd1602液晶显示器来显示每次交易的最后总价,方便顾客看到,并且具有掉电保护的eeprom存储保护使我们的设计更加稳定。关键词: Stc89c52收银机扫描仪Lcd1602Eeprom条形码AbstractThis design realizes reading in information according to keyboard and bar code information from and commodity information registration and prices as well as computational every trade total price, displaying with lcd screens and eeprom storage is also included.This design achieves all of the requests such as the basic segment,has its own bright characteristic .The system takes the stc89c52 experiment board as the core controller to complete the simple supermarket cash register each function request. It can realize the most basic functions of cash register ,such as reading in many kinds of sales information from the keyboard and bar code information from scanner as well as from scanner read bar code information and cash register registered commodity and price accumulate and so on. system stc89c52 experiment development board as the core controller, completed the simple supermarket each function of the cash register requirements. We realized the independent keyboard into various commodity information, read from the scanner and cash register registration code information goods and price the fundamental function of accumulative etc. Cash register liquid crystal display (LCD) using lcd1602 , can show the scanning to the shopping entries information, and using lcd1602 to highlight every trade last price, the convenience of our customers see, and have the protection of power lost eeprom memory protection makes our design work more mature.Key Words: Stc89c52Cash RegisterScannerPrinterLcd1602,目录第1章绪论11.1课题研究的目的意义11.2收银机出现的背景11.3收银机的发展历程21.4中国收银机市场分析发展前景3第2章系统总体方案设计42.1设计的总体方案42.2方案的论证与选择42.2.1控制器的选用42.2.2键盘模块方案选择52.2.3液晶模块方案选择52.2.4存储模块方案选择62.2.5一维条码识别器的选择6第3章系统硬件设计73.1硬件设计的总体方案73.2部分硬件的工作原理73.2.1控制器89C52的各引脚功能73.2.21602液晶显示103.2.3一维条码识别器113.2.4串口通讯模块133.2.5晶振模块153.2.6键盘输入设计153.2.7存储模块接口电路设计163.2.8复位电路设计173.2.9电源电路设计183.2.10Led灯电路设计193.3Protel简介203.3.1Protel的发展史203.3.2Protel99内置编辑器21第4章系统软件224.1软件设计总流程图224.2软件开发环境224.2.1KEIL的选用234.2.2C语言的选用234.2.3keil的应用244.3串口调试软件244.3.1调试软件的测试244.3.2调试软件的应用244.4ISP的下载24第5章系统分析与调试265.1系统的分析265.2系统的调试265.2.1串口调试265.2.2单片机的调试275.3理论分析与计算275.3.1延时算法的计算275.3.2波特率的计算28第6章结论和展望29参考文献31致谢32附录33附录A 英文资料翻译33附录C程序清单39II石家庄铁道大学四方学院毕业设计第1章绪论 1.1课题研究的目的意义随着社会进步,科学发展,人们生活水平在不断提高,对各种方便人们生活的设备要求也是越来越高,同时随着工业化的大发展,一切家用的设备、工业的设备和商业的设备都要求智能化、傻瓜化,比如傻瓜相机,全自动洗衣机,全自动电冰箱等;工业自动化的设备,那就太多了,数控机床,智能化生产线等等,商业设备也是一样,ATM机,自动条码检测系统,自动收银机等等。在这些需求和高速发展的科学技术的不断促进下,人们的生活中已有数不清的电子产品,它们给人们带来方便、快捷、高效的生活。本文基于这些,研究超市现在使用的收银机。超市购物在人们的日常生活中扮演着越来越重要的角色,如何让人们在消费商品和销售商品的过程中享受到方便和快捷的服务,收银机的出现,解决了这问题。收银机把过去的人工结算和收银人员的“贪污”等问题所带来的烦恼解决了不会再出现多结、漏结、账目不符等情况。随着收银机的普及和应用,它的研究更加得到了消费者和销售人员的支持。商业收银机如愿以偿地满足了全世界超市经营者的心愿,它在会计业务上的高准确性,销售统计上的高效性,商品管理上的高实时性,使得商业经营者投资不大,但却可以迅速、准确、详细地掌握商品流通过程中所产生的全部数据,使经营者在进行市场调查、内部管理、决策咨询、雇员部门考评方面方便了很多,并大规模地降低了经营成本。可以毫不夸张地说,离开了商业收银机就谈不上商业的自动化、现代化。在今后的商业活动中,没有商业收银机的帮助,经营者必将在市场竞争中处于绝对的劣势。所以说收银机的出现是商业上的一次新的革命,给社会的进步带来了很大的推动作用。1.2收银机出现的背景在世界上,历史最悠久的商业活动之一,大概就是以现金交易的大大小小的店铺了。但是在很长的历史时间里,世界各地的商店经营者们却无法解决两个最为伤脑筋的问题。一是统计和计划,就是繁杂众多的库存无法经常清查盘点,结果也就无法设定一个合理的进货计划。二是现金收入的记载。稍具规模的店铺都雇有店员,他们时时刻刻的在和现金打交道。甚至每一个店铺都经常遇到这样的情况,就是抽屉里的零钱不够了,雇员只好掏出自己的钱包,先帮垫一些零钱,然后再从钱箱里面取回来。当一个雇员在钱箱为自己的钱包里取回钱的时候,谁也不能否认,他面对的是一个绝对巨大的诱惑。这无疑是一个“世界性”的问题。但是,除了在违反规定被捉拿后由法律制裁以外,在如何预防这种现象的问题上,各种文化背景所产生的思路是各有各的想法。除了相互监督,突击检查,鼓励揭发检举,等等,还有很普遍采用的一种方法,就是提倡在思想教育入手。这的确是另一种思维的方法。这种思维的方法认定从技术上的监督,但这只是一种治标的方式,而很难从根本上解决问题。真正要杜绝这种现象得发生,还是必须要从改造人的思想品质,从根子上去解决。因此,在加强法律制裁的同时,更要加强思想工作,加强教育和学习。毫无疑问,这种方法肯定是基于对解决一个实际问题的更深层次的哲学思考,这种思考也肯定有它的积极意义。我想说是,美国人通常是怎么考虑和解决这一类问题的呢?我们发现,在这类问题上他们的思维习惯往往就是直直地从实际走向实际,而不会做进一步的理论探讨研究。他们不习惯,大概也认为没有必要去进行更深的哲学思考,而且这样做也要经过很长的一段时间。他们想得非常简单,既然放在眼前而且垂手可得的现金是一个巨大的诱惑,那么常常有意志薄弱的人抵挡不住这种诱惑也是很自然的事情。对美国人来说,他们只是在承认眼前看到的一个事实就是,人是有弱点的,人是不可靠的。这样的理解自然地把他们引向了另一条思路。他们会一心一意地从发明一个什么机制,从这样的角度入手。期待以一种方法解决人性的不可靠性。美国的店主们也毫不例外,他们也经历了很长一段时间的“小问题带来的大困扰”。终于,在一百多年前,以他们自己的方式解决了这个问题。1.3收银机的发展历程商业电子收银是微电子技术发展及现代化商品流通管理理念和技术发展结合的产物,而商业电子收银机则是现代化、自动化商业管理必不可少的基本电子设备之一。世界上最早的收银机是在1879年出美国的詹敏斯利迪和约翰利迪兄弟制造,其功能只实现了营业记录备忘和监督雇用人的不轨行为。到20址纪60年代后期,随着电子技术的飞跃发展,日本率先研制成功了电子收银机(ECR),电子收银机的发明具有划时代的意义,其技术性能和商业功能远远超过了原型的机构式现金收款机,具有智能化、网络化的多功能特点,成为在商业销售上进行劳务管理、会计账务管理、商品管理的有效工具和手段。到了80年代中期,功能强劲的商业专用终端系统(pos机)产生,成为第三代收银机,POS与ECR的最大区别在于它有着直接即时人账的特点,有着很强的网上实时处理能力,POS将电脑硕件和软件集成,形成一个智能型的,既可独立工作,也可在网络环境下工作的商业工作站。电子收款机POS(Point Of Sales,商业零售系统)伴随国内零售及百货业兴起而成为最成功并持续发展的嵌入式计算机应用项目。据估计,目前POS机全国大约只有50万台,到2006年市场容量估计是300万台,而税控机在2010年左右将达到3 000万台,具有非常广阔的发展前景。1.4中国收银机市场分析发展前景由于经济危机影响需要很长一段时间才可回暖,中国GDP加速下滑,消费的信心不足,企业削减开支降低花费,因此收银机经营压力越来越大,供大于求的趋势不可避免。研究表明,在我国收银机企业中,一直以来,产业的集中度低,缺乏规模经济效益。近年以来,由于市场竞争的不断加剧,企业之间的兼并重组和品牌经营进程逐步加快,规模化的经营初见成效。集团化和品牌连锁作为规模化经营的主要模式,在扩大和稳定客源、提高用户忠诚度、降低成本等方面上具有较大的优势。收银机的发展面临新的挑战,收银机经营在金融危机的冲击下,恢复仍需要一段时间,而对收银机投资普遍被认为趋于饱和,收银机的发展已初露疲态。未来的投资欲回归理性,可能需将方向转向二三线城市。未来投资的方向主要是二三线城市,而国内部分二三线城市的收银机市场已具备投资商圈地的条件。我国收银机市场的发展暂时还面临着很多问题,但是值得高兴的是越来越多的企业已经认识到了收银机的市场所具有的巨大的发展潜力和广阔的发展前景,对其未来发展趋势有了一个统一的认识,相信会给整个收银机市场带来更大的生机活力。第2章系统总体方案设计2.1设计的总体方案本文基于8051单片机嵌入式系统的简单超市收银机的设计,系统实现一维条码识别器串口通信、独立按键控制、大容量EEPROM存储、1602液晶显示,LED灯指示中断等功能,完成了题目中的基本要求。2.2方案的论证与选择根据毕业设计的要求,我们对简易超市收银机所需方案的各个部分进行了设计论证。2.2.1控制器的选用方案一:采用传统的8位51系列单片机作为系统的控制器。STC89C51RC单片机是一款具有ISP(在系统可编程)/IAP(在应用可编程)功能的单片机,无需专用编程器可通过串口直接下载用户程序,它的片内具有4K字节的Flash程序存储器、2K字节的数据存储器、3个16位定时/计数器,其中定时器0还可以当成两个8位定时器来使用,6个中断、1个全双工串行口和eeprom等资源。无论是从内部构造还是编程方面52系列单片机都相对简单,容易掌握和使用。但我们需要更大的flash程序存储器来存储我们的各种数据。方案二:采用32位的ARM2138作为收银机的控制核心。ARM2138具有强大的存储空间,内嵌32K片内静态RAM和512K的flash存储器,可以实现在系统可编程(ISP)、在应用可编程(IAP),2个8路10位A/D转换器,1个D/A转换器,转换迅速准确,引脚资源丰富,多达47个可承受5V电压的通用I/O口,多个串行接口,包括2个16C550工业标准UART、2个高速I2C借口(400Kb/s)、SPI和具有缓冲作用和数据长度可变功能的SSP。但其发展还不够成熟,可利用资源还不够。方案三:STC89C52RC单片机也是属于51系列单片机的一种,但是与STC89C51RC单片机相比它具有STC89C51RC单片机的功能外还具有我们需要的更大的存储空间这个要求。而且我们的设计STC89C52RC单片机的功能已经足够了。这种单片机技术是比较成熟的,在国外已经有了几十年历史了,可以说不管是它的稳定性还是可靠性都尽乎完美。而这样的一块单片机(以AT89S52这一款较常用的单片机为例)价格却不超过 10元。综上分析,由于STC89C52RC的强大功能,技术也非常成熟,并且可以有足够的flash存储空间和需要的通讯端口,因此,控制器模块选择方案三。2.2.2键盘模块方案选择方案一:系统采用标准PS/2键盘,PS/2标准键盘的价格低而且通用、可靠,且仅仅占用四根口线,更重要的是键盘资源十分丰富,正好切合本设计的需要。方案二:用一块74LS138译码输出8路扫描信号,3路扫描返回信号线接I/O口输入(我们设计的是3*8的键盘)。这种设计方案的电路设计非常的简单,但是软件的编写要考虑软件去抖等,会比较复杂而且占用大量的CPU资源。基于以上两种方案比较,采用方案一。2.2.3液晶模块方案选择方案一: YM12864R 汉字图形点阵液晶显示模块可显示汉字及图形,内置 8192 个中文汉字(16X16 点阵)、128个字符(8X16点阵)及 64X256点阵显示 RAM(GDRAM),但12864LCD需要占用较多的存储空间。方案二:采用开发板上自带的8位共阴数码管来显示超市商品单价以及单次消费总价,8位共阴数码管显示模块是由87个LED灯组成的,用来显示数字和特殊字符的,它的操作简单易学、好用,但我们的超市收银机需要的是现实各种商品的名称。方案三:采用LCD1602作为主液晶显示器。正如它的名字LCD1602液晶显示模块可以显示2行数据,每一行显示16个字符。它可以显示数字、英文字母、还可以自己编译汉字字库来显示汉字,并且我们的开发板上面有专门的LCD1602接口,可以满足我们的超市收银机显示各种商品名称的需求。我们在对比了12864LCD和1602LCD液晶显示屏之后,决定选用1602LCD来进行液晶的显示功能。把繁琐的中文显示简化成英文和拼音来显示,这样节省很大存储空间,也减少数据库建立过程中所带来的困难。我们为了方便显示扫描得来的13位码值,给1602LCD的显示定好了位置,每一位对应显示相应位置上的码值。这样就可以避免串口中断扫进的数值受到外界的干扰,即使受到干扰也只是对应位置上的数值发生变化,这样不是很严重影响结果的显示。基于以上三种方案比较,采用方案三。LCD显示模块选用的是能够显示英文和数字型双排显示的1602。低功耗、高性价比,硬件电路结构和显示程序都很简洁。2.2.4存储模块方案选择鉴于收银机的某些功能,本设计要求系统的存储容量要足够大才可以。所以单凭控制器内部的存储空间肯定不能满足存储要求,故本设计对MCU进行外部存储的扩展。外接SD卡能将存储空间充分的扩展,且还可以脱离系统使用读卡器读取SD卡内存储的信息。但需要比较复杂的硬件连接电路,而且EEPROM只需要很少的信号线就可以(两根线:一根数据线,一根时钟信号线)。因此,EEPROM采用的IIC总线比SD卡采用的SDI/SPI协议相比较更容易实现。故本设计选用EEPROM对MCU进行外部存储进行扩展。2.2.5一维条码识别器的选择方案一:选择USB接口的条码识别器,现在市场上大多数的产品都是通过USB来与电脑或者芯片进行连接,但是由于我们的开发板上只有一个USB口而且它还是用来给开发板上供电,所以USB口的条码识别器对我们来说不适合。方案二:选择串型接口的条码识别器,我们的开发板上的串口是只在烧录程序的时候用到,所以我们能在烧录完程序的时候用串行接口来和条码识别器进行通讯。通过上述两种方案比较,我们选择方案二,通过串行接口来连接开发板和条码识别器之间的通讯。 第3章系统硬件设计3.1硬件设计的总体方案据题目要求和本系统的设计思想,系统主要包括图2-1中几个模块。一维条码识别器(扫描枪)复位模块(复位到初始状态)EEPROM外部扩展存储器控制器模块(STC89C52)LED灯变化(中断信号进入,指示作用)晶振模块(提供振荡频率)独立按键控制模块切换电源模块(提供电压)LCD液晶显示商品的信息图2-1 模块分布图本设计采用STC89C52单片机作为主控芯片,实现了一维条码识别器扫描条码并和单片机进行串口通信,LED灯的变化来指示中断信号的开始,独立按键完成注册商品和销售商品两种模式的切换,并将采集到的信息存入基于IIC传输协议的EEPROM外部扩展存储芯片中,而后将信息实时的显示在LCD1602液晶显示屏上。3.2部分硬件的工作原理3.2.1控制器89C52的各引脚功能18:I/OP1口(P1.0P1.7);9:复位脚(RST/Vpd);1017:I/OP3口(P3.0=RXD,P3.1=TXD,P3.2=INT0,P3.3=INT1,P3.4=T0,P3.5=T1,P3.6=WR,P3.7=RD);18、19:晶振(18=XTAL2,19=XTAL1);20:地(Vss);2128:I/OP2口(P2.0P2.7); 29:PSEN;30:ALE/PROG;31:EA/Vpp;3239:I/OP0口(P0.7P0.0);40:+5V电源。3.2.1.1引脚简要说明1、主电源引脚Vcc和VssVcc(40脚):主电源接5VVss(20脚):接地 2、时钟电路引脚XTAL1 和XTAL2XTAL2(18脚):接外部晶体振荡器的一端。片内是一个振荡电路反相放大器的输出端。XTAL1(19脚):接外部晶体振荡器的另一端。片内是一个振荡电路反相放大器的输入端。3、控制信号RST/Vpd、ALE(PROG) 、 PSEN和 (EA)VppRST/Vpd(9脚):复位端。高电平有效,宽度在24个时钟周期宽度以上,使单片机复位。该引脚有复用功能,Vpd为备用电源输入端,防止主电源掉电。ALE(PROG)(30脚):地址锁存信号端。访问片外存贮器时,ALE作低八位地址的锁存控制信号。平时不访问片外存贮器时,该端以六分之一的时钟振荡频率固定输出脉冲。ALE端负载驱动能力为8个LSTTL门。该引脚有复用功能, 为片内程序存贮器编程(固化)的编程脉冲输入。PSEN(29脚):片外程序存贮器读选通信号端。负载能力为8LSTTL门。(EA)Vpp(31脚):EA端接高电平时,CPU取指令从片内程序存贮器自动顺延至片外程序存贮器。 EA端接低电平时,CPU仅从片外程序存贮器取指令。该引脚有复用功能,Vpp为片内程序存贮器编程时的编程电压。 输入/输出引脚P0、P1、P2和P3口P0.0P0.7(3932脚):访问片外存贮器时作为低八位地址线和八位数据线(复用)。负载能力为8个LSTTL门。P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1.0P1.7(18脚): 8位准双向I/O口。负载能力为3个LSTTL门。P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2.0P2.7(2128脚):访问片外存贮器时作为高八位地址线。P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3.0P3.7(1017脚):8位准双向I/O口。负载能力为3个LSTTL门。另外还有专门的第二功能。P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。3.2.1.2P3口的第二功能P3.0(10脚): RXD(串行口输入端)P3.1(11脚): TXD(串行口输出端)P3.2(12脚): INT0(外部中断0输入端)P3.3(13脚): INT1(外部中断1输入端)P3.4(14脚): T0(定时器/计数器0外部输入端)P3.5(15脚): T1(定时器/计数器1外部输入端)P3.6(16脚): WR(片外数据存贮器写选通信号输出端)P3.7(17脚): RD(片外数据存贮器读选通信号输出端)3.2.1.3EA引脚的使用使用片内程序存贮器时,EA接高电平(同时可使用片外程序存贮器,片外程序存贮器地址顺延在片内程序存贮器地址之后);无片内程序存贮器或不使用片内程序存贮器,只使用片外程序存贮器时, EA接低电平。其模块电路图如图2-2:图2-2 控制器89C52电路图3.2.21602液晶显示简易超市收银机在完成商品的注册和商品的销售的过程中要进行实时的信息显示,这样才能确定商品的注册和商品的销售是否正确。本设计对显示部分的要求很简单:在商品注册时,可以显示需要注册的商品信息,如名称、单价、一维条码值等;在商品销售时,可以显示顾客需要结算的商品单价和总价。而在这个过程中我们也遇到了麻烦,由于我们进行商品销售的时候需要使总价位置的数据不断变化,即商品单价不断相加。1602LCD的显示是针对字符型,而我们要做的就是让总价随着中断的进去而不断变化,这样就遇到了麻烦。加法进行中肯定会遇到进位的情况,而字符型的数值进位就比较麻烦,也容易出现误码。字符型和整型在加法方面比较,还是整型的数值比较方便、简单、灵活。所以我们就将单价位置的字符型数字改为整型的数值,让其进行数学加法运算。我们设计了十位和个位的显示,也就是当我们计算的商品总价大于99的时候会失去计算的作用。当然这个是能扩展的,只要进行简单的定义就可以实现百位,千位,万位的进位计算。采用LCD1602英文点阵液晶显示屏显示收银机工作的各种情况。液晶显示器件(LCD)是一种平板薄型显示器件,它的驱动电压很低、工作电流极小,可以与CMOS电路结合起来组成低功耗系统,广泛应用于各种电子产品中,但是它还是有缺点的,那就是这种器件一般不耐高温,也不耐低温,所以如果工作环境温度很恶劣的话,LCD就必须特别“关照”了。它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,它由32个5*8点阵字符位组成,每一个点阵字符位都可以显示一个字符,但是它不可以显示图形。模块内部自带有160个5*8点阵字型的字符发生器CHROM和8个可由用户自定义的5*8的字符发生器CGRAM。我们只需要关注以下几个管脚:3 脚:VL,液晶显示偏压信号,用于调整 LCD1602 的显示对比度,一般会外接电位器用以调整偏压信号,注意此脚电压为 0 时可以得到最强的对比度。4 脚:RS,数据/命令选择端,当此脚为高电平时,可以对 1602 进行数据字节的传输操作,而为电平时,则是进行命令字节的传输操作。命令字节,即是用来对 LCD1602 的一些工作方式作设置的字节;数据字节,即使用以在 1602 上显示的字节。值得一提的是,LCD1602的数据是 8 位的。5 脚:R/W,读写选择端。当此脚为高电平可对 LCD1602 进行读数据操作,反之进行写数据操作。笔者认为,此脚其实用处不大,直接接地永久置为低电平也不会影响其正常工作。但是尚未经过复杂系统验证,保留此意见。6 脚:E,使能信号,其实是 LCD1602 的数据控制时钟信号,利用该信号的上升沿实现对LCD1602 的数据传输。714 脚:8 位并行数据口,使得对 LCD1602 的数据读写大为方便。其模块电路图如图2-3:图2-3 液晶显示模块电路图3.2.3一维条码识别器目前市场上扫描枪所使用的感光器件主要有四种:光电倍增管,硅氧化物隔离CCD,半导体隔离CCD,接触式感光器件(CIS或LIDE)。主流是两种CCD,其原理简单说是:在一片硅单晶上集成了几千到几万个光电三极管,这些光电三极管分为三列,分别用红绿蓝色的滤色镜罩住,从而实现彩色扫描。两种CCD相比较,硅氧化物隔离CCD又比半导体隔离CCD好,熟悉物理的朋友自然知道理由。简单的说是半导体的CCD三极管间漏电现象会影响扫描精度,用硅氧化物隔离会大大减小漏电现象,当然最好再加上温度控制,因为不管是半导体还是导体一般都是温敏的,升温导电性一般会提高。现在主流市场上的多数是半导体隔离CCD 用,硅氧化物隔离CCD 的比较少,显然是因为成本较高。手持近距虹光条码阅读器,内置解码器,准确识读各种一维条码。本条码阅读器符合人体工学设计,独特枪式握持手柄,舒适的操作手感,长期使用不易疲劳。条码阅读器拥有7种提示音和音量可调的蜂鸣器,可根据使用环境的调节蜂鸣器的音量。本条码识别器多用于专用的超市收银机,由于它的应用所以在串口(5)直接设置了一个口用于提供5V电源,但鉴于更多的应用厂家特意设置了一个外接电源接口来提供扫描枪的电源。接口电路如图2-4所示:图2-4 扫描枪接口电路图扫描技术扫描设备扫过条码,接收到从白色区域反射回来的信号,而条的部分就没有信号返回。 这些差异,以及信号出现的时间长短,被转换为数字信号,通过微机进行分析、解读包含在这些条码中的数据信息。然后这些信息通过例如RS232之类的协议,传输到需要这些条码信息的设备上。其包含:1、光学技术 2、光电转换技术 3、译码技术 4、通信技术 5、计算机技术。1、光学技术物体的颜色决定其反射光性,白色能强反射各种可见光,黑色则弱反射各种可见光。当条形码扫描器光源发出的光在条形码上反射后,条码扫描器将反射回来的光收集到内部。2、光电转换技术收集来的光线发送到光电转换器上,光电转换器根据强弱不同的反射光信号,转换成相应的电信号。电信号输出到条码扫描器的放大电路增强模拟信号3、译码技术放大电路送到整形电路将模拟信号转换成数字信号。白条、黑条的宽度不同,相应的电信号持续时间长短也不同。 然后译码器通过测量脉冲数字电信号的数目来判别条和空的数目通过测量信号持续的时间来判别条和空的宽度。整形后的电信号经过量化后,由译码单元译出其中所含信息。全角度激光条码扫描器由于数据率高,且得到的绝大多数为非条码信号和不完整条码信号,译码器需要有自动识别有效条码信号的能力。因此它对译码单元的要求高得多,要求译码单元具有极高的数据处理能力和极大的数据吞吐量。目前普遍采用软、硬件紧密结合的方法。对于UPC、EAN码,译码器还要有左、右码段自动拼接功能。不过这种拼接可能将来自两个不同条码的左半部和有半部拼接起来。奇偶性和校验位并不能保证这种情况一定不会发生。随着扫描技术的发展,扫描器扫描方向数的增多和扫描速度的提高,这种码段拼接功能就显得不是非常必要了。4、通信技术此时所得到的数据仍然是杂乱无章的,要知道条形码所包含的信息,则需根据对应的编码规则,将条形符号换成相应的数字、字符信息。5、计算机技术最后,由通讯设备传输到计算机系统进行数据处理与管理,物品的详细信息便被识别了。3.2.4串口通讯模块现在市场上大多的扫描枪都是USB口设计,而我们的开发板是九针串口设计的。经过对扫描枪工作原理的细致了解,我们采用了52单片机中的串口中断来响应扫描这个动作。扫描枪在对商品标签上的一维条码(即13位数字组成的码值)进行扫描时,通过串口通信传输到MCU的数值应该是一串13位长度的数字串。MCU通过串口接收到扫描枪送出的数字串,然后对数字串进行判断,符合要求的进行商品的注册或商品的销售。要满足扫描枪和MCU能够进行正常通信,必须设定好两者的波特率(即两者的波特率应该一致,否则出现乱码或无法通信的情况)。我们购买的扫描枪的波特率是特定的9600,所以设定单片机主控芯片的波特率也应该是9600。我们的开发板自带的晶振是12.000MHZ的,如果设定MCU的波特率是9600的话,通信过程中的误码率就比较高。经过翻阅资料和询问指导老师后,我们知道降低误码率的方法,换一个11MHZ的晶振就可以。这样就完成了通信设计的环节,接下来就是完成整个串口通信模块的设计。扫描枪将码值传给单片机的过程中,串口中断程序需要重复执行多次。码值不断的在响应中断的过程中由缓存区转存到我们定义的数组中,这样就完成了数值的接收工作。本设计中有掉电保护功能,注册的过的商品信息会留在单片机内。当数值接收完毕后 ,将会对其进行EEPROM的存储,为以后的商品销售提供存储商品信息的数据库。其模块电路图如图2-5:图2-5 串口通讯模块电路图TTL 电平和 RS232 电平:单片机为 TTL 电平:高 +5V低 0VRS232 电平:计算机的串口高12V低+12V所以计算机与单片机之间通讯时需要加电平转换芯片 MAX232。3.2.5晶振模块单片机系统正常工作的保证,如果振荡器不起振,系统将会不能工作;假如振荡器运行不规律,系统执行程序的时候就会出现时间上的误差,这在通信中会体现的很明显:电路将无法通信。他是由一个晶振和两个瓷片电容组成的,x1和x2分别接单片机的x1和x2,晶振和瓷片电容是没有正负的,注意两个瓷片电容相连的那端一定要接地。 一般选用11.0592M,因为可以准确地得到9600波特率和19200波特率;也可以使用36.864M,这个频率是1.8432M的20倍,看别人的电路板上用过,我也没有用到。这2种晶振很容易买到,价钱跟12M的一样。书上说,12M的晶振也能得到9600的波特率,但是,实际用的时候,会每隔一段时间就出错一次,好像累积误差一样,比较奇怪。其模块电路图如图2-6:图2-6 晶振模块电路图3.2.6键盘输入设计图2-6中S1S4可以配置成独立键盘,通过跳线J11切换,J11有三根插针组成,图上调到右端,在独立按键配置中,应该把跳线跳到左端。这个时候独立按键才可以使用,其中包含2个外部中断,INT0和INT1,从电路图中也可以看出跳线方式。当J11跳冒按图上位置跳到右端则16个按键配置成44矩阵键盘,默认连接到P3口,这时“独立键盘”被屏蔽起来,不起作用。我们的设计中只用到了注册、功能切换等功能,所以我们采用了独立键盘。简易超市收银机在平时一般只要完成商品注册和商品销售两项重要的任务。我们的设计要求也是对这两种功能进行实现,所以我们想到要用一种方式去控制收银机功能的切换。通过一段时间对超市里收银机工作过程的细致观察和了解,我们发现成熟的超市收银机是通过按键来控制多种功能之间切换的。结合我们的开发板所能提供的现有功能,以及毕业设计题目的要求,我们决定用独立按键来控制这两种功能之间的切换。我们所购买的开发板是一种集成板,上面集成了我们题目要求所需的器件,这样就为我们的后期软硬件的结合带来了很大的方便。我们选用了开发板上的独立按键作为我们功能切换的控制按钮。S2键设定为注册商品的控制按钮,S3键设定为销售商品的控制按钮。其模块电路图如图2-7:图2-7 键盘模块电路图3.2.7存储模

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论