自动存包柜的设计与仿真摘要本课题是基于单片机的自动存包柜设计。自动存包柜是新一代的存包柜,具有功能实用、操作简单、管理方便、安全可靠等特点,能够更好的服务于不同市场的广大群众,使用者可以根据简明清晰的操作说明自行完成存包取包工作。本系统由MCS-51单片机构成核心控制系统,整个系统由主控部分、键盘显示控制部分、执行部分三部分组成,通过随机密码的产生和核对完成自动存包取包过程。本设计中各元器件便于安装且操作简单,能基本实现存包取包功能。关键词:自动存包柜;单片机;随机密码DesignandSimulationofAutomaticLockersABSTRACTThistopicismicrocontroller-basedautomaticlockers.Automaticlockersisanewgenerationoflockers,withapractical,simpleoperation,easymanagement,safeandreliable,abletobetterservethebroadmassesofthedifferentmarkets,usersarebasedonaclearandconciseinstructionstocompletethedepositbagstotakethepackage.ThesystemconsistsofMCS-51microcontrollercorecontrolsystem,theentiresystemfromthemainsection,thekeyboarddisplaycontrolpartoftheimplementationofsomeofthethree-partcomposition,randompasswordgenerationandcheckcompletedautomaticallysavethepackagetotakethepackageprocess.Variouscomponentsofthisdesigniseasytoinstallandeasytooperate,canbasicallysavethepackagetotakepackagefunction.Keywords:Automaticlockers;microcontroller;randompassword目录1绪论.........................................................11.1自动存包柜的种类....................................................11.2自动存包柜控制系统的基本原理及技术要求..............................21.3系统总体设计目标功能................................................32系统方案概述及硬件设计.........................................32.1自动存包柜系统框图...................................................32.2主机电路核心器件的选择...............................................32.38031的系统扩展......................................................83输入输出电路..................................................123.1键盘设计............................................................123.2显示系统设计........................................................133.3输出系统功能扩展...................................................144系统程序设计及仿真............................................154.1主程序模块设计.....................................................154.2键输入子程序模块...................................................164.3系统仿真...........................................................18结束语...................................................................21参考文献................................................................22附录.....................................................................23致谢.....................................................................321自动存包柜的设计与仿真1绪论近年来,随着生活水平的提高,人们对于社会消费品的质量要求在不断增加,对技术服务也提出了更高的要求。在超市、综合商店、个人商店等人流量大的地方,常常需要对顾客随带物品进行存储。为了更好的为广大顾客服务,在一些商场、影院尤其是超市等公共场合通常有电脑控制的自动存包柜,顾客进入商场购物时可寄存一些随身携带的较重物件或多余的现金,十分便利。顾客可以根据简明清晰的操作说明自行的完成存取物品的工作,自助式存取可以避免开放式存取带来的不必要的纠纷,又可以节约人员开支,达到减员增效的目的。自动存包系统的设计要求有高的可靠性,包括系统结构、硬件电路和运行软件的可靠性。安全性是设计自动存包柜时必须考虑的另一个重要因素。安全性是指系统能够保证人和财物的安全,电子存包柜要有紧急情况保护等措施。友好的人机界面对于系统来说也是相当重要的。可视化的人机接口操作起来比较方便,用户可以直观的了解到存包柜的各种信息,通过图形进行各种操作并清楚地显示电子存包柜的各种信息。电脑控制的存包柜无需专职的管理人员且安全可靠,颇受顾客的信任[1]。1.1自动存包柜的种类自动存包柜又名电子存包柜,电子寄存柜。主要由以下几种类型:(1)机设条码式电子存包柜:存物时,先按“存”键,寄存柜自动打印一张密码条,使用者抽出密码纸,对应的箱门自动打开,存好后关上箱门;取物时,直接将条码纸在扫描口扫描,对应的箱门会自动打开,取物完成后关上箱门。(2)指纹式电子存包柜:以使用者指纹作为寄存的凭证;存物时,先按一下“存”键,然后在指纹采集窗里采集指纹,机器会把该指纹与分配给使用者使用的寄存箱的箱号结合起来,并将信息自动记录下来,同时自动打开该箱,供使用者存物,存完后使用者自己关好箱门;取物时,先按一下“取”键,然后在指纹采集窗里采集指纹,寄存柜将指纹数据与先前记录下的进行比对,正确后才会打开该箱供使用者取物。2(3)非接触IC卡电子存包柜:以使用者所持IC卡(即射频卡)作为寄存的凭证;存物时,先按一下“存”键再刷卡(即让存包柜读取卡号),存包柜应先识别是否为该场所的IC卡,若不是则拒绝存物;若是,机器会把该卡号与分配给使用者使用的寄存箱的箱号结合起来,并将信息自动记录下来,同时自动打开该箱,供使用者存物,存完后自己关好箱门;取物时,先按一下“取”键再刷卡,寄存柜将读取的卡号与先前记录下的进行比对,正确后打开该箱供使用者取物(同时机器会自动记录当时的时间、卡号以备查询)。(4)联网型非接触IC卡电子存包柜:联网型非接触IC卡电子存包柜基本功能与非接触IC卡电子存包柜一致,另外增加了网络通讯模块,上位管理软件等,以实现寄存状态联网监控,分段收费,报表打印等功能[2]。1.2自动存包柜控制系统的基本原理及技术要求本系统采用MCS-51单片机做控制器,具有较高的自动化程度,当顾客需要存包的时候,可以自行到存包柜前按“ON/C”键,单片机接收到一个脉冲信号,并通过系统I/O口发出相应的信号,数码管显示8位随机密码,然后一发光二极管亮,顾客即可存包。当顾客需要取包时,先按“=”键,系统进入取包状态,然后输入密码,输入完毕后按“+”键表示确定,系统比较密码一致后,对应二极管灭,顾客即可将包取出。根据“自动存包”这一目的要求,做如下设计安排:第一部分:CPU核心控制部分,由单片机8031、复位电路、时钟电路等构成,是整个系统的核心。第二部分:键盘显示控制部分。对8个数码管和2个按键进行管理,8个数码管用于显示2位柜号儿和8位密码,14个按键分别为10个数字键和4个功能键。通过这些键盘,用户就可以完成所有的操作。第三部分:执行机构部分。它是通过8031的并行口扩展一片8255A芯片,并通过8255A控制8个灯的状态(亮灭)来模拟柜子的存包取包的过程。软件部分主要采用我们自己设定的一种与柜号儿相关联的算法来产生一组8位的随机密码,而密码的产生、核对过程就对应存包、取包的过程。本系统具有如下特色:(1)经济实用、操作简单且便于安装。(2)能产生一组8位随机密码,密码使用一次有效;有三次容错功能和解3锁功能,因此系统安全可靠。(3)利用软件产生随机密码而不是硬件,使得硬件更为简洁、可靠、稳定。1.3系统总体设计目标功能(1)完成矩阵键盘输入命令进行取包的任务;(2)存包时系统能产生随机密码;(3)随机数在单片机中的保存及删除;(4)液晶数码管的选择及与单片机的接口电路设计;(5)发光二极管模拟柜子的实现。2系统方案概述及硬件设计2.1自动存包柜系统框图自动存包柜由电子电路和机械两部分组成,本设计的存包柜主要实现电子电路方面的功能,它可以通过单片机完成密码的随机产生、密码的确认和显示以及用发光二极管模拟柜子的开闭状态等功能。系统框图如图2-1所示:电源电源80318031LED数码管LED数码管4*4矩阵键盘4*4矩阵键盘发光二极管发光二极管图2-1自动存包柜的系统框图从硬件上看,它的部分组成分别是:发光二极管,通过亮灭来模拟柜子的开闭状态;电源,为电路提供一个5V的工作电压;单片机,整个电路的核心部分;LED数码管,用于显示柜号和密码;还有键盘部分,键盘有14个按键,其中的十个分别为0-9的数字键,其他四个分别为存包键(随机产生密码)、取包键(确认密码)、确定键、取消键。2.2主机电路核心器件的选择单片机是在一块硅片上集成了微处理器,存储器和各种输入、输出接口,这样的一块芯片具有一台计算机的属性,因而被称为单片微型计算机,简称单片机。4单片机的优点是体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发也较为容易[3]。MCS-51单片机是美国Intel公司于1980年推出的产品,与MCS-48单片机相比,它的结构更先进,功能更强,在原来的基础上增加了更多的电路单元和指令,指令数达111条,MCS-51单片机可以算是相当成功的产品,一直到现在,MCS-51系列或其兼容的单片机仍是应用的主流产品,我们也以这一代表性的机型进行系统的设计。MCS-51系列单片机主要包括8031、8051和8751等通用产品。8031内部包括一个8位CPU、128个字节RAM,21个特殊功能寄存器、4个8位并行I/O口,1个全双工串行口,2个16位定时器/计数器,需要外部EPROM芯片。8051是在8031的基础上,片内又集成有4KROM,作为程序存储器,是一个程序不超过4K字节的小系统。8751是在8031的基础上,增加4K字节的EPROM,它构成了一个程序小于4KB的系统