智能物流柜系统的设计与分析_第1页
智能物流柜系统的设计与分析_第2页
智能物流柜系统的设计与分析_第3页
智能物流柜系统的设计与分析_第4页
智能物流柜系统的设计与分析_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

叮叮小文库1本科毕业论文(设计)智能物流柜系统的设计与分析二级学院医药信息工程学院专 业电子信息工程班 级2014级学生姓名学 号指导教师2018年4月-诚 信 声 明我声明,所呈交的毕业论文(设计)是本人在老师指导下进行的研究工作及取得的研究成果。据我查证,除了文中特别加以标注和致谢的地方外,论文(设计)中不包含其他人已经发表或撰写过的研究成果,也不包含为获得其他教育机构的学位或证书而使用过的材料。我承诺,论文(设计)中的所有内容均真实、可信。毕业论文(设计)作者(签名): 年 月 日智能物流柜系统的设计与分析【摘要】随着当今社会计算机和网络通信技术的迅速发展 ,快递领域的智能化也有了快速提升,各物流公司纷纷联合推出智能物流柜用以取代传统的人工派发签收快件模式。本系统设计由作主控部分的51单片机、显示部分的LCD12864、输入部分的矩阵键盘、起警报作用的扬声器、短信发送部分的GSM模块和用于存储物件的继电器快递箱六大部分组成,通过密码的核对模拟完成自动存包取包过程。快递员通过使用系统的“存件”功能,输入收件人手机号码,把物件放入快递储物柜中,系统将自动向收件人发送短信码,收件人通过使用“取件”功能凭验证码即可开箱取件。智能物流柜系统的智能化管理可以大量节省人力资源的投入管理,提高了快件保护的安全性,给客户营造一个更良好的体验。因此 ,智能货柜系统在将来的使用率会大大提高并拥有着积极的现实意义 。【关键词】51单片机;GSM模块;智能物流柜注:本论文(设计)题目来源于教师的国家级(或省部级、厅级、市级、校级、企业)科研项目,项目编号为: 。Design and Analysis of Intelligent Logistics Cabinet SystemAbstract With the rapid development of computer and network communication technologies in todays society, the intelligence in the field of express delivery has also been rapidly improved. Various logistics companies have jointly launched smart logistics cabinets to replace the traditional manual delivery model. The system design consists of 51 Microcontroller for the main control part, LCD12864 for the display part, the matrix keyboard for the input part, the loudspeaker for the alarm action, the GSM module for the short message sending part and the relay courier box for the storage of the objects. The verification of the password simulation completes the automatic packet retrieval process. The courier uses the systems memory function, enter the recipients mobile phone number, put the object into the courier locker, the system will automatically send the short message code to the recipient, the recipient by using the Pick feature With the verification code you can unpack and retrieve the parts. The intelligent management of the intelligent logistics cabinet system can greatly save the investment management of human resources, improve the security of express delivery protection, and create a better experience for customers. Therefore, the use of smart container systems in the future will be greatly improved and has a positive and practical significance.Keywords 51 Microcontroller; GSM module; Intelligent Logistics Cabi目 录1 前言11.1 背景与目的11.2 国内外现状和发展趋势11.3 课题设计内容介绍及所需解决的问题21.3.1 具体设计内容介绍21.3.2 所需解决的问题32 系统各模块介绍及其电路设计42.1 本系统设计所能实现的功能42.2 总系统基本设计框架42.3 STC89C51单片机的简单介绍52.3.1 STC89C51单片机的概要52.3.2 STC89C51单片机的管脚介绍52.4 LCD12864液晶显示模块82.4.1 LCD12864实物模块引脚说明92.4.2 LCD12864实物模块用户指令说明102.4.3 LCD12864显示坐标关系112.4.4 LCD12864的并行写操作时序122.4.5 Proteus仿真AMPIRE12864模块说明132.5 GSM模块介绍152.5.1 SIM800A模块功能引脚介绍152.5.2 GSM AT指令162.5.3 PDU编码发送中文短信172.5.4 GSM模块与单片机的电路连接182.6 3*4矩阵键盘的模块介绍182.7 继电器电箱及扬声报警装置模块介绍192.8 系统总设计电路图193系统实现的程序设计213.1程序总设计思路213.2 LCD12864显示模块的程序设计223.3 3*4矩阵键盘程序设计243.4 GSM模块程序设计253.5 系统界面转换程序设计254系统Proteus仿真结果274.1 仿真启动界面274.2 存件操作仿真274.3 验证码获取界面294.4 开箱存件界面304.5 短信发送界面304.5.1 短信发送成功界面314.5.2 短信发送失败界面314.6 取件操作界面324.7 输入验证码正确界面334.8 输入验证码错误界面335 总结35参考文献36致谢37附录:程序仿真代码391 前言1.1 背景与目的追求与创造更高质量的社会生活一直以来都是国家和人民奋斗发展的目的。近年来,由于创新型的科技技术与发明飞速发展,以及互联网技术与经济的突飞猛进,“智能化生活方式”越来越受到人们的青睐,“智能化生活”的时代不再是人们脑中的概念幻想。智能无人机、智能电子穿戴设备、智能家居系统、甚至连智能无人超市等越来越多人工智能产品进入我们的日常生活。而与人们生活息息相关的物流服务行业也纷纷加入“智能化生活”的队伍,致力提供更便捷、高效、智能的生活服务。而作为物流服务链中不可或缺的一环,快递物件存取保护工作的升级和完善一直是物流行业的难点之一。传统的物流存取工作主要靠人力完成,这使得过去存取工作存在的效率偏低、出错率偏高、而且所需人力资源高以及许多复杂性问题。或许在过去人们经济实力低下,快递服务需求不高的情况下,以人力为主的快递服务还能运作的话,那么面对如今日益剧增的快递服务需求,提高物流服务效率和质量迫在眉睫。对此,能取代人工、对物件实行24小时存取保护与实时监控管理的智能物流柜成为了行业目前最为合适的发展选择。在人们生活的住宅区、校园、企业公司等附近区域投放相应的智能物流柜。用户可更为自由地安排寄收件的时间,方便快捷。 1.2 国内外现状和发展趋势国外方面,智能快递“自提柜”以成为发达国家们邮件自取自存的“标配”。在日本,政府会投资给每一栋楼宇安装一个标准的“配置”来收发快递1;在美国,自提货柜就十分普遍,亚马逊的“Amazonlocker”通常安置于杂货店、24小时便利店和药店里,消费者可在3日时间内取货;在德国,敦豪快递服务公司(DHL)旗下的莆田国际快递自动化包裹邮寄站(Packstation)已覆盖德国90%的总人口,并成为一些新建小区的基本配套1;欧洲各国开展自助包裹密码箱系统建设也已经有十年左右的历史,已拥有十分成熟的市场经验。国内方面,随着网络信息技术和电商行业的发展,如今消费者越来越倾向于通过网络购买自己所需的物品,网购商品种类也越来越丰富,人们所需的物品和服务应有尽有,使每年网购市场的份额也自然而然地成倍数上升,尤其是双十一、双十二、春节等节假日前后。随之而来的是,快递物件挤满了仓库,快递工作人员忙不过来,而收件人员又未能及时收件等,这些问题都是快递物流企业急需解决的问题。在2012年,中邮速递易就率先开启智能快递柜服务,在物流末端开启了以智能终端进行集约化配送的变革,“让包裹交付更容易”。随后快递自提柜陆续出现在一些小区、大学校园、小区和便利店中,但总体发展缓慢。2015年6月,由顺丰、申通、中通、韵达等快递巨头们联合投资5亿,创建深圳市丰巢科技有限公司,致力于研发运营面向所有快递公司、电商物流使用的24小时自助开放平台“丰巢”智能快递柜、以提供智能化、平台化的快递寄收交互业务2。至今,智能快递柜行业可谓是发展迅猛,根据中国电子商务研究中心(100EC.CN)数据显示,近年来快递柜增长非常迅速,从2014年的1.5万到2015年的6万、再到2016年的10万到2017年的17万。加之有国家政策方面的支持近日,国务院办公厅发布了关于推进电子商务与快递物流协同发展的意见,将从强化制度创新、强化规划引领、强化规范运营、强化服务创新、强化标准化智能化和强化绿色理念六个方面入手,推进电子商务与快递物流业的协同发展3。虽然相对于国外,国内智能物流柜的起步晚、系统管理运营等经验不足,国家相关政策也并非十分完善,而且地区经济发展不均、实际落地情况负责多变等,智能快递柜业务的发展依然面临着许多困难与挑战。然而,上述的种种无疑表明,智能物流柜的发展前景广阔,未来将向更具规范化、社区化与生态化方向漫进。1.3 课题设计内容介绍及所需解决的问题1.3.1 具体设计内容介绍本课题主要为以智能物流柜系统为研究对象,设计基于单片机的智能物流柜管理系统,旨在帮助提高对单片机系统知识的理解与掌握,提高对各种计算机技术在相关领域的综合应用的基础知识的能力。本设计系统主要由作为主控芯片的STC89C51单片机、负责界面内容显示的LCD12864液晶显示屏、提供用户输入功能的3*4矩阵键盘、负责发送取件信息的GSM通讯模块、用于保存物件的继电器快递电箱以及作警报作用的蜂鸣报警器组成。1.3.2 所需解决的问题(1)通过矩阵键盘实现6位验证码及11位手机号码的输入;(2)6位验证码的产生、存储、核对与清除; (3)系统各模块接口之间的电路的设计,而且要求电路不能过于复杂;(4)GSM模块的短信消息发送程序的设计;(5)LCD各显示界面程序设计要求简洁明朗,方便用户快速了解系统并掌握使用等(6)通过51单片机对电控锁的打开和闭合进行控制。-2 系统各模块介绍及其电路设计2.1 本系统设计所能实现的功能(1)3*4矩阵键盘能实现“存取”功能的选择,及6位验证码与11位手机号的输入;(2)能实现对6位随机验证码的产生、保存、核对与清除功能;(3)当系统检测到用户验证码连续3次输入错误时,扬声器工作,响起警报声;(4)使用继电器与LED二极管及相关独立按键的组合电路来模拟实现电控锁开关箱门的功能;(5)实现单片机对箱子操作状况的准确判定,并能对箱子作出准确的开箱控制;(6)LCD液晶屏能实现简明易懂的人机化界面显示,使用户迅速掌握上手使用;(7)GSM模块能实现接收单片机的传送数据,进行短信内容及验证码的发送传输;(8)单片机能根据GSM回传的信息判断短信发送的成功与否,若短信发送失败,则再次自动开箱提醒用户取回物件。2.2 总系统基本设计框架本系统设计是由STC89C51单片机、LCD12864液晶显示屏、3*4矩阵键盘输入、GSM短信模块、继电器快递电箱以及蜂鸣报警器组成。总系统的基本设计框架如下图2.1所示图2.1:系统基本设计框架图2.3 STC89C51单片机的简单介绍2.3.1 STC89C51单片机的概要单片机是一种集微处理器(CPU),随机数据存储器(RAM),只读程序存储器(ROM),串并行输出I/O口,定时时/计数器,系统时钟及总线于一身的微型计算机系统.其在工业自动化、智能仪器仪表、消费类电子产品、通信行业、武器装备等领域应用广泛。当然根据不同的性能,单片机可以分为很多不同的种类,如Atmel、STC、PIC、AVR、凌阳、C8051及ARM等4。本系统设计采用的是具有高速、高可靠、强抗静电,强抗干扰的特点,而且具有4K的程序存储器、价格便宜的STC89C51单片机。2.3.2 STC89C51单片机的管脚介绍单片机芯片的封装类型也有很多种类,以下主要对采用PDIP封装的STC89C51单片机的引脚进行简单介绍,封装引脚图如下图2.2,及图2.3为其在Proteus中的元件图。图2.2:PDIP封装的89C51单片机引脚图图2.3:89C51Proteus元件图89C51拥有40个引脚,按其功能类别可将它们分为三类5:(1)电源和时钟引脚:Vcc、GND、XTAL1、XTAL2;(2)编程控制引脚:RST、ALE/、/VPP;(3)I/O口引脚:P0、P1、P2、P3,4组8位I/O口。Vcc(40号脚)、GND(20号脚)电源引脚,一般情况下常压为+5V,低压为+3.3V。XTAL1(19号脚)、XTAL2(18号脚)外接时钟引脚。XTAL1、XTAL2分别为晶体振荡电路反相输入和输出端。RST(9号脚)单片机复位引脚,两个连续机械周期以上高电平有效。(29号脚)外部ROM读选控制端,由于现在单片机内部已有足够大的ROM,所以该脚用处不太大。ALE/(30号脚)地址锁存口,用于扩展外部RAM,由于现在单片机内部已有丰富的RAM,所以该引脚的用处也不太大。/VPP(31号引脚)片内程序存储器选择控制端。当其接高电平时,读取内部程序存储器,接低电平时读取外部ROM。P0口(39号-32号引脚)双向8位三态I/O口,可独立控制每个口。使用时须自接上上拉电阻。P1口(1号-8号引脚)准双向8位I/O口,可独立控制每个口,已内带上拉电阻。P2口(21号-28号引脚)准双向8位I/O口,可独立控制每个口,已内带上拉电阻。P3口(10号-17号引脚)准双向8位I/O口,可独立控制每个口,已内带上拉电阻。P3口还有其第二功能定义,如下表2.1所示。表2.1:P3口各引脚第二功能定义标号引脚第二功能说明P3.010RXD串行输入口P3.111TXD串行输出口P3.212INT0外部中断0P3.313INT1外部中断1P3.414T0定时/计数器0外部输入端P3.515T1定时/计数器1外部输入端P3.616WR外部数据存储器写脉冲P3.717RD外部数据存储读脉冲2.4 LCD12864液晶显示模块液晶显示器(LCD)的主要原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面,其具有显示清晰、功能简单可靠、能耗小、成本低廉等优点6。市面上的液晶显示器的类型有很多,比如:1602、1601、0801、12232、12864等。本系统实物设计采用的是带中文字库,带背光,5V电压驱动,使用ST7920控制器的12864液晶显示器,实物图如下图2.4(1)、(2)所示。而仿真方面,由于Proteus里的LCD12864都是不带字库的,只能采取自制字库描点的方式显示,型号采用的是AMPIRE12864.实物和仿真模块虽有不同,但原理上两者大抵一致,下面会分别进行介绍。图2.4(1):12864实物正面图图2.4(2):12864实物背面图2.4.1 LCD12864实物模块引脚说明LCD12864又称中文、汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16*16点阵)、128个字符(8*16)点阵及64*256点阵显示RAM。与外部CPU接口采用并行或串行两种控制方式7,其引脚说明如下表2.2所示。表2.2:实物12864模块引脚说明编号符号引脚说明编号符号引脚说明1GND电源地11D4数据口2VCC电源正极12D5数据口3V0显示对比度调节段13D6数据口4RS(CS)数据/命令选择端(H/L)(串片选)14D7数据口5R/W(SID)读写选择端(H/L)(串数据口)15PSB并/串选择:H并行,L串行6E(SCLK)使能信号(串同步时钟信号)16NC空脚7D0数据口17RST复位,低电平有效8D1数据口18NC空脚9D2数据口19BLA背光电源正极10D3数据口20BLK背光电源负极2.4.2 LCD12864实物模块用户指令说明LCD12864液晶屏提供两套用户指令集,通过RE端口控制,说明见下表2.3和表2.4。表2.3:基本指令集(RE=0时)表2.4:扩充指令集(RE=1时)2.4.3 LCD12864显示坐标关系(1)图形显示坐标水平方向X以“字”为单位,垂直方向Y以“位”为单位。绘图显示RAM提供128*8B的记忆空间,在更改绘图RAM时,先连续写入水平与垂直的坐标值,在写入连个字节的数据,而地址计数器(AC)会自动加1;在写入绘图RAM期间,绘图显示必须关闭。写入绘图RAM的步骤如下8:关闭绘图显示功能。先将水平坐标X写入RAM地址。再将垂直坐标Y写入RAM地址。将D15D8写入到RAM中。将D7D0写入到RAM中。打开绘图显示功能,绘图显示缓冲区分布图如图2.5所示。图2.5:12864绘图显示坐标(2)汉字显示坐标(见表2.5)。另外12864所自带的8192个中文字库及128个字符表就不一一列举了,可自行查找资料。表2.5 汉字显示坐标Y坐标X坐标Line180H81H82H83H84H85H86H87HLine290H91H92H93H94H95H96H97HLine388H89H8AH8BH8CH8DH8EH8FHLine498H99H9AH9BH9CH9DH9EH9FH2.4.4 LCD12864的并行写操作时序12864与外部CPU接口采用的是并行或串行两种控制方式。由于并行控制方式较为简单,本系统设计实物模块采用的是并行控制方式,其并行写操作的时序图如图2.6所示。图2.6:12864液晶并行写操作时序图2.4.5 Proteus仿真AMPIRE12864模块说明(1)管脚说明Proteus中的AMPIRE12864只有18个管脚(如下图2.7),其中大部分管教功能与上述实物LCD的相同。要注意的是AMPIRE12864含有两个液晶驱动器,分左右显示,因此用到CS1、CS2作左右屏选择9,其管脚功能说明如下表2.6所示。图2.7:Proteus中的AMPIRE12864元件图表2.6:AMPIRE12864管脚说明(2)LCD12864电路连接LCD12864与51单片机的电路链接设计图如下图2.8所示。左右屏片选端口CS1、CS2分别接到单片机的P3.7与P3.6,数据/指令选择端RS与P3.5接口相连,读/写选择端与P3.4口相接,单片机P3.3口则连LCD的使能信号端E,复位端RST接上高电平,DB0DB7与单片机的数据传输口P2相连。再根据12864的通讯协议10,利用单片机C语言进行程序编写,控制LCD显示屏的效果显示。图2.8:12864与单片机的接口电路图2.5 GSM模块介绍为了实现短信通知取件人取件的智能服务功能,系统设计需要用到GSM模块,而本系统所采用的是SIM800A无线GSM/GPRS模块。该模块工作稳定、抗干扰强、外围电路集成度高、尺寸巧小、功能完善,能提供强大的语音、短信、GPRS数据传输功能服务,尤为适用于本系统功能设计。2.5.1 SIM800A模块功能引脚介绍图2.9(1):SIM800A模块实物正面图图2.9(2):SIM800A模块实物背面图如图2.9(1)(2)所示,以下为SIM800A模块管脚功能的介绍:(1) VCC:5-8V电源输入;(2) GND:电源接地;(3) EN:电源控制引脚,高电平使能,低电平关断;(4) 232R/232T:232串口;(5) RXD/TXD:TTL串口(3.3V系统),与模块通信使用;(6) BRXD/BTXD:TTL串口(3.3V系统),升级模块固件使用;(7) EPN/EPP:耳机喇叭输出;(8) MICP/MICN:耳机麦克输入。2.5.2 GSM AT指令要对GSM模块进行程序命令,所需使用到的是GSM相关AT指令集。而与SMS(短信息服务)相关的AT指令主要有:AT+CPMS:查询SIM卡内短消息使用状态;AT+CNMI:新消息指示设置;AT+CMGF:选择短消息格式 ;AT+CSCS : 编码设置;AT+CSCA:查询、设置SMS服务中心号码;AT+CSMP:设置短消息文本模式参数;AT+CMGS:发送短消息;AT+CMGR:读取短消息;AT+CMGD:删除短消息;AT+CMGDA:删除所有短消息;2.5.3 PDU编码发送中文短信Text模式和PDU模式是目前常用的两种短信发送编码模式。Text模式虽然简单,却只能发送英文短信不能发送中文短信,因此若需要发送中文短信,则需采用PDU编码模式。一般的PDU编码由A到M十三项组成11,如下表2.7所示。表2.7:PDU编码项介绍说明项说明A短信中心地址长度,1字节(十六进制数)B短信中心号码类型,1字节(十六进制数)C短信中心号码,B + C的长度将由数据A决定D文件头字节(1字节)E信息类型(1字节)F被叫号码长度(1字节)G被叫号码类型(1字节)H被叫号码,长度由F测定I协议标识(1字节)J数据编码方案(1字节)K有效期(1字节)L用户数据长度M用户数据(J中设定采用UCS2编码,这里是中英文的Unicode字符)可以同通过相关的“汉字Unicode互换工具”生成所需编码,其长度由L测定。2.5.4 GSM模块与单片机的电路连接要完成51单片机与SIM800A模块之间的数据传输,只需将SIM800A模块上的RXD与TXD引脚分别对应接到51单片的两个串行端口P3.0与P3.1即可。而仿真方面,由于Proteus无法对SIM800A短信发送状态作出仿真,因此仿真系统使用分别连接P3.0与P3.1口的两个按键开关来模拟短信发送成功或失败的状态,详情见第4章相关的仿真情况。2.6 3*4矩阵键盘的模块介绍本设计采用的是3*4矩阵键盘来实现按键输入功能。其与单片机的接口电路如下图2.10所示。其中的7条行列线接口分别接与单片机的P0.0P0.6的端口上。而我们对其进行的检测方法具体过程如下:首先送一行为低电平,其余三行为高电平(此时我们已确定了行数),然后立即轮流检测一次各列是否有低电平,若检测到某一列为低电平(此时我们又确定了列数),则我们便可确定当前被按下的键是哪一行哪一列的键,用同样的方法轮流送各行一次低电平,再轮流检测一次各列是否变为低电平,这样即可检测完所有的按键,当有按键被按下时便可判断出按下的是哪一个键12。我们在程序中给每个键赋予不同的值,用户通过该矩阵键盘可以输入09十个数字,还可通过“#”与“*”号按键实现“存”与“取”等相关操作。通过检测用户按下的按键,系统执行相对应的程序模式。图2.10:3*4矩阵键盘的接口电路设计2.7 继电器电箱及扬声报警装置模块介绍继电器的工作原理十分简单,当控制端输入某一电平时,继电器中的线圈工作,用电器端的电路接通,用电器进行工作。当控制端输入相反电平时,用电器端电路断开,用电器停止工作。由于要驱动继电器线圈工作所需的电流较大,而单片机端口的驱动能力有限,一般最多也就几十毫安的电流驱动能力,所以需在继电器电路上连接一个PNP三极管来进行电流的放大。本系统设计采用的是工作电压为12V的继电器,用电器电路端接上个LED灯模拟快递箱箱门的开关状态,LED灭时代表箱门关闭,LED灯亮时代表箱门被打开。系统电路中再接入一组按键开关用来控制箱门的关闭,相应电路接线图如图2.11所示。其中L1-L4四个继电器驱动控制端接单片机的P1.0-P1.3口,用来控制箱门关闭的四个按键开关C1-C4则与单片机的P1.4-P1.7口相连,扬声器报警控制端与单片机的P0.7口进行连接。图2.11:继电器与扬声器电路连接图2.8 系统总设计电路图在系统的总的设计电路(如图2.12)中51单片机的P0口提供了7个管脚与3*4矩阵键盘相连,P0.7口用来与扬声器模块相接;P1口中的P1.0-P1.3用于与继电器快递箱模块相连,另外4个管脚与4个箱门模拟开关按键相连;P2则口用于接LCD12864的8个数据端口;P3口中的5个管脚用于与LCD12864的控制端口连接,2个管脚用于与SIM800A模块进行数据传输。至此,51单片机的32个I/O口近乎都被利用上了。总体来看,电路设计符合在达到实现要求情况下接线清晰简洁,接口分配合理等的要求。图2.12:系统总设计电路图3系统实现的程序设计3.1程序总设计思路总程序运行时,主程序先对LCD12864进行初始化设置,并对总程序中各种全局变量赋予初始值, 由于LCD初始化需要一定的时间,程序在经过一段时间的延时等待后进入循环,用于不断地扫描矩阵键盘,检测按键信号输入,再根据不同的按键信号输入,执行不同的程序模式以及运行相应的界面显示。当用户按下“#”号键时,系统执行“存件操作”程序,用户根据提示完成存件操作后,系统进入GSM模块发送短信,程序返回。当用户按下“*”号键时,系统执行“取件操作”程序,待用户根据提示完成操作后,程序返回。流程图如下图3.1所示。图3.1:系统程序总体流程图3.2 LCD12864显示模块的程序设计涉及LCD12864显示模块的程序编程主要有两大部分。一为LCD显示屏的初始化设计,二为各显示界面的载入设计。(1)12864的初始化在对LCD显示屏的初始化程序(程序函数为lcd_initialize())中包括了开屏显示、清屏、列与页的设置和起始行的设置。此外,由于LCD的读写数据需要一定的反应时间,因此还需在进行上述设置前进行读取忙检测,流程图如图3.2所示。图3.2:LCD的初始化程序流程图(2)12864显示程序设计由于系统程序的实现所需要的显示界面比较多,故本系统程序设计中将与LCD12864显示屏相关的操作函数(如选屏、清屏、检测忙、页设置、列设置、起始行、写指令、写数据等)和屏幕文字界面显示函数(如主界面、取件界面、存件界面、短信发送界面、产生验证码界面、警报界面等)共同编写进LCD12864.c文件中,使之与主函数分开。而相应的函数和变量声明则编写在LCD12864.h头文件中。LCD12864在Proteus仿真中都是不带字库的,我们可以通过创建一个madefont.h头文件,用于存放系统程序设计所需要用到的文字点阵数据。又由于字符(包括英文字母、数字和符号)与中文文字的显示占用大小有所不同字符显示占用8*16大小,文字显示占用16*16大小,所以分别编写了show8()和show16()两个函数分别用于显示字符和文字,将这两个函数也一同放进LCD12864.c文件中。在实物的程序实现中,我们采用的是已经带有文字字库的LCD12864,那么我们只需根据字库文字表的信息,直接通过LCD12864.c文件中的界面显示函数直接调用库里面的文字显示即可,那么上述自制字库madefont.h头文件则可省去。LCD12864界面显示模块程序流程图如下图3.3所示。图3.3:LCD12864显示模块程序流程图3.3 3*4矩阵键盘程序设计通过在第2章的2.6节对矩阵键盘的检测方法介绍中,我们知道采先将行至于低电平,再扫描检测列是否变为低电平的方法即可准确的判断是哪个按键被按下。但在具体的程序实现过程中我们还需对被读到的低电平变化进行去抖动处理,即延时10毫秒后继续判断是否有电平变化,当仍有电平变化时,赋予变量key相应的值,随后判断按键是否松开,若按键松开(电平恢复为高电平)则继续执行下一项程序操作,若否程序将停留在此,不作任何行动,直至按键被松开为止。程序中变量key的初始值为10,表示此时无按键被按下,在系统程序运行时,主函数调用矩阵键盘函数keyscan(),当keyscan()子函数检测到有按键被按下时,会给变量key赋予代表数字的0-9的键值或代表带有“取/返回”和“存/确定”功能的“*”和“#”键值,待子函数结束后将key值返回给主函数,主函数再执行相应的程序操作。其流程图如下图3.4。图3.4:矩阵键盘模块程序流程图3.4 GSM模块程序设计根据GSM的接口通讯协议,GAM模块程序的编写如下:51单片机先发送一个启动指令给正在休眠的GSM模块,随后通过定时器,使单片机与模块的波特率协调一致,之后通过AT指令向GSM模块发送短信息内容数据(包括11位手机号和6位验证码),GSM根据接收到的数据发送短信,并向单片机返回发送标志(成功或失败)。流程图如下图3.5。图3.5:GSM模块程序流程图3.5 系统界面转换程序设计各界面之间的转换程序为系统程序设计的难点与核心,该模块程序的实现主要用到operation()和show_interface()两个函数(具体函数代码编写可看附录)。程序中共有11个显示界面,每个显示界面都拥有唯一的编号,设置两全局变量ss和interface分别用于记录前一显示界面编号和当前显示界面编号。程序通过运行operation()函数,对继电器电箱模块和GSM模块进行电平控制,并根据情况对interface赋予相应的值。在operation()函数给interface赋予值后,interface值与前一显示界面的值ss比较,若两者的比较不相等,则清屏一次,再通过show_interface()函数改变当前显示界面。下图3.6为系统界面转换程序的流程图。图3.6:系统界面转换程序流程图4系统Proteus仿真结果4.1 仿真启动界面启动Proteus仿真,LCD12864显示主界面,界面提示“*”号键为进行取件操作,“#”号键为存件操作。此时所有LED灯熄灭,继电器箱子为关闭状态,系统只有在按下“*”号键和“#”号键的情况下才会做出响应。效果如下图4.1所示。图4.1:系统启动,主界面显示4.2 存件操作仿真当按下“#”号键时,LCD载入存件操作界面,提示输入收件人手机号码。此时按数字键即可输入手机号码,若11手机号没有输入完,系统无法通过按“#”号键进入下一步操作,但可以通过按下“*”号键进行返回重新输入操作。仿真如下图4.2、4.3和4.4所示。图4.2:存件操作界面图图4.3:号码输入过程界面图图4.4:号码输入完整界面图4.3 验证码获取界面由于Proteus无法对GSM模块进行仿真,所以编写该界面用于显示系统程序所产生的验证码,以便后续的仿真测试。在实物中由于系统程序产生的验证码通过GSM模块发送到用户手机上,所以此界面显示可以省去。仿真过程中,此界面稍作停留后,自动显示下一界面。如图4.5所示,系统程序产生的验证码为6位数字,其中前2位数字代表箱号,后4位为系统程序自动产生的随机号。图4.5:系统程序产生的6为验证码4.4 开箱存件界面LCD显示完验证码后,系统随即进行下一项操作,LCD显示开箱存件界面,对应箱号的继电器被驱动工作,LED灯亮起,表示该箱子箱门打开,如图4.6所示。当用户将物件放进箱子,并人为地关上箱门(此处用独立按键被按下表示),箱门LED熄灭,系统才会执行下一项短信发送的功能操作。图4.6:开箱存件界面4.5 短信发送界面当用户存件关上箱门时,LCD显示正在发送短信界面,如图4.7。单片机控制GSM模块进行短信发送操作。仿真时单片机的P3.0与P3.1接口链接两个独立按键,通过对独立按键的状态进行判断,来模拟短信发送成功或失败。图4.7:短信发送中界面显示4.5.1 短信发送成功界面当GSM模块发送短信成功后(仿真上用RXD端口按键被按下表示),LCD显示短信发送成功界面,在等待片刻后系统程序将自动返回主界面。仿真效果如图4.8所示。图4.8:短信发送成功界面4.5.2 短信发送失败界面当GSM模块返回短信发送失败信息时(仿真上用TXD端口按键被按下表示),LCD载入短信发送失败界面,随后系统程序提示对应相门打开,请用户取回物件,待用户关闭箱门后系统返回主界面。仿真如图4.8、图4.9所示。图4.8:短信发送失败界面图4.9:短信发送失败,存件箱门自动打开4.6 取件操作界面当LCD显示主界面时,我们按下“*”号键,即选择取件操作,LCD屏显示取件操作界面,提示用户输入6位验证码,如图4.10所示。此时若用户输入验证码还不够6位时,按下了“#”号确定键,系统并不会判断用户输入验证码错误,而是等待用户继续输完才进行下一步工作。若用户按下“*”号返回键,系统则返回主界面程序。图4.10:取件操作界面4.7 输入验证码正确界面当用户验证码输入完毕后,按下“#”号确定键,系统核对用户所输入验证码是否正确,若正确,LCD则直接载入如图4.11所示的对应箱门打开界面,随后继电器工作,箱门打开,待用户取件后关上箱门后,系统自动返回主界面。图4.11:验证码正确箱门打开4.8 输入验证码错误界面当系统判断用户输入的验证码有误时,LCD屏显示验证码错误界面(如图4.12),提醒用户重新输入,系统自动返回验证码输入界面。当用户验证码连续3次输入有误时,程序执行警报程序, LCD显示警报界面(如图4.13),警报LED灯亮起,扬声器开始警报工作,一段时间后扬声器自动结束工作,系统返回主界面。图4.12:验证码输入错误界面图4.13:系统警报工作5 总结本毕业设计,是基于51单片机的智能物流柜系统的设计,先经过Proteus仿真,再进行实物设计,最终从总体结果上看,解决了系统设计过程中所需要解决的问题,系统的电路设计及程序设计实现了基本设计要求。当然从实际的市场应用上来看,本系统设计还存在很大的不足之处,如主控芯片不够强大、系统智能模块不够完善等。但通过对本系统的设计学习认识,可了解到智能快递箱的基本原理,有助于我们对智能行业的认识。科学技术的进步,使得“智能生活”从字面概念上慢慢走进我们的真实生活。智能物流柜也正以快速的步伐,走进我们的日常生活。智能快递物流也像其他智能技术一样,正在改变着人们的生活方式。参考文献1段丽昀.智能收件,跑赢物流最后一公里J.上海信息化,2016(2):59-612张会云,尚鑫.快递业“最后一公里”配送模式分析以菜鸟驿站和丰巢为例J.物流技术,2015,34(22):48-513国务院关于推进电子商务与快递物流协同发展的意见.国办发20181号,2018年1月4郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略M.北京:电子工业出版社,2009:2-85郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略M.北京:电子工业出版社,2009:8-126孙涵芳.LCD发展现状M.北京航空航天大学出版社,2008(15):44-457郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略M.北京:电子工业出版社 2009:167-1688郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略M.北京:电子工业出版社 2009:171-1729张正林.液晶显示器的发展状况M.北京航空航天大学出版社,2008:102-10510Yongxian Song.Design of LED Display Control System Based on AT89C52 Single Chip MicrocomputerJ.Journal of Computers,2011,6(4):718-72411王少峰.手机短信的收发J.电脑编程技巧与维护,2007(1):55-5812郭天祥.新概念51单片机C语言教程:入门、提高、开发、拓展全攻略M.北京:电子工业出版社 2009:86-9213李广弟等.单片机基础M.北京航空航天出版社,2001.714陈海宴.51单片机原理及应用M.北京航空航天大学出版社,201015谭浩强.C程序设计M.第4版.北京:清华大学出版社,2010.6致谢首先,由衷感谢指导老师对本人毕业设计的悉心指导。在实验设计过程中,王老师耐心的解答和热情的指导给予了我很大的帮助与鼓励。期间,不仅学习到了很多的新知识,还认识到了自身的不足,并努力提升自己。其次,要感谢XXX,XXX,XXX等同学们,在做毕业设计的过程中,他们也给我提了很多宝贵的意见和许多的技术支持,让我的毕业设计得以顺利的完成。附录:程序仿真代码/*main.c 主文件*/#include #include #include #include LCD12864.h#define uchar unsigned char#define uint unsigned intsbit box1 = P10; /箱柜1sbit box2 = P11; /箱柜2sbit box3 = P12; /箱柜3sbit box4 = P13; /箱柜4sbit boxkey1 = P14; /箱柜1开关sbit boxkey2 = P15; /箱柜2开关sbit boxkey3 = P16; /箱柜3开关sbit

温馨提示

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

评论

0/150

提交评论