基于STC89C52单片机毕业设计附原理图pcb图源程序仿真图文档格式.docx
《基于STC89C52单片机毕业设计附原理图pcb图源程序仿真图文档格式.docx》由会员分享,可在线阅读,更多相关《基于STC89C52单片机毕业设计附原理图pcb图源程序仿真图文档格式.docx(34页珍藏版)》请在冰豆网上搜索。
![基于STC89C52单片机毕业设计附原理图pcb图源程序仿真图文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/5/a1f90947-2d3e-42c5-89c4-6ab0a115bfe2/a1f90947-2d3e-42c5-89c4-6ab0a115bfe21.gif)
4硬件系统设计……………………………………………………………………………12
设计原理…………………………………………………………………………………12
电源输入电路……………………………………………………………………………12
矩阵键盘…………………………………………………………………………………13
复位电路…………………………………………………………………………………14
晶振电路…………………………………………………………………………………14
报警电路…………………………………………………………………………………15
显示电路…………………………………………………………………………………15
开锁电路…………………………………………………………………………………16
电路整体组成……………………………………………………………………………16
5软件程序设计……………………………………………………………………………18
主程序流程介绍…………………………………………………………………………18
键盘模块流程图…………………………………………………………………………19
显示模块流程图…………………………………………………………………………21
修改密码流程图…………………………………………………………………………22
开锁和报警模块流程图………………………………………………………………23
6电子密码锁的系统调试及仿真………………………………………………………25
硬件电路调试及结果分析………………………………………………………………25
软件调试及功能分析……………………………………………………………………25
调试进程……………………………………………………………………………25
仿真结果分…………………………………………………………………………26
仿真全图…………………………………………………………………………………28
7结论…………………………………………………………………………………………29
参考文献………………………………………………………………………………………30
附录:
……………………………………………………………………………………………31
电子密码锁简介
电子密码锁是一种通过密码输入来操纵电路或是芯片工作,从而操纵机械开关的闭合,完成开锁、闭锁任务的电子产品。
它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。
此刻应用较广的电子密码锁是以芯片为核心,通过编程来实现的。
其性能和平安性已大大超过了机械锁。
其特点如下:
1)保密性好,编码量多,远远大于弹子锁。
随机开锁成功率几乎为零。
2)密码可变,用户能够随时更改密码,避免密码被盗,同时也能够幸免因
人员的更替而使锁的密级下降。
3)误码输入爱惜,当输入密码多次错误时,报警系统自动启动。
4)无活动零件,可不能磨损,寿命长。
5)利用灵活性好,不像机械锁必需佩带钥匙才能开锁。
6)电子密码锁操作简单易行,一学即会。
电子密码锁的进展趋势
日常生活和工作中,住宅与部门的平安防范、单位的文件档案、财务报表和一些个人资料的保留多以加锁的方法来解决。
目前门锁要紧用弹子锁,其钥匙容易丢失;
保险箱要紧用机械密码锁,其结构较为复杂,制造精度要求高,本钱高,且易显现故障,人们常需携带多把钥匙,利用极不方便,且钥匙丢失后平安性即大打折扣。
针对这些锁具给人们带来的不便假设利用机械式钥匙开锁,为知足人们对锁的利用要求,增加其平安性,用密码代替钥匙的密码锁应运而生。
由于电子器件所限,以前开发的电子密码锁,其种类不多,保密性差,最大体的确实是只依托最简单的模拟电子开关来实现的,制作简单但很不平安,在后为多是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有利用早先的20引角的2051系列单片机来实现的,但密码简单,易破解。
随着电子元件的进一步进展,电子密码锁也显现了很多的种类,功能日趋壮大,利用加倍方便,平安保密性更强,由以前的单密码输入进展到此刻的,密码加感应元件,实现了真真的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的进展及人们对保密性需求的提高显现了愈来愈多的电子密码锁。
出于平安、方便等方面的需要许多电子密码锁已接踵问世。
但这种产品的特点是针对特定有效卡、指纹或声音有效,且不能实现远程操纵,只能适用于保密要求高且供个人利用的箱、柜、房间等。
由于数字、字符、图形图像、人体生物特点和时刻等要素都可成为钥匙的电子信息,组合利用这些信息能够使电子防盗锁取得高度的保密性,如防范森严的金库,需要利用复合信息密码的电子防盗锁,组合利用信息也能够使电子防盗锁取得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。
能够看出组合利用电子信息是电子密码锁以后进展的趋势。
2设计方案
采纳以单片机为核心的操纵方案
由于单片机种类繁多,各类型号都有其必然的应用环境,因此在选历时要多加比较,合理选择,以期取得最正确的性价比。
一样来讲在选取单片机时从下面几个方面考虑:
性能、存储器、运行速度、I/O口、按时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除以上的一些的还有一些最大体的比如:
中断源的数量和优先级、工作温度范围、有无低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。
在开发进程中单片机还受到:
开发工具、编程器、开发本钱、开发人员的适应性、技术支持和效劳等等因素。
基于以上因素本设计选用单片机STC89C52作为本设计的核心元件,利用单片机灵活的编程设计和丰硕的I/O端口,及其操纵的准确性,实现大体的密码锁功能。
在单片机的外围电路外接输入键盘用于密码的输入和一些功能的操纵,外接LCD1602液晶显示屏用于显示作用。
当用户需要开锁时,先按键盘开锁键以后按键盘的数字键0-9输入密码。
密码输完后按下确认键,若是密码输入正确那么开锁,不正确那么从头输入密码,当三次密码错误那么发出报警;
当用户需要修改密码时,先按下键盘设置键后输入原先的密码,只有当输入的原密码正确开锁后才能设置新密码。
新密码输入无误后按确认键使新密码将取得存储,密码修改成功。
3要紧元器件
主控芯片STC89C52
1)STC89C52单片机的要紧特性如下:
Stc89c52是一种带8K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处置器,俗称单片机。
该器件采纳ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,stc的stc89c52是一种高效微操纵器,为很多嵌入式操纵系统提供了一种灵活性高且价廉的方案,stc89c52芯片引脚图如图3-1所示。
图3-1stc89c52芯片引脚图
要紧特性:
·
与MCS-51兼容
8K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时刻:
10年
全静态工作:
0Hz-24Hz
三级程序存储器锁定
128*8位内部RAM
32可编程I/O线
两个16位按时器/计数器
6个中断源
可编程串行通道
低功耗的闲置和掉电模式
片内振荡器和时钟电路
2)STC89C52RC引脚功能说明:
一、主电源引脚VSS和VSS
STC89C52芯片引脚图
VSS——(40脚)接+5V电压;
VSS——(20脚)接地。
二、外接晶体引脚XTAL1和XTAL2
XTAL1(19脚)接外部晶体的一个引脚。
在单片机内部,它是一个反相放大器的输入端,那个放大器组成了片内振荡器。
当采纳外部振荡器时,对HMOS单片机,此引脚应接地;
对SHMOS单片机,此引脚作为驱动端。
XTAL2(18脚)接外晶体的另一端。
在单片机内部,接至上述振荡器的反相放大器的输出端。
采纳外部振荡器时,对HMOS单片机,该引脚接外部振荡器的信号,即把外部振荡器的信号直接接到内部时钟发生器的输入端;
对XHMOS,此引脚应悬浮。
3、操纵或与其它电源复用引脚RST/VPD、ALE/PROG、PSEN和EA/VPP
①RST/VPD(9脚)当振荡器运行时,在此脚上显现两个机械周期的高电平将使单片机复位。
推荐在此引脚与VSS引脚之间连接一个约的下拉电阻,与VSS引脚之间连接一个约10μF的电容,以保证靠得住地复位。
VSS掉电期间,此引脚可接上备用电源,以保证内部RAM的数据不丢失。
当VSS主电源下掉到低于规定的电平,而VPD在其规定的电压范围(5±
)内,VPD就向内部RAM提供备用电源。
②ALE/PROG(30脚):
当访问外部存贮器时,ALE(许诺地址锁存)的输出用于锁存地址的低位字节。
即便不访问外部存储器,ALE端仍以不变的频率周期性地显现正脉冲信号,此频率为振荡器频率的1/6。
因此,它可用作对外输出的时钟,或用于按时目的。
但是要注意的是,每当访问外部数据存储器时,将跳过一个ALE脉冲。
ALE端能够驱动(吸收或输出电流)8个LS型的TTL输入电路。
关于EPROM单片机(如8751),在EPROM编程期间,此引脚用于输入编程脉冲(PROG)。
③PSEN(29脚):
此脚的输出是外部程序存储器的读选通信号。
在从外部程序存储器取指令(或常数)期间,每一个机械周期两次PSEN有效。
但在此期间,每当访问外部数据存储器时,这两次有效的PSEN信号将不显现。
PSEN一样能够驱动(吸收或输出)8个LS型的TTL输入。
④EA/VPP(引脚):
当EA端维持高电平常,访问内部程序存储器,但在PS(程序计数器)值超过0FFFH(对851/8751/80S51)或1FFFH(对8052)时,将自动转向执行外部程序存储器内的程序。
当EA维持低电平常,那么只访问外部程序存储器,不管是不是有内部程序存储器。
关于经常使用的8031来讲,无内部程序存储器,因此EA脚须常接地,如此才能只选择外部程序存储器。
关于EPROM型的单片机(如8751),在EPROM编程期间,此引脚也用于施加21V的编程电源(VPP)。
4.操纵或与其它电源复用引脚RST/Vpd,ALE/PROG,PSEN和EA/Vpp。
RST/Vpd当振荡器运行时。
在此引脚上显现两个机械同期的高电平(由低到高跳变),将使单片机复位。
在VSS掉电期间,此引脚可接上备用电源,由Vpd向内部RAM提供备用电源,以维持内部RAM中的数据。
ALE/PROG正常操作时为ALE功能(许诺地址钱存),提供把地址的低字节锁存到外部锁存器。
ALE引脚以不变的频率(振荡周期的1/6)周期性地发出正脉冲信号。
但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲。
ALE端能够驱动(吸收或输出电流)八个LSTTL电路。
关于EPROM型单片机,在EPROM编程期间,此引脚接收编程脉冲(PROG功能)。
PSEN外部程序存储器读选通信号输出端。
在从外部程序存储器取指令(或数据)期间;
PSEN在每一个机械周期内两次有效。
PSEN一样能够驱动八个LSTTL输入。
EA/VppEA为内部程序存储器和外部程序存储器选择端。
当EA为高电平常,访问内部程序存储器(PS值小于4K)。
当EA为低电平常,那么访问外部程序存储器。
关于EPROM型单片机,在EPROM编程期间,此引脚上加21VEPROM编程电源(Vpp)。
五、输入/输出(I/O)引脚P0、P一、P二、P3(共32根)
①P0口(39脚至32脚):
是双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线复用,能以吸收电流的方式驱动8个LS型的TTL负载。
②P1口(1脚至8脚):
是准双向8位I/O口。
由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。
P1口能驱动(吸收或输出电流)4个LS型的TTL负载。
对805二、8032,引脚的第二功能为T2按时/计数器的外部输入,引脚的第二功能为T2EX捕捉、重装触发,即T2外部操纵端。
对EPROM编程和程序验证时,它接收低8位地址。
③P2口(21脚至28脚):
在访问外部存储器时,它能够作为扩展电路高8位地址总线送出高8位地址。
在对EPROM编程和程序验证期间,它接收高8位地址。
P2能够驱动(吸收或输出电流)4个LS型的TTL负载。
④P3口(10脚至17脚):
是准双向8位I/O口,在MSS-51中,这8个引脚还用于专门功能,是复用双功能口。
P3能驱动(吸收或输出电流)4个LS型的TTL负载。
作为第一功能利历时,就作为一般I/O口用,功能和操作方式与P1口相同。
作为第二功能利历时,各引脚的概念如表所示。
值得强调的是,P3口的每一条引脚都可独立概念为第一功能的输入输出或第二功能。
如表3-1。
表3-1P3口管脚备选功能
RXD(串行输入口)
TXD(串行输出口)
/INT0(外部中断0)
/INT1(外部中断1)
T0(记时器0外部输入)
T1(记时器1外部输入)
/WR(外部数据存储器写选通)
/RD(外部数据存储器读选通)
晶体振荡器
晶体振荡器,简称晶振,其作用在于产生原始的时钟频率,那个频率通过频率发生器的放大或缩小后就成了电脑中各类不同的总线频率。
以声卡为例,要实现对模拟信号或48kHz的采样,频率发生器就必需提供一个或48kHz的时钟频率。
若是需要对这两种音频同时支持的话,声卡就需要有两颗晶振。
可是此刻的娱乐级声卡为了降低本钱,通常都采纳SCR将输出的采样频率固定在48kHz,可是SRC会对音质带来损害,而且此刻的娱乐级声卡都没有专门好地解决那个问题。
此刻应用最普遍的是石英晶体振荡器。
石英晶体振荡器是一种高精度和高稳固度的振荡器,石英晶体振荡器也称石英晶体谐振器,它用来稳固频率和选择频率,是一种能够取代LC谐振回路的晶体谐振元件。
石英晶体振荡器普遍地应用在电视机、影碟机、录像机、无线通信设备、电子钟表、单片机、数字仪器仪表等电子设备中。
为数据处置设备产生时钟信号和为特定系统提供基准信号。
在单片机中为其提供时钟频率。
石英晶体振荡器是利用石英晶体(二氧化硅的结晶体)的压电效应制成的一种谐振器件,它的大体组成大致是:
从一块石英晶体上按必然方位角切下薄片(简称为晶片,它能够是正方形、矩形或圆形等),在它的两个对应面上涂敷银层作为电极,在每一个电极上各焊一根引线接到管脚上,再加上封装外壳就组成了石英晶体谐振器,简称为石英晶体或晶体、晶振。
其产品一样用金属外壳封装,也有效玻璃壳、陶瓷或塑料封装的。
只要在晶体振子板极上施加交变电压,就会使晶片产生机械变形振动,此现象即所谓逆压电效应。
当外加电压频率等于晶体谐振器的固有频率时,就会发生压电谐振,从而致使机械变形的振幅突然增大。
时钟信号用来提供单片机片内的各类微操作的时刻基准,时钟信号通经常使用两种电路形式取得:
内部振荡和外部振荡。
MCS-51单片机内部有一个用于组成振荡器的高增益反向放大器,引脚XTAL1和XTAL2别离是此放大电器的输入端和输出端,由于采纳内部方式时,电路简单,所得的时钟信号比较稳固,实际利用中常采纳这种方式,外接晶体振荡器(简称晶振)或陶瓷谐振器就组成了内部振荡方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一路可组成一个自激振荡器并产生振荡时钟脉冲。
外接晶体和电容C2和C3组成并联谐振电路,它们起稳固振荡频率、快速起振的作用,其值为30pF左右,晶振频率选
LCD显示密码模块的设计
显示模块要紧由LCD1602显示屏组成,他显示的是键盘输入的密码,和密码正确与错误的提示。
当输入密码时,出于平安性的考虑,显示的密码是有*号代替,为暗密。
当输入六位密码后按下确认键,系统会与存于ROM的密码对照,假设密码错误,显示屏会显示Error,假设密码正确,显示屏会显示Right。
LCD1602简介
1)1602功能介绍
1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有假设干个5X7或5X11等点阵字符位组成,每一个点阵字符位都能够显示一个字符。
每位之间有一个点距的距离每行之间也有距离起到了字符间距和行间距的作用,正因为如此因此他不能显示图形。
1602LCD是指显示的内容为16X2,即能够显示两行,每行16个字符液晶模块(显示字符和数字)。
2)1602LCD采纳标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如下表3-2所示:
表3-2引脚功能说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
数据
2
VDD
电源正极
10
D3
3
VL
液晶显示偏压
11
D4
4
RS
数据/命令选择
12
D5
5
R/W
读/写选择
13
D6
6
E
使能信号
14
D7
7
D0
15
BLA
背光源正极
8
D1
16
BLK
背光源负极
其引脚图如以下图3-2所示:
图3-2LCD1602引脚图
3)LCD寄放器的选择
表3-3LCD寄放器的选择
功能说明
写入命令寄存器
写入数据寄存器
读取忙碌标志及RAM地址
读取RAM数据
X
不动作
LCD1602液晶显示模块与单片机连接电路
图3-3LCD1602液晶显示模块与单片机连接电路
4硬件系统设计
设计原理
本设计要紧由单片机、矩阵键盘、液晶显示器和密码存储等部份组成。
其中矩阵键盘用于输入数字密码和进行各类功能的实现。
由用户通过连接单片机的矩阵键盘输入密码,后通过单片机对用户输入的密码与自己保留的密码进行对照,从而判定密码是不是正确,然后操纵引脚的高低电平传到开锁电路或报警电路操纵开锁仍是报警,实际利历时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可,固然也能够用继电器的常开触点去操纵电磁铁吸合线圈。
本系总共有两部份组成,即硬件部份与软件部份。
其中硬件部份由电源输入部份、键盘输入部份、密码存储部份、复位部份、晶振部份、显示部份、报警部份、开锁部份组成,软件部份对应的由主程序、初始化程序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、建功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。
图4-1组成原理
电源输入电路
三端集成稳压器LM7805和LM7905是作为固定输出电压的典型应用。
正常工作时,输入、输出电压差为2--3V。
电容C为输入稳固电容,其作用是减小纹波,消振、抑制高频和脉冲干扰,它一样为。
电容C为输出稳固电容,其作用是改善负载的瞬态响应,它一样为1uF。
利用三端稳压器时要依照输出电流的大小选择加散热器,不然会由于过热而无法工作到额定电流。
图4-2电源输入电路
矩阵键盘
由于本设计所用到的按键数量较多而不适合用独立按键式键盘。
采纳的是矩阵式按键键盘,它由行线和列线组成,也称行列式键盘,按键位于行列的交叉点上,密码锁的密码由键盘输入完成,与独立式按键键盘相较,要节省很多I/O口。
本设计中利用的那个4*4键盘不但能完成密码的输入还能作专门功能键利用,比如清空显示功能等。
键盘的每一个按键功能在程序设计中设置。
其大体功能(看键盘按键上的标记)及与单片机引脚接法。
图4-3矩阵键盘
复位电路
单片机复位是使CPU和系统中的其他功能部件都处在一个确信的初始状态,并从那个状态开始工作,例如复位后PC=0000H,使单片机从第—个单元取指令。
不管是在单片机刚开始接上电源时,仍是断电后或发生故障后都要复位。
在复位期间(即RST为高电平期间),P0口为高组态,P1-P3口输出高电平;
外部程序存储器读选通信号PSEN无效。
地址锁存信号ALE也为高电平。
依如实际情形选择如图2-8所示的复位电路。
该电路在最简单的复位电路下增加了手动复位按键,在接通电源刹时,电容C1上的电压很小,复位下拉电阻上的电压接近电源电压,即RST为高电平,在电容充电的进程中RST端电压慢慢下降,当RST端的电压小于某一数值后,CPU离开复位状态,由于电容C1足够大,能够保证RST高电平有效时刻大于24个振荡周期,CPU能够靠得住复位。
增加手动复位按键是为了幸免死机时无法靠得住复位。
当复位按键按下后电容C1通过R5放电。
当电容C1放电终止后,RST端的电位由R11与R15分压比决定。
由于R11<
<
R15因此RST为高电平,CPU处于复位状态,松手后,电容C1充电,RST端电位下降,CPU离开复位状态。
R11的作用在于限制按键按下刹时电容C1的放电电流,幸免产生火花,以爱惜按键触电。
图4-4复位电路
晶振电路
STC89C52引脚XTAL1和XTAL2与晶体振荡器及电容C二、C1按以下图所示方式连接。
晶振、电容C2/C3及片内与非门(作为反馈、放大元件)组成了电容三点式振荡器