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

上传人:聆听****声音 文档编号:706759 上传时间:2023-04-29 格式:DOCX 页数:51 大小:622.80KB
下载 相关 举报
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第1页
第1页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第2页
第2页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第3页
第3页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第4页
第4页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第5页
第5页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第6页
第6页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第7页
第7页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第8页
第8页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第9页
第9页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第10页
第10页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第11页
第11页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第12页
第12页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第13页
第13页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第14页
第14页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第15页
第15页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第16页
第16页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第17页
第17页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第18页
第18页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第19页
第19页 / 共51页
超市存物箱模拟装置设计-本科毕业论文终稿.docx_第20页
第20页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

《超市存物箱模拟装置设计-本科毕业论文终稿.docx》由会员分享,可在线阅读,更多相关《超市存物箱模拟装置设计-本科毕业论文终稿.docx(51页珍藏版)》请在冰点文库上搜索。

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

○A基础理论

●B应用研究

○C调查报告

○D其他

本科生毕业设计(论文)

超市存物箱模拟装置设计

二级学院:

*******专 业:

*******

年 级:

*****

学 号:

******作者姓名:

***

指导教师:

******

完成日期:

2017年5月15日

超市存物箱模拟装置设计

专业名称:

***作者姓名:

****指导教师:

****

论文答辩小组

组 长:

成 员:

论文成绩:

目录

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.11602液晶简介 4

2.3.2液晶显示模块电路 4

2.4按键输入模块 5

2.5存储芯片模块电路 6

2.5.1存储芯片的介绍 6

2.5.2AT24C02模块电路图 6

2.6蜂鸣器模块电路图 7

2.7继电器模块电路 7

2.8HX711、压力传感器模块电路图 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

附录CPCB图 24

附录D实物图 25

附录E程序 25

超市存物箱模拟装置设计

作者 *** 指导老师 ***

(*********,******)

摘要:

此次设计以STC89C52单片机为核心,配以相应硬件电路,完成密码的设置、存储、识别、驱动继电器执行完成电磁锁的开关、通过压力传感器完成满箱提示等功能,主要硬件包括STC89C52、蜂鸣器、矩阵键盘、1602液晶、电磁锁、A/D转换模块、压力传感器、AT24C02。

单片机接收键入的密码,并与保存在EEPROM中的六位密码进行比较,六位密码有100万组不同的组合可以随便改变,保密性极高,如果密码无误,则驱动电磁执行器电磁锁开锁;如果密码输入不正确,则单片机通过通信线路向蜂鸣器发出报警信号。

关键词:

密码锁;液晶;矩阵键盘;电磁锁;AT24C02;继电器;压力传感器

DesignofLockerSimulatorInSupermarket

author**** Advisor****

(SchoolofInformationEngineering,LingnanNormalUniversity,ZhanJiang,524048China)

Abstract:

WithSTC89C52microcontrollerasthecore,thehardwarecircuitsofthedesignincludingalarmbuzzer,matrixkeyboard,LCD1602,electromagneticlock,ADCmodule,pressuretransducerandAT24C02.Thisdesignachievesthefunctionsofpasswordsetting,identificationandstorage,andtheoperationsofrelydriverandelectromagneticlockaswellasthetrumkfulpromptofitspressuretransducer.Thesingle-chipmicrocomputerwillreceivethepasswordandcompareitwiththesix-bitpasswordstoredinEEPROM.Thereareonemilliondifferentcombinationsofthesix-bitpasswordthatcanbechangedatrandom,whichprovidesasoundconfidentiality.Ifthepasswordwerecorrect,thesingle-chipmicrocomputerwoulddrivetheopenofelectromagneticlock;otherwise,SCMwouldsendoutthesignalofalarmingthroughcommunicationlineandthebuzzerwouldraisethealarm.

Keywords:

Passwordlock;Liquidcrystaldisplay;Matrixkeyboard;Electromagneticlock;AT24C02;Relaydriver;pressuretransducer

1绪论

1.1研究背景及意义

随着科技的发展,信息化节奏不断加快,以前的老式机械锁已经不能满足需求而以程序控制的电子密码锁,具有记忆、辨识、报警等特别的使用功能。

基于单片机的电子密码锁的研究在保护财产和人身安全方面具有深远意义。

1.2电子密码锁的发展趋势

从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,相比于键盘式电子密码锁,由数字、字符、图形图像、人体生物特征和时间等要素构造的密码锁更加安全可靠,组合使用这些信息能够使防盗锁获得高度的保密性,这样就增加了更高的安全保险性,以后将会朝着这方向深入发展[7]。

1.3设计目标

(1)用户存物、用户取物、管理员取物

(2)管理员修改密码、存物时用户密码通过LCD显示

(3)存物箱状态指示、自动开关箱、有效按键声音提示、密码输入提示

(4)密码正确提示、密码错误提示

(5)满箱提示

1.4芯片方案选择

此次设计采用单片机STC89C52作为系统控制器。

单片机具有可靠性强、性价比搞、电压低、功耗低、算术运算功能强、软件编程灵活自由度大,可用软件编程实现各种逻辑功能,本身带有定时器、计数器,可以用来定时和计数,并且其功耗低,体积小,计数成熟和成本低等优点。

46

2系统硬件设计

2.1整体方案设计

2.1.1系统概述及框图

整个系统以STC89C52单片机为核心器件,配合电阻电容晶振等器件,构成单片机的最小系统。

其它模块围绕着单片机最小系统展开。

其中包括,显示设备使用

电源

蜂鸣器模块

单片机最小系统

1602液晶模块

1602液晶,进行锁状态和输入密码的显示;密码输入设备采用4*4的矩阵键盘,16个按键的数量足够满足此次设计的要求;密码存储使用EEPROM芯片,此次设计使用的EEPROM芯片型号是AT24C02,通过IIC接口和单片机进行数据传输;发音设备采用有源蜂鸣器,可以发出按键音和报警音;电磁锁采用继电器来驱动;满箱提示使用压力传感器外部输入和A/D放大转换芯片转换至单片机来完成。

最后是供电采用常用的USB5V进行供电、电磁锁供电采用5V供电,系统总框架图如图1所示

AD数模转换模块

矩阵键盘模块

密码存储模块

电磁锁模块

图1系统框图

继电器模块

压力传感器模块

2.2最小系统模块

2.2.1STC89C52简介

(1)概述

STC89C52是一个电压低,性能高的单片机,片内含8kbytes的可屡次擦写的

Flash只读程序存储器(ROM)和256bytes的随机存取数据存储器(RAM)。

STC89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个

1

P10

VCC

2

P11

P00

3

P12

P01

4

P13

P02

5

P14

P03

6

P15

P04

7

P16

P05

8

P17

P06

9

RESET

P07

10

P30/RXD

EA

11

P31/TXD

ALE

12

P32/INT0

PSEN

13

P33/INT1

P27

14

P34/T0

P26

15

P35/T1

P25

16

P36/WR

P24

17

P37/RD

P23

18

XTAL2

P22

19

XTAL1

P21

20

GND

P20

外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线。

引脚如图2所示[13]。

40

39

38

37

36

35

34

33

32

31

30

29

28

27

26

25

24

23

22

21

图2STC89C52引脚图

2.2.2最小系统电路

STC89C52的最小系统如图3所示,整个最小系统由三个部分组成,晶振电路部分、复位电路部分、电源电路等三个部分组成。

最后一个是电源部分,采用5V的

USB直接供电,可采用充电宝、电脑USB口、移动电源等设备进行供电。

此外,除了单片机最小系统的3个部分之外,这里还多了一些外部电路。

由于STC89C52的

P0口是漏极开路输出,因此在P0口接了一个10K的排阻R1,使得P0口可以作为普

通的I/O口使用,此次设计用P0口来做液晶的数据口。

VCC

C110uF

R310K

P101

P112

P123

P134

P145

P156

P167

P178

9

10

11

relay12bp

X1

13

14

15

16

17

18

19

20

P10P11P12P13P14P15P16P17RESET

P30/RXDP31/TXDP32/INT0P33/INT1P34/T0P35/T1P36/WRP37/RDXTAL2XTAL1GND

STC89C52

VCCP00P01P02P03P04P05P06P07EA

PSEN29

ALE30

P2728

P2627

GND

P2526

P2425

P2324

1

2

P2223

P2122

12M

P2021

C230pF

C330pF

图3单片机最小系统

GND

VCC

40

39

D0

38

D1

37

D2

36

D3

35

D4

34

D5

33

D6

32

D7

31

U1 R1103

VCC

1

2

3

4

5

6

7

8

9

RSRWEN

SDASCL

GND

2.3液晶显示电路

2.3.11602液晶简介

液晶显示器是一种显示器件,具有小体积、轻重量、低功耗等特点。

本系统显示采用了工业字符型液晶模块1602,可显示2行16个字符,能方便显示英文字母大小写、阿拉伯数字、常用符号等,通过自定义还可显示简单的汉字。

可以显示2行标准字符,每行共有16个字符。

尺寸、引脚说明如图4、表1所示[8]。

图4液晶尺寸说明表1液晶引脚说明

符号

引脚说明

符号

引脚说明

VSS

电源地

D2

数据

VDD

电源正极

D3

数据

VL

液晶显示偏压

D4

数据

RS

数据/命令选

D5

数据

R/W

读/写选择

D6

数据

E

使能信号

D7

数据

D0

数据

BLA

背光源正极

D1

数据

BLK

背光源负极

2.3.2液晶显示模块电路

液晶模块的电路的连接图如图5所示,第1脚和第2脚分别接到电路的GND和VCC,这2个脚是液晶工作的电源输入脚。

第3脚通过一个10K的电位器连接到地端,可通过调节该电位器来调节液晶的对比度。

第4脚是液晶的寄存器选择管脚,接到

单片机的P2.7脚上。

第5脚是液晶的读写信号管脚,接到单片机的P2.6脚上。

6脚是液晶的使能管脚,接到单片机的P2.5脚上。

第7脚到第14脚是液晶的8位

双向数据线,接到了单片机的P0口上。

第15脚和第16脚是液晶的背光电源脚,接VCC和GND。

当使用不带背光的模块时,这两个引脚悬空不接。

GND

LCD1

1

2

3

4RS

5RW

6EN

7D0

8D1

9D2

10D3

11D4

12D5

13D6

14D715

16

1602

VSSVCCVORSRWEND0D1D2D3D4D5D6D7A

K

VCC

LCD1602

R2103

GND

VCC

GND

图5液晶模块连接图

2.4按键输入模块

由于此次设计输入参数较多、功能较复杂,因此采用4*4的矩阵键盘,如图6所示。

只需占用8个单片机的IO口,就可以实现对16个按键的检测。

在16个按键中,除了0-9这10个数字键之外,还有删除、取消、确定、手动关锁、修改密码、管理员密码等6个功能按键。

按键识别采用两步扫描判别法:

首先判别按键所在的行,由P1口向键盘输出列扫描,然后读入行线状态来判断,然后判别按键所在的列,由P1口向键盘输出行扫描,然后读入列线状态来判断,最后将行和列的状态相或得到一个值,再把该值取

反得到该位置的键值[10]。

P10P11P12P13P14P15P16P17

图6矩阵按键电路

2.5存储芯片模块电路

2.5.1存储芯片的介绍

主要特性如图7、表2、表3所示[11]。

图7AT24C02封装图

表2AT24C02引脚说明

引脚名称

引脚功能

A0-A2SDASCLWPVCCGND

器件地址输入串行数据输入输出

串行时钟输入写保护

电源

表3AT24C02主要功能

工作电压:

输入引脚经施密特触发器滤波

支持硬件写

1.8V~5.5

抑制噪声

保护

输入/输出引脚

双向数据传输协议

高可靠性

兼容5V

读写次数

1000000次,

数据保存100

二线串行接口

兼容

应用在内部

400KHz(1.8V,2.5V,2.7V,3.6

结构:

V)

256*8(2k)

2.5.2AT24C02模块电路图

存储芯片AT24C02模块的电路的连接图如图8所示,第4脚和第8脚分别接到了电路的GND和VCC,这两个脚是芯片工作的电源、地输入脚;1、2、3引脚都连接到了GND,因此芯片的7位二进制地址是1010000;芯片的第7引脚接到了GND,可以进行正常的读写操作,接到VCC时启动写保护功能。

最后由于AT24C02芯片的

SCL和SDA是漏极开路设计,因此在连接到单片机的同时,还要加上2个10K的上拉电阻[1]。

U2

1

8

7

6

AT24C02

R4 R5

10K 10K

5

4

3

2

A0 VCC

A1 WP

A2 SCLGNDSDA

VCC

SCLSDA

VCC

图8存储芯片AT24C02模块电路

2.6蜂鸣器模块电路图

此次设计使用的是有源蜂鸣器。

由于蜂鸣器工作时,需要的电流比较大,单片机的IO口输出的电流又比较小,所以这里利用三极管的开关管功能来控制蜂鸣器发音,选用的三极管型号是PNP三极管S8550,而且选用的蜂鸣器属于有源蜂鸣器,即在蜂鸣器内部已经内置了震荡电路,单片机无需连续发出高低电平来驱动它,而只要输出高(或低)电平即可,这大大简化了单片机程序的设计。

由于选用的是

PNP型而单片机上电IO口默认是高电平的,所以上电时蜂鸣器是不会发出鸣叫的。

蜂鸣器电路如图9所示。



bp

Q18550

BEEP1

VCC

GND

图9蜂鸣器电路

2.7继电器模块电路

此次设计中采用的继电器属于电磁式继电器。

继电器模块的电路如图10所示。

继电器使用的是5V电压触发的。

由于继电器由导通到关断瞬间,由于工作线圈有电感的性质,所以会在继电器的线圈的低电压端产生一个瞬间电压尖峰,通常能高达

数十倍的线圈额定工作电压。

所以这里接入一个二极管在继电器两端,因为二极管的负端通常接到VCC,因此电压尖峰将被抑制。

保护了板上的电子元件。

当单片机的IO口给PNP三极管Q2一个低电平后后,三极管导通,继电器供电,因此继电器从断开变为闭合,继而给连接到J2的电磁锁上电,最终达到单片机控制电磁锁的效果。

为了更加形象的感受到电磁锁被打开,此外还加了一个发光二极管作为电磁锁

打开的指示灯[6]。

relay

Q2S8550

D1LED

J2

D21N4148

Relay1

R61K

VCC

GND

图10继电器电路

2.8HX711、压力传感器模块电路图

此次设计满箱提示功能是当存物箱过满且放不进去时,给存物的人以报警声音提示,存物时,如果存物过满必然会对箱壁有挤压力。

在程序上设置一个压力值,如果外部压力传感器采集的压力值大于设置的压力值,证明存物箱存物过满,蜂鸣器报警给存物的人提示。

所以设计上采用外部压力传感器输入,但是外部压力传感器采集的压力信号输出较小,单片机并不能识别压力传感器输出的信号,所以采用

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所示。

图11HX711芯片管脚

图12HX711、压力传感器模块电路图

3软件设计

3.1程序流程图设计

3.1.1总体程序流程图设计

系统的软件总流程图如图13所示,最开始先进行液晶的初始化,包括液晶功能初始化和液晶显示内容初始化。

接着就进行密码初始化,包括检查密码存储芯片是不是新的,并且把密码从存储芯片读取到单片机,保存在一个数组里面。

完成初始化之后,就开始进行矩阵键盘的扫描,并根据不同的按键扫描返回值,进行不同的任务处理,这些任务基本包括开锁密码判断、密码错误报警、修改密码、管理员恢复密码等。

正确?

否是

恢复初始密码

报警

修改密码?

开始

液晶初始化

解锁密码

密码类型?

管理员密码

正确?

错3次?

结束

图13程序流程图

保存新密码

错误计次加1

报警

输入密码

执行开锁操作

修改密码程序

锁键盘1分钟并报警

执行满箱提示

密码初始化

程序设计流程说明:

首先进行液晶初始化、密码初始化。

判断密码输入类型,如果是解锁密码,且输入密码正确,执行开锁操作,并且启动外部压力传感器输入有效,执行满箱提示。

如果输入错误,错误次数达到三次,锁住键盘1分钟并报警。

如果输入的密码类型是管理密码,且输入正确,则恢复初始化密码,错误则报警。

如果修改密码,必须在输入解锁密码输入正确,输入新密码,修改密码成功,并保存新密码。

部分代码如下:

1602液晶初始化代码:

voidLcdInit()

{

LcdWriteCmd(0x38); //16*2显示,5*7点阵,8位数据口

LcdWriteCmd(0x0C); //开显示

LcdWriteCmd(0x06); //地址加1

LcdWriteCmd(0x01); //清屏

}

密码初始化代码

voidCodeInit()

{

uchardat,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);

}

for(i=0;i<6;i++)

{

ArrCodeUnlock[i]=IIcReadDat(i);

}

}

3.1.2液晶程序设计

程序流程说明:

首先进行液晶初

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

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

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