版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子密码锁设计说明书 单片机 课程设计课程设讣说明书1引言1.1电子密码锁简介电子密码锁的种类有很多,有简易的电路产品,也有基于芯片的性价比较高 的产品。现在应用电子密码锁是一种通过密码输入来控制电路或是芯片工作,从 而控制机械开关的闭合,完成开锁、闭较广的电子密码锁是以芯片为核心,通过 编程来实现的。其性能和安全性已大大超过了机械锁。其特点如下:1)保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。2)密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的 更替而使锁的密级下降。3)误码输入保护,当输入密码多次错误时,报警系统自动启动。4)无活动零件,不会磨损,寿命长
2、。5)使用灵活性好,不像机械锁必须佩带钥匙才能开锁。6)电子密码锁操作简单易行。1.2电子密码锁的发展趙势在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表 以及一些个人资料的保存多以加锁的办法来解决。目前门锁主要用弹子锁,其钥 匙容易丢失;保险箱主要用机械密码锁,其结构较为复杂,制造精度要求高,成 本高,且易出现故障,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安 全性即大打折扣。针对这些锁具给人们带来的不便若使用机械式钥匙开锁,为满 足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。它 的出现为人们的生活带来了很大的方便,有很广阔的市场前景。由于电子器
3、件所 限,以前开发的电子密码锁,其种类不多,保密性差,最基本的就是只依靠最简 单的模拟电子开关来实现的,制作简单但很不安全,在后为多是基于EDA来实现 的,其电路结构复杂,电子元件繁多,也有使用早先的20引脚的2051系列单片 机来实现的,但密码简单,易破解。随着电子元件的进一步发展,电子密码锁也 出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的 单密码输入发展到现在的,密码加感应元件,实现了真真的电子加密,用户只有 密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对保密性 需求的提高出现了越来越多的电子密码锁。出于安全、方便等方面的需要许多电子密码锁已相继
4、问世。但这类产品的特 点是针对特定有效卡、指纹或声音有效,且不能实现远程控制,只能适用于保密2课程设计说明书要求高且供个人使用的箱、柜、房间等。由于数字、字符、图形图像、人体生物 特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子防盗 锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗锁, 这样对盗贼而言是“道高一尺、魔高一丈”。组合使用信息也能够使电子防盗锁获 得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。可以 看出组合使用电子信息是电子密码锁以后发展的趋势。1.3本设计所要实现的目标本设计采用单片机为主控芯片,结合外围电路,组成电子密
5、码锁,用户想要 打开锁,必先通过提供的键盘输入正确的密码才能将锁打开,密码输入错误有提 示,为了提高安全性。密码可以由用户自己修改设定,锁打开后才能修改密码。 修改密码之前必须再次输入密码。3课程设讣说明书252系统硬件结构及原理2.1 主控芯片AT89S51AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable啲可反复擦写1000次的Flash只读程序存储器,器 件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令 系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash
6、存储单元, 功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的 解决方案。2.1.1 AT89S51性能简介AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes 的随机存取数据存储器(RAM), 32个外部双向输入/输出(I/O) 口,5个中断优 先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看 门狗(WDT)电跖 片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0HZ并可通过软件设置省电模式。 空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续 工作,掉电模
7、式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断 激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以 适应不同产品的需求。F1. 0Fl. 1F1.2F1.3F1.4 M0SI/P1.5 MI SCiiJF1.6SCK/F1.7RSTMD/P3. 0TXD/P3.1 nrro/P3.2 INT1/P3. 3T0/P3.4T1/P3. 5r?/P3.6RD/P3. 7XTAL2XTAL1 PIiIP GHT匚1*40 2C 239 2匚338 3:437 3匚536 2匚S35 2匚734 3C 833 3匚332 2匚1031 2匚1130 3C 1229
8、 3匸1328 2匚142T 2匚1526 3匸1625 3匚1724 2匚1823 2匚1922 3C 2021 3VccPO. O/ALOPO. UADIPO. 2壮D2 PO. 3AD3 P0.4/AU4 PO. 5AD5 P0.6/AD6 巴.MT ea/vpp ALE/FMGPE SBP2. 7/A15 P2.6/A14 P2. 5AL3P2. 4.112 P2. 3/AUP2. 2A10 P2. UA9 P2. 0A8图2-1 AT89S51芯片引脚图其主要功能特性:4k 可反复擦写(1000 次)ISP Flash ROM4. 5-5. 5V工作电压时钟频率0-33MHZ128x
9、8 bit 内部 RAM低功耗空闲和省电模式3级加密位软件设置空闲和省电功能兼容MCS-51指令系统32个双向I/O 口2个16位可编程定时/计数器 全双工UART串行中断口线2个外部中断源中断唤醒省电模式看门狗(WDT)电路灵活的ISP字节和分页编程双数据寄存器指针可以看出AT89S51提供以下标准功能:4K字节Flash闪速存储器,128字节 内部RAM, 32个I/O 口线,看门狗(WDT),两个数据指针,两个16位定时器/计 数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟。 同时,AT89S51可降至OHz的静态逻辑操作,并支持两种软件可选的节电工作模式。 空闲方
10、式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继 续工作。掉电方式何在RAM中的内容,但振荡器停止工作并禁止其它所有部件工 作直接到一个硬件复位。2.1.2 AT89S51引脚功能说明Vcc:电源电压GND:地P0 口: P0 口是一组8位漏极开路型双向I/O 口,也即地址/数据总线复用口, 作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗 输入端口。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0 口接 收指令字节,而在程序校验时,输出指令字节,校验时,要求
11、外接上拉电阻。P1 口: P1是一个带内部上拉电阻的8位双向I/O 口,P1的输出缓冲级可驱动 (吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把 端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻, 某个引脚被外部信号校验期间,P1接收低8位地址。图2-2为P1 口第二功能。端口引脚第二功能P1.5MOSI (用于ISP编程)P1.6MISO (用于ISP编程)P1.7SCK (用于ISP编程)表2-2 P1 口第二功能P2 口: P2是一个带有内部上拉电阻的8位双向I/O 口,P2的输出缓冲级可 驱动4个TTL逻辑门电路。对端口写“1”,通过内部
12、的上拉电阻把端口拉到高电 平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外 部信号拉低时会输出一个电流I。在访问8位地址的外部数据存储器(如执行: MOVX Ri指令)时,P2 口线上的内(也即特殊功能寄存器,在整个访问期间 不改变。Flash编程或校验时,P2也接收高位地址和其它控制信号。P3 口: P3 口是一组带有内部上拉电阻的8位双向I/O 口。P3 口输出缓冲级 可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3 口写入“1”时,它们被 内部上拉电阻拉高并可作为输入端口。作输入端口时,被外部拉低的P3 口将用上 拉电阻输出电流I。P3 口除了作为一般的I/O
13、口线外,更重要的用途是它的第二 功能,P3 口的第二功能如下图23。端口功能第二功能端口引脚第二功能RXD (P3.0)串行输入口TO (P3.4)定时/计数器0外部输入TXD (P3.1)串行输出口T1 (P3. 5)定时/计数器1外部输入INTO (P3. 2)外中断0WR (P3. 6)外部数据存储器写选通INTI (P3. 3)外中断1RD (P3. 7)外部数据存储器读选通表2-3 P3 口的第二功能RST:复位输入。当振荡工作时,RST引脚出现两个机器周期上高电平将使 单片机复位八VDT益出将使该引脚输出高电平,设置SFR AUXR的DISRTO位(地址8EH)可打开或关闭该功能。
14、DISRTO位缺省为RESET输出高电平打开 状态。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE (地址锁存允许) 输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振 荡频率的1/6输出的正脉冲信号,因此它可对外输出时钟或用于定时目地,要注意 的是:第当访问外部数据存储器时将跳过一个ALE脉冲。如有必要,可通过对特 殊功能寄存器(SFR)区中的8EH单元的DO位置位,可禁止ALE操作。该位禁 位后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚伎被微 弱拉高,单片机执行外部程序时,应设置ALE无效。PSEN:程序储存允许(PSEN)输出是外部
15、程序存储器的读选通信号,当 AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效, 即输出两个脉冲。当访问外部数据存储器,高有两次有效的PSEN信号。EA/VPP:外部访问允许。欲使CPU公访问外部程序存储器(地址0000H- FFFFH), EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程, 复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部 程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程电压Vpp。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。单片机最小系
16、统的结构图如下2-4所示:VCC2-4单片机最小系统图2.2 LCD1602 显示屏现在的字符型液晶模块已经是单片机应用设计中最常用的信息显示器件了。1602型LCD显示模块具有体积小,功耗低,显示内容丰富等特点。1602型LCD 可以显示2行16个字符,有8位数据总线D0-D7和RS, R/W, EN三个控制端 口,工作电压为5V,并且具有字符对比度调节和背光功能。具体与单片机的连接 方式如下图2-5所示:图2-5 LCD1602连接图2.2.1接口信号说明1602型LCD的接口信号说明如图2-6所示:编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/O2VDD电源正极10D
17、3Data I/O3V0液晶显示偏压信号11D4Data I/O4RS数据/命令选择端12D5Data I/O(H/L)5R/W读写选择端(H/L)13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA背光源正极8D1Data I/O16BLK背光源负极表2-6 1602型LCD的接口信号说明2.2.2主要技术参数1602型LCD的主要技术参数如下表所示:显示容量 芯片工作电压工作电流模块最佳工作电压16X2个字符4. 555V2.0mA (5.0V)5. 0V字符尺寸2. 95X4. 35 (WXH) mm表2-7 1602型LCD的主要技术参数读状态:
18、输入:RS=L,RW=L,E=H输出:D0D7二状态字读数据:输入:RS=H, RW=H,E=H输出:无写指令:输入:写数据:输入:RS=L,RW=L,据,E二高脉冲D0D7二指令码,E二高脉冲输出:D0D7二数据RS=H, RW=L, DO07=数输出:无223基本操作命令2.3 4X4矩阵键盘2.3.1矩阵式键盘的结构与工作原理在键盘中按键数量较多时,为了减少I/O 口的占用,通常将按键排列成矩 阵形式。在矩阵式键盘中,每条水平线和垂宜线在交叉处不直接连通,而是通过 一个按键加以连接。这样,一个端口(如P1 口)就可以构成4*4=16个按键,比 之直接将端口线用于键盘多出了一倍,而且线数越
19、多,区别越明显。由此可见, 在需要的键数比较多时,采用矩阵法来做键盘是合理的。本设计中使用的这个炉4 键盘不但能完成密码的输入还能作特别功能键使用,比如清空显示功能等。键盘 的每个按键功能在程序设计中设置。其大体功能(看键盘按键上的标记)及与单 片机引脚接法如图28所示:矩阵键盘图矩阵键盘被赋予不同的键值,当用户按下键盘时,由程序进行扫描并确定键 值,然后再进行相应的操作步骤。例如用户按下的键值为0-9,则进入密码输 入状态;用户按下的键值为开锁,则执行开锁程序;用户按下的键值为清除 则执行清除程序;用户按下的键值为设置,则执行设置程序;用户按下的键值 为“确认则执行确认程序。如下图29所示:
20、2.4总体设计电路本系统共两部分组成,即硬件部分与软件部分。其中硬件部分由键盘输入部 分、复位部分、LCD显示部分、开锁部分组成,软件部分由对应的主程序、初始 化程序、LCD显示程序、键盘扫描程序、键功能程序、密码设置程序等组成。LCW0(U1 L=xmu :u r(QMFZOAle544T55一 =v52-10整体设计电路图3系统各功能模块3.1 4X4矩阵键盘部分行扫描法行扫描法又称为逐行(或列)扫描査询法,是一种最常用的按键识 别方法,介绍过程如下。1、判断键盘中有无键按下将全部行线Y0-Y3置低电平,然后检测列线的状 态。只要有一列的电平为低,则表示键盘中有键被按下,而且闭合的键位于低
21、电 平线与4根行线相交叉的4个按键之中。若所有列线均为高电平,则键盘中无键 按下。2、判断闭合键所在的位置在确认有键按下后,即可进入确定具体闭合键的 过程。其方法是:依次将行线置为低电平,即在置某根行线为低电平时,其它线 为高电平。在确定某根行线位置为低电平后,再逐行检测各列线的电平状态。若 某列为低,则该列线与置为低电平的行线交叉处的按键就是闭合的按键。矩阵键盘扫描程序:unsigned char keyscan()/扫描键盘unsigned char temp,kj;unsigned char anjian=0xfe0xfd,0xfb,0xf7;for(k=0;k4;k+) Pl = an
22、jiank;temp = 0x10;for(J=0;J4;J+)if(!(Pl&temp)return(J+k*4);temp = _crol_(temp4);void JudgeO Pl = OxfO;if(Pl!=OxfO)/判断是否有按键delay(60);/消抖if(Pl!=OxfO)h=keyscan();程序说明:4X4矩阵键盘与单片机通过8根线连接,分为4行线和4列线。 行线被置为低电平,列线被置为高电平,然后每个按钮分别于行列线连接,Judge() 函数用于键盘扫描,当按下按钮后,行线把列线拉低,然后通过keyscanO函数来 确定按键的数值。3.2 LCD1602液晶屏部分为
23、了提高密码锁的密码显示效果能力。本设计的显示部分由LCD1602液晶屏 取代普通的数码管来完成。只有按下键盘上的开启按键后,显示器才处于开启状 态。同理只有按下关闭按键后显示器才处于关闭状态。否则显示器将一直处于初 始状态,当需要对密码锁进行开锁时,按下键盘上的开锁按键后利用键盘上的 数字键0-9输入密码,每按下一个数字键后在显示器上显示一个*,输入多少位 就显示多少个*。当密码输入完成时,按下确认键,如果输入的密码正确的话, LCD 1602显示“LOCK OPENED!”,红色的LED等灭。如果密码不正确,LCD 1602 显示屏会显示“PASSWORD ERROR”,红色的LED等亮。通
24、过LCD显示屏, 可以清楚的判断出锁所处的状态。LCD 1602驱动程序:bit lcd_busy()/判断液晶屏忙否 bit result;rs = 0;rw = 1;en = 1;result = (bit)(PO&0x80);en = 0;return result;void write_or(ler(unsigned char order) / 液晶屏写命令while(lcd_busy();rw = 0;en = 0;P0 = order;en = 1;en = 0;void write_data(unsigned char date) / 液晶屏写数据 whlle(lcd_busy(
25、);rs = 1;rw = 0;en = 0;P0 = date;en = 1;en = 0;void init_lcd()/液晶屏初始化write_order(0x38);delay(l);write_order(0x0c);delay(l);write_order(0x06);delay(l);write_order(OxO 1);delay(l);void L1602_char(uchar hangjichar lie,char sign)uchar a;if(hang = 1) a = 0x80;if(hang = 2) a = OxcO;a = a + lie 1;write_ord
26、er(町;write_data(sign);void L1602_string(uchar hang.uchar lie.uchar *p)uchar a;if(hang = 1) a = 0x80;if(hang = 2) a = OxcO;a = a + lie 1;write_or(ler(a);while(l)if(*p = ,0,) break;write_data(*p);p+;程序说明:init_lcd()是对液晶屏的初始化函数。Icd.busyO函数为判断液晶屏 忙否,当此函数返回1时,表示液晶屏正在忙碌当中,禁止对其进行操作。当返回 0时,表示用户可以对液晶屏进行操作。wri
27、te_order(unslgned char order)为写命 令 函数。write_data(unsigned char date)为 写数据 函数。L1602_char(uchar hanguchar liechar sign)是对LCD1602写入字符的函数。L1602_string(uchar hanguchar lie.uchar *p)是对LCD1602写入字符串的函数。3.3密码锁各功能界面33.1输入密码界面密码输入界面图3.3.2修改密码界面3-2密码修改界面图33.3输入密码成功界面3-3密码输入正确界面33.4输入密码错误界面LCD1U.O16LvTEXFPasswor
28、d Err-orL0|vr-Lp*3-4密码输入错误界面密码锁各功能的程序:void main() unsigned char a=l,i=0,k=0,l=l,m=l,n,f=0;inlt_lcd();L1602_string( 1J,11Welcome To Use );touchl=0;whlle(l) judge();if(h10)if(h=tablei)k+;L1602_string(2,a;t*,t);a+;i+;if(a=7)a=l;if(i=6)i=0;h=16;jf(h=14) L1602_string(lJ/fInput Password M);L1602_string(24
29、,fttf);h=16;touch=l;touchl=0;k=0;1=1;if(h=12)if(k=6)L1602_string( 14/ * Password Right1*);L1602_st ring(2,1 畀 LockOpened !M);touch=-toucli; elseL1602_string( 1,1,” Password Error11);L1602_stHng(2,l 畀,f);1=0;delay(255);k=0;h=16;while(l)Judge();if(h=U) L1602_string(l,l 昇 NewCode);L1602_string(2,V“);while(m=l)Judge();touch 1=-touch 1;if(h10)tabl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农场合作协议书
- 食品贴牌加工合同(标准版)
- 培训押金协议书
- 动土协议的合同范本
- 汽修店转让协议书
- 直营店加盟协议书
- 2025年汽车发动机零部件市场分析报告
- 2025电梯安装施工合同示范文本
- 2025至2030中国强化营养食品行业发展趋势分析与未来投资战略咨询研究报告
- 电梯检验员安全培训试题及答案解析
- 2025年六安裕安罗集乡招考村级后备干部7人考试参考题库及答案解析
- 2025年甘肃省酒泉市玉门市招聘专职社区工作者20人考试参考题库及答案解析
- 2025版中风常见症状及护理方法指南
- 2025年芜湖市第二十四届中等职业学校职业技能大赛“无人机操控与维护(学生赛)”赛项竞赛规程
- 青年高尔夫培训营开营仪式策划方案
- 基金从业人员资格考试知识点大全2025年含答案
- 浆砌石挡墙拆除施工详细技术方案
- 乡村道路修建知识培训课件
- 2025宁夏旅游投资集团有限公司招聘16人(第二批)笔试备考题库及答案解析
- 公路养护项目安全技术交底
- 2025云南昆明元朔建设发展有限公司第一批收费员招聘20人考试参考试题及答案解析
评论
0/150
提交评论