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