1、 (基于单片机的自动存包柜设计)摘 要近年来,随着生活水平的提高,人们对于社会服务质量的要求不断提高。为了更好的服务广大顾客,在一些公共场合一般设有智能的自动存包柜,为广大的顾客朋友们提供方便。它具有功能广泛、操作简洁、安全性高等特点,能够更好的服务于不同类型的顾客。 本设计以at89c51为主控制器,来实现通过密码的比对完成自动存取包过程的设计。整个系统由控制模块、输入显示模块和执行模块组成。 此自动存包柜系统能控制24个存包柜,它利用控制柜门的打开,当顾客按“存包”或“取包”键时,相应的空柜门会自动打开,并且能产生一组8位随机密码,密码使用一次有效,且有三次容错功能和解锁功能,所以安全性能
2、很高。由于随机密码是软件产生,使得硬件更为经济实用、简单且便于安装。关键字:自动存包柜系统、电磁阀、随机密码、容错、解锁Abstract In recent years, with the improvement of living standards, people for the social service quality requirement enhances unceasingly. In order to better serve the general customers, in some public places generally intelligent automati
3、c deposit bag with ark, for the majority of customers friends provide convenient. It has the function of simple operation, widely, safety higher characteristic, can better serve the different types of customers. This design is mainly based on at89c51 single chip controller, to realize the automatic
4、password through than complete access package of process design. The whole system consists of control module, input display module and execute module.The automatic endures package ark system can control 24 save bag ark, it using the electromagnetic valve control of cupboard door open, when customers
5、 according to save package or take bag button, the corresponding empty cupboard door will be opened, and can produce a group of eight random password, password use a effective, and have three times fault-tolerant function and unlock function, so safety performance is high. Due to random password is
6、produced software, to make the hardware more economical and practical, simple and easy to install. Keyword: automatic deposit ark system、electromagnetic valve bag、 random password、fault tolerance、to unlock目录第一章 系统方案论证1第一节 控制系统的工作原理及技术要求1第二节 自动存包柜系统框图1第三节 电路核心器件的选择1第四节 开关的选择5第二章 系统硬件设计6第一节 识别系统设计6第二节
7、 光电开关介绍7第三节 限位开关介绍9第四节 输入电路连接9第五节 电路设计11第六节 键盘设计11第三章 芯片的使用13第一节 外部地址锁存器介绍13第二节 程序存储器的扩展14第三节 静态数据存储器的扩展16第四章 系统软件设计18第一节 主程序模块18第二节 键输入程序设计19第三节 驱动电路程序设计20第五章 系统控制21结束语23谢 辞24参考文献25第一章 系统方案论证第一节 控制系统的工作原理及技术要求本系统采用at89c51单片机为主控制器,可以同时管理24个存包柜。柜门锁由电磁阀控制,当顾客需要存包的时候,可以自行到存包柜前按“存”键,单片机接收到一脉冲信号,并通过系统I/O
8、口发出相应的信号,控制锁柜门的电磁阀将一空箱打开,顾客即可存包。当顾客需要取包时,只要将条码放置到条形码阅读器前方,条形码阅读器采集到条码信息输出相应的高低电平信号传给单片机,系统比较密码一致后,打开相应的箱子,顾客可以取包。本系统要求具有较高的自动化程度,以at89c51单片机为核心,通过条形码识别技术自动控制柜门的打开。关门后通过打印机打印条形码;实时显示无物的箱体号。并具有断电保护功能,用红外线检测箱内是否存有物品,并报警。第二节 自动存包柜系统框图自动存包柜的系统框图如图1-1。该系统MC51单片机为核心,还有空箱显示,打印机,红外线检测,断电保护等部分。图 1-1 自动存包柜系统框图
9、第三节 电路核心器件的选择单片机是在一块硅片上集成了微处理器,存储器和各种输入、输出接口,这样的一块芯片具有一台计算机的属性,因而被称为单片微型计算机,简称单片机。单片机的优点是体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发也较为容易。目前单片机已经广泛的应用在工业自动化控制,自动检测,智能仪表,家用电器等各个方面。随着单片机的发展趋势,为了满足不同用户的需要,单片机有了很大的改善。MCS是Intel公司生产的系列单片机,如MCS-48、MCS-51系列单片机。MCS-51系列包括三个基本型8031、8051、8751等。8031内部包括一个8位CPU、128
10、个字节RAM,21个特殊功能寄存器、4个8位并行I/O口,1个全双工串行口,2个16位定时器/计数器,需要外部EPROM芯片。8051是在8031的基础上,片内又集成有4K ROM,作为程序存储器,是一个程序不超过4K字节的小系统。8751是在8031的基础上,增加4K字节的EPROM,它构成了一个程序小于4KB的系统。用户可以将程序固化在EPROM内,可以反复修改程序。但是它的价格比较昂贵。8031外扩一片4KB EPROM就相当于8751,它的最大优点是价格便宜。在本系统中我们选用8051来满足系统的要求,并使用与MCS-51指令系统完全兼容的AT89C51作为主控制器实现存包柜的各项功能
11、。AT89C51是美国ATMEL公司生产的一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器, AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51主要特性: 与MCS-51 兼容
12、4K字节可编程FLASH存储器 寿命:1000写/擦循环 数据保留时间:10年 全静态工作:0Hz-24MHz 三级程序存储器锁定 1288位内部RAM 32可编程I/O线 两个16位定时器/计数器 5个中断源 可编程串行通道 低功耗的闲置和掉电模式 片内振荡器和时钟电路 AT89C51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/0 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可将至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计
13、数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。 AT89C51 引脚功能说明 AT89C51引脚图如图1-2其各引脚功能如下 图1-2 AT89C51引脚图VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8
14、位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据
15、存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下: P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部