基于单片机AT89S52数字密码锁设计毕业论文(已通过答辩)_第1页
基于单片机AT89S52数字密码锁设计毕业论文(已通过答辩)_第2页
基于单片机AT89S52数字密码锁设计毕业论文(已通过答辩)_第3页
基于单片机AT89S52数字密码锁设计毕业论文(已通过答辩)_第4页
基于单片机AT89S52数字密码锁设计毕业论文(已通过答辩)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于单片机AT89S52数字密码锁设计毕业论文(已通过辩论) 数字密码锁 【内容摘要】电子数字密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合的操作方式。本文的设计是基于单片机AT89S52,它具有超大规模集成电路技术,有极强的数据处理功能,I/O口多。以它为核心设计的密码锁,结构小,功能强,可以适用于许多单位甚至家里的各个家用电器,当然保险箱更是需要它。【关键词】:AT89S52单片机 I/O口接线 LED显示 LCD1602【Abstract】 Digital electronic locks is a password to control circuit or c

2、hips, to control the mechanical switch. We take the microcontroller. It has large scale integrated circuit technology and strong data processing function. With its core design locks, small structure, the function is strong. Now many units of home appliances, even all that were still safe need of it.

3、【Key words】: AT89S52 microcontroller The I/O port connection LED display LCD1602 目 录 1. 前言 2. 根本功能设计 2.1 实验任务 2.2 功能要求 2.3 系统框图 3. 系统硬件设计 3.1 使用到的元器件列表 3.2 个别元器件介绍 3.2.1 单片机AT89S52简介 3.2.2 LCD1602介绍 3.2.3 具体电路介绍 4. 系统软件设计 参考文献 致 谢 附录1 附录21 前言 随着社会物质财富的日益增长,平安防盗已成为社会问题。而锁自古以来就是把守门户的铁将军,人们对它要求甚高,既要平安可

4、靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。目前国内,大局部人使用的还是传统的机械锁。然而,眼下假冒伪劣的机械锁泛滥成灾,互开率非常之高。所谓互开率,是各种锁具的一个技术质量标准,也就是1把钥匙能开几把锁的比率。经国家工商局、国家内贸局、中国消协等部门对锁具市场的调查,发现个别产品的互开率居然超标26倍。 机械锁的互开率如此之高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,机械锁的这些弊端为一种新型的锁-电子密码锁,提供了开展的空间。电子锁由于其保密性高,使用灵活性好,平安系数高,受到了广阔用户的亲呢。 电子密码锁是一种通过密码输入来

5、控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比拟高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和平安性已大大超过了机械锁,主要特点如下: 1保密性好,编码量多,远远大于弹子锁,随机开锁成功率几乎为零。 2密码可变。 用户可以经常更改密码,防止密码被盗,同时也可以防止因人的更替而使锁的密级下降。 3误码输入保护。当输入密码屡次错误时,报警系统自动启动,防止试探密码。 从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一局部应用于

6、保管箱和运钞车。键盘式电子密码在键盘上输入,与打 差不多,因而易于掌握,其突出优点是“密码是记在被授权人脑子里的数字和字符,既准确又可靠,不会丧失(除了忘记),难以被窃(除非自己泄露)。但是密码不能太简单,太简单了造成保密性缺乏。当然,密码又不能太复杂,太复杂了输入密码操作成功率低,造成使用不便。因此,为了发扬优点、克服弱点,键盘式电子密码也在不断开展中,如“任意设定密码技术使得被授权人可以根据自己的需要或喜好设定密码,常用常新;而“自动更改密码技术使得本次输入的密码将自动更改成下次应输入的密码,更改的规律不为他人所知,因而不怕旁观者窥测;独出心裁的“键盘乱序显示技术使得键盘上的固定键位每次显

7、示出的字符不固定,并且显示的窄小角度只能由操作者正面看得到,因而即使旁观者看见操作动作也难以窥测出密码;“多重密码设定技术使得单组密码不一定有效,适合多人分权使用,需要输入两组以上的密码才被认可,大大提高了保密性,如果限定输入这些密码的先后顺序或时间区段,那么保密性还可提高。在输入密码的过程中,为了限制试探密码的企图,通常输入错误码假设干次或假设干时间内输入不正确,即“封锁键盘,不再接受输入操作。总之,尽管新式电子防盗锁层出不穷,但键盘式电子密码防盗锁不仅在市场上居于主流地位,而且,还经常作为其他类型电子防盗锁的辅助输入手段。2 根本功能设计2.1 实验任务 根据设定好的密码,采用矩阵式按键实

8、现密码的输入功能,当密码输入正确之后,锁就翻开(即绿灯亮),如果输入的三次密码不正确,就锁定按键3秒钟,同时报警(即红灯亮)。2.2 功能要求 (1)具有良好的提示界面 (2)密文显示密码 (3)具有密码修改功能 (4)具有声光报警功能 (5)在线编程电路 硬件系统的总体结构图如图1所示 图1 硬件系统的总体结构图 3 系统硬件设计3.1 使用到的元器件列表 如表1所示,本系统的硬件局部主要由单片机AT89S52、存储芯片AT24C02、4×4矩阵键盘、LCD1602、报警电路和驱动电路组成;其中驱动电路用发光二极管LED表示,而报警电路使用蜂鸣器。总的来说,数字密码锁主要由微处理器

9、模块、记忆模块、键盘模块、声光提示模块和显示模块构成。 元器件规格/型号数量 单片机 AT89S52 1 三极管 8550 1 稳压管 7805 1 液晶显示器 LCD1602 1 晶振 12M 1 电阻 10K/1K/100 4/6/1 排阻 10K 1F 3/2/1 发光二极管红色/绿色/黄色 1/1/1 蜂鸣器 1 表1 元器件列表 3.2 个别元器件介绍3.2.1 单片机AT89S52简介 与MCS-51单片机产品兼容 、8K字节在系统可编程Flash存储器、 1000次擦写周期、 全静态操作:0Hz33MHz 、 三级加密程序存储器 、 32个可编程I/O口线 、三个16位定时器/计

10、数器 八个中断源 、全双工UART串行通道、 低功耗空闲和掉电模式 、掉电后中断可唤醒 、看门狗定时器 、双数据指针 、掉电标识符 。 图2 AT89S52引脚 P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。 P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TT

11、L 逻辑电平。对P1 端口写“1时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能p1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)

12、P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个 TTL 逻辑电平。对P2 端口写“1时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。 P3 口:P3 口是一个具有内部

13、上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。端口引脚 第二功能P3.0 RXD串行输入口P3.1 TXD串行输出口P3.2 INTO外中断0 P3.3 INT1外中断1 P3.4 TO定时/计数器0 P3.5 T1定时/计数器1 P3.6 WR外部数据存储器写选通 P3.7 RD外部数据存储器读选通 此

14、外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。 RST?复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。 ALE/PROG?当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。 如有必要,可通过对特殊功能存放器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条M

15、OVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。 PSEN?程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP?外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU那么执行内部程序存储器的指令。FLASH存

16、储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。 3.2.2 LCD1602介绍 液晶显示模块具有体积小、功耗低、显示内容丰富、超薄轻巧等优点,在袖珍式仪表和低功耗应用系统中得到广泛的应用。目前液晶显示模块已经是单片机应用设计中最常用的信息显示器件。其中LCD1602液晶显示模块是常用的选择,它可以显示两行,每行16个字符,采用单+5V电源供电,外围电路配置简单,价格廉价,具有很高的性价比。考虑到本系统设计中友好的人机界面,相对采用多个LED作为显示模块,LCD1602更适宜。 3.2.2.1 引脚描述 1602采用标准的16脚接口,其中: 第

17、1脚:VSS为地电源。 第2脚:VDD接5V正电源。第3脚:V0为液晶显示器比照度调整端,接正电源时比照度最弱,接地电源时比照度最高,比照度过高时会产生“鬼影,使用时可以通过一个10K的电位器调整比照度。 第4脚:RS为存放器选择,高电平时选择数据存放器、低电平时选择指令存放器。 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第714脚:D0D7为8位双向数据

18、线。 第15脚:LEDA为背光接5V正电源。 第16脚:LEDK为背光地电源。 图3 LCDI602控制指令 LCD1602的读写操作、屏幕和光标的操作都是通过指令编程来实现的。 ?指令 1:清显示。指令码01H,光标复位到地址00H位置。 ?指令 2:光标复位。光标返回到地址00H。 ?指令 3:光标和显示模式设置,I/D:光标移动方向,高电平右移,低电平左移 ;S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平那么无效。 ?指令 4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否

19、闪烁,高电平闪烁,低电平不闪烁 ?指令5:光标或显示移位。S/C:高电平时移动显示的文字,低电平时移动光标 。?指令 6: 功能设置命令 。DL:高电平时为4位总线,低电平时为8位总线; N:低电平时为单行显示,高电平时双行显示;F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。 ?指令 7:字符发生器RAM地址设置 。 ?指令 8:DDRAM地址设置 。?指令9:读忙信号和光标地址。BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。 ?指令10:写数据。 ?指令11:读数据。 指令RS R/W D7 D6 D5 D4 D3 D2 D1 D01

20、清显示2光标返回3置输入模式4显示开/关控制5光标或字符移位6置功能7置字符发生存储器地址8置数据存储器地址9读忙标志或地址10写数CGRAM或DDRAM11从CGRAM或DDRAM读数 00 000000 01 00 000000 1* 00 000001I/D S 00 00001D CB 00 0001 S/C R/L * 00 001DL NF * 00 01字符发生存储器地址 00 1显示数据存储器地址 01 BF 计数器地址 10 要写的数 11 读出的数据 表2 LCD1602的控制指令表 LCD1602的读写控制时序如表2所示,使用LCD1602显示时要严格按照时序要求,否那么

21、LCD1602显示会出现问题。 RS R/W E 功能0 0 下降沿 写指令代码0 1 高电平读忙标志和AC码1 0 下降沿 写数据1 1 高电平 读数据 表3 LCD1602的读写控制时序表3.2.3 具体电路介绍 3.2.3.1 4×4矩阵键盘 如图4所示,本系统采用4×4矩阵键盘。当LCD1602为时钟界面显示时,S2为时设置键,S3为分设置键,S4为切换键;当切换到密码锁界面显示时,16个按键分为输入数字键和功能键。其中,S2、S6、S7、S8、S10、S11、S12、S14、S15、S16依次表示数字09,S3为取消键,S4为全取消键,S5为确定键,S9为密码初始

22、化复原键,S13为返回键,S17为密码修改键。 图4 4*4 矩阵按键 3.2.3.2 复位电路 为确保系统中电路稳定可靠工作,复位电路是必不可少的一局部,复位电路的第一功能是上电复位。如图5所示,时钟电路工作后,在REST管脚上加两个机器周期的高电平,芯片内部开始进行初始复位。 图5 复位电路 3.2.3.3 振荡电路 图6所示为单片机晶体振荡电路。在本系统设计中晶振选择频率为12MHz,其中两个电容叫晶振的负载电容,分别接在晶振的两个脚上和对地,一般在几十皮法,它会影响到晶振的谐振频率和输出幅度。多数情况下电容取值在20pF-30pF左右,在本系统中取电容为30pF 图6 振荡电路3.2.

23、3.4 发光二极管LED电路 图7所示为发光二极管LED电路,开始时发光二极管LED1、LED2连接的单片机I/O口均为高电平。当输入密码正确后,LED1连接的I/O口由高电平变为低电平,绿色的发光二极管LED点亮,表示驱动了开锁电路;当输入密码错误时,LED2连接的I/O口由高电平变为低电平,红色的发光二极管LED点亮。其中R10、R11为发光二极管LED的保护电阻,阻值均为1K。 图7发光二极管3.2.3.5 报警电路本系统中的报警电路采用蜂鸣器,如图9所示。当连续3次输入错误密码后,就会驱动报警电路,蜂鸣器不停地响,以示警报。其中,R5阻值为1k,R6阻值为100。三极管为8550。85

24、50是PNP型中功率高频三极管,最大耗散功率为700mW,在此电路中起功率放大作用。 图8 报警电路3.2.3.6 电源输入电路 图9 电源输入 用7805三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路。7805只有三条引脚输出,分别是输入端、接地端和输出端,如图11所示。使用7805要注意最高输入电压是35V左右。 图10 7805引脚图 4 系统软件设计4.1 初始欢送显示程序#include 头文件#include#define uchar unsigned char 用uchar来表示 unsigned char#define uint unsi

25、gned intsbit RSP20; 位的宏定义定义,使用RS来表示P2的0端口sbit RWP21;sbit EnP22;uchar LCD_title"Input Password: " 这里可以编辑欢送语句void main uchar i,j,k,z,error; uchar keynum-1; uchar Valid_user0; uchar change0; LCD_Init; Dis_String0,LCD_title;4.2 延时程序void delayuint xuint y; whilex- fory120;y0;y-; 4.3 LCD的初始化void

26、 LCD_Init 详细指令可查LCD介绍版面write_com0x38;write_com0x01;write_com0x06;write_com0x0e;4.4 键盘扫描程序uchar Keyscanuchar i,j,temp;fori0;i4;i+ P3keyboard_Scani;tempP3;temptemp4|0x0f;forj0;j4;j+ifkeyboard_Scanjtempreturnj*4+i;whilekeyboard_Scani!P3P3keyboard_Scani;return -1; 4.5 密码比拟程序while1P30xf0; ifP3!0xf0 delay

27、5; ifP3!0xf0 keynumKey_PosKeyscan;ifi16 switchkeynum case 0: case 1: case 2: case 3: case 4:case 5: case 6: case 7: case 8: case 9:ifi0Dis_String1," " ifk0userpasswordikeynum+'0'userpasswordi+1'0'elseuser_bufikeynum+'0'user_bufi+1'0'dis_bufi'*'dis_bu

28、fi+1'0'Dis_String1,dis_buf;i+;break;case 10: i-; userpasswordi'0'dis_bufi'0'Dis_String1,dis_buf;break;case 11:ifchange0 ifstrcmpuserpassword,Password0 Green_Led0; Yellow_Led1;Clear_password; Dis_String0,"Welcome!Have Fun" Dis_String1,"Unlock OK!" Valid_use

29、r1; else Green_Led1; Yellow_Led0;Clear_password;Dis_String1," ERROR ! " delay300; Dis_String1," " Valid_user0;error+;iferror3error0;Beep; 4.6 密码修改程序ifk2Dis_String0," Input Again! "Clear_password;Dis_String1,dis_buf;k0; elseifstrcmpuserpassword,user_buf0change0;forj0;j16;j+ Passwordj'0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论