自动存包柜的设计与仿真.doc

上传人:仙人指路1688 文档编号:2956371 上传时间:2023-03-05 格式:DOC 页数:35 大小:527KB
返回 下载 相关 举报
自动存包柜的设计与仿真.doc_第1页
第1页 / 共35页
自动存包柜的设计与仿真.doc_第2页
第2页 / 共35页
自动存包柜的设计与仿真.doc_第3页
第3页 / 共35页
自动存包柜的设计与仿真.doc_第4页
第4页 / 共35页
自动存包柜的设计与仿真.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《自动存包柜的设计与仿真.doc》由会员分享,可在线阅读,更多相关《自动存包柜的设计与仿真.doc(35页珍藏版)》请在三一办公上搜索。

1、自动存包柜的设计与仿真摘 要本课题是基于单片机的自动存包柜设计。自动存包柜是新一代的存包柜,具有功能实用、操作简单、管理方便、安全可靠等特点,能够更好的服务于不同市场的广大群众,使用者可以根据简明清晰的操作说明自行完成存包取包工作。本系统由MCS-51单片机构成核心控制系统,整个系统由主控部分、键盘显示控制部分、执行部分三部分组成,通过随机密码的产生和核对完成自动存包取包过程。本设计中各元器件便于安装且操作简单,能基本实现存包取包功能。关键词:自动存包柜;单片机;随机密码Design and Simulation of Automatic Lockers ABSTRACTThis topic

2、is microcontroller-based automatic lockers.Automatic lockers is a new generation of lockers, with a practical, simple operation, easy management, safe and reliable, able to better serve the broad masses of the different markets, users are based on a clear and concise instructions to complete the dep

3、osit bags to take the package. The system consists of MCS-51 microcontroller core control system, the entire system from the main section, the keyboard display control part of the implementation of some of the three-part composition, random password generation and check completed automatically save

4、the package to take the package process. Various components of this design is easy to install and easy to operate, can basically save the package to take package function.Key words :Automatic lockers; microcontroller; random password目 录1 绪 论11.1 自动存包柜的种类11.2 自动存包柜控制系统的基本原理及技术要求21.3 系统总体设计目标功能32 系统方案

5、概述及硬件设计32.1自动存包柜系统框图32.2主机电路核心器件的选择32.3 8031的系统扩展83 输入输出电路123.1键盘设计123.2显示系统设计133.3 输出系统功能扩展144 系统程序设计及仿真154.1 主程序模块设计154.2 键输入子程序模块164.3 系统仿真18结 束 语21参 考 文 献22附 录23致 谢32自动存包柜的设计与仿真1 绪 论近年来,随着生活水平的提高,人们对于社会消费品的质量要求在不断增加,对技术服务也提出了更高的要求。在超市、综合商店、个人商店等人流量大的地方,常常需要对顾客随带物品进行存储。为了更好的为广大顾客服务,在一些商场、影院尤其是超市等

6、公共场合通常有电脑控制的自动存包柜,顾客进入商场购物时可寄存一些随身携带的较重物件或多余的现金,十分便利。顾客可以根据简明清晰的操作说明自行的完成存取物品的工作,自助式存取可以避免开放式存取带来的不必要的纠纷,又可以节约人员开支,达到减员增效的目的。自动存包系统的设计要求有高的可靠性,包括系统结构、硬件电路和运行软件的可靠性。安全性是设计自动存包柜时必须考虑的另一个重要因素。安全性是指系统能够保证人和财物的安全,电子存包柜要有紧急情况保护等措施。友好的人机界面对于系统来说也是相当重要的。可视化的人机接口操作起来比较方便,用户可以直观的了解到存包柜的各种信息,通过图形进行各种操作并清楚地显示电子

7、存包柜的各种信息。电脑控制的存包柜无需专职的管理人员且安全可靠,颇受顾客的信任1。1.1 自动存包柜的种类 自动存包柜又名电子存包柜,电子寄存柜。主要由以下几种类型:(1)机设条码式电子存包柜:存物时,先按“存”键,寄存柜自动打印一张密码条,使用者抽出密码纸,对应的箱门自动打开,存好后关上箱门;取物时,直接将条码纸在扫描口扫描,对应的箱门会自动打开,取物完成后关上箱门。(2)指纹式电子存包柜:以使用者指纹作为寄存的凭证;存物时,先按一下“存”键,然后在指纹采集窗里采集指纹,机器会把该指纹与分配给使用者使用的寄存箱的箱号结合起来,并将信息自动记录下来,同时自动打开该箱,供使用者存物,存完后使用者

8、自己关好箱门;取物时,先按一下“取”键,然后在指纹采集窗里采集指纹,寄存柜将指纹数据与先前记录下的进行比对,正确后才会打开该箱供使用者取物。(3)非接触IC卡电子存包柜:以使用者所持IC卡(即射频卡)作为寄存的凭证;存物时,先按一下“存”键再刷卡(即让存包柜读取卡号),存包柜应先识别是否为该场所的IC卡,若不是则拒绝存物;若是,机器会把该卡号与分配给使用者使用的寄存箱的箱号结合起来,并将信息自动记录下来,同时自动打开该箱,供使用者存物,存完后自己关好箱门;取物时,先按一下“取”键再刷卡,寄存柜将读取的卡号与先前记录下的进行比对,正确后打开该箱供使用者取物(同时机器会自动记录当时的时间、卡号以备

9、查询)。(4)联网型非接触IC卡电子存包柜:联网型非接触IC卡电子存包柜基本功能与非接触IC卡电子存包柜一致,另外增加了网络通讯模块,上位管理软件等,以实现寄存状态联网监控,分段收费,报表打印等功能2。1.2 自动存包柜控制系统的基本原理及技术要求 本系统采用MCS-51单片机做控制器,具有较高的自动化程度,当顾客需要存包的时候,可以自行到存包柜前按“ON/C”键,单片机接收到一个脉冲信号,并通过系统I/O口发出相应的信号,数码管显示8位随机密码,然后一发光二极管亮,顾客即可存包。当顾客需要取包时,先按“=”键,系统进入取包状态,然后输入密码,输入完毕后按“+”键表示确定,系统比较密码一致后,

10、对应二极管灭,顾客即可将包取出。根据“自动存包”这一目的要求,做如下设计安排:第一部分:CPU核心控制部分,由单片机8031、复位电路、时钟电路等构成,是整个系统的核心。第二部分:键盘显示控制部分。对8个数码管和2个按键进行管理,8个数码管用于显示2位柜号儿和8位密码,14个按键分别为10个数字键和4个功能键。通过这些键盘,用户就可以完成所有的操作。第三部分:执行机构部分。它是通过8031的并行口扩展一片8255A芯片,并通过8255A控制8个灯的状态(亮灭)来模拟柜子的存包取包的过程。软件部分主要采用我们自己设定的一种与柜号儿相关联的算法来产生一组8位的随机密码,而密码的产生、核对过程就对应

11、存包、取包的过程。本系统具有如下特色:(1)经济实用、操作简单且便于安装。(2)能产生一组8位随机密码,密码使用一次有效;有三次容错功能和解锁功能,因此系统安全可靠。(3)利用软件产生随机密码而不是硬件,使得硬件更为简洁、可靠、稳定。1.3 系统总体设计目标功能(1)完成矩阵键盘输入命令进行取包的任务;(2)存包时系统能产生随机密码;(3)随机数在单片机中的保存及删除;(4)液晶数码管的选择及与单片机的接口电路设计;(5)发光二极管模拟柜子的实现。2 系统方案概述及硬件设计2.1自动存包柜系统框图自动存包柜由电子电路和机械两部分组成,本设计的存包柜主要实现电子电路方面的功能,它可以通过单片机完

12、成密码的随机产生、密码的确认和显示以及用发光二极管模拟柜子的开闭状态等功能。系统框图如图2-1所示:图2-1 自动存包柜的系统框图从硬件上看,它的部分组成分别是:发光二极管,通过亮灭来模拟柜子的开闭状态;电源,为电路提供一个5V 的工作电压;单片机,整个电路的核心部分;LED 数码管,用于显示柜号和密码;还有键盘部分,键盘有14个按键,其中的十个分别 为 0-9的数字键,其他四个分别为存包键(随机产生密码)、取包键(确认密码)、确定键、取消键。2.2主机电路核心器件的选择单片机是在一块硅片上集成了微处理器,存储器和各种输入、输出接口,这样的一块芯片具有一台计算机的属性,因而被称为单片微型计算机

13、,简称单片机。单片机的优点是体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发也较为容易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

14、/O口,1个全双工串行口,2个16位定时器/计数器,需要外部EPROM芯片。8051是在8031的基础上,片内又集成有4K ROM,作为程序存储器,是一个程序不超过4K字节的小系统。8751是在8031的基础上,增加4K字节的EPROM,它构成了一个程序小于4KB的系统。用户可以将程序固化在EPROM内,可以反复修改程序。但是它的价格比较昂贵。8031外扩一片4KB EPROM就相当于8751,它的最大优点是价格便宜。经过计算和考虑,我们这里所设计的自动存包柜是一个比较简单的控制系统,用8031就完全可以达到我们设计的要求,实现存包柜的各项功能,所以我们选用8031作为我们的主机电路核心器件。

15、8031单片机是Intel公司生产的MCS-51系列单片机中的一种,除无片内ROM外,其余特性与MCS-51单片机基本一样。8031的主要性能包括:(1)与MCS-51位控制器产品系列兼容。(2)宽工作电压范围,VCC可为2.7V6V。(3)全静态工作,可从0Hz至16Hz。(4)1288位内部RAM。(5)32条可编程I/O线。(6)两个16位定时器/计数器。(7)中断结构具有5个中断源和2个优先级4。2.2.1 8031内部结构8031内部有8个部件组成,即CPU、时钟电路、数据存储器、串行口、并行口(P0P3)、定时计数器和中断系统,它们均由单一总线连接并被集成在一块半导体芯片上,即组成

16、了单片微型计算机5。内部结构如图2-2所示:图2-2 8031的内部结构(1)CPU中央处理器中央处理器是8031的核心,它决定了单片机的主要功能特性。中央处理器主要由运算部件和控制部件组成。它的功能是产生控制信号,把数据从存储器或输入口送到CPU,或将CPU数据写入存储器或送到输出端口。还可以对数据进行逻辑和算术的运算。(2)时钟电路8031内部有一个频率最大为12MHz的时钟电路,它为单片机产生时钟序列,但需要外接石英晶体做振荡器和微调电容调整频率。(3)内存内部存储器可分做程序存储器和数据存储器,但在8031中无片内程序存储器。(4)定时/计数器8031有两个16位的定时计数器,每个定时

17、器和计数器都可以设置成定时的方式和计数的方式,但只能用其中的一个功能,以定时或计数结果对计算机进行控制。(5)并行I/O口MCS-51有四个8位的并行I/O口,P0,P1,P2,P3,以实现数据的并行输入输出。(6)串行口它有一个全双工的串行口,它可以实现计算机间或单片机同其它外设之间的通信,该串行口功能较强,可以作为全双工异步通讯的收发器,也可以作为同步移位器用。(7)中断控制系统8031有五个中断源,既外部中断两个,定时计数器中断两个,串行中断一个,全部的中断分为高和低的两个输出级6。2.2.2 8031引脚介绍采用40管脚双列直插式DIP封装,引脚如图2-3所示:图2-3 8031引脚图

18、引脚功能说明:Vcc 40引脚 主电源引脚接+5V电压;Vss 20引脚 接地;XTAL1 19脚 接外部晶体的一个引脚。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。当采用外部振荡器时,对HMOS单片机,此引脚应接地;对CHMOS单片机,此引脚作为驱动端。 XTAL2(18脚)接外晶体的另一端。在单片机内部,接至上述振荡器的反相放大器的输出端。采用外部振荡器时,对HMOS单片机,该引脚接外部振荡器的信号,即把外部振荡器的信号直接接到内部时钟发生器的输入端;对XHMOS,此引脚应悬浮。RST/VPD 9脚 当振荡器运行时,在此脚上出现两个机器周期的高电平将使单片机复位。

19、推荐在此引脚与VSS引脚之间连接一个约8.2k的下拉电阻,与VCC引脚之间连接一个约10F的电容,以保证可靠地复位。VCC掉电期间,此引脚可接上备用电源,以保证内部RAM的数据不丢失。当VCC主电源下掉到低于规定的电平,而VPD在其规定的电压范围(50.5V)内,VPD就向内部RAM提供备用电源。 ALE/PROG 30脚 当访问外部存贮器时,ALE(允许地址锁存)的输出用于锁存地址的低位字节。即使不访问外部存储器,ALE端仍以不变的频率周期性地出现正脉冲信号,此频率为振荡器频率的1/6。因此,它可用作对外输出的时钟,或用于定时目的。然而要注意的是,每当访问外部数据存储器时,将跳过一个ALE脉

20、冲。ALE端可以驱动(吸收或输出电流)8个LS型的TTL输入电路。PSEN 29脚 此脚的输出是外部程序存储器的读选通信号。在从外部程序存储器取指令(或常数)期间,每个机器周期两次PSEN有效。但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。PSEN同样可以驱动(吸收或输出)8个LS型的TTL输入。 EA/VPP 31引脚 当EA端保持高电平时,访问内部程序存储器。当EA保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。对于常用的8031来说,无内部程序存储器,所以EA脚必须常接地,这样才能只选择外部程序存储器。 P0口 39脚32脚 是双向8位三态I/O

21、口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个LS型的TTL负载。 P1口 脚至8脚 是准双向8位I/O口。由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。P1口能驱动(吸收或输出电流)4个LS型的TTL负载。P2口 21脚至28脚 是准双向8位I/O口。在访问外部存储器时,它可以作为扩展电路高8位地址总线送出高8位地址。在对EPROM编程和程序验证期间,它接收高8位地址。P2可以驱动(吸收或输出电流)4个LS型的TTL负载。 P3口 10脚至17脚 是准双向8位I/O口,在MCS-51中,这8个引脚还用于专门功能,是复用双功能口。P3

22、能驱动(吸收或输出电流)4个LS型的TTL负载7。 作为第一功能使用时,就作为普通I/O口用,功能和操作方法与P1口相同。第二功能如表1所示:表1 P3口各引脚的第二功能 2.3 8031的系统扩展8031具有很强的扩展功能,允许扩展各种外围电路以补充片内资源不足,适应特定应用的需要,扩展内容包括数据存储器、程序存储器、I/O接口等扩展结构。系统扩展图如图2-4所示:图2-4 8031系统扩展结构图在这里我们介绍外部地址锁存器74LS373扩展芯片8255A。 2.3.1 74LS373介绍MCS-51单片机由于受引脚数的限制,数据线和地址线是复用的,由P0口兼用。为了将它们分离出来,以便同单

23、片机片外的扩展芯片正确的连接,需要在单片机外部增加地址锁存器。我们这本设计中使用74LS373。74LS373是一种带有三态门的8D锁存器,其引脚如图2-5所示:图2-5 锁存器74LS373的引脚 其引脚的功能如下:D7D0:8位数据输入线Q7Q0:8位数据输出线LE:数据输入锁存选通信号,高电平有效。当该信号为高电平的时候,外部数据选通到内部锁存器,负跳变时,数据锁存到锁存器中。OE:数据输出允许信号,低电平有效。当该信号为低电平的时候,三态门打开,锁存器中数据输出到数据输出线。当该信号为高电平的时候,输出线为高阻态8。2.3.2 系统I/O接口扩展由于我们采集的数据量较多,因此CPU的I

24、/O口线不够用,所以我们使用8255A扩展I/O口,以满足系统的要求。8255A是Intel公司生产的通用可编程并行I/O接口芯片。1 8255A内部结构 8255A内部由四部分电路组成。它们是A口、B口和C口,A组控制器和B组控制器,数据缓总线冲器及读写控制逻辑,如图2-6所示:图2-6 8255A的内部结构(1) A口、B口和C口。A口、B口和C口均为8位I/O数据口,但结构上略有差别。A口由一个8位的数据输出缓冲/锁存器和一个8位的数据输入缓冲/锁存器组成。B口由一个8位的数据输出缓冲/锁存器和一个8位的数据输入缓冲器组成。三个端口都可以和外设相连,分别传送外设的输入/输出数据或控制信息

25、。(2) A、B组控制电路。这是两组根据CPU的命令字控制8255工作方式的电路。A组控制A口及C口的高4位,B组控制B口及C口的低4位。(3) 数据总线缓冲器。它是一个8位的双向三态驱动器,用于与单片机的数据总线相连,传送数据或控制信息。(4) 读/写控制逻辑。这部分电路接收MCS-51送来的读/写命令和选口地址,用于控制对8255A的读/写9。2 8255A的引脚功能8255A有40条引脚,采用双列直插式封装。引脚如图2-7所示:图2-7 8255A引脚图(1)数据总线(8条):D0D7:三态双向数据总线,8255A与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读

26、/写操作,控制字和状态信息也通过数据总线传送。(2)控制总线(6条):RESET:复位信号,输入高电平有效。一般和单片机的复位相连,复位后,8255A所有内部寄存器清0,所有口都为输入方式。CS:片选信号线,当这个输入引脚为低电平时有效,表示芯片被选中,允许8255A与CPU进行通讯。RD:读信号线,当这个输入引脚为低电平时,允许8255A通过数据总线向CPU发送数据或状态字。WR:写入信号,当这个输入引脚为低电平时,允许CPU将数据或控制字写入8255A。A0、A1:地址输入线。这两位的4种组合00、01、10、11分别用于选择A、B、C口和控制寄存器。(3)并行I/O总线(24条):这些总

27、线用于和外设相连,分别与A、B、C口相对应,用于8255A和外设之间传送数据,共分三组:PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。PB0PB7:端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。(4)电源线(2条):VCC为5V电源线,允许变化10%;GND为地线。3 输入输出电路自动存包柜的设计中输入输出部分是十分重要的一个环节,输入输出系统就是人与计算机之间建立联系,交换信息的设备,即人机交互设备。在这里我们需要输入存包取包命令,检

28、测箱内是否有物体,在顾客需要的时候检测密码,并自动打开柜门,还需要显示是否有空箱以及空箱的位置,来为顾客提供选择。3.1键盘设计键盘在单片机应用系统中能实现向单片机输入数据、命令等功能,是人工干预单片机的主要手段。该系统中键盘的主要功能是用于顾客选择适当的包柜存包,用按键来控制柜门的打开,键盘是用8031单片机经74LS373扩展一片8255A构成键盘借口电路的。键盘的闭合与否,映在行线输出电压上就是呈现出高电平或低电平,相反如果高电平表示断开的话,那么低电平就表示键闭合,所以通过对行线电平的高低状态的检测,便可以确认按键按下与否。常用的键盘接口分为独立式按键接口和矩阵式键盘接口。我们在这里选

29、用矩阵式键盘接口,如图3-1所示:图3-1 矩阵式键盘矩阵式键盘工作原理:按键设置在行、列线交点上,行列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V电源上。平时无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线电平决定。列线电平如果为低电平,则行线电平为低电平;列线电平如果为高,则行线电平也为高电平。这是识别矩阵键盘按键是否被按下的关键所在。由于矩阵键盘中行、列 线为多键共用,各按键均影响该键在行和列的电平,因此各按键彼此将互相发生影响,所以必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置10。键盘实际是一组按键开关的集合,是向系统提

30、供操作人员干预命令和数据的接口设备这里我们选用4*4矩阵键盘接口,用14个按键控制箱门的打开,其中,数字键10个,分别为09,功能键4个,“ON/C”表示存包键,“=”表示取包键,“+”表示确定键,“”表示取消键。如图3-2所示:图3-2 4*4矩阵键盘该键盘工作方式采用的是外部中断扫描,中断式键盘扫描原理是:当有键按下将会触发一个中断源,提醒处理器进行键值扫描查询。键盘的中断方式一般有定时中断和外部中断两种,本系统采用的是外部中断INT0。单片机先让行线输出低电平,当有键按下时列线电平不全为高,将触发外部中断 INT0,单片机进入中断后先延时去抖动,再扫描查寻键盘,读出键值,然后处理相应的键

31、值处理子程序,无键按下则不进入中断,单片机不扫描,从而节约了大量的资源11。3.2显示系统设计为了使操作人员及时掌握生产情况,在一般的微型计算机控制系统或者智能仪器当中,都配有显示程序。常用的显示器件有:显示和记录仪表,CRT显示终端,LED或者LCD显示器,大屏幕显示器。本次设计所采用的是LED数码管。LED数码管是由发光二极管组成,由于材料的不同,可以发出各种单色光线。根据发光二极管内部的连接方式不同,又有共阴极或共阳极两种形式。如图3-3所示: 共阴极 共阳极图3-3 LED显示器LED数码管具有结构简单,体积小,功耗低,响应速度快,易于匹配,寿命长,可靠性高等优点。本次设计我们使用两个

32、4位数码管来显示8位密码,数码管如图3-4所示:图3-4 4位数码显示管3.3 输出系统功能扩展 由于本人能力有限,考虑不周,此次设计的存包柜与实际应用的自动存包柜相差甚远,功能不全,而且还存在一些问题。按实际应用中,根据各种需要,可以在此设计基础上进行扩展。如:(1)限位开关:利用电磁铁或可控硅、电磁耦合器,再加上一些机械装置,就能实现柜门的自动开关。(2)光电开关:对存包柜进行检测,实时显示无物的箱号。(3)打印机:将产生的随机密码打印出来。(4)语音服务:用户存取包时,语音致词“欢迎使用”、“请关门”、“谢谢使用”等。(5)报警服务:用户忘记关门时,提醒顾客关门。4 系统程序设计及仿真为

33、了使本系统的整个程序清晰明白,便于调试和修改,程序设计时把系统的各种功能分为若干部分,于每一部分功能编制相对独立的程序块,对各程序在运行的时候各负其责。4.1 主程序模块设计该模块的功能包括显示的初始化,判断是否有空箱,键盘扫描,密码扫描等功能。存储柜通上电以后,单片机上电,首先进行程序的初始化,包括定时器,外部中断等初始化,以及各参数初始值的设定。默认存储柜为初始状态,根据存包指令,扫面计数器的存储包状态,用数码管显示存储柜号和密码。主流程图如图4-1所示:4-1 主程序流程图4.2键输入子程序模块键盘采用扫描工作方式,输入程序功能有以下4个方面:(1) 判断键盘上有无键闭合,其方法为扫描口

34、PA07输出全“0”,读PC口的状态,若PC03为全“1”(键盘上行线全为高电平)则键盘上没有闭合键,若PC03不全为“1”,则有键处于闭合状态。(2) 去除键的机械抖动,其方法为判断出键盘上有键闭合后,延迟一段时间再判别键盘的状态,若仍有键闭合,则认为键上有一个键处于稳定的闭合期,否则认为是键的抖动。(3) 判别键闭合的键号,方法对键盘的列线进行扫描,扫描口PA07依次输出:相应的依次读PC口的状态,若PC03为全“1”则列线为“0”的这一列上没有键闭合。闭合键的键号等于为低电平的列号加上为低电平的行的首键号。(4) 使CPU对键的一次闭合仅做一次处理,采用的方法为等待闭合键释放后在作处理。

35、流程图如图4-2所示:图4-2 键输入子程序流程图4.3 系统仿真本设计我们采用Proteus仿真,软件调试先将事先编写好的各模块部分程序写入仿真软件里的单片机中,然后通过Proteus仿真软件进行仿真。如有错误或实现不了预想的功能,则需要对程序进行修改以达到设计的最终要求。此次设计中,灯亮表示柜中存有物品,灯灭表示柜空。(1)各元器件的连接图,如图4-3所示图4-3 各元器件的连接(2)按“ON/C”键(即存包键),数码管显示8位随机密码,作为取包时的核对密码,然后密码消失,对应的发光二极管亮,即可存包。仿真结果如图4-4,4-5所示:图4-4 产生8位随机密码图4-5 灯亮,对应柜子可存包

36、(3)按“=”键(即取包键),显示取包状态,输入密码后,按“+”确定,系统需要对密码与原先保存的密码进行比较,如果密码正确,对应的发光二级管熄灭,即可取包。如图4-6所示:图4-6 密码正确,灯灭,即可取包结 束 语在做毕业设计这短短的几个月当中,我不仅巩固了以前学到的专业知识,更重要的是也学到了许多新知识,在本系统中,基本模拟了超市存包的功能,以8031为核心CPU进行系统任务调度,内部的随机数模块、发光二极管模块、箱子模拟模块和键盘输入模块,通过系统主程序来调度实现系统所需要的功能。从而了解了51系列单片机的具体使用,加深了对 LED数码管、发光二极管、矩阵键盘等常规元件的使用。也学会了设

37、计一个系统的步骤、方法和设计思想。在毕业设计之初,首先寻找素材,确定选题,从中知道这次设计的目的、要求以及要完成的工作。开题之后进入资料 检索阶段,通过在网上及图书馆查找资料,了解了自动存包控制系统的发展状况以及现状,从中得到了许多对我们设计有用的东西,并最终确定一套方案。此方案是利用单片机来实现的,所以翻阅了大量的单片机书籍。因为以前的学习是围绕51系列的单片机,所以此次设计我选择8031为CPU。在图书馆和和网站上查到了好多的单片机和传感器方面的知识,这对设计是很有必要的,它对后面的工作有很大的帮助。当然设计总是在不断的改进和完善中完成的,每一个器件的选择都要有很多的考虑。在本次设计中也不

38、断的更换新的器件和设计方法,最后做成了设计,基本实现了毕业设计任务书中的要求。由于时间、资金等各个因素在这次毕业设计中还存在很多不能令人满意的地方,这些地方也暴露了我们在以前学习过程中的疏漏之处。我一定会在以后的工作中逐步的改正。参 考 文 献1刘德营,张志霞,李志伟.单片机原理及接口技术M.北京:中国水利水电出版社,2006:1 54,90121. 2潘新民,王燕芳.微型计算机控制技术M.北京:电子工业出版社,2003:7199,360364.3宋浩,田丰.单片机原理及应用M.北京:清华大学出版社,2005:139,134179.4薛栋梁.MCS-51/151/251单片机原理与应用M.北京

39、:中国水利水电出版社,2001: 254 261. 5王路茜.电子设计技术J.维普中文期刊.2006年02期. 6方佩敏.新编传感器原理应用电路详解J.北京:电子工业出版社,1994:112117.7何立民.单片机应用系统设计M.北京:北京航空航天大学出版社,2002:97104,149156.8姜德谭,范茂军.新编电子电路大全M.北京:计量出版社,1985:90121. 9丁元杰.单片微机原理及应用M.北京:机械工业出版社,2003:4077. 10何立民.单片机应用技术选编M.北京:北京航空航天大学出版社,1997:100103.11李广第.单片机基础M.北京:北京航空航天大学,1999:

40、90148. 附 录主程序清单 ORG 00H JMP MAIN ORG 23H JMP COM-INT主程序开始 ORG 30HMAIN: MOV SP,#30H LCALL REST LCALL COMM JMP $初始化REST: MOV P0,#00H MOV P2,#255 CLR BEEP MOV P1,#255 RET串口初始化设置串行口工作方式1,定时器1作为波特率发生器波特率设置为 2400 ;COMM: MOV TMOD,#20H MOV TL1,#0F3H MOV TH1,#0F3H SETB EA SETB ES MOV PCON,#00H MOV SCON,#50H

41、SETB TR1 RET串口中断服务程序COM_INT: CLR ES CLR RI MOV A,SBUF MOV P1,A MOV DPTR,#TAB CJNE A,#0FFH,IN-1 MOV SBUF,#255 JNB TI,$ CLR TI SETB ES RETIIN-2: CJNE A,#2,IN-3 MOVC A,A+DPTR MOV SBUF,A JNB TI,$ CLR TI SETB ES RETIIN-3: MOV A,#03H MOVC A,A+DPTR MOV SBUF,A JNB TI,$ CLR TI SETB ES RETITAB: DB 2,H,E,J END

42、键输入字程序清单:KEYI: ACALL KS1 JNZ LK1NI: ACALL DIR AJMP KEYILK1: ACALL DIR ACALL DIR ACALL KS1 JNZ LK2 ACALL DIR AJMP KEYILK2: MOV R2,#0FEH MOV R4,#00HLK4: MOV DPTR,#7F01H MOV A,R2 MOVX DPTR,A INC DPTR INC DPTR MOVX A,DPTR JB ACC.0,LONE MOV A,#00H AJMP LKPLONE: JB ACC.1,LTWO MOV A,#08H AJMP LKPLTWO: JB ACC.2,LTHR MOV A,#08H AJMP LKPLTHR: JB ACC.3,NEXT MOV A,#18HLKP: ADD A,R4 PUSH ALK3: ACALL DIR ACALL KS1 JNZ LK3 POP A RETNEXT: INC R4 MOV A,R2 JNB ACC.7,KND RL A MOV

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号