1、自动存包柜系统设计U82590 毕业设计第一章 概述 111 题目来源及课题意义 112 自动存包柜控制系统的工作原理及技术要求 113 系统的主要技术参数: 1第二章 系统方案论证 221 自动存包柜系统框图 222 主机电路核心器件的选择 323 光电开关的选择 624 键盘、显示器接口电路 725 开箱控制电路 726 打印机控制电路 8第三章 系统硬件设计 931 8031的组成及管脚介绍 932 输入电路设计 13321 条码技术介绍 133211 条形码的识别原理 133212 条码识读系统 143213 条码印制 14322 光电开关介绍 153221 光电开关的工作原理 153
2、222 光电开关的分类 163223 光电开关的使用注意事项 17323 限位开关介绍 18324 74LS138介绍 18325 输入电路连接 19326 键盘设计 2133 芯片使用 21331 外部地址锁存器介绍 22332 程序存储器EPROM的扩展介绍 22333 静态数据存储器的扩展介绍 25334 8255A的内部结构 2734 输出电路设计 28341 显示部分设计 28342 驱动电路设计 31343 报警电路设计 32第四章 系统软件设计 3641 主程序模块 3642 键输入程序设计 3743 驱动电路程序设计 37结束语 40参考文献 41附录A 程序清单 43附录B
3、系统框图 51附录C 系统硬件图 52第一章 概述11 题目来源及课题意义近年来,随着生活水平的提高,人们对于社会消费品的质量和数量的要求以及对社会的服务质量也在逐渐增加在。为了更好的为广大的顾客服务,在一些商场、影院(尤其是超市)等公共场合通常有电脑控制的自动存包柜,来方便广大的顾客朋友们。各种各样的自动存包柜也陆续的产生了。它具有功能实用、操作简便、安全可靠、抗干扰性强等原则、能够更好的服务于不同市场的广大群众。顾客可以根据简明清晰的操作说明自行的完成取物品的工作,自助式存取可以避免开放式存包带来的不必要的纠纷,又可以节约人员开支,达到减员增效的目的。同时,存包可以解放顾客的双手,是顾客放
4、开双手,更方便的进行购物。12 自动存包柜控制系统的工作原理及技术要求本系统采用MCS51单片机做控制器,可以同时管理24个存包柜。柜门锁由电磁阀控制,当顾客需要存包的时候,可以自行到存包柜前按“开门”键,单片机接收到一脉冲信号,并通过系统I/O口发出相应的信号,控制锁柜门的电磁阀将一空箱打开,顾客即可存包,并将柜门关上。当顾客需要取包时,要将只要将条码放置到条形码阅读器前方,条形码阅读器采集到条码信息输出相应的高低电平信号传给单片机,系统比较密码一致后,发出开箱信号至电磁阀是柜门打开,顾客即可将包取出。要求本系统具有较高的自动化程度,它是以MCS51单片机为核心,自动控制柜门的打开,并通过条
5、码技术实施红外线检测开门。关门后通过打印机打印条码,并自动切纸;实时显示无物的箱体号。并具有断电保护功能,用红外线检测箱内是否有物品,并报警。在现实生活中有着积极的作用。13 系统的主要技术参数:(1) 工作电压:AC220V,50Hz(2) 控制门数:24门 (4列6)(3) 显示无物箱号(4) 采用条码红外线检测开门技术(5) 断电保护功能第二章 系统方案论证21 自动存包柜系统框图自动存包柜的系统框图如图2.1。该系统MC51单片机为核心,还有显示屏及按键,打印机,红外线检测,断电保护等部分。图 2.1 自动存包柜系统框图22 主机电路核心器件的选择单片机是在一块硅片上集成了微处理器,存
6、储器和各种输入、输出接口,这样的一快芯片具有一台计算机的属性,因而被称为单片微型计算机,简称单片机。单片机的优点是体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发也较为容易。目前单片机已经广泛的应用在工业自动化控制,自动检测,智能仪表,家用电器等各个方面。随着单片机的发展趋势,为了满足不同用户的需要,单片机有了很大的改善。1CPU的改进(1)采用双CPU结构。(2)增加数据总线宽度。(3)采用流水线结构。(4)采用串行总线结构。2存储器的发展(1)加大存储器容量。(2)片内EPROM采用E2PROM或闪存存储器。(3)程序保密化。3片内I/O的改进(1)增加并行
7、口的驱动能力。(2)增加I/O的逻辑控制功能。(3)有些单片机还提供了一些特殊的串行接口功能。4外围电路内装化。5低功耗化。一、MCS是Intel公司生产的单片机符号,如MCS-48、MCS-51系列单片机。MCS-51系列包括三个基本型8031、8051、8751等。8031内部包括一个8位CPU、128个字节RAM,21个特殊功能寄存器、4个8位并行I/O口,1个全双工串行口,2个16位定时器/计数器,需要外部EPROM芯片。8051是在8031的基础上,片内又集成有4K ROM,作为程序存储器,是一个程序不超过4K字节的小系统。8751是在8031的基础上,增加4K字节的EPROM,它构
8、成了一个程序小于4KB的系统。用户可以将程序固化在EPROM内,可以反复修改程序。但是它的价格比较昂贵。8031外扩一片4KB EPROM就相当于8751,它的最大优点是价格便宜。在本系统中我们只需要选用8031就可以满足系统的要求。实现存包柜的各项功能。另外AT89C51也是我们常用到的单片机芯片。AT89C51是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含4K bytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(ROM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器
9、(CPU)和Flash存储单元。功能强大AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。二、AT89C51主要性能参数(1)与MCS-51产品指令系统完全兼容(2)4K字节可重擦写Flash闪速存储器(3)1000次擦写周期(4)全静态操作:0Hz-24MHz(5)三级加密程序存储器(6)1288字节内部RAM(7)32个可编程I/O 口线(8)2个16位定时/计数器(9)6个中断源(10)可编程串行UART通道(11)低功率空闲和掉电模式AT89C51 功能特性概述AT89C51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/0 口
10、线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可将至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。AT89C51 引脚功能说明 AT89C51引脚图如图2.2其各引脚功能如下图2.2 AT89C51引脚图VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输
11、入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输
12、入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口P3.0 R
13、XD(串行输入口)P3.1 TXD(串行输出口)P3.2 (外部中断0)P3.3 (外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 (外部数据存储器写选通)P3.7 (外部数据存储器读选通) P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的
14、。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存
15、储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“
16、1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。经过计算和考虑,MCA-51系列的8031即可满足我们所设计的产品,而AT89C51一般多是用在比较精密麻烦的电器设计上,我们这里所设计的自动存包柜是一个比较简单的控制系统,使用8031就完全可以达到我们设计的要求,如果使用AT89C51就会造成资源的浪费,所以我们选用80
17、31作为我们的主机电路核心器件。23 光电开关的选择红外线光电开关(光电传感器)属于光电接近开关的简称,它是利用被检测物体对红外光束的遮光或反射,由同步回路选通而检测物体的有无,其物体不限于金属,对所有能反射光线的物体均可检测。根据检测方式的不同,红外线光电开关可分为:1漫反射式开关一般来说当被检测物体的表面光亮或其反光率极高时,我们都选用漫反射式开关。2镜反射式光点开关镜放射光电开关是集发射与接受器于一体,光电开关发射出的光线经过反射镜反射回接收器,当被检测物体经过且完全阻断光线时,光电开关就产生了检测开关的信号。3对射式光电开关当检测物体是不透明时,对射式光电开关是最可靠的检测模式。4.槽
18、式光电开关槽式光电开关比较安全可靠的适合检测高速变化,分辨透明与半透明物体。5.光纤式光电开关光纤式光电开关采用塑料或玻璃光纤传感器来引导光线,以实现被检测物体不在相近区域的检测。传感器也可以使用应变式传感器,他是利用金属的电阻应变效应,将检测物体变形转换成电阻的变化的传感器。当金属丝在外力作用下发生机械变形时,其电阻值将发生变化,这种现象称为电阻丝的应变效应,应变式传感器正是利用了金属丝的这一效应。但是这种传感器的安装不是很方便,而且检测的效果也不是很好,灵敏度不过,很有可能造成错误,给顾客带来不必要的麻烦。由以上可以很容易的看出在这里我们选用漫反射式光电开关。用它来检测存包柜能是否有物体,
19、并把相应的信号传输给单片机,单片机根据收到的信号可以通过I/O线控制其他的器件工作。24 键盘、显示器接口电路该系统中键盘的主要功能是用于顾客选择适当的柜来存包,这里我们用48矩阵式键盘,用24个按键来控制24个柜门的打开,剩余的8个键可以为其他控制或则是用再以后系统的更新使用上,键盘是用8031单片机经74LS373扩展一片8255A构成键盘借口电路的。使用编程扫描方式可以很容易的实现键盘和显示的功能,而且还具有消抖功能。键盘还可以使用单片机I/O扩展接口芯片8155H来实现,8031外扩一片8155H,8155H的RAM地址为7E00H7EFFH,I/O口地址为7F00H7F05H,815
20、5H的PA口为输出口,控制键盘的列线电位,PA口为键扫描口,同时也是显示器的扫描口。在这里我们的系统需要的键盘显示要求不是非常高,只需要要使用8255A即可,如果使用8155H也可以实现键盘显示器的连接,但是很显然就造成了不必要的浪费,所以在这里我们选用通过8255A连接使用的键盘。25 开箱控制电路开箱控制电路功能用来打开箱锁。该系统共控制24个存包柜,其中使用了8255A的PA、PB、PC三口的24跟口线作为输出,输出信号经三极管放大后驱动电磁锁动作,从而将箱锁打开。同时在箱的门沿上还装有限位开关,来检测门的闭合与否。并在适当的时候来进行报警,提醒顾客关好柜门。为了保证安全,锁簧需要有较强
21、的弹力。电磁锁的驱动功率需要20W以上,可以采用20V直流电源,产生1A的驱动电流,为加强驱动功率,采用二级直流放大。在这里我们使用DSN-Y电磁锁,他的技术指标即参数都能够满足我们的需要。26 打印机控制电路现场印制设备通常有电阵、激光、热敏、以及喷墨打印机设备等。点阵打印机是一种计算机输出设备,用于打印各种拷贝文件,它是重复使用色带的。它只能打出中、低密度的条码符号,适用于小批量的的印制。激光打印机是利用图形感应半导体表面上的充电荷的原理设计的。它可以打印较高、中密度的条码。热敏打印机,这种打印机已经使用多年了,它是最普遍的打印机,热敏打印机的打印过程比较简单,打印的格式灵活,图象质量高,
22、速度快而且成本很低,分辨率高,环境适应性强。它是通过压力和热作用,将油墨转印到其他的介质上,操作十分方便。所以在这里我们完全可以使用热敏式打印机。热敏打印机控制电路的功能是用来驱动打印机系统产生密码。用8031的P0口接打印机的数据线,用P1.7口接打印机的选同信号上,用P1.6接收音机的BUSY信号。第三章 系统硬件设计31 8031的组成及管脚介绍8031内部有8个部件组成,即CPU、时钟电路、数据存储器、串行口、并行口(P0P3)、定时计数器和中断系统,它们均由单一总线连接并被集成在一块半导体芯片上,即组成了单片微型计算机,8031就是MCS-51系列单片机中的一种。见图3.1图3.1
23、8031内部组成结构1 CPU中央处理器中央处理器是8031的核心,它的功能是产生控制信号,把数据从存储器或输入口送到CPU,或将CPU数据写入存储器或送到输出端口。还可以对数据进行逻辑和算术的运算。 2 时钟电路8031内部有一个频率最大为12MHz的时钟电路,它为单片机产生时钟序列,但需要外接石英晶体做振荡器和微调电容调整频率。3 内存内部存储器可分做程序存储器和数据存储器,但在8031中无片内程序存储器 。4 定时/计数器8031有两个16位的定时计数器,每个定时器和计数器都可以设置成定时的方式和计数的方式,但只能用其中的一个功能,以定时或计数结果对计算机进行控制。5 并行I/O口MCS
24、-51有四个8位的并行I/O口,P0,P1,P2,P3,以实现数据的并行输入输出。6 串行口它有一个全双工的串行口,它可以实现计算机间或单片机同其它外设之间的通信,该串行口功能较强,可以作为全双工异步通讯的收发器,也可以作为同步移位器用。7 中断控制系统8031有五个中断源,既外部中断两个,定时计数器中断两个,串行中断一个,全部的中断分为高和低的两个输出级。8031的制作工艺为HMOS,采用40管脚双列直插式DIP封装,引脚说明如下:VCC(40引脚)正常运行时提供电源。VSS(20引脚)接地。8031管脚图管角图XTAL1(19引脚)在单片机内部,它是一个反向放大器的输入端,该放大器构成了片
25、内的震荡器,可以提供单片机的时钟信号,该是引脚也可以接外部的晶振的一个引脚,如采用外部振荡器时,对于8031此引脚应该接地。XTAL2(18引脚)在内部,接至上述振荡器的反向输入端,当采用外部振荡器时, 对MCS51系列该引脚接收外部振荡信号,即把该信号直接接到内部时钟的输入端。RST/VPD(9引脚)在振荡器运行时,在此引脚加上两个机器周期的电平_将单片机复位,复位后应使此引脚电平保持不高于0.5V低电平以保证8031正常工作。在掉电时,此引脚接备用电源VDD,以保持RAM数据不丢失,当BVCC低于规定的值时,而VPD在其规定的电压范围内时,VPD就向内部数据存储器日工备用电源。ALE/PR
26、OG(30引脚)当8031访问外部存储器时,包括数据存储器和程序存储器,ALE9地址锁存允许0输入的脉冲的下沿用语锁存16位地址的低8位,在不访问外部存储器的时候,ALE仍有两个周期的正脉冲输出,其频率为振荡器的频率的1/6,在访问外存储器的是候,在两个周期中,ALE只出现一次,ALE断可驱动8个LSTTL负载,对于有片内EPROM的而言,在EPROM编程期间,此脚用于输入编程脉冲PROG。PSEN(29引脚)此脚输出为 单片机内访问外部程序存储器的读选通信号,在读取外部指令期间, PSEN有两次在每个周期有效,在此期间,每当访问外部存储器时,两个有效的PSEN将不再出现,同样这个引脚可驱动8
27、个LSTTL负载。EA/VPP(31引脚)当EA保持高电平时,单片机访问内部存储器,当PC值超过0FFFH时,将自动转向片外存储器。当EA非保持低电平时,则只访问外部程序存储器,对8031而言,此脚必须接地。P0,P1,P2,P3,8031有四个并行口,在这四个并行口中,可以在任何一个输出数据,又可以从它们那得到数据,故它们都是双向的,每一个I/O口内部都有一个8位数据输出锁存器和一个8位数据输入缓冲器,各成为SFR中的一个,因此CPU数据从并行I/O口输出时可以得到锁存,数据输入时可以得到缓冲,但他们在功能和用途上的差异很大,P0和P2口内部均有个受控制器控制的二选一选择电路,故它们除可以用
28、做通用I/O口以外还具有特殊的功能,P0口通常用做通用I/O口为CPU传送数据,P2口除了可以用做通用口以外,还具有第一功能,除P0口以外其余三个都是准双向口。8031有一个全双工串行口,这个串行口既可以在程序下把CPU的8位并行数据变成串行数据一位一位的从发送数据线发送出去,也可以 把串行数据接受来变成并行数据给CPU,而且这种串行发送和接收可以单独进行也可以同时进行。8031的串行发送和接收利用了P3口的第二功能,利用P3.1做串行数据接收线,串行接口的电路结构还包括了串行口控制寄存器SCON,电源及波特率选择寄存器PCON和串行缓冲寄存器SBUF,他们都属于SFR,PCON和SCON用于
29、设置串行口工作方式和确定数据发送和接收,SBUF用于存放欲发送的数据起到缓冲的作用。 二8031的工作方式8031的工作方式可以分做复位,掉电和低功耗方式等。(一)、复位方式单片机复位后,程序计数器PC和SFR的状态。复位后,PC初始话为0000H,使单片机能从0000H开始执行程序,故单片机除正常工作的程序运行出错或操作出错而导致死机时,需要复位键进行重新启动,复位不影响RAM存放的内容,因为复位操作是在带电的状态下将程序存储器的地址改变,而ALE和PSEN非在复位期间将输出高电平。RST是复位信号的输入端,RST输入一个有效的高电平旧能使系统复位,当高电平持续24个振荡脉冲周期的时候,单片
30、机完成了复位的操作,假如晶振的频率为6MHZ,则复位信号的持续时间不应小于4us。复位可以是上电复位,按键手动复位,和二者混合式。复位信号中的电阻和电容是为了保证RST断能保证两个机器周期以上的高电平来完成复位操作而特意设定的。上电自动复位是在单片机接通电源时,电容充电来实现的。如图3.2图 3.2 上电复位在上电的一瞬间,RST端电位与VCC相同。随着充电电流的减小,RST的电位逐渐下降,只要在RST端有很足够长的时间保证阀值电压,8031便可以自动进行复位。按键手动复位实际上是在上电复位基础上加上了手动复位开关,当手动开关开时为上电复位,按键手动复位分作电平式和脉冲式,电平式为RST端经电
31、阻与VCC接通而实现的。脉冲式是利用微分电路产生正脉冲来实现的。 (二)、掉电和低功耗方式人们往往在程序运行中发生系统掉电的故障,使RAM和寄存器中的数据内容丢失,使人们丢失珍贵的数据而束手无策,8031有掉电保护功能,是先把有用的数据保存,再用备用电源进行供电。 32 输入电路设计在自动存包柜的设计中输入部分是十分重要的一个环节,在这里我们需要检测门的限位,检测箱内是否有物体,还的相应的打印密码,并在顾客需要的时候检测密码,并自动打开柜门。还需要显示是否有空箱以及空箱的位置,来为顾客提供选择。321 条码技术介绍 条形码是由美国的NTWoodland在1949年首先提出的。近年来,随着计算机应用的不断普及,条形码的应用得到了很大的发展。条形码可以标出商品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等信息,因而在商品流通、图书管理、邮电管理、银
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1