基于51单片机的密码锁设计毕业设计_第1页
基于51单片机的密码锁设计毕业设计_第2页
基于51单片机的密码锁设计毕业设计_第3页
基于51单片机的密码锁设计毕业设计_第4页
基于51单片机的密码锁设计毕业设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

基于AT89S51与AT24C02密码锁的设计(苏州大学应用技术学院)目录前言 IC总线阐明第节主控芯片AT89S52AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采纳ATMEL公司的高密度、非易失性存储技术生产,兼容原则8051指令系统及引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方式进行编程及通用8位微处置器于单片芯片中,ATMEL公司的功效壮大,低价位AT89S51单片机可为您提供许多高性价比的应用处合,可灵活应用于各类操纵领域。2.1.1.要紧性能参数与MCS-51产品指令系统完全兼容4k字节在系统编程(ISP)Flash闪速存储器1000次擦写周期-的工作电压范畴全静态工作模式:0Hz-33MHz三级程序加密锁128×8字节内部RAM32个可编程I/O口线2个16位准时/计数器6个中断源全双工串行UART通道低功耗空闲和掉电模式中断可从空闲模唤醒系统看门狗(WDT)及双数据指针掉电标记和快速编程特性灵活的在系统编程(ISP字节或页写模式)2.1.2.功效特性概述AT89S51提供下列原则功效:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位准时/计数器,一种5向量两级中断构造,一种全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但许诺RAM,准时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并严禁其它全部部件工作直到下一种硬件复位。2.1.3.引脚功效阐明P0口:P0口是一组8位漏极开路型双向I/0口,也即地址/数据总线复用口。作为输出口历时,每位能驱动8个TTL逻辑门电路,对端口写“l”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在F1ash编程时,P0口接受指令字节,而在程序校验时,输出指令字节,校验时,规定外接上拉电阻。P1口:Pl是一种带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸取或输出电流)4个TTL逻辑门电路。对端口写“l”,通过内部的上拉电阻把端口拉到高电平,现在可作输入口。作输入口利历时,由于内部存在上拉电阻,某个引脚被外部信号拉低时会输出一种电流(IIL)。Flash编程和程序校验期间,Pl接受低8位地址。端口引脚第二功效:MOSI(用于ISP犏程)MISO(用于ISP犏程)SCK(用于ISP犏程)P2口:P2是一种带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸取或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,现在可作输入口,作输入口利历时,由于内部存在上拉电阻,某个引脚被外部信号拉低时会输出一种在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器时,P2口线上的内容(也即特殊功效寄放器(SFR)区中P2寄放器的内容),在整个访问期间不变化。Flash编程或校验时,P2亦接受高位地址和其它操纵信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/0口。P3口输出缓冲级可驱动(吸取或输出电流)4个TTL逻辑门电路。对P3口写入“l”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端时,被外部拉低的P3口将用上拉电阻输出电流。P3口除作为同样的I/0口线外,更重要的用途是它的第二功效,以下表所示:P3口还接受某些用于Flash闪速存储器编程和程序校验的操纵信号。端口引脚的第二功效RXD(串行输入口)TXD(串行输出口)INT0(外中断0)INT1(外中断1)T0(准时/计数器0外部输入)T1(准时/计数器1外部输入)WR(外部数据存储器写选通)RD(外部数据存储器读选通)RST:复位输入。当振荡器工作时,RST引脚显现两个机械周期以上高电平将使单片机复位。WDT溢出将使该引脚输出高电平,设立SFRAUXR的DISRT0位(地址8EH)可打开或关闭该功效。DISRT0位缺省为RESET输出高电平打开状态。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存许诺)输出脉冲用于锁存地址的低8位字节。即便不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于准时目的。要注意的是:每当访问外部数据存储器时将跳过一种ALE脉冲。对F1ash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功效寄放器(SFR)区中的8EH单元的D0位置位,可严禁ALE操作。该位置位后,只有一条M0VX和M0VC指令ALE才会被激活。另外,该引脚会被微弱拉高,单片机执行外部程序时,应设立ALE无效。PSEN:程序贮存许诺(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每一种机械周期两次PSEN有效,即输出两个脉冲。当访问外部数据存储器,没有两次有效的PSEN信号。EA/VPP:外部访问许诺。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必需维持低电平(接地)。需注意的是:若是加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU那么执行内部程序存储器中的指令。F1ash存储器编程时,该引脚加上+12V的编程电压Vpp。XTALl:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。2.1.4.特殊功效寄放器这些地址并无全数占用,没有占用的地址亦不可运用,读这些地址将获得一种随意的数值。而写这些地址单元将不能获得预期的成果。不要软件访问这些未概念的单元,这些单元是留作后来产品扩展用途的,复位后这些新的位将为0。中断寄放器:各中断许诺操纵位于IE寄放器,5个中断源的中断优先级操纵位于IP寄放器。双时钟指针寄放器:为更方便地访问内部和外部数据存储器,提供了两个16位数据指针寄放器:DP0位于SFR(特殊功效寄放器)区块中的地址82H、83H和DP1位于地址84H、85H,当SFR中的位DPS=0选择DP0,而DPS=1那么选择DP1。顾客应在访问对应的数据指针寄放器前初始化DPS位。电源空闲标志:电源空闲标志(POF)在特殊功效寄放器SFR中PCON的第4位(),电源打开时POF置“1",它可由软件设立睡眠状态并非为复位所妨碍。存储器构造:MCS-51单片机内核采纳程序存储器和数据存储器空间分开的构造,均含有64KB外部程序和数据的寻址空间。程序存储器:若是EA引脚接地(GND),全数程序均执行外部存储器。在AT89S51,假设EA接至Vcc(电源+),程序第一执行地址从0000H-0FFFH(4KB)内部程序存储器,再执行地址为1000H-FFFFH(60KB)的外部程序存储器。数据存储器:AT89S51的含有128字节的内部RAM,这128字节可运用直接或间接寻址方式访问,堆栈操作可运用间接寻址方式进行,128字节都可设立为堆栈区空间。看门狗准时器(WDT):WDT是为理解决CPU程序运行时可能进入混乱或死循环而设立,它由一种14bit计数器和看门狗复位SFR(WDTRST)构成。外部复位时,WDT默觉得关闭状态,要打开WDT,顾客必需按次序将01EH和0E1H写到WDTRST寄放器(SFR地址为0A6H),当启动了WDT,它会随晶体振荡器在每一种机械周期计数,除硬件复位或WDT溢出复位外没有其它方式关闭WDT,当WDT溢出,将使RST引脚输出高电平的复位脉冲。运用看门狗(WDT):打开WDT需顺次序写01EH和0E1H到WDTRST寄放器(SFR的地址为0A6H),当WDT打开后,需在必然的时候01EH和0E1H到WDTRST寄放器以幸免WDT计数溢出。14位WDT计数器计数达成16383(3FFFH),WDT将溢出并使器件复位。WDT打开时,它会随晶体振荡器在每一种机械周期计数,这意味着顾客必需在不大于每一种16383机械周期内复位WDT,也即写01EH和0E1H到WDTRST寄放器,WDTRST为只写寄放器。WDT计数器既不可读也不可写,当WDT溢出时,普通将使RST引脚输出高电平的复位脉冲。复位脉冲持续时刻为98×Tosc,而Tosc=1/Fosc(晶体振荡频率)。为使WDT工作最优化,必需在适合的程序代码时刻段周期地复位WDT避免WDT溢出。掉电和空闲状态时的WDT:掉电时期,晶体振荡停止,WDT也停止。掉电模式下,顾客不能再复位WDT。有两种方式可退出掉电模式:硬件复位或通过激活外部中断。当硬件复位退出掉电模式时,处置WDT可象普通的上电复位同样。当由中断退出掉电模式那么有所不同,中断低电平状态持续到晶体振荡稳固,当中断电平变成高即响应中断效劳。为避免中断误复位,当器件复位,中断引脚持续为低时,WDT并未开始计数,直到中断引脚被拉高为止。这为在掉电模式下的中断执行中断效劳程序而设立。为确保WDT在退出掉电模式时极端情形下不溢出,最佳在进入掉电模式前复位WDT。在进入空闲模式前,WDT打开时,WDT是不是继续计数由SFR中的AUXR的WDIDLE位决定,在IDLE期间(位WDIDLE=0)默许状态是继续计数。为避免AT89S51从空闲模式中复位,顾客应周期性地设立准时器,从头进入空闲模式。当位WDIDLE被置位,在空闲模式中WDT将停止计数,直到从空闲(IDLE)模式中退出从头开始计数。中断:AT89S51共有5个中断向量:2个外中断(INT0和INT1),2个准时中断(Timer0和Timer1)和一种串行中断。这些中断源各自的严禁和使能位参见特殊功效寄放器的IE。IE也涉及总中断操纵位EA,EA清0,将关闭全部中断。准时器0和准时器1的中断标志TF0和TF1,它是准时器溢出时的S5P2时序周期被置位,该标志保存至下个时序周期。晶体振荡器特性:AT89S51中有一种用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2别离是该放大器的输入端和输出端。那个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一路构成自激振荡器。外接石英晶体(或陶瓷谐振器)及电容Cl、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容Cl、C2尽管没有十分严格的规定,但电容容量的大小会轻微妨碍振荡频率的高低、振荡器工作的稳固性、起振的难易程序及温度稳固性。若是运用石英晶体,咱们推荐电容运用30pF±10pF,而如运用陶瓷谐振器建议选择40pF±10F。顾客也能够采纳外部时钟。这种情形下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2那么悬空。由于外部时钟信号是通过一种2分频触发器后作为内部时钟信号的,因此对外部时钟信号的占空比没有特殊规定,但最小高电平持续时刻和最大的低电平持续时刻应符合产品技术条件的规定。空闲节电模式:在空闲工作模式状态,CPU维持睡眠状态而全部片内的外设仍维持激活状态,这种方式由软件产生。现在,片内RAM和全部特殊功效寄放器的内容维持不变。空闲模式可由任何许诺的中断请求或硬件复位终止。需要注意的是,当由硬件复位来终止空闲工作模式时,CPU普通是从激活空闲模式那条指令的下一条指令开始继续执行程序的,要完毕内部复位操作,硬件复位脉冲要维持两个机械周期(24个时钟周期)有效,在这种情形下,内部严禁CPU访问片内RAM,而许诺访问其它端口。为了幸免在复位终止时可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不该是一条对端口或外部存储器的写入指令。掉电模式:在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功效寄放器的内容在终止掉电模式前被冻结。退出掉电模式的方式是硬件复位或由处在使能状态的外中断INT0和INT1激活。复位后将从头概念全数特殊功效寄放器但不变化RAM中的内容,在Vcc恢复到正常工作电平前,复位应无效,且必需维持一准时刻以使振荡重视启动并稳固工作。Flash闪速存储器的并行编程:AT89s51单片机内部有4k字节的可快速编程的Flash存储阵列。编程方式可通过传统的EPROM编程器运用高电压(+12V)和和谐的操纵信号进行编程。AT89S51的代码是一一字节进行编程的。数据查询:AT89S5l单片机用数据查询方式来检测一种写周期是不是终止,在一种写周期中,如需读取最后写入的那个字节,那么读出的数据的最高位()是原先写入字节最高位的反码。写周期完毕后,有效的数据就会出此刻全部输出端上,现在,可进入下一种字节的写周期,写周期开始后,可在任意时刻进行数据查询。Ready/Busy:字节编程的进度可通过“RDY/BSY”输出信号监测,编程期间,ALE变成高电平“H”后端电平被拉低,表达正在编程状态(忙状态)。编程完毕后,变成高电平表达预备就绪状态。程序校验:若是加密位LB1、LB2没有进行编程,那么代码数据可通过地址和数据线读回原编写的数据,各加密位也可通过直接回读进行校验。读片内签名字节:AT89S51单片机内有3个签名字节,地址为000H、100H和200H。用于声明该器件的厂商和型号等信息,读签名字节的进程和正常校验相仿,只需将和维持低电平。芯片擦除:在并行编程模式,运用操纵信号的对的组归并维持ALE/PROG引脚200ns-500ns的低电平脉冲宽度即可完毕擦除操作。在串行编程模式,芯片擦除操作是运用擦除指令进行。在这种方式,擦除周期是本身准时的,大概为500ms。擦除期间,用串行方式读任何地址数据,返回值均为00H。Flash闪速存储器的串行编程:将RST接至Vcc,程序代码存储阵列可通过串行ISP接口进行编程,串行接口涉及SCK线、MOSI(输入)和MISO(输出)线。将RST拉高后,在其它操作前必需发出编程使能指令,编程前需将芯片擦除。芯片擦除那么将存储代码阵列全写为FFH。外部系统时钟信号需接至XTAL1端或在XTALl和XTAL2接上晶体振荡器。最高的串行时钟(SCK)不超出l/16晶体时钟,当晶体为33MHz时,最大SCK频率为2MHz。数据校验:数据校验也可在串行模式下进行,在那个模式,在一种写周期中,通过输出引脚MISO串行回读一种字节数据的最高位将为最后写入字节的反码。第节AT24C02AT24C02支持I2C总线数据传送合同,I2C总线合同规定:任何将数据传送到总线的器件作为发送器,任何从总线接受数据的器件为接受器。数据传送是由产生串行时钟和全部起始停止信号的主器件操纵的,AT24C02作为从器件。尽管主器件和从器件都能够作为发送器或接受器,但由主器件操纵传送数据发送或接受的模式。2.2.1.性能与400KHzI2C总线兼容到伏工作电压范畴低功耗CMOS技术写爱惜功效当WP为高电日常进入写爱惜状态页写缓冲器自准时擦写周期1,000,000编程/擦除周期可保存数据100年8脚DIPSOIC或TSSOP封装温度范畴商业级工业级和汽车级2.2.2.引脚功效描述VCC+工作电压VSS地SCL串行时钟:串行时钟输入管脚用于产生器件全部数据发送或接受的时钟,这是一种输入管脚。SDA串行数据/地址:双向串行数据/地址管脚用于器件全部数据的发送或接受,SDA一种开漏输出管脚,可与其它开漏输出或集电极开路输出进行线或wire-OR。A0A1A2器件地址输入端:这些输入脚用于多个器件级联时设立器件地址,当这些脚悬空时默许值为0,24WC01当运用24WC01或24WC02时最大可级联8个器件,若是只有一种24WC02被总线寻址这三个地址输入脚A0A1A2可悬空或连接到Vss,若是只有一种24WC01被总线寻址这三个地址输入脚A0A1A2必需连接到Vss。当运用24WC04时最多可连接4个器件该器件仅运用A1A2地址管脚A0管脚未用能够连接到Vss或悬空,若是只有一种24WC04被总线寻址,A1和A2地址管脚可悬空或连接到Vss。当运用24WC08时最多可连接2个器件且仅运用地址管脚A2A0,A1管脚未用能够连接到Vss或悬空,若是只有一种24WC08被总线寻址A2管脚可悬空或连接到Vss。当运用24WC16时最多只可连接1个器件全部地址管脚A0A1A2都未用管脚能够连接到Vss或悬空。WP写爱惜:若是WP管脚连接到Vcc,全部的内容都被写爱惜只能读。当WP管脚连接到Vss或悬空,许诺器件进行正常的读/写操作。第节LCD1602此刻的字符型液品模块已是单片机应用设计中最经常使用的信息显示屏件了。1602型LCD显示模块含有体积小,功耗低,显示内容丰硕等特点。1602型LCD能够显示2行16个字符,有8位数据总线D0—D7和Rs,R/W,EN三个操纵端口,工作电压为5V,并且含有字符对照度调剂和背光功效。 2.3.1.接口信号阐明1602型LCD的接口信号阐明如表2-1所示:表2-11602型LCD的接口信号阐明编号符号引脚阐明编号符号引脚阐明1VSS电源地9D2DataI/O2VDD电源正极10D3DataI/O3VO液晶显示偏压信号11D4DataI/O4RS数据/命令选择端(H/L)12D5DataI/O5R/W读写选择端(H/L)13D6DataI/O6E使能信号14D7DataI/O7D0DataI/O15BLA背光源正极8D1DataI/O16BLK背光源负极1602型LCD的要紧技术参数如表2-2所示:表2-21602型LCD的要紧技术参数显示容量芯片上作电压工作电流模块最佳工作电压字符尺寸16X2个字符~4.35大致操作程序读状态:输入:RS=L,RW=L,E=H输出:DO-D7=状态字读数据:输入:RS=H,RW=H,E=H输出:无写指令:输入:RS=L,RW=L,D0-D7=指令码,E=高脉冲输出:D0-D7=数据写数据:输入:RS=H,RW=L,D0-D7=数据,E=高脉冲输出:无第节晶振振荡器晶体振荡器,简称晶振,其作用在于产生原始的时钟频率,那个频率通过频率发生器的放大或缩小后就成了电脑中各类不同的总线频率。以声卡为例,要实现对模拟信号或48kHz的采样,频率发生器就必需提供一种或48kHz的时钟频率。若是需要对这两种音频同时支持的话,声卡就需要有两颗晶振。可是此刻的娱乐级声卡为了减少本钱,普通都采纳SCR将输出的采样频率固定在48kHz,可是SRC会对音质带来损害,并且此刻的娱乐级声卡都没有专门好地解决那个问题。此刻应用最普遍的是石英晶体振荡器。石英晶体振荡器是一种高精度和高稳固度的振荡器,石英晶体振荡器也称石英晶体谐振器,它用来稳固频率和选择频率,是一种能够取代LC谐振回路的晶体谐振元件。石英晶体振荡器普遍地应用在电视机、影碟机、录像机、无线通信设备、电子钟表、单片机、数字仪器仪表等电子设备中。为数据处置设备产生时钟信号和为特定系统提供基准信号。在单片机中为其提供时钟频率。石英晶体振荡器是运用石英晶体(二氧化硅的结晶体)的压电效应制成的一种谐振器件,它的大致构成大致是:从一块石英晶体上按必然方位角切下薄片(简称为晶片,它能够是正方形、矩形或圆形等),在它的两个对应面上涂敷上银层用作电极运用,在每一种电极上各焊一根引线接到管脚上,再加上封装外壳就构成了石英晶体谐振器,简称为石英晶体或晶体、晶振。其产品同样用金属外壳封装,也有效玻璃壳、陶瓷或塑料封装的。只要在晶体振子板极上施加交变电压,就会使晶片产生机械变形振动,此现象即所谓逆压电效应。当外加电压频率等于晶体谐振器的固有频率时,就会发生压电谐振,从而致使机械变形的振幅忽然增大。本设计中采纳12MHz做系统的外部晶振。电容取值为30pF。第3章系统硬件构成第节设计原理本设计采纳AT89S52为主控芯片,通过IIC总线合同与AT24C02进行通信。电路的辅助模块有复位电路、矩阵按键电路、继电器电路、报警电路。在进行keilc编程的时候,第一在程序中设立初始密码。在进行开锁的时候,顾客需要进行根据提示进行运用按键输入密码,在输入密码的同时主控芯片单片机遇根据程序的设定和输入的密码进行比较,若是输入每一种密码都对的的情形下,那么液晶会提示顾客进行对应的操作,如进行修改密码。报警与开锁电路实际是在在密码已经进行比对后来,主控芯片通过鉴定的成果给出对应的操作,即对应的I/O端口会显现高低电平的转变,从而实现开锁与报警的功效。系统框图如图3-1所示图3-1系统框图第节电路总图构成在确信了选用什么型号的单片机后,就要确信在外围电路,其外围电路涉及电源输入部份、存储部份、键盘输入部份、复位部份、晶振部份、显示部份、报警部份、开锁部份构成,依如实际情形键盘输入部份选择4*4矩阵键盘,显示部份选择字符型液晶显示LCDl602。电路总图如图3-2所示:图3-2电路总原理图3.2.1.报警部份当密码输入两次的数值与所设定的参数值不同时,单片机AT89C51便通过口操纵三极管来驱动扬声器报警,当输出低电日常三极管截止,当输出高电日常三极管导通扬声器报警。如图3-3所示图3-3报警电路原理图3.2.2.AT24C02存储部份掉电存储单元的作用是在电源断开的时候,存储现在设定的单价信息。AT24C02是ATMEL公司开发的可擦除存储芯片,AT24C02是一种2K位串行CMOSE2PROM,内部含有256个8位字节,AT24C02有一种16字节页写缓冲器。该器件通过IIC总线接口进行操作,有一种专门的写爱惜功效。采纳两线串行的总线和单片机通信,电压最低能够到,额定电流为1mA,静态电流10Ua,芯片内的资料能够在断电的情形下保存40年以上,并且采纳8脚的DIP封装,运用方便。如图3-4所示图3-42AT24C02原理图电路3.2.3.显示部份为了提高密码锁的密码显示成效能力。本设计的显示部份由液晶显示屏LCDl602取代普通的数码管来完毕。只有按下键盘上的启动按键后,显示屏才处在启动状态。同理只有按下关闭按键后显示屏才处在关闭状态。否则显示屏将始终处在初始状态,当需要对密码锁进行开锁时,按下键盘上的开锁按键后运用键盘上的数字键0-9输入密码,每按下一种数字键后在显示屏上显示一种“*”,输入多少位就显示多少个“*”。当密码输入完毕时,按下确认键,若是输入的密码对的的话,LCD子显示“RIGHT”,单片机其中引脚会输出低电平,使三极管T2导通,电磁铁吸合,电子密码锁被打开,若是密码不对的,LCD显示屏会显示“ERROR”,输出的是高电平,电子密码锁不能被打开。通过LCD显示屏,能够清晰的鉴定出密码锁所处的状态。其显示部份引脚接口如图3-5所示:图3-5液晶显示电路和上拉电阻驱动3.2.4.复位电路复位电路(图3-12是单片机复位电路)含有上电自动复位和手动复位的双重功效。单片机的RST引脚是复位信号的输入端,复位信号是高电平的时候才有效,其有效时刻应持续24个震荡脉冲周期(即2个机械周期)以上;同样为了确保应用系统能够精确地复位,复位电路应使引脚RST脚维持10ms以上的高电平状态。只要RST维持高电平,单片机就会自动循环复位。当RST引脚从高电平状态转为低电平状态时,单片机退出复位状态,从程序存储器的0000H地址开始执行顾客程序。电容C3和电阻R5构成上电复位电路。上电刹时RST引脚获得高电平,随着电容C11的充电,RST引脚的高电平慢慢下降。只要高电平维持足够的时刻,单片机就能够完毕复位。手动复位如图3-6所示图3-6复位电路3.2.5.晶振部份AT89S52引脚XTAL1和XTAL2与晶体振荡器及电容C二、C3按图4-6所示方式连接。晶振、电容C2/C3及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容C二、C3的容量有关,但要紧由晶振频率决定,范畴在0~33MHz之间,电容C二、C3取值范畴在20~40pF之间。依如实际情形,本设计中采纳12MHz做系统的外部晶振。电容取值为30pF。电路如图3-7图3-7晶振电路3.2.6.开锁电路开锁电路的功效是当输入对的的密码后密码锁将被锁定,既开锁。当单片机引脚发出信号经三极管放大后,触动电磁阀即会把锁打开。一旦输入密码,单片机便会与初始密码进行比对,若是密码输入两次都与原始密码不相符即会报警。电路如图3-8所示图3-8开锁电路3.2.7.键盘输入模块键盘是单片机十分重要的输入设备,是实现人机对话的纽带。键盘是由一组规那么排列的按键构成,一种按键事实上确实是一种开关元件,即键盘是一组规那么排列的开关。根据按键与单片机的连接方式不同,按键要紧分为独立式按键和矩阵式按键,有了这些按键,对单片机的操纵就方便多了。本设计按键数量较多,因此采纳矩阵式按键以节省I/O口线。将16个按键分为4排4列排列好,如图3-9矩阵键盘硬件构造。当有一种键按下时,通过某一边引脚赋低电平,扫描全数引脚看是不是与最初的赋值同样,不同那么根据对应的算法(通过变化后的值与初始值相或,根据成果赋值)确信是哪个键按下。键盘为4×4形式,按键涉及阿拉伯数字0~9,和锁定、更改和改密三个应用按键。当顾客需要输入密码或修改密码时,按下对应按键即会与单片机产生信号,并会执行对应的程序。电路如图3-9所示图3-9矩阵键盘电路第4章仿真设计第节Protues仿真软件概述Protues是现在运用比较普遍的单片机类的仿真系统的软件之一,它能够实现的功效比较多,能够实现程序与原理图的连调,也能够单独作为绘制原理图的工具运用,与Protel有着过之不及的功效,于此同时还能够进行PCB幅员的生成,在方式中与Protel类似。此款软件及绘制原理图、PCB幅员和仿真于一身。Protues此款软件的运用比较简朴。在运行环境搭载好的前提下,打开ISIS直接进入到主界面,在左侧栏框中有一种快捷键P(从库当选用),点击后显现一种对话框然后输入想要查找的元器件即可。后来在单击确信按键所选器件就会显示在界面左上角的小框中现在点击鼠标左键就会放到图层中,然后直接把鼠标放到接头处就会显示一种画笔的标志现在按住鼠标左键就可进行连线了。如图4-1所示为画图界面。图4-1画图界面第节Protues与Keil的连调在进行连调之前必需确保程序是完整的,原理图也是没有错误的。还要在对的的运行平台下进行操作。检查没有错误后,打开原理图,点击单片机就会显现一种对话框如图5-2所示,然后把生成的.hex文献添加到里面即可实现。在那个地址比较重要确实实是.hex文献的生成进程。第一把已编写好的程序加载到Keil软件下进行编译若是没有碰到任何错误后,选择对应的选项就能够够生成.hex文献了。后来再根据生成的的途径去寻觅那个文献。找到后来加载到之前点开的对话框上即可。在尔后点击运行按键就会进行仿真了,根据设计的功效去调试就能够够了。加载hex如图4-2所示图4-2加载.hex文献第节Protues与Keil的连调的仿真成果系统仿真运行环境下的成果如图4-3所示图4-3系统仿真图开锁仿真图如5-4所示图4-3开锁仿真图第5章系统软件设计本系统软件设计由主程序、初始化程序、LCD显示程序、键盘扫描程序、键功效程序、密码设立程序、EEPROM读写程序和延时程序等构成。第节主程序流程图图5-1所示为主程序流程图,开始接上电源,程序进行初始化设立,然后在键盘上输入密码,此系统进行键盘扫描,然后启动程序,进行爱惜,再次在键盘上输入密码,系统进行扫描,如和之前同样,那么执行程序,如不是,那么执行另一种程序,最后终止。图5-1主程序流程图第节按键功效流程图图5-2为按键功效流程图,在按键当中,有与输入、开锁、去除、设立、确认的程序相对应的按键,并按次序与输入的数相较较,当输入对的时,进入密码程序,错误时进行去除,输入两次对的的,可进行从头设立,最后确认程序。图5-2按键功效流程第节密码设立流程图如图5-3为密码设立流程图,开始按下设立键,输入旧密码,若是错误,累计三次错误,进行报警程序。如输入对的,能够改密码,确认后再次输入更改后密码,如两次输入同样,那么更改成功。图5-3密码设立流程图第节开锁流程图图5-4为开锁流程图,开始时按开锁键,输入密码,若是输入对的,那么开锁成功。若是输入错误累计三次,那么执行报警程序。图5-4开锁流程图结论这次毕业设计我之因此选择基于AT89S52与AT24C02的密码锁的设计,是由于我有关单片机与芯片之间的数据传输还存在着必然的问题。这次通过本次毕业设计,我查阅了大量的资料,具体理解AT89S52芯片、存储器芯片的读写操作、编程程序的简化与原则。在进行整体的设计后来,我运用了keilc软件编写了程序并且进行了protues软件的仿真。在仿真成功了后来。我才开始进行开始制作硬件电路。硬件电路涉及,复位电路、晶振电路、矩阵按键电路、LCD1602液晶显示电路、报警批示电路、开锁电路和AT24C02存储器电路!在进行硬件电路制作的时候,我花了大量的时刻,由于既要设计的美观又要考虑实际的电路布线规那么,因此仍是感觉制作起来极为困难。电路制作好了后来,我运用下载器把程序下载进去后来,发现并无我想象的那么的成功,然后我只能一一的调试各个模块,最后发现仍是存在许多的问题的,如业绩显示模块在运用主控单片机的P0模块是,仍是要需要运用上拉电阻的。在进行矩阵电路的制作时,电路很容易发生短路,因此必需运用万用表逐个的测量运用短路的现象!从策划开始,我开始查找和收集大量的资料,进行程序编程的时候,我又要把各个软件认真的熟悉了一下,再到仿真成功,硬件调试成功。在那个复杂的进程中我真的学到了诸多。我学会以了系统的看待了一种问题,也必需细心的看待每一种问题,由于一种整体不管在哪个小的方面出了问题,都会造成整个系统的出错。参考文献刘昌华,易逵.《8051单片机的C语言应用程序设计与实践》[M].国防工业出版社.魏立峰,王宝兴.单片机原理与应用技术[M].北京:北京大学出版社,:34-65.王为青,邱文勋.《51单片机应用开发案例精选》[M].人民邮电出版社.谭浩强.C程序设计(第三版)[M].北京:高等教育出版社,:113.陈雪丽.单片机原理及接口技术[M].北京:化学工业出版社,.王少伟,巫丹.89C51单片机USB接口的设计与实现.科技创新导报,(28).李明喜.新型电子密码锁的设计[J].机电产品开发与创新,,(03);董继成.一种新型平安的单片机密码锁[J].电子技术,,(03);杨茂涛.一种电子密码锁的实现[J].福建电脑,,(08);瞿贵荣.有效电子密码锁[J].家庭电子,,(07);,跟我学51单片机系列教程第(十一)—I2C总线[J],《》第11期.,.[J],.致谢光阴飞逝,一转眼大学四年的光阴就过去了,我所学的专业是电子信息工程与技术,我很爱慕这门专业,因此我的专业课成绩也不是很差。在本次毕业设计中,我的论文指导教师真的帮了我诸多的忙,指导了我诸多。在这次论文的选题到最后论文定稿,教师给了我诸多的建议。尚有确实是我在做硬件的时候,我的同窗给了我诸多的建议,我的同窗专业学的专门好,特别在做硬件方面,我在几个比较难以解决的问题都是她帮我解决的。在我做论文的时候给了我诸多的鼓舞与帮忙。最后还要感谢我的父母,这样含辛茹苦的给了我这样个学习的机遇。总之,感谢你们始终随着着我成长。真的到了离别的时候了,真的超级不舍得我美丽的母校,我敬爱的教师,可是百舸争流,勇者没必要勇敢向前。不管前面碰到什么苦难,我相信大学四年,我已经学会了如何去试探我所碰到的问题,学会如何去解决我所碰到的问题。最后,感谢在大学期间熟悉我和我熟悉的全部朋友,由于你们的陪伴,我的大学生活才丰硕多彩!谢谢!附录附录1:实物照片图1实物图2输入密码图3密码对的提示图4修改密码附录2:部份源程序#include<>//涉及头文献,同样情形不需要改动,头文献涉及特殊功效寄放器的概念#include""#include""#defineKeyPortP1unsignedcharKeyScan(void)//键盘扫描函数,运用行列反转扫描法{unsignedcharcord_h,cord_l;//行列值中间变量KeyPort=0x0f;//行线输出全为0cord_h=KeyPort&0x0f;//读入列线值if(cord_h!=0x0f)//先检测有无按键按下{DelayMs(10);//去抖if((KeyPort&0x0f)!=0x0f){cord_h=KeyPort&0x0f;//读入列线值KeyPort=cord_h|0xf0;//输出现在列线值cord_l=KeyPort&0xf0;//读入行线值while((KeyPort&0xf0)!=0xf0);//等待松开并输出return(cord_h+cord_l);//键盘最后组合码值}}return(0xff);//返回该值}unsignedcharKeyPro(void)//按键值处置函数,返回扫键值{switch(KeyScan()){case0x7e:return0;break;//0按下对应的键显示相对应的码值case0x7d:return1;break;//1case0x7b:r

温馨提示

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

评论

0/150

提交评论