自动存包柜的设计与仿真毕业设计Word文档格式.docx
- 文档编号:6410846
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:42
- 大小:575.93KB
自动存包柜的设计与仿真毕业设计Word文档格式.docx
《自动存包柜的设计与仿真毕业设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《自动存包柜的设计与仿真毕业设计Word文档格式.docx(42页珍藏版)》请在冰点文库上搜索。
1.1自动存包柜的种类
自动存包柜又名电子存包柜,电子寄存柜。
主要由以下几种类型:
(1)机设条码式电子存包柜:
存物时,先按“存”键,寄存柜自动打印一张密码条,使用者抽出密码纸,对应的箱门自动打开,存好后关上箱门;
取物时,直接将条码纸在扫描口扫描,对应的箱门会自动打开,取物完成后关上箱门。
(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)利用软件产生随机密码而不是硬件,使得硬件更为简洁、可靠、稳定。
1.3系统总体设计目标功能
(1)完成矩阵键盘输入命令进行取包的任务;
(2)存包时系统能产生随机密码;
(3)随机数在单片机中的保存及删除;
(4)液晶数码管的选择及与单片机的接口电路设计;
(5)发光二极管模拟柜子的实现。
2系统方案概述及硬件设计
2.1自动存包柜系统框图
自动存包柜由电子电路和机械两部分组成,本设计的存包柜主要实现电子电路方面的功能,它可以通过单片机完成密码的随机产生、密码的确认和显示以及用发光二极管模拟柜子的开闭状态等功能。
系统框图如图2-1所示:
图2-1自动存包柜的系统框图
从硬件上看,它的部分组成分别是:
发光二极管,通过亮灭来模拟柜子的开闭状态;
电源,为电路提供一个5V的工作电压;
单片机,整个电路的核心部分;
LED数码管,用于显示柜号和密码;
还有键盘部分,键盘有14个按键,其中的十个分别为0-9的数字键,其他四个分别为存包键(随机产生密码)、取包键(确认密码)、确定键、取消键。
2.2主机电路核心器件的选择
单片机是在一块硅片上集成了微处理器,存储器和各种输入、输出接口,这样的一块芯片具有一台计算机的属性,因而被称为单片微型计算机,简称单片机。
单片机的优点是体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发也较为容易[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的系统。
用户可以将程序固化在EPROM内,可以反复修改程序。
但是它的价格比较昂贵。
8031外扩一片4KBEPROM就相当于8751,它的最大优点是价格便宜。
经过计算和考虑,我们这里所设计的自动存包柜是一个比较简单的控制系统,用8031就完全可以达到我们设计的要求,实现存包柜的各项功能,所以我们选用8031作为我们的主机电路核心器件。
8031单片机是Intel公司生产的MCS-51系列单片机中的一种,除无片内ROM外,其余特性与MCS-51单片机基本一样。
8031的主要性能包括:
(1)与MCS-51位控制器产品系列兼容。
(2)宽工作电压范围,VCC可为2.7V~6V。
(3)全静态工作,可从0Hz至16Hz。
(4)128×
8位内部RAM。
(5)32条可编程I/O线。
(6)两个16位定时器/计数器。
(7)中断结构具有5个中断源和2个优先级[4]。
2.2.18031内部结构
8031内部有8个部件组成,即CPU、时钟电路、数据存储器、串行口、并行口(P0~P3)、定时计数器和中断系统,它们均由单一总线连接并被集成在一块半导体芯片上,即组成了单片微型计算机[5]。
内部结构如图2-2所示:
图2-28031的内部结构
(1)CPU中央处理器
中央处理器是8031的核心,它决定了单片机的主要功能特性。
中央处理器主要由运算部件和控制部件组成。
它的功能是产生控制信号,把数据从存储器或输入口送到CPU,或将CPU数据写入存储器或送到输出端口。
还可以对数据进行逻辑和算术的运算。
(2)时钟电路
8031内部有一个频率最大为12MHz的时钟电路,它为单片机产生时钟序列,但需要外接石英晶体做振荡器和微调电容调整频率。
(3)内存
内部存储器可分做程序存储器和数据存储器,但在8031中无片内程序存储器。
(4)定时/计数器
8031有两个16位的定时计数器,每个定时器和计数器都可以设置成定时的方式和计数的方式,但只能用其中的一个功能,以定时或计数结果对计算机进行控制。
(5)并行I/O口
MCS-51有四个8位的并行I/O口,P0,P1,P2,P3,以实现数据的并行输入输出。
(6)串行口
它有一个全双工的串行口,它可以实现计算机间或单片机同其它外设之间的通信,该串行口功能较强,可以作为全双工异步通讯的收发器,也可以作为同步移位器用。
(7)中断控制系统
8031有五个中断源,既外部中断两个,定时计数器中断两个,串行中断一个,全部的中断分为高和低的两个输出级[6]。
2.2.28031引脚介绍
采用40管脚双列直插式DIP封装,引脚如图2-3所示:
图2-38031引脚图
引脚功能说明:
Vcc40引脚主电源引脚接+5V电压;
Vss20引脚接地;
XTAL119脚接外部晶体的一个引脚。
在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。
当采用外部振荡器时,对HMOS单片机,此引脚应接地;
对CHMOS单片机,此引脚作为驱动端。
XTAL2(18脚)接外晶体的另一端。
在单片机内部,接至上述振荡器的反相放大器的输出端。
采用外部振荡器时,对HMOS单片机,该引脚接外部振荡器的信号,即把外部振荡器的信号直接接到内部时钟发生器的输入端;
对XHMOS,此引脚应悬浮。
RST/VPD9脚当振荡器运行时,在此脚上出现两个机器周期的高电平将使单片机复位。
推荐在此引脚与VSS引脚之间连接一个约8.2k的下拉电阻,与VCC引脚之间连接一个约10μF的电容,以保证可靠地复位。
VCC掉电期间,此引脚可接上备用电源,以保证内部RAM的数据不丢失。
当VCC主电源下掉到低于规定的电平,而VPD在其规定的电压范围(5±
0.5V)内,VPD就向内部RAM提供备用电源。
ALE/PROG30脚当访问外部存贮器时,ALE(允许地址锁存)的输出用于锁存地址的低位字节。
即使不访问外部存储器,ALE端仍以不变的频率周期性地出现正脉冲信号,此频率为振荡器频率的1/6。
因此,它可用作对外输出的时钟,或用于定时目的。
然而要注意的是,每当访问外部数据存储器时,将跳过一个ALE脉冲。
ALE端可以驱动(吸收或输出电流)8个LS型的TTL输入电路。
PSEN29脚此脚的输出是外部程序存储器的读选通信号。
在从外部程序存储器取指令(或常数)期间,每个机器周期两次PSEN有效。
但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不出现。
PSEN同样可以驱动(吸收或输出)8个LS型的TTL输入。
EA/VPP31引脚当EA端保持高电平时,访问内部程序存储器。
当EA保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。
对于常用的8031来说,无内部程序存储器,所以EA脚必须常接地,这样才能只选择外部程序存储器。
P0口39脚32脚是双向8位三态I/O口,在外接存储器时,与地址总线的低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能驱动(吸收或输出电流)4个LS型的TTL负载[7]。
作为第一功能使用时,就作为普通I/O口用,功能和操作方法与P1口相同。
第二功能如表1所示:
表1P3口各引脚的第二功能
2.38031的系统扩展
8031具有很强的扩展功能,允许扩展各种外围电路以补充片内资源不足,适应特定应用的需要,扩展内容包括数据存储器、程序存储器、I/O接口等扩展结构。
系统扩展图如图2-4所示:
图2-48031系统扩展结构图
在这里我们介绍外部地址锁存器74LS373扩展芯片8255A。
2.3.174LS373介绍
MCS-51单片机由于受引脚数的限制,数据线和地址线是复用的,由P0口兼用。
为了将它们分离出来,以便同单片机片外的扩展芯片正确的连接,需要在单片机外部增加地址锁存器。
我们这本设计中使用74LS373。
74LS373是一种带有三态门的8D锁存器,其引脚如图2-5所示:
图2-5锁存器74LS373的引脚
其引脚的功能如下:
D7~D0:
8位数据输入线
Q7~Q0:
8位数据输出线
LE:
数据输入锁存选通信号,高电平有效。
当该信号为高电平的时候,外部数据选通到内部锁存器,负跳变时,数据锁存到锁存器中。
OE:
数据输出允许信号,低电平有效。
当该信号为低电平的时候,三态门打开,锁存器中数据输出到数据输出线。
当该信号为高电平的时候,输出线为高阻态[8]。
2.3.2系统I/O接口扩展
由于我们采集的数据量较多,因此CPU的I/O口线不够用,所以我们使用8255A扩展I/O口,以满足系统的要求。
8255A是Intel公司生产的通用可编程并行I/O接口芯片。
18255A内部结构
8255A内部由四部分电路组成。
它们是A口、B口和C口,A组控制器和B组控制器,数据缓总线冲器及读写控制逻辑,如图2-6所示:
图2-68255A的内部结构
(1)A口、B口和C口。
A口、B口和C口均为8位I/O数据口,但结构上略有差别。
A口由一个8位的数据输出缓冲/锁存器和一个8位的数据输入缓冲/锁存器组成。
B口由一个8位的数据输出缓冲/锁存器和一个8位的数据输入缓冲器组成。
三个端口都可以和外设相连,分别传送外设的输入/输出数据或控制信息。
(2)A、B组控制电路。
这是两组根据CPU的命令字控制8255工作方式的电路。
A组控制A口及C口的高4位,B组控制B口及C口的低4位。
(3)数据总线缓冲器。
它是一个8位的双向三态驱动器,用于与单片机的数据总线相连,传送数据或控制信息。
(4)读/写控制逻辑。
这部分电路接收MCS-51送来的读/写命令和选口地址,用于控制对8255A的读/写[9]。
28255A的引脚功能
8255A有40条引脚,采用双列直插式封装。
引脚如图2-7所示:
图2-78255A引脚图
(1)数据总线(8条):
D0~D7:
三态双向数据总线,8255A与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。
(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条):
这些总线用于和外设相连,分别与A、B、C口相对应,用于8255A和外设之间传送数据,共分三组:
PA0~PA7:
端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。
PB0~PB7:
端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。
PC0~PC7:
端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。
(4)电源线(2条):
VCC为+5V电源线,允许变化±
10%;
GND为地线。
3输入输出电路
自动存包柜的设计中输入输出部分是十分重要的一个环节,输入输出系统就是人与计算机之间建立联系,交换信息的设备,即人机交互设备。
在这里我们需要输入存包取包命令,检测箱内是否有物体,在顾客需要的时候检测密码,并自动打开柜门,还需要显示是否有空箱以及空箱的位置,来为顾客提供选择。
3.1键盘设计
键盘在单片机应用系统中能实现向单片机输入数据、命令等功能,是人工干预单片机的主要手段。
该系统中键盘的主要功能是用于顾客选择适当的包柜存包,用按键来控制柜门的打开,键盘是用8031单片机经74LS373扩展一片8255A构成键盘借口电路的。
键盘的闭合与否,映在行线输出电压上就是呈现出高电平或低电平,相反如果高电平表示断开的话,那么低电平就表示键闭合,所以通过对行线电平的高低状态的检测,便可以确认按键按下与否。
常用的键盘接口分为独立式按键接口和矩阵式键盘接口。
我们在这里选用矩阵式键盘接口,如图3-1所示:
图3-1矩阵式键盘
矩阵式键盘工作原理:
按键设置在行、列线交点上,行列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V电源上。
平时无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线电平决定。
列线电平如果为低电平,则行线电平为低电平;
列线电平如果为高,则行线电平也为高电平。
这是识别矩阵键盘按键是否被按下的关键所在。
由于矩阵键盘中行、列线为多键共用,各按键均影响该键在行和列的电平,因此各按键彼此将互相发生影响,所以必须将行、列线信号配合起来并作适当的处理,才能确定闭合键的位置[10]。
键盘实际是一组按键开关的集合,是向系统提供操作人员干预命令和数据的接口设备这里我们选用4*4矩阵键盘接口,用14个按键控制箱门的打开,其中,数字键10个,分别为0~9,功能键4个,“ON/C”表示存包键,“=”表示取包键,“+”表示确定键,“—”表示取消键。
如图3-2所示:
图3-24*4矩阵键盘
该键盘工作方式采用的是外部中断扫描,中断式键盘扫描原理是:
当有键按下将会触发一个中断源,提醒处理器进行键值扫描查询。
键盘的中断方式一般有定时中断和外部中断两种,本系统采用的是外部中断INT0。
单片机先让行线输出低电平,当有键按下时列线电平不全为高,将触发外部中断INT0,单片机进入中断后先延时去抖动,再扫描查寻键盘,读出键值,然后处理相应的键值处理子程序,无键按下则不进入中断,单片机不扫描,从而节约了大量的资源[11]。
3.2显示系统设计
为了使操作人员及时掌握生产情况,在一般的微型计算机控制系统或者智能仪器当中,都配有显示程序。
常用的显示器件有:
①显示和记录仪表,②CRT显示终端,③LED或者LCD显示器,④大屏幕显示器。
本次设计所采用的是LED数码管。
LED数码管是由发光二极管组成,由于材料的不同,可以发出各种单色光线。
根据发光二极管内部的连接方式不同,又有共阴极或共阳极两种形式。
如图3-3所示:
共阴极共阳极
图3-3LED显示器
LED数码管具有结构简单,体积小,功耗低,响应速度快,易于匹配,寿命长,可靠性高等优点。
本次设计我们使用两个4位数码管来显示8位密码,数码管如图3-4所示:
图3-44位数码显示管
3.3输出系统功能扩展
由于本人能力有限,考虑不周,此次设计的存包柜与实际应用的自动存包柜相差甚远,功能不全,而且还存在一些问题。
按实际应用中,根据各种需要,可以在此设计基础上进行扩展。
如:
(1)限位开关:
利用电磁铁或可控硅、电磁耦合器,再加上一些机械装置,就能实现柜门的自动开关。
(2)光电开关:
对存包柜进行检测,实时显示无物的箱号。
(3)打印机:
将产生的随机密码打印出来。
(4)语音服务:
用户存取包时,语音致词“欢迎使用”、“请关门”、“谢谢使用”等。
(5)报警服务:
用户忘记关门时,提醒顾客关门。
4系统程序设计及仿真
为了使本系统的整个程序清晰明白,便于调试和修改,程序设计时把系统的各种功能分为若干部分,于每一部分功能编制相对独立的程序块,对各程序在运行的时候各负其责。
4.1主程序模块设计
该模块的功能包括显示的初始化,判断是否有空箱,键盘扫描,密码扫描等功能。
存储柜通上电以后,单片机上电,首先进行程序的初始化,包括定时器,外部中断等初始化,以及各参数初始值的设定。
默认存储柜为初始状态,根据存包指令,扫面计数器的存储包状态,用数码管显示存储柜号和密码。
主流程图如图4-1所示:
4-1主程序流程图
4.2键输入子程序模块
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动 存包柜 设计 仿真 毕业设计