基于单片机AT89C52智能密码锁设计[摘要]本文介绍一种基于单片机智能密码锁,对系统硬件设计和软件实现进行了详细的描述。
该系统采用A T89C52单片机芯片,最终用户通过键盘输入的密码,实现密码锁的功能。
它除了具备传统密码锁的功能,还引入了智能化,科技化等功能,从而使密码锁具有很高的安全性、可靠性,受到了广大用户的亲睐。
[关键词]密码锁单片机AT89C52 智能Based on yangzhou nanpu garden guard against theft intelligent combination lockdesignAbstract:This paper introduces a kind of intelligent trick lock, based on single chip of the system hardware design and software realization are described. The system adopts theAT89C52 single chip computer chips, end users through the keyboard input password,realize the combination lock function. It besides having traditional combination lockfunction, also introduced intelligent, technology, and other functions, thus makecombination lock has high safety and reliability, by the majority of users pro-gaze。
Key words:Trick lock MCUA T89C52 Intelligent目录第一章绪论 (1)第二章系统的设计要求及方案 (2)2.1系统设计要求 (2)2.2系统方案设计................................. 错误!未定义书签。
第三章系统主要芯片介绍 . (2)3.1 单片机AT89C52的介绍与其功能特点 (2)3.2 AT89C52引脚功能介绍......................... 错误!未定义书签。
3.3 AT89C52内部芯片结构 (4)3.4 LCD1602的介绍 (5)结论 ............................................. 错误!未定义书签。
致谢 ............................................. 错误!未定义书签。
参考文献 ........................................... 错误!未定义书签。
第一章绪论智能密码锁是新型现代化安全管理系统,它集微机自动识别技术和现代安全管理措施为一体,它涉及电子,机械,光学,计算机技术,通讯技术,生物技术等诸多新技术。
它是解决重要部门出入口实现安全防范管理的有效措施,适用各种场合,如银行、宾馆、机房、军械库、机要室、办公间、智能化小区、工厂、家庭等。
在数字技术网络技术飞速发展的今天,智能密码锁技术得到了迅猛的发展。
智能密码锁系统早已超越了单纯的门道及钥匙管理,它已经逐渐发展成为一套完整的出入管理系统。
它在工作环境安全、人事考勤管理等行政管理工作中发挥着巨大的作用。
在该系统的基础上增加相应的辅助设备可以进行电梯控制、车辆进出控制,物业消防监控、保安巡检管理、餐饮收费管理等,真正实现区域内一卡智能管理。
电子杂志、报刊经常刊登有密码开关,密码锁这样电路,大多数是使用常用的数字电路,如CD4017,然后通过不同的连接方式实现密码控制功能。
这种电路的特点就是密码修改只能通过改变电路的连接来实现,密码很容易被破解,电路复杂,故障率高。
第二章系统的设计要求及方案2.1系统设计要求设计一款能设定密码的电子智能密码锁。
1、能输入6位数字密码,每输入一个密码显示为*,不显示密码,能删除并重新输入。
2、具有2次输入确认功能。
3、具有掉电以后密码不丢失,3次输入错误报警的功能,给出LED发光报警。
第三章系统主要芯片介绍3.1 单片机AT89C52的介绍与其功能特点一、单片机AT89C52的介绍ATMEL公司的AT89C52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
它的片内Flash存储器允许在系统内改编程序或用常规的非易失性的存储器编程器来编程,同时已经具有三级存储器保密的性能。
在众多的51系列单片机中,要算ATMEL公司的AT89C52单片机最实用。
片内8K程序存储器是采用Flash工艺的,这种工艺下的存储器用户可以用电方式瞬间擦除、改写。
所以说这种单片机对开发设备要求很低,开发时间也大大缩短。
写入单片机的程序还可以加密,这又很好的保护了所有劳动者的成果。
[3]二、单片机AT89C52的功能与特点(1)AT89C52的功能描述(2)AT89C52具有以下几个特点:①兼容MCS51指令系统· 8k可反复擦写(>1000次)Flash ROM②32个双向I/O口· 256x8bit内部RAM;③3个16位可编程定时/计数器中断·时钟频率0-24MHz;④2个串行中断·可编程UART串行通道;⑤2个外部中断源·共8个中断源;⑥2个读写中断口线· 3级加密位;⑦低功耗空闲和掉电模式·软件设置睡眠和唤醒功能;AT89C52单片机为40引脚芯片VCC:电源电压GND:地P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口,作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端口。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号校验期间,P1接收低8位地址。
表3-1为P1口第二功能。
表3-1 P1口第二功能P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。
在访问8位地址的外部数据存储器(如执行:MOVX @Ri 指令)时,P2口线上的内(也即特殊功能寄存器,在整个访问期间不改变。
Flash 编程或校验时,P2也接收高位地址和其它控制信号。
[4]P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
作输入端口时,被外部拉低的P3口将用上拉电阻输出电流I。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,P3口的第二功能如下表3-2。
表3-2 P3口的第二功能RST:复位输入。
当振荡工作时,RST引脚出现两个机器周期上高电平将使单片机复位。
WDT益出将使该引脚输出高电平,设置SFR AUXR 的DISRTO 位(地址8EH)可打开或关闭该功能。
DISRTO 位缺省为RESET输出高电平打开状态。
PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
当访问外部数据存储器,高有两次有效的PSEN信号。
EA/VPP:外部访问允许。
欲使CPU公访问外部程序存储器(地址0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的编程电压VPP。
XTAL1:振荡器反相放大器及内部时钟发生器的输入端。
3.3 AT89C52内部芯片结构特殊功能寄存器:特殊功能寄存器的片内空间分存如下图3-2所示。
这些地址并没有全部占用,没有占用的地址不可使用,读这些地址将得到一个随意的数值。
而写这些地址单元将不能得到预期的结果。
中断寄存器:各中断允许控制位于IE寄存器,5个中断源的中断优先级控制位于IP寄存器。
双时钟指针寄存器:为方便地访问内部和外部数据存储器,提供了两个16位数据指针寄存储器:PD0位于SFR区块中的地址82H、83H和DP1位于地址84H、85H,当SFR中的位DPS=0时选择DP0,而DPS=1时选择DP1。
在使用前初始化DPS。
电源空闲标志:电源空闲标志(POF)在特殊功能寄存储器SFR中PCON的第4位(PCON.4),电源打开时POF置“1”,它可由软件设置睡眠状态并不为复位所影响。
存储器结构:MCS-51单片机内核采用程序存储器和数据存储器空间分开的结构,均具有64KB外部程序和数据的寻址空间。
程序存储器:如果EA引脚接地(GND),全部程序均执行外部存储器。
在AT89C52,假如接至VCC(电源+),程序首先执行从地址0000H-0FFFH(4KB)内部程序存储器,再执行地址为1000H-FFFFH(60KB)的外部程序存储器。
数据存储器:在AT89C52的具有128字节的内部RAM,这128字节可利用直接或间接寻址方式访问,堆栈操作可利用间接寻址方式进行,128字节均可设置为堆栈区空间。
[5]看门狗定时器(WDT):WDT是为了解决CPU程序运行时可能进入混乱或死循环而设置,它由一个14bit计数器和看狗复位SFR(WDTRST)构成。
外部复位时,WDT默认为关闭状态,要打开WDT,必按顺序将01H和0E1H写到WDTRST 寄存器,当启动了WDT,它会随晶体振荡器在每个机器周期计数,除硬件复位或WDT溢出复位外没有其它方法关闭WDT,当WDT溢出,将使RST引脚输出高电平的复位脉冲。
3.4 LCD1602的介绍液晶显示模块已作为很多电子产品的通过器件,如在计算器、万用表、电子表及很多家用电子产品中都可以看到,显示的主要是数字、专用符号和图形。