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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(超市存物箱模拟装置设计-本科毕业论文终稿Word文件下载.docx)为本站会员(聆听****声音)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

超市存物箱模拟装置设计-本科毕业论文终稿Word文件下载.docx

1、3.1 程序流程图设计93.1.1 总体程序流程图设计93.1.2 液晶程序设计123.1.3 矩阵键盘的扫描流程设计134 电路、程序调试及硬件组装154.1 软件仿真154.2 电路板设计184.3 元器件的选择与测量195 总结及研究展望205.1 总结205.2 研究展望20参考文献21致谢22附录23附录 A 元件清单23附录 B 原理图24附录 C PCB 图24附录 D 实物图25附录 E 程序25作者*指导老师*(*,* *)摘要:此次设计以 STC89C52 单片机为核心,配以相应硬件电路,完成密码的设置、存储、识别、驱动继电器执行完成电磁锁的开关、通过压力传感器完成满箱提示

2、等功能,主要硬件包括 STC89C52、蜂鸣器、矩阵键盘、1602 液晶、电磁锁、A/D 转换模块、压力传感器、AT24C02。单片机接收键入的密码,并与保存在 EEPROM 中的六位密码进行比较,六位密码有 100 万组不同的组合可以随便改变,保密性极高,如果密码无误,则驱动电磁执行器电磁锁开锁;如果密码输入不正确,则单片机通过通信线路向蜂鸣器发出报警信号。关键词:密码锁;液晶;矩阵键盘;电磁锁;AT24C02;继电器;压力传感器Design of Locker Simulator In Supermarketauthor *Advisor *(School of Information E

3、ngineering,Lingnan Normal University,ZhanJiang,524048 China)Abstract:With STC89C52 microcontroller as the core,the hardware circuits of the design including alarm buzzer,matrix keyboard,LCD1602,electromagnetic lock,ADC module,pressure transducer and AT24C02.This design achieves the functions of pass

4、word setting,identification and storage, and the operations of rely driver and electromagnetic lock as well as the trumkful prompt of its pressure transducer.The single-chip microcomputer will receive the password and compare it with the six-bit password stored in EEPROM.There are one million differ

5、ent combinations of the six-bit password that can be changed at random,which provides a sound confidentiality.If the password were correct,the single-chip microcomputer would drive the open of electromagnetic lock;otherwise, SCM would send out the signal of alarming through communication line and th

6、e buzzer would raise the alarm.Keywords:Password lock; Liquid crystal display;Matrix keyboard;Electromagnetic lock;Relay driver;pressure transducer1 绪论1.1 研究背景及意义随着科技的发展,信息化节奏不断加快,以前的老式机械锁已经不能满足需求而以程序控制的电子密码锁,具有记忆、辨识、报警等特别的使用功能。基于单片机的电子密码锁的研究在保护财产和人身安全方面具有深远意义。1.2 电子密码锁的发展趋势从目前的技术水平和市场认可程度看,使用最为广泛的是

7、键盘式电子密码锁, 相比于键盘式电子密码锁,由数字、字符、图形图像、人体生物特征和时间等要素构造的密码锁更加安全可靠,组合使用这些信息能够使防盗锁获得高度的保密性, 这样就增加了更高的安全保险性,以后将会朝着这方向深入发展7。1.3 设计目标(1) 用户存物、用户取物、管理员取物(2) 管理员修改密码、存物时用户密码通过 LCD 显示(3) 存物箱状态指示、自动开关箱、有效按键声音提示、密码输入提示(4) 密码正确提示、密码错误提示(5) 满箱提示1.4 芯片方案选择此次设计采用单片机 STC89C52 作为系统控制器。单片机具有可靠性强、性价比搞、电压低、功耗低、算术运算功能强、软件编程灵活

8、自由度大,可用软件编程实 现各种逻辑功能,本身带有定时器、计数器,可以用来定时和计数,并且其功耗低, 体积小,计数成熟和成本低等优点。462 系统硬件设计2.1 整体方案设计2.1.1 系统概述及框图整个系统以 STC89C52 单片机为核心器件,配合电阻电容晶振等器件,构成单片机的最小系统。其它模块围绕着单片机最小系统展开。其中包括,显示设备使用电源蜂鸣器模块单片机最小系统1602 液晶模块1602 液晶,进行锁状态和输入密码的显示;密码输入设备采用 4*4 的矩阵键盘,16 个按键的数量足够满足此次设计的要求;密码存储使用 EEPROM 芯片,此次设计使用的 EEPROM 芯片型号是 AT

9、24C02,通过 IIC 接口和单片机进行数据传输;发音设备采用有源蜂鸣器,可以发出按键音和报警音;电磁锁采用继电器来驱动;满箱提示使用压力传感器外部输入和 A/D 放大转换芯片转换至单片机来完成。最后是供电采用常用的 USB 5V 进行供电、电磁锁供电采用 5V 供电,系统总框架图如图 1 所示AD 数模转换模块矩阵键盘模块密码存储模块电磁锁模块图 1 系统框图继电器模块压力传感器模块2.2 最小系统模块2.2.1 STC89C52 简介(1)概述STC89C52 是一个电压低,性能高的单片机,片内含 8k bytes 的可屡次擦写的Flash 只读程序存储器(ROM)和 256 bytes

10、 的随机存取数据存储器(RAM)。STC89C52 有 40 个引脚,32 个外部双向输入/输出(I/O)端口,同时内含 2 个1P10VCC2P11P003P12P014P13P025P14P036P15P047P16P058P17P069RESETP0710P30/RXDEA11P31/TXD ALE12P32/INT0PSEN13P33/INT1P2714P34/T0P2615P35/T1 P2516P36/WRP2417P37/RDP2318XTAL2P2219XTAL1P2120GNDP20外中断口,3 个 16 位可编程定时计数器,2 个全双工串行通信口,2 个读写口线。引脚如图

11、2 所示13。 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21图 2 STC89C52 引脚图2.2.2 最小系统电路STC89C52 的最小系统如图 3 所示,整个最小系统由三个部分组成,晶振电路部分、复位电路部分、电源电路等三个部分组成。最后一个是电源部分,采用 5V 的USB 直接供电,可采用充电宝、电脑 USB 口、移动电源等设备进行供电。此外,除了单片机最小系统的 3 个部分之外,这里还多了一些外部电路。由于 STC89C52 的P0 口是漏极开路输出,因此在 P0 口接了一个 10K 的排阻 R1,使得 P0

12、口可以作为普通的 I/O 口使用,此次设计用 P0 口来做液晶的数据口。C1 10uFR3 10KP10 1P11 2P12 3P13 4P14 5P15 6P16 7P17 8relay 12 bp X1P10 P11 P12 P13 P14 P15 P16 P17 RESETP30/RXD P31/ TXD P32/ INT0 P33/INT1 P34/T0 P35/ T1 P36/ WR P37/RD XTAL2 XTAL1 GNDSTC89C52VCC P00 P01 P02 P03 P04 P05 P06 P07 EAPSEN 29 ALE 30P27 28P26 27P25 26P

13、24 25P23 24P22 23P21 2212MP20 21C2 30pFC3 30pF图 3 单片机最小系统4039D038D137D236D335D434D533D632D731U1R1 103RS RW ENSDA SCL2.3 液晶显示电路2.3.1 1602 液晶简介液晶显示器是一种显示器件,具有小体积、轻重量、低功耗等特点。本系统显示采用了工业字符型液晶模块 1602,可显示 2 行 16 个字符,能方便显示英文字母大小写、阿拉伯数字、常用符号等,通过自定义还可显示简单的汉字。可以显示 2 行标准字符,每行共有 16 个字符。尺寸、引脚说明如图 4、表 1 所示8。图 4 液晶

14、尺寸说明表 1 液晶引脚说明符号引脚说明VSS电源地数据VDD电源正极VL液晶显示偏压RS数据/命令选择R/W读/写选择E使能信号BLA背光源正极BLK背光源负极2.3.2 液晶显示模块电路液晶模块的电路的连接图如图 5 所示,第 1 脚和第 2 脚分别接到电路的 GND 和VCC,这 2 个脚是液晶工作的电源输入脚。第 3 脚通过一个 10K 的电位器连接到地端, 可通过调节该电位器来调节液晶的对比度。第 4 脚是液晶的寄存器选择管脚,接到单片机的 P2.7 脚上。第 5 脚是液晶的读写信号管脚,接到单片机的 P2.6 脚上。第6 脚是液晶的使能管脚,接到单片机的 P2.5 脚上。第 7 脚

15、到第 14 脚是液晶的 8 位双向数据线,接到了单片机的 P0 口上。第 15 脚和第 16 脚是液晶的背光电源脚, 接 VCC 和 GND。当使用不带背光的模块时,这两个引脚悬空不接。LCD1 4 RS 5 RW 6 EN 7 D0 8 D1 9 D2 10 D3 11 D4 12 D5 13 D6 14 D7 151602VSS VCC VO RS RW EN D0 D1 D2 D3 D4 D5 D6 D7 AKLCD 1602R2 103图 5 液晶模块连接图2.4 按键输入模块由于此次设计输入参数较多、功能较复杂,因此采用 4*4 的矩阵键盘,如图 6 所示。只需占用 8 个单片机的

16、IO 口,就可以实现对 16 个按键的检测。在 16 个按键中,除了 0-9 这 10 个数字键之外,还有删除、取消、确定、手动关锁、修改密码、管理员密码等 6 个功能按键。按键识别采用两步扫描判别法:首先判别按键所在的行,由 P1 口向键盘输出列扫描,然后读入行线状态来判断,然后判别按键所在的列,由 P1 口向键盘输出行扫描,然后读入列线状态来判断,最后将行和列的状态相或得到一个值,再把该值取反得到该位置的键值10。P10 P11 P12 P13 P14 P15 P16 P17图 6 矩阵按键电路2.5 存储芯片模块电路2.5.1 存储芯片的介绍主要特性如图 7、表 2、表 3 所示11。图

17、 7 AT24C02 封装图表 2 AT24C02 引脚说明引脚名称引脚功能A0-A2 SDA SCL WP VCC GND器件地址输入 串行数据输入输出串行时钟输入写保护地表 3 AT24C02 主要功能工作电压:输入引脚经施密特触发器滤波支持硬件写1.8V5.5抑制噪声保护输入/输出引脚双向数据传输协议高可靠性兼容 5V读写次数1000000 次,数据保存 100年二线串行接口兼容应用在内部400KHz(1.8V,2.5V,2.7V,3.6结构:V)256*8(2k)2.5.2 AT24C02 模块电路图存储芯片 AT24C02 模块的电路的连接图如图 8 所示,第 4 脚和第 8 脚分别

18、接到了电路的 GND 和 VCC,这两个脚是芯片工作的电源、地输入脚;1、2、3 引脚都连接到了 GND,因此芯片的 7 位二进制地址是 1010000;芯片的第 7 引脚接到了 GND,可以进行正常的读写操作,接到 VCC 时启动写保护功能。最后由于 AT24C02 芯片的SCL 和 SDA 是漏极开路设计,因此在连接到单片机的同时,还要加上 2 个 10K 的上拉电阻 1。U2 8 AT24C02R4R510K10KA0VCCA1WPA2SCL GND SDASCL SDA图 8 存储芯片 AT24C02 模块电路2.6 蜂鸣器模块电路图此次设计使用的是有源蜂鸣器。由于蜂鸣器工作时,需要的

19、电流比较大,单片机的 IO 口输出的电流又比较小,所以这里利用三极管的开关管功能来控制蜂鸣器发音,选用的三极管型号是 PNP 三极管 S8550,而且选用的蜂鸣器属于有源蜂鸣器, 即在蜂鸣器内部已经内置了震荡电路,单片机无需连续发出高低电平来驱动它,而只要输出高(或低)电平即可,这大大简化了单片机程序的设计。由于选用的是PNP 型而单片机上电 IO 口默认是高电平的,所以上电时蜂鸣器是不会发出鸣叫的。蜂鸣器电路如图 9 所示。bpQ1 8550BEEP1图 9 蜂鸣器电路2.7 继电器模块电路此次设计中采用的继电器属于电磁式继电器。继电器模块的电路如图 10 所示。继电器使用的是 5V 电压触

20、发的。由于继电器由导通到关断瞬间,由于工作线圈有电感的性质,所以会在继电器的线圈的低电压端产生一个瞬间电压尖峰,通常能高达数十倍的线圈额定工作电压。所以这里接入一个二极管在继电器两端,因为二极管的负端通常接到 VCC,因此电压尖峰将被抑制。保护了板上的电子元件。当单片机的 IO 口给 PNP 三极管 Q2 一个低电平后后,三极管导通,继电器供电,因此继电器从断开变为闭合,继而给连接到 J2 的电磁锁上电,最终达到单片机控制电磁锁的效果。为了更加形象的感受到电磁锁被打开,此外还加了一个发光二极管作为电磁锁打开的指示灯6。relayQ2 S8550D1 LEDJ2D2 1N4148Relay1R6

21、 1K图 10 继电器电路2.8 HX711、压力传感器模块电路图此次设计满箱提示功能是当存物箱过满且放不进去时,给存物的人以报警声音提示,存物时,如果存物过满必然会对箱壁有挤压力。在程序上设置一个压力值, 如果外部压力传感器采集的压力值大于设置的压力值,证明存物箱存物过满,蜂鸣器报警给存物的人提示。所以设计上采用外部压力传感器输入,但是外部压力传感器采集的压力信号输出较小,单片机并不能识别压力传感器输出的信号,所以采用A/D 转换芯片 HX711 将外部压力传感器采集的压力信号传到 A/D 转换芯片 HX711 进行增益放大,再经过 A/D 转换芯片 HX711 转换成数字信号,再传到单片机

22、上。电路图如图 12 所示压力传感器是采用四个应变电阻封装构成引出来的四根线分别是电源E+、地 E-、信号 A+、信号 A-,并分别接到 A/D 转换芯片 HX711 的 E+、E-、A+、A-端, 最后 A/D 转换芯片 HX711 的信号 DT、信号 SCK 分别接到单片机的 IO 口,HX711 芯片 管脚如图 11 所示。图 11 HX711 芯片管脚图 12 HX711、压力传感器模块电路图3 软件设计3.1 程序流程图设计3.1.1 总体程序流程图设计系统的软件总流程图如图 13 所示,最开始先进行液晶的初始化,包括液晶功能初始化和液晶显示内容初始化。接着就进行密码初始化,包括检查

23、密码存储芯片是不是新的,并且把密码从存储芯片读取到单片机,保存在一个数组里面。完成初始化之后,就开始进行矩阵键盘的扫描,并根据不同的按键扫描返回值,进行不同的任务处理,这些任务基本包括开锁密码判断、密码错误报警、修改密码、管理员恢复密码等。正确? 否是恢复初始密码报警修改密码?是开始液晶初始化解锁密码密码类型?管理员密码否错 3 次?否结束图 13 程序流程图保存新密码错误计次加 1输入密码执行开锁操作修改密码程序锁键盘 1 分钟并报警执行满箱提示密码初始化程序设计流程说明:首先进行液晶初始化、密码初始化。判断密码输入类型, 如果是解锁密码,且输入密码正确,执行开锁操作,并且启动外部压力传感器

24、输入 有效,执行满箱提示。如果输入错误,错误次数达到三次,锁住键盘 1 分钟并报警。如果输入的密码类型是管理密码,且输入正确,则恢复初始化密码,错误则报警。 如果修改密码,必须在输入解锁密码输入正确,输入新密码,修改密码成功,并保 存新密码。部分代码如下:1602 液晶初始化代码: void LcdInit()LcdWriteCmd(0x38);/ 16*2 显示,5*7 点阵,8 位数据口LcdWriteCmd(0x0C);/ 开显示LcdWriteCmd(0x06);/ 地址加 1LcdWriteCmd(0x01);/ 清屏密码初始化代码void CodeInit()uchar dat,i

25、; dat=IIcReadDat(10); if(dat!=88)IIcWriteDat(0,1);/ 给 AT24C02 第 0 个内存写入第一个密码“1” IIcWriteDat(1,2);/给 AT24C02 第 1 个内存写入第一个密码“2” IIcWriteDat(2,3);/给 AT24C02 第 2 个内存写入第一个密码“3” IIcWriteDat(3,4);/给 AT24C02 第 3 个内存写入第一个密码“4” IIcWriteDat(4,5);/给 AT24C02 第 4 个内存写入第一个密码“5” IIcWriteDat(5,6);/给 AT24C02 第 5 个内存写入第一个密码“6” IIcWriteDat(10,88);for(i=0;i6;i+)ArrCodeUnlocki=IIcReadDat(i);3.1.2 液晶程序设计程序流程说明:首先进行液晶初

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

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