您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 单片机密码锁2毕业设计课程设计
-0-信息与电气工程学院课程设计说书(2010/2011学年第二学期)课程名称:单片机原理与应用题目:3*3按键电子密码锁专业班级:自动化0801班学生姓名:白文庆学号:080410118指导教师:岑毅南王静爽杨怡君设计周数:二周设计成绩:-1-一、课程设计目的1.1技术要求电源打开后,显示器显示“000”,“111”为默认内定密码;输入号码,再按“确定”开锁键。若号码正确,则锁打开(用蜂鸣器提示),否则显示器会清除为“000”;并且密码可修改。当输入默认内定密码,锁打开后,按下“修改密码”键,再依次按下三位数字,再按下“修改密码”键,即可修改为新的密码。(1)10个数字输入键,1个确定开锁键,1个密码修改键;(2)1个正确输入指示灯;1个正确输入蜂鸣器;(3)三个数码管1.2原始数据及主要任务设计并制作出一个以单片机为核心的电子所系统1确定总体设计方案;2设计键盘输入电路;3设计显示电路;4合理分配地址,编写系统程序;5利用protel设计硬件电路原理图和pcb图;6软硬件联机调试。二、课程设计正文2.1软件方面设计2.1.1系统分析本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用时只要将单片机的负载由继电器换成电子密码锁的电磁铁吸合线圈即可,当然也可以用继电器的常开触点去控制电磁铁吸合线圈。本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由电源输入-2-部分、-3-键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,软件部分对应的由主程序、初始化程序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、建功能程序、密码设置程序、EEPROM读写程序和延时程序等组成2.1.2系统设计(方案论证与比较)方案一:当用户输入的密码正确而且是在规定的时间(普通用户要求在12s内输入正确的密码,管理员要求在5s输入正确的密码)输入的话,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。。其原理方框图如图1-1所示。图1-1方案二:采用一种是用以AT89S51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。其原理如图1-2单片机微控制器开锁驱动电路电磁锁密码正确?Y返回N开锁控制电路90C52单片机密码存储串口显示电路矩阵键盘控制指示电路输入错误锁定键盘延时报警控制电路-4-图1-2单片机控制方案通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。2.1.3系统实施硬件部分由电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,软件部分对应的由主程序、初始化程序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、建功能程序、密码设置程序、EEPROM读写程序和延时程序等组成2.2硬件方面的设计2.2.1方案设计2.2.1.1STC90C52AD的功能参数介绍STC90C52AD是由宏晶公司生产的高性能八位单片机。如图一所示。该芯片采用FLASH存储技术,内部具有8KB字节快闪存存储器,采用DIP封装,是目前在中小系统中应用最为普及的单片机。STC90C52AD可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。只要程序长度小于8K,四个I/O口全部提供给用户。可用5V电压编程,而且擦写时间仅需10毫秒,仅为8751/87C51的擦除时间的百分之一,与8751/87C51的12V电压擦写相比,不易损坏器件,没有两种电源的要求,改写时不拔下芯片,STC90C52AD键盘输入复位电路密码存储电路晶振电路电源输入显示电路报警电路开锁电路-5-适合许多嵌入式控制领域。工作电压范围(2.7V~6V),全静态工作,工作频率宽在0Hz~24MHz之间,比8751/87C51等51系列的6MHz~12MHz更具有灵活性,系统能快能慢。STC90C52AD芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。P0口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作。STC90C52AD单片机为40引脚芯片如图一所示,在本设计中,主要用到P0口、P2口、P1.0口及P3.0、P3.1、P3.2口。图一P0口可作为通用I/O口,但须外接上拉电阻,所以在设计显示数码管我们避免了使用P0口这样大大简化了动态显示电路。P1口:8位、双向I/0口,内部含有上拉电阻。P1口可作普通I/O口。输出缓冲器可驱动四个TTL负载;用作输入时,先将引脚置1,由片内上拉电阻将其抬到高电平。P1口的引脚可由外部负载拉到低电平,通过上拉电阻提供电流。在FLASH并行编程和校验时,P1口可输入低字节地址。在串行编程和效验时,P1.5/MO-SI,P1.6/MISO和P1.7/SCK分别是串行数据输入、输出和移位脉冲引脚。P2口:具有内部上拉电阻的8位双向I/O口。P2口用做输出口时,可驱动4各TTL负载;用做输入口时,先将引脚置1,由内部上拉电阻将其提高到高电平。若负载为低电平,则通过内部上拉电阻向外部输出电流。在FLASH并行编程和校验时,P2口可输入高字节地址和某些控制信号。P3口:具有内部上拉电阻的8位双向口。P3口用做输出口时,输出缓冲器可吸收4各TTL的灌电流;用做输入口时,首先将引脚置1,由内部上拉电阻抬位高电平。若外部的负载是低电平,则通过内部上拉电阻向输出电流。在本设计中,P3口作为时间设置的4按键输入,因为有上拉电阻,所以可以通过按键直接接地,简化了电路。在与FLASH并行编程和校验时,P3口可输入某些控制信号。P3口除了通用I/O口功能外,还有替代功能如表1所示。-6-表1P3口的第二功能端口引脚各个功能P3.0RXD(串行口输入端)P3.1TXD(串行口输出端)P3.2INT0(外部中断0请求输入端,低电平有效)P3.3INT1(外部中断1请求输入端,低电平有效)P3.4T0(定时/计数器0计数脉冲输入端)P3.5T1(定时/计数器1计数脉冲输入端)P3.6WR(外部数据存储器写选通信号输出端,低电平有效)P3.7RD(外部数据存储器读选通信号输出端,低电平有效)单片机使用宏晶公司支持串口下载程序(ISP)的单片机,为STC90C52AD课程设计配发的小电路板(ISP-MCUBasiccircuit)电路原理图见下图。该板作为课程设计的核心电路板使用,板上有单片机及附属电路,RS-232通信驱动电路,高低电平测试电路等。课程设计电路中需要的其他电路在此基础上扩展,通过插孔连接。课程设计配发的小电路板(ISP-MCUBasiccircuit)电路原理图见下图。扩展电路在万用板上制作用四位数码管显示小时与分钟,中间那个点用来区分小时与分钟;每秒用一个LED闪烁一下;用了4个按键,一个是选择键,一个是加键,一个是减键,一个是确认键。时间要精确,整点报时,声音间隔1秒,并且可以调整时间调整位闪烁提示。12JPSGND1011DCD1RXD2TXD3DTR4GND5DSR6RTS7CTS8RI9JDBRS232-DB9C1+1C1-3C2+4C2-5Vs+2Vs-6Vcc16GND15T1in11T1out14T2in10T2out7R1out12R1in13R2out9R2in8U2MAX232C11uFC21uFC310uFC410uFC547uFGNDGNDTXDRXDC13224C14224EA/P4631XT119XT218RESET9P37/RD17P36/WR16P32/INT012P33/INT113P34/CT014P35/CT115P10/T2/ADC01P11/T2E/ADC12P12/ADC23P13/ADC34P14/ADC45P15/ADC56P16/RxD/ADC67P17/TxD/ADC78AD0/P0039AD1/P0138AD2/P0237AD3/P0336AD4/P0435AD5/P0534AD6/P0633AD7/P0732A8/P2021A9/P2122A10/P2223A11/P2324A12/P2425A13/P2526A14/P2627A15/P2728PSEN/P4429ALE/P4530P31/TxD11P30/RxD10VCC40GND20U1STC90C52ADCRYC1122pC1222pC010uFRST*C647uFC747uFC847uFC15224C16224RXDTXDR1200R06.8KR91MLowR23.3KVCCVCCVCC123456789101112131415161721222324252627282930313233343536373839PSR43.3KGNDVCC单片机基本配置板VCCHighR33.3KHtstLtstC17224GND低电平测试端高电平测试端电路原理图-7-扩展电路用到得器件:4个按键,一个是选择键,一个是加键,一个是减键,一个是确认键;四个DPY7-SEGDP共阳极动态LED;四个PNP三极管;8个360欧姆和四个1千欧的电阻;导线;一个74LS245进行驱动。每各引脚可吸收8各TTL的灌电流。作为输入时,首先应将引脚置1。P0也可用做访问外部程序存储器和数据存储器时的低8位地址/数据总线的复用线。在该模式下,P0口含有内部上拉电阻。在FLASH编程时,P0口接收代码字节数据;在编程效验时,P0口输出代码字节数据(需要外接上拉电阻)。2.2.1.2综合电路设计硬件部分由电源输入部分、键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,软件部分对应的由主程序、初始化程序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、建功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。其原理框图如下2.2.2单元电路设计2.2.2.1电源供电单元图二2.2.2.2动态显示设计数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,如图三所示。-8-2.2.2.3动态显示驱动设计2.2.2.4串口驱动电路单元DB-9引脚定义针脚功能5信号地线1载波检测6数据准备完成2接受数据7发送请求3发送数据8发送删除4数据终端准备完成9振铃指示如图六所示,MAX232是RS-232收发器,用于实现TTL电平与微机串口的RS-232电平信号之间的转换。采用单+5V电源供电,数据传输速率为120kbit/s。图六2.2.2.5蜂鸣器电路单元如图七所示-9-图七2.2.2.6动态显示控制电路单元2.2.2.7按键电路单元如图九所示-10-图九每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照图九所示的4*3键盘,说明线反转个工作原理。首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全
本文标题:单片机密码锁2毕业设计课程设计
链接地址:https://www.777doc.com/doc-4848640 .html