已阅读5页,还剩63页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计(论文)题 目:存取异方方式储物柜控制系统设计学生姓名张纪盛学 号201220070227专业班级测控1001 分院(系)机电工程分院指导教师(职称)丁述勇(讲师)2014年 3 月 诚信承诺书本人谨此承诺,本人所写毕业设计(论文)均由本人独立撰写,无任何抄袭行为。凡涉及他人的观点材料,均作了注释。如出现抄袭或侵犯他人知识产权的情况,愿承担由此引起的任何责任,并接受相应的处分。 学生签名:年 月 日浙江工业大学之江学院毕业设计(论文) 中文摘要存取异方方式储物柜控制系统设计【摘要】随着物流业的迅猛发展,最后一公里问题的有效解决直接制约着物流业的效率问题。国内存取异方方式储物柜的发展也是必然形式。本设计核心控制芯片为STC89C52单片机芯片,整个系统由单片机主控部分,LCD显示部分,矩阵键盘输入部分,扬声器报警部分,GIM模块发送部分及SD卡外部存储六大部分组成,通过密码的核对完成自动存包取包过程。其主要的应用方向就是当今的快递储物柜,快递员输入收件人手机号码,把物件放入快递储物柜中,系统将自动向收件人发送短信验证提取码,收件人凭验证提取码可取走快件。快递储物柜的使用同时便捷了快递员、收件人、物业。快递员不需要打电话通知取件人收取快件,既节省了话费,又节省了大量的等待时间;收件人则不需要再担心自己有事的时候快递到了,无法去领取的尴尬情况;物业则不再需要专门设置人力来替住户收取保存快件,避免了由物件丢失,错拿等等造成的问题,快递储物柜的推广和使用将有效地解决了“快递最后一公里”的难题。【关键词】 STC89C52单片机,快递储物柜,GSM模块,电控锁59浙江工业大学之江学院毕业设计(论文) 英文摘要Access Different Party Store Content Ark Control System Design【Abstract】 First,the flexible pneumatic drive structure,working principle and mathematical model of static are introduced in the thesis. Based on the prototype of the model,static characteristics measuring system is designed and an experiment system is built. LabVIEW is also used to write operating software. Following these steps,a series of static experiments are carried out. Third,using the LabVIEWsoftware,the static characteristic curve of the FPA is fitted. We compare the curve of experiments with the curve of theory,and reach the conclusions as follow:the static model matches well with the experiment,which proves the feasibility of the FPA we designed. At last,the advantages and drawbacks of the testing system are summarized,and the further improvement of the idea is proposed.【Key Words】 STC89C52 Microcontroller, Express Lockers, GSM Module, Electric ControlLock 浙江工业大学之江学院毕业设计(论文) 目录目 录1 绪 论11.1选题背景11.2 国内外研究现状11.3本课题研究的内容以及遇到的问题11.3.1研究内容11.3.2所要解决的关键问题22 系统硬件设计32.1 方案总体设计要求32.1.1系统基本框架32.2 LCD12864硬件设计42.2.1 12864芯片介绍42.2.2 各个管脚功能52.3 12864行列特性62.2.4 指令说明62.2.5 12864接口电路72.3 按键接口电路82.4 GIM模块接口电路82.4.1 TC35i模块介绍82.4.2 AT指令92.4.3 PDU编码规则102.5 单片机与SD卡的接口电路设计122.6电控锁及扬声器等电路设计123 系统软件设计153.1 系统软件设计主要思想153.2 LCD12864模块设计及显示界面设计163.2.1 LCD12864初始化163.2.2 LCD12864显示模块173.4 矩阵键盘按键扫描模块183.5 GSM模块203.6 界面切换模块设计204 Proteus仿真224.1 启动仿真224.2 存界面224.3 获取生成验证码244.4 存物界面244.5 短信发送界面254.6 取界面264.7 密码正确取物界面274.8 密码错误及报警界面28结 论30参考文献31附录32致 谢58浙江工业大学之江学院毕业设计(论文) 图目录图目录图2.1 存取异方方式储物柜系统框架3图2.2 LCD12864实物图4图2.3 LCD12864元件图5图2.4 12864地址结构6图2.5 LCD12864接口电路7图2.6 3*4矩阵键盘8图2.7 西门子TC35i实物图9图2.8 西门子TC35i电路原理图9图2.9 TC35i与单片机的硬件接口电路11图2.10 SD卡与单片机的硬件接口电路12图2.11 电控锁与单片机接口电路13图2.12 电控锁及扬声器硬件接口电路13图2.12 电控锁及扬声器硬件接口电路13图2.13 系统总电路图14图3.1 程序总体流程图16图3.2 LCD12864初始化程序流程图17图3.3 LCD12864显示程序流程图18图3.4矩阵键盘模块程序流程图19图3.5 GIM模块程序流程图20图3.6界面切换模块程序流程图21图4.1 系统启动时仿真图22图4.2 存界面仿真图23图4.3 号码输入过程仿真图23图4.4号码输入完成仿真图23图4.5 显示验证码仿真图24图4.6 存物界面仿真图25图4.7 短信发送界面仿真图26图4.8 短信发送成功界面仿真图26图4.9 取界面仿真图27图4.10 取界面输入验证码仿真图27图4.11 取物界面仿真图28图4.12 密码错误界面仿真图28图4.13 报警界面仿真图29浙江工业大学之江学院毕业设计(论文) 表目录表目录表2.1 管脚号及功能5表2.2 12864基本指令表6表2.3 12864扩充指令表7表2.4 与SMS相关的若干GSM AT指令10浙江工业大学之江学院毕业设计(论文) 1 绪 论1.1选题背景面对实际困难最多、情况最复杂的“最后一公里”配送,一些快递企业加大软、硬件方面的投入,提升“最后一公里”的速度和服务质量。按照传统的快递发放方式,有许多困难有待解决,例如派送员进到楼里去送货,停在门外的车辆和快件的安全就很难保障。由于市内道路尤其是社区附近的道路情况相对复杂,对于机动车辆的管理也比较严格,因此单纯依靠汽车来派送快件很难实现。当快递送到收件地址,收件人却因事外出无法签收,导致快递回收再发,直接影响着快递业务链的效率。对于以上发生的复杂情况,快递储物柜的使用推广将使之得到有效解决。1.2 国内外研究现状随着物流业的迅猛发展,最后一公里问题的有效解决直接制约着物流业的效率问题。从2009年开始,想通过快递储物柜解决快递最后一公里问题的公司日益增多,国外的谷歌斥资17000000美元收购了bufferbox和亚马逊,沃尔玛正在做的,在打电话的bufferbox产品类人,国内也逐渐有公司着手做智能快递柜、储物柜的解决方案。目前已知有快递柜服务的包括顺丰、京东等电商物流。国内存取异方方式储物柜的发展也是必然形式。快递业与社区、物业服务结合在一起将是未来的发展方向,关键是双方责、权、利如何界定。1.3本课题研究的内容以及遇到的问题1.3.1研究内容本课题研究的是存取异方方式储物柜,也就是快递储物柜。下面来简单介绍下思路,该测控系统主要由:GSM模块,电控锁,单片机,液晶显示,矩阵键盘等五部分组成。本设计采用的GSM模块是西门子TC35系列的TC35i。与无线通信模块TC35是兼容的,更为紧凑的结构设计,大大降低了产品的外形尺寸。采用AT指令进行编程,完成通过GSM网络向用户发送短消息验证密码的功能。输入键盘采用3*4的矩阵键盘,工作方式采用的是软件扫描方式,以实现用户输入。 单片机采用51系列的STC89C52单片机,综合成本因素,该单片机能完成功能设计上的所有要求。1.3.2所要解决的关键问题(1)单片机和GSM模块的接口电路设计及GSM网络的短消息发送程序设计;(2)验证码的生成,记录,核对及消除;(3)显示屏的选择与接线;(4)外部储存设备与单片机的接线及必要信息的写入保存;(5)单片机内部程序的编制,要求各界面切换流畅,且程序精简效率高;(6)用户输入模块的设计,要求按键尽量少,且能满足系统输入要求;(7)人机界面的设计,主要分存界面与用户取界面,要求界面设计简洁明朗,易于操作,满足用户功能要求。2 系统硬件设计2.1 方案总体设计要求(1)完成矩阵键盘对6位验证码及11位手机号码的输入。(2)实现六位验证码的产生、存储及核对。(3)能根据输入的取件人号码,通过GIM模块自动向取件人发送验证码。(4)人机化的界面设计,方便用户简单快速了解系统,掌握用法并使用。(5)液晶模块LCD12864的使用及与单片机的接口电路设计。(6)用发光二极管的亮灭及对应按钮来模拟电控锁是开还是关。(7)能自动的对必要信息进行记录,方便工作人员的查询。2.1.1系统基本框架图2.1 存取异方方式储物柜系统框架如图2.1所示,以STC89C52为硬件电路控制核心,3*4矩阵键盘作为系统输入,显示部分采用LCD12864显示器,可方便的设计出方便易懂的人机界面,利用发光二极管的亮灭及对应按钮来模拟电控锁的关闭,扬声器负责非法操作时的报警模块,GSM模块负责验证码短信向取件人的发送,以及搭载外部存储SD卡,对必要信息的记录。该系统大致工作流程如下:工作人员存件时,进入管理者界面,输入储物柜密码,进入存件界面,工作者通过人机界面输入工作单位编号及取件者手机号码,单片机在接收到命令后,扫描系统中是否有空柜,如果未存满则打开一个空箱,即对应的LED灯亮,存入物件后手动关闭,随后单片机自动生成四位随机整数,结合箱柜号生成六位验证密码,密码以短信信息通过GSM网络发送给取件人,同时内部存储器将记录保存过程中必要的信息,方便日后信息查询和之后的密码验证。取件人取物时,按“取物”键,进入用户界面,通过键盘输入验证密码,使得相应的箱子打开,取走物件。若连续三次密码输入错误,则扬声器报警,并在一定时间内系统锁定,无法进行输入操作。以此来完成存取异方的取件方式。2.2 LCD12864硬件设计2.2.1 12864芯片介绍液晶显示模块在便携式仪器中有着广泛的使用,如转速表、计算器、万用表等。便携式仪表基本都具备键盘输入模块和液晶显示模块1,以便于人机操作和设置,由于液晶模块程序操作简单,所以在单片机的开发过程中经常作为常用的电路模块进行单片机系统的整体结构设计2,利用单片机显示编程效果,内部变量变化,人机交互等。 其具有一下显著优点: (1)画面显示清晰。液晶显示模块上的每一个点在收到信号之后能保持一定的色彩及亮度,恒定持久发光,且背光亮度改变电路接线简单。(2)液晶显示器都为数字式。功能简单可靠,单片机编程操作方便高校。 (3)各种便携式尺寸,便于根据实际情况选择。(4)能耗小,成本低廉,基本上只有驱动IC和内部的电极上耗能3。由于人机设计的界面要显示中文字体,帮助用户快速上手,方便的使用该储物柜,LCD12864能显示8*4个汉字,或16*4的符号及数字4,能提供足够的用户使用提示,所以系统设计采用本款LCD,图2.3为12864的实物图。图2.4为12864在Proteus元件图。图2.2 LCD12864实物图图2.3 LCD12864元件图2.2.2 各个管脚功能其管脚特性见表2.1。表2.1 管脚号及功能2.3 12864行列特性LCD12864液晶中含有两个液晶驱动器,一块驱动器控制6464个点,左右显示,这就是为什么AMPIRE128*64引脚有CS1和CS2的原因5。此液晶有8页,一页8行,64/8=8,如下图2.4所示。图2.4 12864地址结构2.2.4 指令说明模块控制芯片提供两套控制命令,基本指令见表2.2和扩充指令见表2.3。 表2.2 12864基本指令表表2.3 12864扩充指令表2.2.5 12864接口电路如图2.5所示,采用AMPIRE128X64型LCD12864,将P2口作为数据传输端与LCD12864的DB0DB7相连,控制端与P3口相接,使能端E与P3.0相接,命令数据选择端RS与P3.5相接,读写选择端R/W与P3.1相接,左屏片选CS1与右屏片选CS2分别与P3.6和P3.7相接,按照LCD12864通信协议6,用单片机C语言编写程序以控制LCD显示预期效果。图2.5 LCD12864接口电路2.3 按键接口电路由于所需输入按键较多,本系统采用了常用的34矩阵式键盘,工作方式采用软件编程扫描矩阵键盘。在系统开始运行后不断的扫描按键,确保不会错过输入,软件的主要思路为:单片机依次给行线输出低电平,每次保持其中一行为低电平,其余都为高电平,然后立即检测列线是否有低电平,若有我们就可判断出是哪一行那一列的按键被按下,用同样的方法轮流给各行送低电平,再检测列是否有低电平,由此扫描全部的按键,判断是否有键按下7,单片机给不同的键设置了不同的键值,根据键值,执行不同的程序模块,由此在完成设计任务的前提下,节约了大量I/O口资源,以便于其他模块的电路连接。如图2.6所示,该系统的用户输入提供0到9十个数字键,以及“存”和“取”两个功能键,共十二个键来完成必要信息的输入,由于单片机I/O口的珍贵,故采用行列式矩阵键盘方式,以节省I/O口的使用。键盘模块共需要用到7个I/O口,将单片机P1口上的P1.0到P1.6分配给键盘模块。图2.6 3*4矩阵键盘2.4 GIM模块接口电路2.4.1 TC35i模块介绍本系统采用西门子TC35系列的TC35i。这种无线模块功能与TC35兼容,结构设计紧凑,用户产品尺寸大大缩小。TC35i与GSM2/2兼容、双频(GSM900/GSM1800)、RS232数据接口,该模块及射频电路和基带做成一体,给用户提供标准的AT命令接口,传输数据、短消息、语音及传真等快速、可靠、安全,用户使用该模块的的应用开发及设计极为方便8,其实物如图2.7所示。图2.7 西门子TC35i实物图图2.8是 TC35 模块内部结构原理框图 ,它主要由GSM基带处理器、GSM射频模块、供电模块(ASIC) 、ZIF连接器、闪存、天线接器六大部分组成9。基带处理器为 TC35 i的核心模块 ,主要负责处理GSM终端内的数据信号和语音 ,并涵盖了蜂窝射频设备中的全部的模拟和数字功能 ,结构的设计和运行完全符合GSM协议标准,在不加入外接硬件电路的情况下 ,可以支持FR、EFR和FIR语音信道编码10。通过GSM 模块上的40针ZIF连接器与移动设备连接,ZIF连接器上设有数据、控制、电源线、音频信号及移动设备组成人机接口 ,与GIM模块的串口通信通过ZIF连接器来实现。图2.8 西门子TC35i电路原理图2.4.2 AT指令GSM引擎模块使用的程序命令符合GSM07.05和GSM07.07规范。GSM07.07中定义的AT Command接口,提供了一种数据终端设备与移动平台之间的通用接口;GSM07.05对短信息的传输做了详细的规定。在短消息模块接收网络发来的短信息时,能够通过串口发送指示信息,数据终端设备还可以向GSM模块发送各种命令和数据。与SMS有关的GSM AT指令如表2.4所示。GSM AT指令集,是由爱立信、摩托罗拉、HP和诺基亚等厂家共同为GSM系统研制的,其中包含了对SMS(Short Message Service)的控制11。表2.4 与SMS相关的若干GSM AT指令AT指令功能AT+CMGCSend an SMS commend(发出一条短信息命令)AT+CMGDDelete SMS message (删除SIM卡内存的信息)AT+CMGFSelect SMS message format(选择短消息信息格式:0-PDU;1-文本)AT+CMGLList SMS message from preferred store(列出SIM卡中的短消息格式PDU/TEXT:0“REC UNREAD”为未读,1“REC READ”为已读,2“STOU NSENT”为待发,3“STOSENT”为已发,4“ALL”为全部AT+CMGRRead SMS message (读短消息)AT+CMGSSend SMS message (发短消息)AT+CMGWWrite SMS message to memory (向SIM内存中写入待发的短消息)AT+CNMINew SMS message storage(显示新收到的短消息)AT+CPMSPreferred SMS message storage (选择短消息内存)AT+CSCASMS service center address(短消息中心地址)AT+CSCBSelect cell broadcast message messages (选择蜂窝广播信息)AT+CSMPSet SMS text mode parameters(设置短消息文本模式参数)2.4.3 PDU编码规则目前,发送短消息基本上为Text模式和PDU(Protocol Data Unit,协议数据单元)模式两种。使用Text模式收发短信代码编程简单,实现起来相对十分容易,其主要缺陷为不能发送中文文本短信,只能发送英文短信;而PDU模式不仅能发送英文短信,同时支持中文短信的发送。采用PDU模式收发短信可以使用3种编码方式:和UCS2编码、7-bit和8-bit。UCS2编码用于发送Unicode字符,7-bit编码用于发送普通的ASCII字符,8-bit编码通常用于发送数据消息。一般来说PDU编码由ABCDEFGHIJKLM十三项组成。A:短信息中心地址长度,2位十六进制数(1字节)B:短信息中心号码类型,2位十六进制数。C:短消息中心号码,在B + C的长度将由数据A决定。D:文件头字节,2位十六进制数。E:信息类型,2位十六进制数。F:被叫号码长度,2位十六进制数。G:被叫号码类型,2位十六进制数,取值同B。H:被叫号码,长度由F.测定的数据决定。I:协议标识,2位十六进制数。J:数据编码方案,2位十六进制数。K:有效期,2位十六进制数。L:用户数据长度,2位十六进制数。M:用户数据,其长度由L中的数据决定。J中设定采用UCS2编码,这里是中英文的Unicode字符。2.4.4 GIM模块与单片机接口电路设计图2.9 单片机与TC35i的连接电路TC35i模块主要由GSM基于处理器、GSM射频模块、闪存、天线接口、供电模块、ZIF连接器六大部分组成12。其内部已设有SIM卡与GSM模块的连接电路,设置了对应卡槽,单片机只需要将52单片机的RXD和TXD两个串行口,即P3.0和P3.1分别与TC35i模块的GSM_RXD 和GSM_TXD连接,完成数据之间的传输,另外在TC35i的15脚IGT上,至少维持100ms的低电平变成高电平,才能正常启动TC35i模块,这里使用P1.0控制IGT口。在单片机与TC35i模块之间需接上7407芯片进行TTL电平的转换。TC35i与单片机的硬件接口电路如上图2.9所示。2.5 单片机与SD卡的接口电路设计图2.10为SD卡模块与单片机的连接图,通过一个卡套连接到52单片机上,采用串行通信模式,这样大大减少了SD卡的I/O口使用,并使编程变得简单,SD卡的片选CS连接到单片机的P0.4,串同步时钟信号CLK连接到P0.7,数据端DO连接单片机的P0.6,读写选择端DI连接至单片机P0.5,卡套主要负责电平的调节匹配,使得单片机的输出TTL电平和SD卡的数据读写电平一致,由于Proteus仿真效果无法看出SD卡模块的实际效果,故设计中不进行实际仿真。图2.10 SD卡与单片机的硬件接口电路2.6电控锁及扬声器等电路设计电控锁的电学性质大致上为给予某个电平时会打开锁,给予相反的电平时则会关闭,由于单片机使用的是5V电压,而电控锁工作电压为DC12V,开锁瞬时电流(1A-3A),故电路连接时需通过连接NE555集成芯片进行电流的放大13,以驱动电控锁中的电磁继电器吸合,从而控制电控锁的开和闭,如图2.11所示即为电路设计,当NE555芯片CV端给予一个低电平时,电控锁中的电磁继电器就会短时间内吸合,电控锁打开,配合储物柜柜门的弹簧,就能实现柜门的自动打开,其延时时间可调节电阻R8与电容C4进行调节,延时时间t=1.1*R8*C4,电路设计中的延时大约为100ms。 图2.11 电控锁与单片机接口电路在Proteus仿真中,利用LED灯的亮灭模拟电控锁的开与关,再接一个按钮模拟储物柜门的开与闭,这样做不仅使电路设计和程序编程变得简单,同时也使仿真效果更为直观明显,如下图2.12所示。由于单片机端口的驱动能力很弱,就算是带有强上拉的单片机,一般也就20mA的驱动能力,所以没法把一个扬声器驱动的很响亮,所以一般都是外加三极管,MOS管或者专业芯片来驱动扬声器的,该设计采用三极管对电流进行放大,当单片机端口给出低电平时即可驱动扬声器报警,可以通过调节R2电阻大小,从而调节扬声器的鸣笛响亮程度,如下图2.12所示。图2.12 电控锁及扬声器硬件接口电路以上为控制系统的电路基本介绍,由于单片机I/O口只有P1、P2、P3、P4四组,总共32个接口,设计的控制系统中硬件设施又比较多,所以必须进行合理分配。P2口连接LCD12864的8个数据端,P3口提供5个管脚连接LCD12864的控制端,用于人机界面的显示,P1口提供7个端口用于3*4矩阵键盘的接线, P0口则用于连接4个电控锁模块以及SD卡模块所需的4个接口,剩下的接口用于连接GIM模块和扬声器,由于设计系统模块较多,故在设计过程中尽量避免I/O口的浪费,52单片机32个端口全部用上,假如要对系统进行扩展,比如加入语音模块,传感器扫描箱柜是否关紧等功能时,需要连接74LS138锁存器芯片,软件编程使得各模块能分时正常工作。其总体电路图如下图2.13所示图2.13 系统总电路图浙江工业大学之江学院毕业设计(论文) 3 系统软件设计3.1 系统软件设计主要思想系统运行时,主程序调度LCD12864先进行程序初始化,并对系统中各种全局变量进行初始化,之后开始不断扫描键盘是否有信号输入,并根据不同的信号输入执行不同的程序模块和显示不同的LCD界面。当有人按下“存包键”时,系统将首先计算剩余空柜数量,并于人机界面上显示,若有空柜剩余,则提示可以使用,使用者输入必要信息及取件人的手机号码,并设有返回键和确定键,方便用户输错或输入完成时的使用,系统获取必要信息后将自动生成四位随机密码,各个空柜在程序中都有对应的编号,从小到大的投入使用,从第一个箱子开始扫描,若是空柜则打开,若不是则扫描下一个编号的柜子,然后配合箱柜号组合成六位验证码,保存在对应箱子的密码数组中,之后打开对应箱柜的电控锁,在使用者放入物件并关闭储物柜后,通过GIM模块向用户发送6位验证码,最后单片机将必要信息存储至外部存储的SD卡中,之后界面回到主界面,一个存包过程就这么结束。当有人按下“取包键”时,系统进入取物界面,提示用户输入6位验证码,该界面同时设有返回和确定键,方便用户重输密码和输入完成时的操作,系统接收到验证码后,根据前两位的验证码找到对应的箱柜,取出对应箱柜的密码,与输入密码进行进行核对,若正确打开箱柜,即对应的LED点亮,等关上储物柜门之后返回主界面,若输入错误,则给出错误提示,并返回输入界面,假若连续三次输入错误,系统将识别为非法操作,发出报警,并于短期内键盘不得输入。成功取件后将在SD卡中写入对应物件已被取走的信息,并对单片机内的标志位及无用信息进行复位和清除。由此完成一个取件过程。系统总体流程图如下图3.1所示。开始LCD初始化,定时器初始化及各全局变量初始化载入主界面矩阵键盘扫描存包模块取包模块GSM模块发送短信SD卡模块存数据1011键值Key=? 图3.1 程序总体流程图3.2 LCD12864模块设计及显示界面设计本设计的显示屏选定为LCD12864,能显示足够的系统信息和用户提示,满足设计要求,其编程严格按照其与单片机通信的通信协议,详见论文的2.2章节对LCD12864的介绍和相关命令。软件编程主要为LCD12864的初始化,界面载入及各界面的设计。3.2.1 LCD12864初始化如下图3.2所示,LCD12864初始化包括开显示,清屏,页设置,列设置,起始行设置等。由于LCD12864的反应速度高于单片机的操作速度,也可不必进行读/写检测,或做适当延时也可达到检测效果,出于程序设计的严谨起见,每次对LCD12864进行数据的读写都先判断一次LCD12864是否在进行内部操作。设置页,列,起始行延时0.2S清全屏结束开始N开显示YLCD内部是否忙图3.2 LCD12864初始化程序流程图3.2.2 LCD12864显示模块为了实现LCD12864的仿真效果,由于Proteus中的LCD12864都是不带字库的,所以只能采用描点的方式进行显示,选择型号为AMPIRE128X64。显示内容分两种情况显示,一种是字符显示,包括字母,数字及符号,占用8*16的大小。另一种是汉字的显示,占用16*16的大小,故需编写两种写数据的函数,由于设计中要显示的界面较多,且显示的汉字种类也比较多,故编程时将LCD12864相关的函数和各界面的显示函数与主函数分开,写在lcd12864.c文件中,要显示的文字则以头文件的形式写在ziku.h文件中,主函数通过12864.h调用lcd126864.c文件,lcd12864.c要显示文字则调用ziku.h里的文字点阵。这样编写充分体现程序编写的模块化,增加其通用性和可读性。显示模块流程如下图3.3所示,由于设计界面较多,各界面的具体设计详见第4章节的仿真图。开始延时0.2SLCD内部是否忙清屏结束Y界面是否发生改变NYN写入汉字及符号图3.3 LCD12864显示程序流程图3.4 矩阵键盘按键扫描模块系统设有09以及“取”和“存”两个功能键,共计12个按键,故采用行列式矩阵键盘方式连接,将按键模块编写成子函数,不断重复的执行,以获取使用者输入,子函数中设一变量key用以存储,默认key为12,为每一个按键设置一个键值,数字键09键值直接为09,“取”键为10,“存”键为11,子函数调用结束后返回key的值给主函数,若键值为12则表示没有按键输入,主函数根据不同的键值返回执行不同的程序段,以控制各全局变量的变化及各界面之间的切换。当读取到列电平有变化后,通过软件编程的方法去除抖动,延时0.01s后再次判断是否有电平变化,当按键按下后,对key变量附上对应的键值,之后继续扫描电平,判断按键是否松开,读取到电平恢复正常,即按键松开后,才会继续下一步操作,否则程序就停在这里不动,以此来避免同一个按键键值被多次读取,导致系统运行出错。下图3.4为矩阵模块编程的流程图。设key = 12,i=1给第i行设低电平,其余各行为高电平延时0.01s读取列电平判断是否不全为高读取列电平修改key值NY开始按键松开函数返回键值keyi+NY判断是否不全为高根据列电平确定是哪一行上的哪一个键被按下YNi=4图3.4矩阵键盘块程序流程图3.5 GSM模块GSM模块函数的编写参照GSM接口通信协议,单片机通过串口首先向休眠的GSM模块发送一个启动指令,之后启动定时器,协调GSM模块串口波特率和单片机串口波特率一致,然后单片机向GSM模块通过AT指令,发送11位手机号码,及6位验证码的数据,GSM根据这些数据向用户发送短信,发送成功后,向单片机返回一个发送成功信号,具体流程见图3.5。开始通过串口发送AT指令及发送数据以PDU格式发送短信单片机向GIM模块发送启动信号GIM模块串口波特率设置,设置工作方式2串行口初始化,定时器初始化返回发送成功标志结束图3.5 GSM模块程序流程图3.6 界面切换模块设计系统设计的核心部分即为各界面的切换模块,该模块将根据键盘扫描模块所返回得到的键值进行不同的操作,为使程序编程简单明朗化,特将该模块分两个函数来编写,operation(uchar key)函数和show(uchar n)函数,编程时对每个界面编一个号,设一全局变量interface记录当前界面标号,程序operation(key)根据键值对各全局变量进行改动和记录,GIM模块,电控锁模块,都通过该函数进行电平变化的,同时根据处理情况的不同,对interface进行赋值。show(interface)函数为界面的显示函数,由于LCD12864的显示特性,设置一全局变量记录上一次的界面标号,show(n)函数运行前先将当前界面标号和上一次标号进行对比,假如改变则清一次屏,再显示当前界面。函数的具体编写参照附录里的程序,下图3.6为界面切换的总体流程图。密存取101109YYNY091110主界面密码错误界面短信发送成功界面取物界面存物界面密码正确界面发送短信界面报警界面存界面取界面键值Key=?键值Key=?键值Key=?箱柜打开箱柜关上短信发送成功密码是否正确箱柜打开箱柜关上错误小于3次开始NN图3.6界面切换模块程序流程图4 Proteus仿真4.1 启动仿真启动仿真,LCD上载入主界面,各LED灯灭,表示四个储物柜为全部关闭状态,此时键盘上只有“取”键和“存”键才会响应系统,仿真效果如下图4.1所示图4.1 系统启动时仿真图4.2 存界面按“存”键进入存界面,此时按数字键将输入号码,“取”键返回主界面,用于处理输错重输的情况,号码输入完整后按“存”键确定,进入下一步,仿真效果见图4.2、图4.3和图4.4。图4.2 存界面仿真图图4.3 号码输入过程仿真图图4.4号码输入完成仿真图4.3 获取生成验证码该界面只于仿真过程中出现,由于该仿真不包含GSM发送短信的模块,故系统中产生的随机密码只能通过LCD界面来得到,故特别添加此界面,稍作延时后进入下一个界面仿真效果见图4.5。图4.5 显示验证码仿真图4.4 存物界面获取验证码后进入此界面,此界面将显示系统按规律分配的空柜号,并提示用户存入物件,与空柜号对应的LED灯亮起,表示电控锁打开,清一下对应的按钮,表示存好物件进入短信发送界面,仿真效果如图4.6所示。图4.6 存物界面仿真图4.5 短信发送界面如图4.7所示,此界面为短信发送模块,实际应用中应运行GSM模块向取件人发送验证码短信,等待发送成功的信号向单片机返回后进入下一个界面,但由于Proteus仿真效果有限,无法仿真GSM模块效果,故在P1.7管脚上接一按钮,清一下按钮表示GIM模块短信发送成功返回的信号,由此进入短信发送成功的提示界面,如图4.8所示,做3s的延时后,系统返回主界面,由此完成了整个存物件的过程。图4.7 短信发送界面仿真图图4.8 短信发送成功界面仿真图4.6 取界面在主界面,按“取”键进入取界面,此时按数字键将输入验证码,“取”键返回主界面,用于处理输错重输的情况,验证码输入完整后按“存”键确定,系统将会核对密码,根据密码对错进入不同的下一步界面,仿真效果见图4.9和图4.10。图4.9 取界面仿真图图4.10 取界面输入验证码仿真图4.7 密码正确取物界面当上一步输入取物密码正确时就会进入取物界面,系统根据密码打开对应的箱柜,及对应LED灯亮,清一下对应按钮后,表示已取走物件并关上储物柜门,系统将返回主界面,由此完成一个取物件过程,仿真效果如图4.11所示。图4.11 取物界面仿真图4.8 密码错误及报警界面当取界面输入的验证码与系统中箱柜储存的验证码均不相同时,就会进入密码错误界面,提示用户重新输入密码,如图4.12所示,稍作延时后,系统自动返回取界面,假如连续三次验证码都输错,系统将识别为非法操作,进入报警界面,如图4.13所示,扬声器报警,红色LED灯亮,一段时间内,键盘将不接受任何操作,报警结束后自动返回主界面。图4.12 密码错误界面仿真图图4.11 报警界面仿真图浙江工业大学之江学院毕业设计(论文) 结 论本次毕业设计,是基于STC89C52 的存取异方方式储物柜系统控制设计,通过Proteus进行仿真,由于Proteus的仿真功能有限,未能对GIM模块和SD卡模块进行仿真,但从总体结果上看设计的电路和编写的程序已基本实现该控制系统的控制要求,从实际应用上看,应选用更为高级的单片机,例如STM32,来做主控芯片,设计系统还可添加语音模块,检测柜门是否关紧的传感器,以及使用效果更好的触摸屏等,在投入使用前应进一步完善和修改。该系统的主要应用方向即是快递储物柜,在国外发达国家已经开始普及,但中国只有少数几个城市投入使用中,相信快递储物柜会不断的完善扩展,迟早有一天快递储物柜会在中国普及,该系统将会极大的改变快递物流业发件效率和改变人们的生活方式。参考文献1 张先震,黄山,李宁,李秀君自动储物柜控制系统设计J.微计算机信息,2009(26):68-71.2 马鸿文基于AT89C52单片机的自动存取柜的设计与实现J单片机开发应用,2006(03):1011033 孙涵芳.LCD发展现状M.北京航空航天大学出版社,2008(15):44-45.4 李树华.液晶显示器变革J.传感器技术,2008,22(12):70-72.5 张正林.液晶显示器的发展状况M.北京航空航天大学出版社,2008:102-105.6 Yongxian Song.Design of LED Display Control System Based on AT89C52 Single Chip MicrocomputerJ Journal of Computers,2011,6(4):718-7247 蔡菲娜单片微型计算机原理和应用M杭州:浙江大学出版社,20098 段荣霞,崔少辉.单片机与GSM模块通信技术的研究J.应用天地, 2012,31(1):79-82.9 马玉春,孙冰,王建明. GSM模块的综合应用研究J.计算机应用与软件,2008,25(2):68-7010 梁金千,张跃.在计算机上产生真随机数的探讨D.福建电脑.2003,(15):176-177.11 郑列,宋正义.伪随机数生成算法及比较J.湖北工业大学学报,2008,23(5):65-68.12 Ana ProykovaHow to improve a random number generatorJComputer Physics Communications,2006,124 (2000) 12513113 张颖超,施亮,吴士芬.单片机与LCD的串行接口设计与实现J.微计算机信息,2007,23(10-2):79-81.14 李少芳.在C/C+语言中如何自动生成随机密码D.计算机工程,2003(5):34-36.15 童诗白,华成英等模拟电子技术基础(第四版)M北京:高等教育出版社,2006浙江工业大学之江学院毕业设计(论文) 附录main.c#include #include #include 12864.h#define uchar unsigned char#define uint unsigned intsbit box1 = P00; /箱柜1sbit box2 = P01; /箱柜2sbit box3 = P02; /箱柜3sbit box4 = P03; /箱柜4sbit boxkey1 = P04; /箱柜1开关sbit boxkey2 = P05; /箱柜2开关sbit boxkey3 = P06; /箱柜3开关sbit boxkey4 = P07; /箱柜4开关sbit speaker
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司真空电子器件装配工工艺技术规程
- 水解蒸馏工安全专项知识考核试卷含答案
- 2025年课外阅读专业题库及答案
- 兼并市场定位模型构建-洞察与解读
- 四川省南充市高级中学2026届高二物理第一学期期末学业水平测试试题含解析
- 临沧市重点中学2025-2026学年高二物理第一学期期末达标检测模拟试题含解析
- 快速扫描下的刻蚀均匀性-洞察与解读
- 2025年护理事业编题目及答案带答案
- 2025年卫生院医保工作自查报告
- 宁夏卫生健康职业技术学院《高级俄语》2024-2025学年第一学期期末试卷
- 大学写作十五讲 课件 第9-15讲 学术论文写作-AI赋能学术写作
- 青少年普法知识竞赛试题及答案大全
- 中国红十字会总会卫生网络管理系统开发及系统集成项目技术方案
- mdvx节能证书及第三方检测报告cqc
- GB/T 17671-2021水泥胶砂强度检验方法(ISO法)
- 中国烟草视觉识别系统培训课件
- 万人计划蓝色简约万人计划青年拔尖人才答辩PPT模板
- 《梅岭三章》 完整版课件
- (新版)老年照护考试题库(含答案)
- 2022年四川省绵阳市涪城区东辰国际学校小升初数学试卷
- 气管镜科室讲课ppt课件(PPT 69页)
评论
0/150
提交评论