您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 单片机课程设计:电子密码锁
摘要围绕电子密码锁系统的设计与开发工作进行研究和实践,详细介绍了电子密码锁系统的整体结构、硬件设计、软件设计,系统方案以及其的开发和具体实现。介绍一种基于在系统可编程技术和C51编译器配有集成开发的新型电子密码锁的设计方法,阐述了其工作原理和软硬件设计。在硬件上,用KEIL公司的C51大规模集成芯片对其外围电路进行集成,用1片8051实现了几十片分离元件才能实现的功能,几乎将整个系统下载于同一芯片中,实现了所谓的片上系统,从而大大简化了系统结构,增强了系统的可靠性和性价比。该密码锁特别适用于宾馆、办公大楼、公寓等场所。关键词密码锁;单片机;硬件设计;软件设计ABSTRACTAroundtheelectroniccodelocksystemdesignanddevelopmentofthestudyandpractice,detailstheelectroniccodelocksystemoverall,hardwaredesign,softwaredesign,systemsolutionsaswellasthedevelopmentandimplementation.Introductionofanewtechnologybasedonin-systemprogrammingandC51compilerequippedwithanintegrateddevelopmentofnewelectroniclocksdesignmethod,explainshowitworksandsoftwareandhardwaredesign.InthehardwarecompanieswithKEILC51large-scaleintegratedcircuitchiponitssurrounding,tointegrate1tablet8051implementationofscoresoftabletsseparationcomponentstoimplementfunctionality,almosttheentiresystemfordownloadonthesamechip,implementationoftheso-calledSOC,therebygreatlysimplifiessystemstructure,enhancessystemreliabilityandhighperformance/priceratio.Thepasswordlockisparticularlyrelevantforhotels,officebuildingsandapartment,etc.Keywordscombinationlock;single-chip;hardware;softwaredesign1目录1系统总体设计方案………………………………………………………………31.1设计课题任务………………………………………………………………31.2功能要求说明………………………………………………………………31.3总体方案介绍及工作原理…………………………………………………32硬件系统的设计…………………………………………………………………42.1系统各功能模块介绍………………………………………………………42.2系统电路图…………………………………………………………………52.3系统元器件清单……………………………………………………………53软件系统的设计…………………………………………………………………63.1设计使用单片机资源介绍…………………………………………………63.2软件系统各功能模块介绍…………………………………………………63.3软件系统程序流程框图……………………………………………………63.4软件系统的程序……………………………………………………………84系统的仿真分析及结论…………………………………………………………94.1系统设计的使用说明………………………………………………………94.2系统设计的仿真结果………………………………………………………94.3系统的误差分析…………………………………………………………104.4设计体会…………………………………………………………………104.5教学建议……………………………………………………………………10参考文献………………………………………………………………………………11致谢…………………………………………………………………………………12附录(1)……………………………………………………………………………13附录(2)……………………………………………………………………………1521系统总体设计方案1.1设计课题任务设计一个具有特定功能的密码锁。该密码锁上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。该密码锁设有系统原始密码888888,用户可以设定并存储用户密码,密码输入时应处于保密显示状态,密码输入正确时应显示密码输入正确提示信息,否则,显示密码输入错误提示信息。1.2功能要求说明密码锁主要实现的功能是:在输入的密码正确时蜂鸣器发出3S中的鸣叫,同时开锁,但错误时,蜂鸣器发出警报音,也可通过修改密码开锁,一旦密码遗忘可以将原始密码清零后再设新的密码。在进入密码锁环节后,具有输入原始密码,修改密码,当用户遗忘自己设定的密码后,可以要求厂家给出厂密码,输入出厂密码后,系统原始密码自动清零,这时用户需要输入一个新的密码作为以后使用的密码。当用户三次输入原始密码错误后系统将自动锁定,这时需要输入出厂密码进行新密码的设定方可成功。在输入密码模式下,若用户在120秒的时间内没有完成输入操作,则系统将自动退出密码的输入模式。1.3总体方案介绍及工作原理电子密码锁的总体功能原理是以AT89S52单片机为主要的控制核心,通过外接4*4矩阵式键盘作为信号源,128*64液晶作为显示器件,蜂鸣器作为提示音器件,单片机实时的去执行相应的功能。在液晶上显示出来,而此时通过蜂鸣器发出不同的提示音来告知用户输入的信息是否正确。CPU控制原理图如图1.1所示。图1.1CPU控制控制原理图128*64液晶显示矩阵式电路CPU蜂鸣器电路32硬件系统的设计2.1系统各功能模块介绍2.1.1AT89S52控制模块考虑到设计功能需要,控制器的功能用于外部键盘信号的接收和识别、液晶显示与密码辨认相关的信息,我们选择了学习过的AT89S52系列单片机,具有反应速度极快,工作效率特高的特点。AT89S52主要性能与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器,1000次擦写周期,全静态操作:0Hz~33Hz三级加密程序存储器32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。2.1.2键盘功能模块根据系统的基本的要求,密码的输入和修改要求具有修改和设定等功能,所以采用4*4矩阵式键盘接在AT89S52单片机的接口非常的方便,同时相对于独立式键盘大大节省了资源,在软件的设计时带来了极大的方便,使程序简介,可读性强。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成20键的键盘,而直接用端口线则只能多出一键(9键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。矩阵式键盘的按键识别方法用行扫描法。2.1.3液晶显示模块显示模块要具有显示输入密码,修改密码的信息准确性,综合以上的要求我选择128*64液晶作为显示的器件,接线主要是数据口接AT89S52单片机,控制线接在PORTF和PORTG两个口的部分口线上.4128*64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128*64,.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。其基本特征:(1)低电源电压(VDD:+3.0--+5.5V)(2)显示分辨率:128×64点(3)内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)(4)内置128个16×8点阵字符(5)2MHZ时钟频率2.1.4信息提示模块电子密码锁的另外一个要求功能是在输入密码正确和错误的时候发出报警,利用蜂鸣器来实现。具有电路结构非常简单,控制极其方便等优点。2.2系统电路图总原理图.总布局图.PCB图见附录(1)2.3系统的元器件清单本系统中所用到的元件如表2.1所示。表2.1系统元器件表器件型号数量器件型号数量单片机AT89S521个按键普通17个晶振8MHZ1个开关6脚双路1个电容22μF,33pF1个,2个液晶显示128*641个电阻普通若干下载接口10针接口1个蜂鸣器脉冲式1个单排针普通若干3软件系统的设计3.1使用单片机资源介绍AT89S52的P0,P1,P3口可作为输入输出口,且P1,P3口有以下第二功能:P3口引脚信号第二功能P1口引脚信号第二功能P3.0RXD(串行输入)P1.0T2(定时器/计数器T2外计数输入时钟输出)P3.1TXD(串行输出)P1.1T2EX(定时器/计数器T2的捕捉/重载控制)P3.2INT0(外部中断0)P1.5MOSI(在系统编程用)P3.3INT0(外部中断0)P1.6MISO(在系统编程用)P3.4T0(定时器0外部输入)P1.7SCK(在系统编程用)P3.5T1(定时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器写选通)RST:复位输入。3.2软件系统各功能模块介绍3.3.1矩阵式键盘模块矩阵式键盘软件设计通过在主程序中调用子程序Ucharkeyscan(void)的返回值去执行键功能子程序Voidkey(void),单片机P0口发出OXF0,之后延时12ms,读取C口线的数据,达到通过键功能程序的分支执行相应的程序段,完成对应的操作。3.2.2液晶显示模块液晶显示的程序中,将液晶的系统的设置,初始化的程序段写成子程序,等待50ms,显示开关控制初始化,之后只要调用Voidini(void)和Voidset(void),然后执行display();子程序就可以在液晶上随意显示所需的内容。3.2.3信息提示模块在软件的设计中信息提示模块是通过驱动蜂鸣器产生不同的声音来告诉密锁的状态,通过调用VoidFmq1(void)和VoidFmq2(void)两个子程序执行相应的功能,分别表示输入密码正确和错误。当输入正确时发出持续3S的鸣叫,错误时发出警报声。3.3软件系统程序流程框图软件系统的总体流程框图如图3.1,键扫和显示程序流程框图分别如图3.2、图13.3所示。Y键值次数判断输入新密码键值=0x84确认键值=0x44确认N=1N=2输入密码输入出厂密码N图3.1系统总流程图开始有键按下?键值+OX81?键值=OX82?键值判断NYYN结束2单片机P0口发0XF0延时12ms读取C口线的数据判断数据=0XF0?YN进行逐行扫描将返回值作为键值图3.2键扫流程图开始等待40ms系统功能设置等待50ms显示开关控制初始化判断是否有显示的信号显示所需的内容YN图3.3显示程序流程图开始3.4软件系统的程序软件系统的程序如附录(2)
本文标题:单片机课程设计:电子密码锁
链接地址:https://www.777doc.com/doc-4383009 .html