单片机开机密码设计.doc_第1页
单片机开机密码设计.doc_第2页
单片机开机密码设计.doc_第3页
单片机开机密码设计.doc_第4页
单片机开机密码设计.doc_第5页
已阅读5页,还剩17页未读, 继续免费阅读

下载本文档

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

文档简介

2012-2013 学年 第 2 学期 单片机原理及应用课 程 设 计 报 告题 目 : 单片机开机密码设计 专 业: 自动化 班 级: 电气工程系2013年5月5日1、任务书课题名称单片机开机密码设计指导教师(职称) 执行时间2013学年 第1学期 第10 周设计目的1、培养文献检索的能力,特别是如何利用Internet检索需要的文献资料。2、培养综合分析问题、发现问题和解决问题的能力。3、培养运用知识的能力和工程设计的能力。4、提高课程设计报告撰写水平。设计要求1 完全正确输入八位密码的前提下,有开锁提示;2 错误输入密码情况下,蜂鸣器报警;开锁密码错3次要报警10分钟,报警期间输入密码无效。3用户可以自行设定和修改密码;4只有内部上电复位时才能设置或修改密码。摘 要在当今社会,安全防盗已成为社会问题,而锁自古以来就是防盗的重要工目前国内大部分人使用的还是传统的机械锁,然而,眼下假冒伪劣的机械锁互开率非常之高,此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开。机械锁的这些弊端为一种新型的锁电子密码锁,提供了很大的发展空间。本设计阐述通过Proteus软件仿真电子密码锁的实现过程,选用51单片机为核心的系统来实现按键输入、开锁和密码识别。采用EPROM芯片24C02来完成密码的存储,通过1602A液晶显示器提示程序运行状态和使用步骤,利用蜂鸣器模拟报警,发光二极管模拟锁的开关。最终将设计的防盗密码锁系统通过Protues仿真软件验证设计的正确性。关键词:密码锁;单片机;存储芯片;仿真19单片机开机密码设置摘 要II1.1 设计目标31.2 主控部分31.3 密码输入方式4第2章 硬件系统设计52.1系统芯片介绍52.1.1单片机MCS-8051功能介绍52.2 硬件电路设计52.2.1 复位电路62.2.2 晶振电路62.2.3存储电路62.2.4 键盘输入电路72.2.5 显示电路72.2.6 电源输入电路8第3章 软件程序设计103.1 主程序流程图103.2 按键软件设计113.2.1 按键功能程序流程图113.2.2 按键功能子程序113.3 密码设置软件设计123.3.1 密码设置程序流程图123.3.2 密码设置子程序13第 4 章 系统仿真、调试及结论154.4 各模块的电路图及说明154.4.1 电子密码锁系统的键盘模块图4- 1键盘输入模块154.4.2 电子密码锁系统的显示模块154.4.3 电子密码锁系统的晶振复位电路164.4.4密码的掉电存储16参考文献17附录 :密码锁电路原理图18第1章 系统整体方案设计1.1 设计目标本设计采用MCS-8051单片机为主控芯片,结合外围电路矩阵键盘、液晶显示器LCD1602和密码存储24C02C等部分组成。其中键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,组成的电子密码锁系统,能够实现:1 完全正确输入八位密码的前提下,有开锁提示;2 错误输入密码情况下,蜂鸣器报警;开锁密码错3次要报警10分钟,报警期间输入密码无效。3用户可以自行设定和修改密码;4只有内部上电复位时才能设置或修改密码。系统整体设计框图如图1-1所示:输入电路显示电路主控芯片存储模块输出电路晶振电路图1- 1 系统整体设计框图1.2 主控部分选用单片机作为系统的核心部件,实现控制与处理的功能。单片机具有资源丰富、速度快、编程容易等优点。利用单片机内部的随机存储器(RAM)和只读存储器(ROM)及其引脚资源,外接液晶显示(LCD),键盘输入等实现数据的处理传输和显示功能,基本上能实现设计指标1.3 密码输入方式 由各按键组成的矩阵键盘每条行线和列线都对应一条I/O口线,键位设在行线和列线的交叉点,当一个键按下就会有某一条行线与某一条列线接触,只要确定接触的是哪两条线,即哪两个I/O口线,就可以确定哪一个键被触动。 行线设计成上拉口线,初始时被置高电位,列线悬空,初始置低。通过不断读行线口线,或者中断方式触发键位扫描。当发现有键按下,将列线逐一置低,其他列线置高,读行线口线。当某条列线置低时,某条行线也被拉低,则确定这两条线的交点处的按钮被按下。第2章 硬件系统设计2.1系统芯片介绍2.1.1单片机MCS-8051功能介绍MCS-8051是51系列单片机的一个型号,它是Intel公司生产的。MCS-8051是采用CMOS工艺,低功耗的8位单片机,片内含8k bytes的只读程序存储器和128 bytes的随机存取数据存储器(RAM),片内置通用8位中央处理器和存储单元,非常适于电池供电或其他要求低功耗的场合。MCS-8051有40个引脚,32个外部双向输入/输出(I/O)端口,2个16位可编程定时计数器,1个全双工串行通信口,均采用40引脚的双列直插封装(DIP)方式,其引脚图如图2-1示。图2- 1 MCS-8051引脚分布图2.2 硬件电路设计 本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由电源输入部分、键盘输入部分、复位部分、晶振部分、显示部分、报警部分组成,软件部分对应的由主程序、初始化程序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、键功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。2.2.1 复位电路单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。复位电路如图2-2。E1R1K1R210K图2- 2复位电路原理图2.2.2 晶振电路ST89C52引脚XTAL1和XTAL2与晶体振荡器及电容C2、C1按图2-5所示方式连接。晶振、电容C2C3及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容C1、C2的容量有关,但主要由晶振频率决定,范围在033MHz之间,电容C2、C3取值范围在530pF之间。根据实际情况,本设计中采用12MHZ做系统的外部晶振。电容取值为20pF。图2- 3晶振电路原理图2.2.3存储电路24C02C是一个2K位串行CMOS E2PROM, 内部含有256个8位字节,CATALYST公司的先进CMOS技术实质上减少了器件的功耗。24C02C有一个16字节页写缓冲器。该器件通过IC总线接口进行操作,有一个专门的写保护功能。采用两线串行的总线和单片机通讯,电压最低可以到2.5V,额定电流为1mA,静态电流10Ua(5.5V),芯片内的资料可以在断电的情况下保存40年以上,而且采用8脚的DIP封装,使用方便。 2.2.4 键盘输入电路矩阵键盘又称为行列式键盘,它是用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每一个交叉点上,设置一个按键。这样键盘中按键的个数是44个。这种行列式键盘结构能够有效地提高单片机系统中I/O口的利用率。图2.4为ME300B矩阵键盘电路图,行线接P1.4P1.7,列线接P1.0P1.3。图2.4 矩阵键盘电路2.2.5 显示电路为了提高密码锁的密码显示效果能力。本设计的显示部分由液晶显示器LCD1602取代普通的数码管来完成。只有按下键盘上的开启按键后,显示器才处于开启状态。同理只有按下关闭按键后显示器才处于关闭状态。否则显示器将一直处于初始状态,当需要对密码锁进行开锁时,按下键盘上的开锁按键后利用键盘上的数字键09输入密码,每按下一个数字键后在显示器上显示一个*,输入多少位就显示多少个*。当密码输入完成时,按下确认键,如果输入的密码正确的话, LCD子显示“RIGHT”,单片机其中P2.0引角会输出低电平,使三极管T2导通,电磁铁吸合,电子密码锁被打开,如果密码不正确,LCD显示屏会显示“ERROR”,P2.0输出的是高电平,电子密码锁不能被打开14。通过LCD显示屏,可以清楚的判断出密码锁所处的状态 。1602LCD主要技术参数:显示容量:162个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm1602型LCD基本操作程序如下表所示:表2- 1 LCD1602基本操作程序读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无其显示部分引脚接口如图2-5所示:R1010kP3.2P3.1P3.0DB07DB18DB29DB310DB411DB512DB613DB714RS4R/W5E6VCC2VL+15VL-16VSS1VEE3U2LCD1602图2- 5显示电路原理图2.2.6 电源输入电路密码锁主要控制部分电源需要用5V直流电源供电,其电路如图2-9所示,而5V电源输入时往往伴有杂波,所以加一个2.2uF的电容滤波。这样输出的电压一般能满足要求。VCCE22.2uF12POWER2PIN图2- 6 电源输入电路原理图第3章 软件程序设计3.1 主程序流程图如图3-1所示为主程序流程图,开始接上电源,程序进行初始化设置,然后在键盘上输入密码,此系统进行键盘扫描,密码正确,开锁成功,密码错误3次出错报警,选择是否修改密码,若要修改密码,先输入旧密码密码,密码正确后设置新密码,错误时报警,需要两次确认新密码,确认后,密码修改成功,否则结束最终返回。然后启动程序,进行保护,再次在键盘上输入密码,系统进行扫描,如果和之前一样,则执行相同程序,如不是,则执行另一种程序。开开始 开始始初始化次数加1输入密码密码正确?返返回回NYY开锁程序开锁?N修改密码?次数3?报警程序修改程序YNNY开始返回图3- 1主程序流程图3.2 按键软件设计3.2.1 按键功能程序流程图如图3-2为按键功能流程图,在按键当中,有与输入、开锁、清除、设置、确认的程序相对应的按键,并按顺序与输入的数相比较,当输入正确时,进入密码程序,错误时进行清除,输入两次新密码正确时,可进行重新设置密码,最后确认程序。开开始始键值输入?键值开锁?键值清除?键值设置?键值确认?密码输入程序设置程序清除程序开锁程序确认程序YYYYYNNNN返回N开始返回图3- 2按键功能流程图3.2.2 按键功能子程序void Check_key(void)unsigned int row,col,tmp1,tmp2;tmp1=0x10; / tmp1用来设置P1口的输出,取反后使P1.1P1.7中有一个为0 for(row=0;row4;row+) /行检测P1=0x0f; /先将p1.0p1.3置高P1=tmp1 ; /使p1.4p1.7中有一个为0tmp1*=2 ; /tmp1左移一位if(P1&0x0f)0x0f) /检测p1.0p1.3中是否有一位为0 DelayMs (30);if(P1&0x0f)0x0f) /检测p1.0p1.3中是否有一位为0,只要有说明此行有按键按下,进入列检测 tmp2=0x01; /tmp2用来检测哪一列为0for(col=0;col3?输新密码Y再次输新密码Y设设置置成功NY两次新密码输入相同?开始返回设置成功图3- 3密码设置流程图3.3.2 密码设置子程序if(sk11=1)&(cp0=0) GotoXY(0,0); print(old code:); / 提示输入旧密码pass=1;count1=0;count=0;count7=1;count2=1;count6=0;sk11=0;if(count!=0)&(pass=1)&(cp0=0) pass0=0; /输出显示*if(count=1)GotoXY(0,0); print(old code:*);if(count!=0)&(pass0=1)&(cp0=0)pass=0;if(count=1)GotoXY(0,0); print(new code:*);if(sk14=1)&(count7=1) /按键盘认键,校验旧密码 /旧密码输入正确if(password0=cq0)&(password1=cq1)&(password2=cq2)&(password3=cq3)&(password4=cq4)&(password5=cq5)&(pass=1)&(count6)GotoXY(0,0); print(new code:);pass0=1;pass=0;sk14=0;count=0;count7=0;n=0;m=0;elseGotoXY(0,0); print(old code wrong); /旧密码输入错误sk14=0;count2=0;count7=0;pass=0;m=0;if(pa!=10)&(pass0=1)con=pa;n+;pa=10;if(sk14=1)if(n7)&(count=6)GotoXY(0,0); print(set over!); /旧密码输入正确,存新密码第 4 章 系统仿真、调试及结论 运行Proteus程序后,进入软件的主界面。通过左侧工具栏中的P(从库中选择元件命令)命令,在Pick Devices 左侧窗口中选择所需元件的关键字,然后放置元件并调整方向和位置以及参数设置,进行连线。最后载入hex文件后可以进行模拟仿真,可以全速运行也可以单步调试运行。在利用Pro

温馨提示

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

评论

0/150

提交评论