




已阅读5页,还剩46页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科生毕业设计(论文)本科生毕业设计(论文) 超市存物箱模拟装置设计超市存物箱模拟装置设计 二级学院二级学院 :* 专专 业业 : * 年年 级级 : * 学学 号号 :* 作者姓名作者姓名 : * 指导教师指导教师 : * 完成日期:完成日期:20172017 年年 5 5 月月 15 15 日日 A A 基础理论基础理论 B B 应用研究应用研究 C C 调查报告调查报告 D D 其他其他 超市存物箱模拟装置设计超市存物箱模拟装置设计 AAAA:* AAAA:* AAAA:* 论文答辩小组论文答辩小组 组组 长长: 成成 员员: 论文成绩:论文成绩: 目录目录 1 绪论绪论.1 1.1 研究背景及意义.1 1.2 电子密码锁的发展趋势.1 1.3 设计目标.1 1.4 芯片方案选择.1 2 系统硬件设计系统硬件设计.2 2.1 整体方案设计.2 2.1.1 系统概述及框图.2 2.2 最小系统模块.2 2.2.1STC89C52 简介.2 2.2.2 最小系统电路.3 2.3 液晶显示电路.4 2.3.1 1602 液晶简介.4 2.3.2 液晶显示模块电路.4 2.4 按键输入模块.5 2.5 存储芯片模块电路.6 2.5.1 存储芯片的介绍.6 2.5.2 AT24C02 模块电路图.6 2.6 蜂鸣器模块电路图.7 2.7 继电器模块电路.7 2.8 HX711、压力传感器模块电路图8 3 软件设计软件设计.9 3.1 程序流程图设计.9 3.1.1 总体程序流程图设计.9 3.1.2 液晶程序设计.12 3.1.3 矩阵键盘的扫描流程设计.13 4 电路、程序调试及硬件组装电路、程序调试及硬件组装.15 4.1 软件仿真.15 4.2 电路板设计.18 4.3 元器件的选择与测量.19 5 总结及研究展望总结及研究展望.20 5.1 总结.20 5.2 研究展望.20 参考文献参考文献21 致谢致谢 22 附录附录 23 附录 A 元件清单.23 附录 B 原理图.24 附录 C PCB 图.24 附录 D 实物图.25 附录 E 程序 .25 超市存物箱模拟装置设计超市存物箱模拟装置设计 作者 * 指导老师 * (*,* *) 摘要摘要: :/ STC89C52/ /关/要/ / STC89C52/键/1602/A/D/AT24C02/ /键/ EEPROM/ 100/ / / 关键词关键词:/键/AT24C02;/ Design of Locker Simulator In Supermarket author * Advisor * (School of Information Engineering,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 password 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 different 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 the buzzer would raise the alarm. Keywords:Password lock; Liquid crystal display;Matrix keyboard;Electromagnetic lock;AT24C02;Relay driver;pressure transducer 1 1 1 绪论绪论 1.11.1 研究背景及意义研究背景及意义 随着科技的发展,信息化节奏不断加快,以前的老式机械锁已经不能满足需求而 以程序控制的电子密码锁,具有记忆、辨识、报警等特别的使用功能。基于单片机 的电子密码锁的研究在保护财产和人身安全方面具有深远意义。 1.21.2 电子密码锁的发展趋势电子密码锁的发展趋势 从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁, 相比于键盘式电子密码锁,由数字、字符、图形图像、人体生物特征和时间等要素 构造的密码锁更加安全可靠,组合使用这些信息能够使防盗锁获得高度的保密性, 这样就增加了更高的安全保险性,以后将会朝着这方向深入发展7。 1.31.3 设计设计目标目标 (1)用户存物、用户取物、管理员取物 (2)管理员修改密码、存物时用户密码通过 LCD 显示 (3)存物箱状态指示、自动开关箱、有效按键声音提示、密码输入提示 (4)密码正确提示、密码错误提示 (5)满箱提示 1.41.4 芯片方案选择芯片方案选择 此次设计采用单片机 STC89C52 作为系统控制器。单片机具有可靠性强、性价比 搞、电压低、功耗低、算术运算功能强、软件编程灵活自由度大,可用软件编程实 现各种逻辑功能,本身带有定时器、计数器,可以用来定时和计数,并且其功耗低, 体积小,计数成熟和成本低等优点。 2 2 2 系统硬件设计系统硬件设计 2.12.1 整体方案设计整体方案设计 2.1.12.1.1 系统概述系统概述及框图及框图 整个系统以 STC89C52 单片机为核心器件,配合电阻电容晶振等器件,构成单片 机的最小系统。其它模块围绕着单片机最小系统展开。其中包括,显示设备使用 1602 液晶,进行锁状态和输入密码的显示;密码输入设备采用 4*4 的矩阵键盘,16 个按键的数量足够满足此次设计的要求;密码存储使用 EEPROM 芯片,此次设计使用 的 EEPROM 芯片型号是 AT24C02,通过 IIC 接口和单片机进行数据传输;发音设备采 用有源蜂鸣器,可以发出按键音和报警音;电磁锁采用继电器来驱动;满箱提示使 用压力传感器外部输入和 A/D 放大转换芯片转换至单片机来完成。最后是供电采用 常用的 USB 5V 进行供电、电磁锁供电采用 5V 供电,系统总框架图如图 1 所示 图图 1 1 系统框图系统框图 2.22.2 最小系统模块最小系统模块 2.2.1STC89C522.2.1STC89C52 简介简介 (1)概述 STC89C52 是一个电压低,性能高的单片机,片内含 8k bytes 的可屡次擦写的 Flash 只读程序存储器(ROM)和 256 bytes 的随机存取数据存储器(RAM)。 电源 蜂鸣器模块 继电器模块 密码存储模块电磁锁模块 矩阵键盘模块 单片机 最小系统 1602 液晶模块 AD 数模转换模块 压力传感器模块 3 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 RESET 9 P30/RXD 10 P31/TXD 11 P32/INT0 12 P33/INT1 13 P34/T0 14 P35/T1 15 P36/WR 16 P37/RD 17 XTAL2 18 XTAL1 19 GND 20 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE 30 EA 31 P07 32 P06 33 P05 34 P04 35 P03 36 P02 37 P01 38 P00 39 VCC 40 P10 1 P11 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 RESET 9 P30/RXD 10 P31/TXD 11 P32/INT0 12 P33/INT1 13 P34/T0 14 P35/T1 15 P36/WR 16 P37/RD 17 XTAL2 18 XTAL1 19 GND 20 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE 30 EA 31 P07 32 P06 33 P05 34 P04 35 P03 36 P02 37 P01 38 P00 39 VCC 40 U1 STC89C52 12 X1 12M C2 30pF C3 30pF GND GND VCC VCC 1 2 3 4 5 6 7 8 9 R1103 C1 10uF R3 10K GND VCC D0 D1 D2 D3 D4 D5 D6 D7 RS RW EN bp relay SCL SDA P10 P11 P12 P13 P14 P15 P16 P17 STC89C52 有 40 个引脚,32 个外部双向输入/输出(I/O)端口,同时内含 2 个 外中断口,3 个 16 位可编程定时计数器,2 个全双工串行通信口,2 个读写口线。引 脚如图 2 所示13。 图图 2 2 STC89C52STC89C52 引脚图引脚图 2.2.22.2.2 最小系统电路最小系统电路 STC89C52 的最小系统如图 3 所示,整个最小系统由三个部分组成,晶振电路部 分、复位电路部分、电源电路等三个部分组成。最后一个是电源部分,采用 5V 的 USB 直接供电,可采用充电宝、电脑 USB 口、移动电源等设备进行供电。此外,除 了单片机最小系统的 3 个部分之外,这里还多了一些外部电路。由于 STC89C52 的 P0 口是漏极开路输出,因此在 P0 口接了一个 10K 的排阻 R1,使得 P0 口可以作为普 通的 I/O 口使用,此次设计用 P0 口来做液晶的数据口。 图图 3 3 单片机最小系统单片机最小系统 4 2.32.3 液晶显示电路液晶显示电路 2.3.12.3.1 16021602 液晶简介液晶简介 液晶显示器是一种显示器件,具有小体积、轻重量、低功耗等特点。本系统显 示采用了工业字符型液晶模块 1602,可显示 2 行 16 个字符,能方便显示英文字母 大小写、阿拉伯数字、常用符号等,通过自定义还可显示简单的汉字。可以显示 2 行标准字符,每行共有 16 个字符。尺寸、引脚说明如图 4、表 1 所示8。 图图 4 4 液晶尺寸说明液晶尺寸说明 表表 1 1 液晶引脚说明液晶引脚说明 符号符号引脚说明引脚说明符号符号引脚说明引脚说明 VSS 电源地 D2 数据 VDD 电源正极 D3 数据 VL 液晶显示偏压 D4 数据 RS 数据/命令选 择 D5 数据 R/W 读/写选择 D6 数据 E 使能信号 D7 数据 D0数据 BLA 背光源正极 D1数据 BLK 背光源负极 2.3.22.3.2 液晶显示模块电路液晶显示模块电路 液晶模块的电路的连接图如图 5 所示,第 1 脚和第 2 脚分别接到电路的 GND 和 VCC,这 2 个脚是液晶工作的电源输入脚。第 3 脚通过一个 10K 的电位器连接到地端, 可通过调节该电位器来调节液晶的对比度。第 4 脚是液晶的寄存器选择管脚,接到 单片机的 P2.7 脚上。第 5 脚是液晶的读写信号管脚,接到单片机的 P2.6 脚上。第 6 脚是液晶的使能管脚,接到单片机的 P2.5 脚上。第 7 脚到第 14 脚是液晶的 8 位 5 GND GND VCC VCC RS RW EN D0 D1 D2 D3 D4 D5 D6 D7 R2 103 GND VSS 1 VCC 2 VO 3 RS 4 RW 5 EN 6 D0 7 D1 8 D2 9 D3 10 D4 11 D5 12 D6 13 D7 14 A 15 K 16 LCD 1602 LCD1 1602 P10 P11 P12 P13 P14 P15 P16 P17 双向数据线,接到了单片机的 P0 口上。第 15 脚和第 16 脚是液晶的背光电源脚, 接 VCC 和 GND。当使用不带背光的模块时,这两个引脚悬空不接。 图图 5 5 液晶模块连接图液晶模块连接图 2.42.4 按键输入模块按键输入模块 由于此次设计输入参数较多、功能较复杂,因此采用 4*4 的矩阵键盘,如图 6 所示。只需占用 8 个单片机的 IO 口,就可以实现对 16 个按键的检测。在 16 个按键 中,除了 0-9 这 10 个数字键之外,还有删除、取消、确定、手动关锁、修改密码、 管理员密码等 6 个功能按键。 按键识别采用两步扫描判别法:首先判别按键所在的行,由 P1 口向键盘输出列 扫描,然后读入行线状态来判断,然后判别按键所在的列,由 P1 口向键盘输出行扫 描,然后读入列线状态来判断,最后将行和列的状态相或得到一个值,再把该值取 反得到该位置的键值10。 图图 6 6 矩阵按键电路矩阵按键电路 6 2.52.5 存储芯片模块电路存储芯片模块电路 2.5.12.5.1 存储芯片的介绍存储芯片的介绍 主要特性如图 7、表 2、表 3 所示11。 图图 7 7 AT24C02AT24C02 封装图封装图 表表 2 2 AT24C02AT24C02 引脚说明引脚说明 引脚名称引脚名称引脚功能引脚功能 A0-A2 器件地址输入 SDA 串行数据输入输出 SCL 串行时钟输入 WP 写保护 VCC 电源 GND 地 表表 3 3 AT24C02AT24C02 主要功能主要功能 2.5.22.5.2 AT24C02AT24C02 模块电路图模块电路图 存储芯片 AT24C02 模块的电路的连接图如图 8 所示,第 4 脚和第 8 脚分别接到 了电路的 GND 和 VCC,这两个脚是芯片工作的电源、地输入脚;1、2、3 引脚都连接 到了 GND,因此芯片的 7 位二进制地址是 1010000;芯片的第 7 引脚接到了 GND,可 以进行正常的读写操作,接到 VCC 时启动写保护功能。最后由于 AT24C02 芯片的 工作电压: 1.8V5.5 输入引脚经施密特触发器滤波 抑制噪声 支持硬件写 保护 输入/输出引脚 兼容 5V 双向数据传输协议高可靠性 读写次数 1000000 次, 数据保存 100 年 二线串行接口兼容 400KHz(1.8V,2.5V,2.7V,3.6 V) 应用在内部 结构: 256*8(2k) 7 A0 1 A1 2 A2 3 GND 4 SDA 5 SCL 6 WP 7 VCC 8 U2 AT24C02 R4 10K R5 10K VCC SCL SDA VCC Q1 8550 GND VCC BEEP1 bp SCL 和 SDA 是漏极开路设计,因此在连接到单片机的同时,还要加上 2 个 10K 的上 拉电阻 1。 图图 8 8 存储芯片存储芯片 AT24C02AT24C02 模块电路模块电路 2.62.6 蜂鸣器模块蜂鸣器模块电路图电路图 此次设计使用的是有源蜂鸣器。由于蜂鸣器工作时,需要的电流比较大,单片 机的 IO 口输出的电流又比较小,所以这里利用三极管的开关管功能来控制蜂鸣器发 音,选用的三极管型号是 PNP 三极管 S8550,而且选用的蜂鸣器属于有源蜂鸣器, 即在蜂鸣器内部已经内置了震荡电路,单片机无需连续发出高低电平来驱动它,而 只要输出高(或低)电平即可,这大大简化了单片机程序的设计。由于选用的是 PNP 型而单片机上电 IO 口默认是高电平的,所以上电时蜂鸣器是不会发出鸣叫的。 蜂鸣器电路如图 9 所示。 图图 9 9 蜂鸣器电路蜂鸣器电路 2.72.7 继电器模块电路继电器模块电路 此次设计中采用的继电器属于电磁式继电器。继电器模块的电路如图 10 所示。 继电器使用的是 5V 电压触发的。由于继电器由导通到关断瞬间,由于工作线圈有电 感的性质,所以会在继电器的线圈的低电压端产生一个瞬间电压尖峰,通常能高达 8 Q2 S8550 D2 1N4148 GND VCC J2D1 LED R6 1K relay Relay1 数十倍的线圈额定工作电压。所以这里接入一个二极管在继电器两端,因为二极管 的负端通常接到 VCC,因此电压尖峰将被抑制。保护了板上的电子元件。当单片机 的 IO 口给 PNP 三极管 Q2 一个低电平后后,三极管导通,继电器供电,因此继电器 从断开变为闭合,继而给连接到 J2 的电磁锁上电,最终达到单片机控制电磁锁的效 果。为了更加形象的感受到电磁锁被打开,此外还加了一个发光二极管作为电磁锁 打开的指示灯6。 图图 1010 继电器电路继电器电路 2.82.8 HX711HX711、压力传感器模块电路图、压力传感器模块电路图 此次设计满箱提示功能是当存物箱过满且放不进去时,给存物的人以报警声音 提示,存物时,如果存物过满必然会对箱壁有挤压力。在程序上设置一个压力值, 如果外部压力传感器采集的压力值大于设置的压力值,证明存物箱存物过满,蜂鸣 器报警给存物的人提示。所以设计上采用外部压力传感器输入,但是外部压力传感 器采集的压力信号输出较小,单片机并不能识别压力传感器输出的信号,所以采用 A/D 转换芯片 HX711 将外部压力传感器采集的压力信号传到 A/D 转换芯片 HX711 进 行增益放大,再经过 A/D 转换芯片 HX711 转换成数字信号,再传到单片机上。电路 图如图 12 所示压力传感器是采用四个应变电阻封装构成引出来的四根线分别是电源 E+、地 E-、信号 A+、信号 A-,并分别接到 A/D 转换芯片 HX711 的 E+、E-、A+、A-端, 最后 A/D 转换芯片 HX711 的信号 DT、信号 SCK 分别接到单片机的 IO 口,HX711 芯片 管脚如图 11 所示。 9 图图 1111 HX711HX711 芯片管脚芯片管脚 图图 1212 HX711HX711、压力传感器模块电路图、压力传感器模块电路图 3 3 软件设计软件设计 3.13.1 程序流程图设计程序流程图设计 3.1.13.1.1 总体程序流程图设计总体程序流程图设计 系统的软件总流程图如图 13 所示,最开始先进行液晶的初始化,包括液晶功能 初始化和液晶显示内容初始化。接着就进行密码初始化,包括检查密码存储芯片是 不是新的,并且把密码从存储芯片读取到单片机,保存在一个数组里面。完成初始 化之后,就开始进行矩阵键盘的扫描,并根据不同的按键扫描返回值,进行不同的 任务处理,这些任务基本包括开锁密码判断、密码错误报警、修改密码、管理员恢 复密码等。 10 保存新密码 图图 1313 程序流程图程序流程图 开始 液晶初始化 密码初始化 输入密码 密码类型? 正确? 管理员密码 报警 恢复初始密码 否 是 解锁密码 正确?错误计次加 1 否 错 3 次? 锁键盘 1 分钟并报警 是 否 执行开锁操作 修改密码? 是 修改密码程序 是 结束 否 报警 执行满箱提示 11 程序设计流程说明:首先进行液晶初始化、密码初始化。判断密码输入类型, 如果是解锁密码,且输入密码正确,执行开锁操作,并且启动外部压力传感器输入 有效,执行满箱提示。如果输入错误,错误次数达到三次,锁住键盘 1 分钟并报警。 如果输入的密码类型是管理密码,且输入正确,则恢复初始化密码,错误则报警。 如果修改密码,必须在输入解锁密码输入正确,输入新密码,修改密码成功,并保 存新密码。部分代码如下: 1602 液晶初始化代码: void LcdInit() LcdWriteCmd(0x38); / 16*2 显示,5*7 点阵,8 位数据口 LcdWriteCmd(0x0C); / 开显示 LcdWriteCmd(0x06); / 地址加 1 LcdWriteCmd(0x01); / 清屏 密码初始化代码 void CodeInit() uchar dat,i; 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); 12 是 显示一个字符 定位行列坐标 液晶初始化 for(i=0;i= 0) yali2 = (unsigned long)(float)yali2/GapValue); /计算实际压力值 else yali2 = 0; /获取压力 2 void Get_yali1() yali1 = HX711_Read(); 36 / 毫秒级的延时函数,time 是要延时的毫秒数 void DelayMs(uint time) uint i,j; for(i=0;i0) / 如果当前已经有输入密码了 column-; / 光标退回上一个位置 LcdGotoXY(row,column); 38 LcdWriteData( ); / 显示空格 LcdGotoXY(row,column); / 光标退回上一个位置 inputNum-; / inputNum 减 1,代表当前的密码删掉了一位 ArrCodeBuffinputNum= ; / 清除一位密码缓冲区 while(KeyScanf()!=99); / 等待按键释放 /* 清除全部密码 */ if(keyVal=11) / 如果取消键被按下 ClearCodeBuff(); / 清除密码缓冲区 if(inputMode=1) / 如果当前正在输入解锁密码 LcdGotoXY(1,0); / 光标定位 LcdPrintStr(“password: “);/ 液晶第 1 行显示“Password: ” LcdGotoXY(1,9); / 光标定位 if(inputMode=2) / 如果当前正在输入修改密码 1 LcdGotoXY(0,0); / 光标定位 LcdPrintStr(“ input1: “);/ 液晶第 0 行显示“input1: ” LcdGotoXY(0,8); / 光标定位 if(inputMode=3) / 如果当前正在输入修改密码 2 LcdGotoXY(1,0); / 光标定位 LcdPrintStr(“ input2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年冷链物流特种货物配送服务合同范本
- 2025年度企业级VIP会员专项增值服务合同
- 2025年绿色建筑节能改造项目合作协议
- 2025年度项目进度监控与报告协议书:智能建筑安装工程合同履行
- 2025年城市景观照明设施广告位使用权转移协议
- 2025年慢性病防治中心医疗设备定制研发与供应合同
- 2025年度创新药物合成技术委托加工与质量控制合同
- 2025年定制化小型厂房租赁及个性化装修配套协议
- 2025数字博物馆互动展示系统研发与实施服务合同
- 二零二五版航空器材采购合同预付款协议
- 2025-2026秋季学年第一学期教导处工作安排表
- 2025山东菏泽郓城县人民医院招聘合同制护理人员60人笔试备考试题及答案解析
- 2025四川绵阳市建设工程质量检测中心有限责任公司市场部业务拓展员岗招聘1人笔试备考试题及答案解析
- 2025年秋季开学全体教师大会校长讲话:践行“六个学会”做学生生命中的那束光
- 广东省东莞市2024-2025学年七年级下学期期末语文试题(含答案)
- 项目成本预算管理制度
- 2025年成都教师招聘考试教育公共基础知识真题及答案
- 中学语文教学资源开发与利用指南
- 2025年材料管理岗位考试题库
- 年级主任职责详解及管理要点
- 储能项目投资测算方案
评论
0/150
提交评论