ImageVerifierCode 换一换
格式:DOCX , 页数:62 ,大小:241.32KB ,
资源ID:632359      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-632359.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(自动存包柜系统设计.docx)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

自动存包柜系统设计.docx

1、JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY本 科 毕 业 设 计 ( 论 文 )自动存包柜系统设计学院名称: 专业: 班级: 姓名: 指导教师姓名: 指导教师职称: 2011 年 06 月江苏技术师范学院毕业设计说明书(论文)自动存包柜系统设计摘要:随着社会的发展、科技的进步以及人们生活水平的逐步提高,各种方便于生活的自动化系统开始进入了人们的生活。本文介绍了利用单片机 STC89C52 最小系统产生一组 6 位随机密码来控制柜门开关的自动存包柜系统。此系统设计有 14 个按键和 6 个数码管显示密码,可以对 20 个柜子进行控制,每组密码使用一次有效,

2、客户通过键盘输入随机密码进行存取包。此论文重点描述了自动存包柜的设计思想及软硬件电路的工作原理、设计过程,并叙述了调试过程以及调试中所出现的问题,并做了相应分析。关键词:自动存包柜;单片机;随机密码The design of automatic storing a bag of cupboardsAbstract:With the social and scientific development and improvement of peoples living standard, various remote automatic systems for the convenience of

3、 our life come into being. This paper introduces storing a bag of cupboards that STC89C52 microcontroller minimum system produces a set of six random password to control the opening and closing of cupboards. This system has 14 buttons and 6 digital tube that can show the password to control 20 cabin

4、et, each group password once using effective. Customers need to access the keyboard to operate the bag of storing and getting out of the bag.This paper focuses on the description of the design and priciple of storing a bag of cupboards remote control of single chip, and accounts for the system debug

5、ging and its problems related and the analysis areprovided.Keywords: Storeabagofcupboards,SingleChipMicroComputer, Password目录前 言1第一章 设计任务21.1 设计的内容21.2 技术指标与功能2第二章 总体设计方案32.1 设计方案的论证32.1.1 单片机的选择32.1.2 键盘/显示部分的选择32.1.3 显示器件选择42.2 自动存包柜电路的原理框图以及各部分作用4第三章 系统硬件电路的设计63.1 自动存包柜的硬件电路63.1.1 单片机 STC89C52 的最

6、小系统的连接电路73.1.2 键盘控制电路83.1.3 数码显示电路103.1.4 执行部分电路10第四章 自动存包柜的软件设计134.1 自动存包柜软件设计134.1.1 自动存包柜主程序134.1.2 键扫描程序174.1.3 74LS165 数据检测程序194.1.4 执行部分程序214.1.5 显示程序23第五章系统调试255.1 硬件调试255.1.1 最小系统板得调试255.1.2 键盘显示电路的调试255.1.3 8255A 电路的调试255.2 软件调试255.2.1 查键显程序的调试255.2.2 随机密码产生及核对程序的调试265.2.3 三次容错的调试265.3 整机调试

7、26第六章测试结果286.1 测试结果28第七章 系统的改进297.1 硬件存在的问题与改进297.2 软件存在的问题与改进297.3 系统功能扩展分析30参考文献31致谢32附录33附录一 发送接收电路原理图33附录二 程序清单34附录三 元器件清单45附录四 英文资料46前 言单片机是 20 世纪 70 年代中期发展起来的一种大规模集成电路器件。单片机有体积小、功能强、价格低、使用灵活等特点。20 世纪 80 年代以来,国际上单片机的发展迅速,其产品之多令人目不暇接,单片机应用不断深入,新技术层出不穷。在国内, 尽管开发和应用单片机的时间不长,但也得到了迅猛的发展。目前单片机已成功地运用到

8、智能仪表、机电设备、过程控制、数据处理、自动检测与控制和家用电器等各个方面,为我国的国民经济建设作出了重要贡献1。我们在各大超市可以看到的自动存包柜就是应用单片机技术控制的方便顾客存取包的设备。由于它的方便性和安全性,目前,自动存包柜在超市和其它场合得到了广泛的应用,并且根据用途和场合,其种类不断增多,功能也不断完善,大大的方便了人们的日常生活2。就其使用方式而言,自动存包柜主要有两种:其一为投币式,即需要付费的,是通过从投币口投入硬币或纸币来控制存取包;其二是密码式,即通过一组系统产生的随机密码或顾客自己设定的密码来控制柜门的开关,从而达到存取包的目的3。这次我们设计的就是利用系统产生一组

9、6 位随机密码来控制柜门开关的自动存包柜系统。它是利用单片机 STC89C52 实现的,具有 14 个按键和 6 个数码管显示 6 位随机密码。客户通过键盘输入随机密码可以进行存取包操作。此系统可以对 20 个柜子进行控制,每组密码使用一次有效。整个系统稳定可靠,且有容错功能,使用和安装都十分方便。第 57 页 共 56 页第一章 设计任务1.1 设计的内容设计一个可以同时管理 20 个存包柜的管理系统。当顾客需要存包的时候,可以自行到存包柜前按“开门”键,单片机接收到一脉冲信号,并通过系统 I/O 口发出相应的信号,将一空箱打开,顾客即可存包,并将柜门关上。当顾客需要取包时,通过键盘输入随机

10、码传给单片机,系统比较密码一致后,发出开箱信号将柜门打开,顾客即可将包取出。要求本系统以 STC89C52 单片机为核心,自动控制柜门的打开,并且产生此时的随机码。取包时,通过随机码的输入开门取包;当顾客发生密码丢失的情况,管理员输入最高密码 101010 可将全部柜门打开,即可取包;具有三次容错功能。20 个存包柜可以用 20 个发光二极管替代。1.2 技术指标与功能(1) 工作电压:5V(2) 总共可存包 20 个,顾客只需按“存包”即可打开柜门,并且产生随机密码。(3) 取包时,通过产生的随机密码输入之后按“确定”按钮即可取包,当输入错误之后,按“取消”按钮重新输入密码。(4) 当顾客发

11、现密码丢失或忘记时,管理员输入最高密码“101010”即可将全部柜门打开。(5) 具有三次容错功能,当顾客输入三次密码都错误,第四次输入密码,无法将柜门打开,必须由管理员输入最高密码“101010”才可将柜门打开。第二章 总体设计方案2.1 设计方案的论证2.1.1 单片机的选择本设计所用的单片机可以用 C31, STC89C52 单片机等多种单片机来实现。考虑本设计的要求,需要编写程序,但是 C31 没有内部存储器,那么就要用外部扩展,比较麻烦。本设计所编写的程序比较简单,功能也比较少,如果用羚羊单片机就过于麻烦,大材小用,本设计所用到的输入输出端口也不是很多,所以我们决定用 STC89C5

12、2 单片机来完成本设计,既方便也很实用。2.1.2 键盘/显示部分的选择方案一:利用 8155 并行扩展口控制芯片(8122 芯片可以用作单片机片外 256B 数据存储器,也可以用作扩展 I / O 口使用以及用作定时器扩展使用,此处用作扩展 I /89C5281558 个数码管7407O 口使用,分别为 PA、PB、PC 口)来管理键盘和显示部分。硬件框图如图 2-1 所示:14 个键盘75452图 2-18155 接口电路框图89C52 外扩一片 8155H,8155H 的 RAM 地址为 7E00H-7EFFH,I/O 口地址为 7F00H-7F05H,8155H 的 PA 口为输出口,

13、控制键盘的列线 Y0-Y7 的电位,PA 口作为键盘扫描口,同时又是 8 位 LED 的扫描口,PB 口作为显示器的段数据口,8155H 的 PC 口作为输入口,PC0-3 接行线 Y0-Y3,称为键输入口。用反相驱动器 75452 驱动键盘,用同相驱动器 7407 驱动数码管。此方案原理较简单,但外围芯片数较多(四片 75452、两片 7407),成本高,而且当我们对其硬件调试时,如果出现问题,会对检查线路造成困扰。方案二:利用两片 8 位并入串出的移位寄存器芯片 74LS165 来检测键盘信号,利用三极管做数码驱动,驱动 6 个数码管显示 6 位随机密码。硬件框图如图 2-2 所示。图 2

14、-2键盘和显示框图此套方案中,我觉得所用到的器件都是我们学过的,比较好理解,虽然感觉所用到的元器件很多,但相比方法一来,芯片数量减少,价格相对也便宜,所以我选择第二种方法。2.1.3 显示器件选择在单片机应用系统中,使用的显示器主要有 LED(发光二极管)以及 LCD(液晶显示器), 两种显示器配置灵活,与单片机接口方便。但是它们也是各有特点的:LED 接口非常简单,不需要专用的驱动程序,在设计程序时也非常的简单,而且价格相对便宜;LCD 显示的字比较丰富,也比较清楚,给人的感觉很好,但是它接口复杂,且要自己造字库, 难度不小。故没必要采用 LCD,用 LED 发光二极管就够了。2.2 自动存

15、包柜电路的原理框图以及各部分作用图 2-3自动存包柜电路的原理框图各部分作用:(1) 单片机控制部分:它是系统的核心部分。由 89C52 单片机、时钟、复位电路等组成。(2) 键盘控制部分:这是用户对自动存包柜进行操作的控制面板。由两片 8 位并入串出的移位寄存器芯片 74LS165 和 4*4 键盘组成。通过它可以实现所有的控制功能。键盘功能定义如下表 2-1 所示:表 2-1键盘功能定义表键符功能0-9用来对随机密码的输入存包客户需要存包所按的键取包客户需要取包所按的键确认对输入的数据进行确认清除对输入的数据进行清除以便重新输入(3) 数码显示部分:这是用户对自动存包柜进行操作后,能够显示

16、 6 位随机密码, 由三极管驱动电路驱动数码管显示。由数码显示驱动电路和 6 个数码管组成。(4) 执行部分:这一部分是通过可编程并行接口 8255A 芯片给每一位发送高低电平控制发光二极管的亮灭(柜门的开关)来模拟的。由可编程并行接口 8255A 和 20 个发光二极管构成。第三章 系统硬件电路的设计3.1 自动存包柜的硬件电路图 3-1 自动存包柜的硬件电路自动存包柜硬件电路可以分成四部分组成,它们分别为单片机部分、键盘控制部分(核心芯片为两片 8 位并入串出的移位寄存器芯片 74LS165)、执行部分(核心芯片为可编程并行接口 8255 芯片)和三极管驱动显示部分。元件接线说明:(1)

17、单片机部分:1 脚 P1.0 接 8255 芯片 36 脚为 WR 端;2 脚 P1.1 接74LS165(U3)的 9 脚 QH 为 OUT1 端;3 脚 P1.2 接 8255 芯片的 6 脚为 CS 端;4 脚 P1.3 接 8255 芯片的 5 脚为 RD 端;5、6 脚 P1.4、P1.5 分别接 8255 芯片的 9 脚和 8 脚为A1、A0 端;7 脚 P1.6 接 U3、U4 的 2 脚为 CLK 端;8 脚 P1.7 接 U3、U4 的 1 脚为 SH 端;9 脚接 8255 的 35 脚为 RST 端;1017 脚作为 P3 口分别接 8255 的 2734 脚为 D0D7

18、端;2128 脚 P2.0P2.7 分别接驱动三极管 Q1、Q2、Q3、Q4、Q5、Q6 的基极;3239 脚 P0.0P0.7 分别接限流电阻 R1R7 的一端,限流电阻 R1R7 另一端依次接接数码管的 18 脚为 a、b、c、d、 e、f、g、dp 端;(2) 移位寄存器芯片 74LS165 部分:U4 的 36 脚和 1114 脚分别接按键的一端为 A1A8;9 脚输出端 QH 接 U3 的 10 脚串行输出端 SER;U3 的 36 脚和 1114 脚分别接按键的一端为 B1B8;(3) 可编程并行接口 8255 芯片部分:PA 口只用高四位,PB 口和 PC 口为八位。3740 脚

19、分别接发光二极管的限流电阻 R 的一端为 PA4PA7;1825 脚分别接发光二极管的限流电阻 R 的一端为 PB0PB7 端,1017 脚分别接发光二极管的限流电阻 R 的一端为 PC0PC7 端;(4) 三极管驱动显示部分:驱动三极管 Q1、Q2、Q3、Q4、Q5、Q6 的集电极1H、2H、3H、4H、5H、6H 分别接数码管的 9 脚;发射机都接 5V 电源。3.1.1 单片机 STC89C52 的最小系统的连接电路最小系统包括单片机的基本供电、时钟电路和复位电路。单片机由 5V 电源供电。(1) 时钟和时钟电路:时钟电路是计算机的心脏,它控制着计算机的工作节奏。STC89C52 单片机

20、允许的时钟频率的典型值 12MHz,也可以是 6MHz。本设计采用 12MHz。单片机时钟电路图如图3-2 所示。图 3-2 单片机时钟电路图 3-2 中晶振频率选择 12MHz。接到晶振两端的瓷片电容作用是使振荡器起振和对 f微调补偿,典型值为 30pF。当单片机加电以后延迟约 10ms 的时间振荡器起振产生时钟,不受软件控制(XTAL2 输出幅度为 3V 左右的正弦波)。(2) 复位和复位电路:计算机在启动运行时都需要复位,使中央处理器 CPU 和系统中的其它部件都处于一个确定的初始状态,并从这个状态开始工作。单片机的复位引脚是 RST,当振荡器起振后,该引脚上出现 2 个周期的高电平,是

21、器件复位,只要 RST 保持高电平,单片机保持复位状态。单片机复位方式有二种:上电复位(如图 3-3)、人工复位(如图 3-4)。本设计采用的是图 3-3 上电复位,具体电路如图 3-5 所示。图 3-3 上电复位电路图 3-4 人工复位注:RST 与 Vss 之间的那个电阻在 NMOS 型单片机种需要接,但是在 CMOS 型单片机中不接。其中电容选择 22uF 的电解电容。图 3-5 复位和复位电路3.1.2 键盘控制电路由两片 74LS165、14 个键盘按钮组成。74LS165 是 8 位并入串出的移位寄存器芯片, 是把检测到的按键信号传输给单片机。74LS165 为 8 位移位寄存器(

22、并行输入,互补串行输出)。当移位/置入控制端(SH/LD)为低电平时,并行数据(A-H)被置入寄存器,而时钟(CLK/CLK INH)及串行数据(SER)均无关。当 SH/LD 为高电平时,并行置数功能被禁止。CLK 和 CLK INH 在功能上是等价的,可以交换使用。当 CLK 和 CLK INH 有一个为低电平并且 SH/LD 为高电平时,另一个时钟可以输入。当 CLK 和 CLK INH 有有一个为高电平时,另一个时钟被禁止。只有在 CLK 为高电平时 CLK INH 才可变为高电平。165 有 18 个引脚,一般为双列直插 DIP 封装。引脚图如图 3-6 所示。图 3-6 74LS1

23、65 管脚图165 芯片的移位/置入控制端 SH 接单片机的 P1.7 脚,时钟 CLK 接 P1.6 脚,单片机P1.1 脚接 165 芯片 U3 的输出脚 QH,U4 的输出端 QH 接 U3 的串行数据输入端 SER,A1- A8,B1-B8 分别接按键一端。当键有按下时,74LS165 芯片检测到按键信号,经 U3 的输出端 QH 传输给单片机的 P1.1 脚,单片机根据键盘扫描程序进行处理。键盘控制电路如图 3-7 所示。图 3-7 键盘控制电路3.1.3 数码显示部分利用 7 段共阳极数码管进行显示,数码管与 P0 口的 P0.0P0.7 相连,并接一个10K*8 的排阻,P2 口

24、的 P2.0P2.5 与 6 个 PNP 型三极管的基极相连,6 个 PNP 型三极管作为驱动数码管的驱动部分,当单片机选通某一个片选端时,给对应三极管一个高 低电平,三极管通过饱和、截止来控制数码管的显示。三极管发射极接 5V 电源,集电极分别接数码管的 1H、2H、3H、4H、5H、6H。采用动态扫描方式。电路如图 3-6 所示。假设当单片机的 P2 口全为高电平输出,三极管 Q1Q6 中的基极也全为高电平, 发射极为 5V 也为高电平,三极管 Q1Q6 都截止,集电极为低电平输出,则传到数码管的 1H、2H、3H、4H、5H、6H 端都为低电平,因为数码管是 7 段共阳极数码管,所以6

25、个数码管都有显示。图 3-6 数码显示电路3.1.4 执行部分这一部分是由 8255A 芯片后接 20 个发光二极管来进行模拟实现。发光二极管灯亮,表示柜中有物,反之则柜中无物。8255A 共有 40 个引脚,一般为双列直插 DIP 封装,40 个引脚可分为与 CPU 连接的数据线、地址和控制信号以及与外围设备连接的三个端口线。8255A 的内部结构有以下几部分组成:(1)并行 I/O 端口 A、B、C8255A 的内部有 3 个 8 位并行 I/O 口:A 口、B 口、C口。3 个 I/O 口都可以通过编程选择为输入口或输出口,但在结构和功能上有所不同。A 口:含有一个 8 位数据输出锁存/

26、缓冲器和一个 8 位输入锁存器。B 口:含有一个 8 位数据输出锁存/缓冲器和一个 8 位输入锁存器(不锁存)。C 口:含有一个 8 位数据输出锁存/缓冲器和一个 8 位输入锁存器(不锁存)。当数据传送不需要联络信号时,这 3 个端口都可以用作输入口或输出口。当 A 口 B 口需要有联络信号时,C 口可以作为 A 口和 B 口的联络信号线。管脚图如图 3-7 所示。图 3-7 8255A 管脚图(2)工作方式控制电路:8255A 的三个端口在使用时可分为 A、B 两组。A 组包括A 口 8 位和 C 口高 4 位:B 组包括 B 口 8 位和 C 口低 4 位。两组的控制电路中分别有控制寄存器

27、,根据写入的控制字决定两组的工作方式,也可对 C 口每一位置“1”或清“0”。本设计中,A 口高四位接 4 个发光二极管,B 口、C 口分别接 8 个发光二极管,每个发光二极管对应一个柜子,单片机的 WR、RD、CS 分别与 8255A 相应端口相接,8255A 的 A1A0 为输入端口控制信号,2 位可构成四种状态,分别寻址 A 口、B 口、C 口和控制寄存器,它与单片机的相应端口相接,来控制 A 口 B 口 C 口的寻址,单片机的D0-D7 端口与 8255A 的 D0-D7 口相接。单片机 89C52 通过 8255A 给每一位发送高低电平来控制其亮灭(柜门的开关),从而实现存取包。其电

28、路如图 3-8 所示。图 3-8 执行部分电路图第四章 自动存包柜的软件设计4.1 自动存包柜软件设计4.1.1 自动存包柜主程序图 4-1 自动存包柜主程序流程图图 4-1 是自动存包柜主程序流程图:首先初始化程序,然后调用按键扫描程序进行扫描。存包,中断显示密码;取包,输入密码,判断密码是否正确,然后根据发光二极管的亮暗来判断柜中有无物品。(1) 自动存包柜部分初始化程序如下:unsigned char key_s, key_v;/定义数码管显示段码unsigned char code dis_code12=0x03,0x9f,0x25,0x0d,0x99, / 定义键盘号码 0, 1,

29、2, 3,40x49,0x41,0x1f,0x01,0x09,0xff,0xfd;/定义键盘号码 4, 5, 6, 7, 8, 9, offuchar LED_flag1=0x01; /定义 20 个发光二极管 uchar LED_flag20=0x01;sbit K1 = P36;/定义 P36 为 P3 口的第 7 位sbit K2 = P37;/定义 P37 为 P3 口的第 8 位sbit K3 = P35;/定义 P35 为 P3 口的第 7 位(2) 中断初始化程序:void main(void)P0 = 0xff; P2 = 0xff;TMOD = 0x11;/ 定时器 0, 1

30、 工作模式 1, 16 位定时方式TH0 = 0xFC; TL0 = 0x17; TCON = 0x01;IE = 0x8a;/ 使能 timer0,1 中断TR0 = 1;(3)存包过程自动存包柜的作用决定了它必须具有较好的安全性和可靠性,解决这个问题通用的方法是利用密码核对。即用户存包后,系统能产生一组密码,用户取包时,必须输入这组密码,系统核对正确后,取包才能成功,否则,系统不于响应。首先密码位数需要清零,存包取密码(flagy1=0)时,根据柜号密码存入数组中, 使相对应的发光二极管亮,即存包。程序如下:KSLEE0=KSLEE1=KSLEE2=KSLEE3=KSLEE4=KSLEE5=10;/.密码位数清零KKSM=5;flagy1=0;/显示等待存包状态KKKSJJ=0;/显示密码变量清零while(1)if(MMJS

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2