1、 单片机技术课程设计说明书密码锁学 院: 电气与信息工程学院 学生姓名: 指导教师: 任永梅 职称 教授 专 业: 电气工程及其自动化 班 级: 学 号: 完成时间: 湖南工学院单片机技术课程设计课题任务书学院:电气与信息工程学院 专业:电气工程及其自动化指导教师 任永梅 学生姓名课题名称 密码锁内容及任务一、设计任务设计一个具有特定功能的密码锁。二、设计内容1、密码锁的硬件系统(1)、单片机最小系统模块(2)、供电模块(3)、显示模块(4)、键盘模块(5)、掉电存储保护模块(6)、报警模块2、密码锁的软件系统(1)、系统监控程序模块(2)、显示程序模块(3)、键盘程序模块(4)、掉电存储程序
2、模块(5)、报警程序模块三、设计要求该密码锁上电或按键复位后能自动显示系统提示符“P.”, 进入准备工作状态。该密码锁具有系统原始密码888888,用户可以设定并存储用户密码,密码输入时应处于保密显示状态,密码输入正确时应显示密码输入正确提示信息,否则,显示密码输入错误提示信息并报警提示。主要参考资料1李广弟.单片机基础M.第 3版.北京:北京航空航天大学出版社, 2003.6.2李全利.单片机原理及应用(C51编程)M.北京:高等教育出版社,2012.12.3马忠梅.单片机的C 语言应用程序设计M.第4版.北京:北京航空航天大学出版社,2003.6. 4李光飞.单片机C 程序设计指导M.北京
3、:北京航空航天大学出版社,2003.01.5李光飞.单片机课程设计实例指导M. 北京: 北京航空航天大学出版社,2004.9.教研室意见教研室主任:(签字)年 月 日I摘 要密码锁是现代生活中经常用到的工具之一,常用于各类保险柜、房门、防盗门等。电子密码锁, 克服了传统的机械式密码锁密码量少、安全性能差的缺点。特别是使用微处理器制作的智能电子密码锁, 它除具有电子密码锁的功能外, 还可引入了智能化管理功能, 从而使密码锁具有更高的安全性和可靠性。本文介绍如何使用C语言编写8051单片机程序,制作智能电子密码锁。系统由矩阵键盘、单片机系统、lcd显示器和报警系统组成。该智能电子密码锁主要可由使用
4、者自己设定一个6位数的密码, 将密码锁上锁。只有在按 “PUT IN CODES”码后12秒内输入和设定的密码相同时, 才能将锁打开,否则报警,报警后只有通过使用钥匙才能打开并停止报警。为了保证密码的更改方便与永久保存, 使用了存储芯片,这样, 在断电条件下, 其内部密码数据则可保持100年不丢失。本密码锁具有设计方法合理,简单易行,成本低,安全实用等特点关键词:电子密码锁;AT89C51;矩阵键盘;lcd1602;报警IIIII目 录摘 要 .I1 绪论 .11.1 课题背景及意义 .11.2 实现的功能 .11.3 总体方案介绍 .12 密码锁的硬件系统设计 .22.1 AT89S51单片
5、机简介 .22.2 复位电路 .32.4 晶振电路 .42.5 LCD1602显示模块 .42.6 按键输入模块 .62.7 防掉电存储模块 .72.8 报警电路 .72.9 元器件清单 .82.10 实物图 .82.11 原理图 .83 密码锁软件系统设计 .83.1 单片机资源使用 .83.2 液晶显示模块 .83.3 按键程序模块 .93.4 报警程序模块 .93.5 修改密码程序 .103.6 密码锁系统程序清单 .114 设计调试结果 .114.1 密码锁的使用说明 .114.2 密码锁的调试结果 .124.3 设计结论 .194.4 设计体会 .19参考文献 .20致谢 .20附
6、录 .22附 录A 电路元器件清单 .22附 录B 电路实物图 .23IV附 录C 电路原理图 .2411 绪论1.1 课题背景及意义电子密码锁是现代生活中常用的加密工具。他克服不了机械密码锁密码量少、安全性能差的缺点,尤其是微控制器的智能电子密码锁,不仅具有电子密码锁的功能,还可以加入智能化管理,从而使得密码锁具有更高的安全性和可靠性。现在的电子密码所经常使用的都是机械齿轮咬合和单片机控制。单片机相对于机械齿轮实现工艺没有那么繁琐实现起来更加容易,功能较为完善,所以使用单片机控制的较多。用单片机控制的密码锁常使用汇编语言编写程序,显示器大多都用七段译码显示器。而此次我所做的电子密码锁都是利用
7、高级语言C语言所编写,更加方便修改和增减相对应的功能;应用的显示器是低功率消耗而且是使用寿命长的L1602液晶显示器,显示更加的直观、使用起来更加方便。我所用的单片机最小系统是AT89C51类型的单片机成本非常的低而且使用起来非常的方便。1.2 实现的功能(1)该密码锁上电或按键复位后能自动显示系统提示符“P.”;(2)进入准备工作状态。该密码锁具有系统原始密码888888,用户可以设定并存储用户密码;(3)密码输入时应处于保密显示状态;(4)密码输入正确时应显示密码输入正确提示信息,否则,显示密码输入错误提示信息并报警提示;(5)按返回键能返回到初始界面;(6)为防止误操作,更改密码须有两次
8、确认。1.3 总体方案介绍硬件系统以AT89S51单片机为控制核心,辅以了LCD1602 液晶显示、键盘输入模块和密码存储模块等电路实现密码锁的基本功能;软件系统包括主函数、液晶显示程序、键盘程序、开锁报警正确提示。独立式键盘切换作为所需的密码输入,LCD1602液晶屏作为参数测量输出显示。由用户通过连接单片机的2矩阵键盘和用户输入的密码与单片机保存的密码进行比较。总体设计框图如图1所示。图1 单片机密码锁系统框图各模块相对应的功能如下:按键输入模块:分为两大块密码输入按键和功能按键,主要完成的是密码锁的输入功能。显示模块:用来显示系统状态以及操作提示功能。复位电路:不管现在处于什么状态,只要
9、按下复位键就应该是回到初始状态。报警电路:当密码输入错误时,发出报警信号。密码存储模块:用于完成掉电存储功能,使修改的密码断电后芯片仍然能修改后的密码打开锁。开锁电路:用继电器和发光二极管模拟开锁的状态。2 密码锁的硬件系统设计2.1 AT89S51单片机简介以AT89S51单片机为控制核心,外扩外围电路,完成频率计所需要的外围电路。显示电路,键盘输入电路,复位电路等。AT89S51 单片机内部配以基本单元:即三个定时/计数器、5个中断源。可由编程来实现根据定时、计数时计数溢出而产生的中断申请信号中断功能,并由LCD1602液晶对被测值进行显示。AT89S51系列单片机,具有反应速度极快,工作
10、效率特高的特点。AT89S51单片机的基本特点是低功耗、高性能,片内由 4KB可编程/擦除只AT89C51键 盘 输 入 模 块显 示 模 块复 位 电 路 密 码 存 储 模 块报 警 电 路开 锁 电 路 3读存储器的8位COMS微控制器组成,通过结合高密度、非易失存储技术来保证单片机引脚与相应指令系统的高兼容度。由于芯片里FLASH的存在,因此可以通过通用的非易失存储编程器实现在线编程以及重复编程等功能。在通常情况下,当系统掉电时,数据存储器的内容立即会被保存下来,而此时单片机其他一切都会停止工作,直到产生下一个中断或硬件复位信号整个系统才会重新开始工作。AT89S51的内部特点:具有4
11、0个引脚、8K片内程序存储器空间、256B的随机存取数据存储器,32个外部双向输入/输出I/O口, 5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个(WDT)电路,片内时钟振荡器。 AT89S52引脚图如图 2所示 。图2 89C51管脚图2.2 复位电路复位电路的作用是按下复位键可以使显示界面回到最开始的地方。课程设计按键复位电路由两个电阻一个电容和一个按键组成,当按键按下时,200电阻与VCC直接相连,和 1K电阻产生分压,在RST产生复位所需的高电平。当按键松开的,VCC 给电容充电, RST仍为高电平,而当电容充电完成后,相当于短路,则为低电平,正常工作。复位电路如图3
12、所示。4图3 复位电路2.4 晶振电路晶振电路的作用是产生单片机所必须的时钟频率。单片机工作所需的同步时钟信号由由以下两种方法获得,第一:由单片机片内时钟电路结合外部晶振、电容产生;第二:直接从单片机外部引入脉冲信号。设计中用第一方法,有石英晶体和微调电容(一般取值30pF左右)组成,石英晶体产生震荡,单片机振荡电路产生的脉冲信号称振荡信号,它的频率等于石英晶体的振荡频率(fosc),简称晶振频率,振荡脉冲信号还不是单片机工作所需的时钟信号,时钟信号必须由振荡脉冲信号经单片机片内时钟电路的处理后才能产生。课程设计晶振电路主要由振荡电路和分频电路组成。其中振荡电路由高增益反相器以及并联外接的石英
13、晶体和电容构成产生振荡脉冲。而分频电路则用于把振荡脉冲分频,已得到所需的时钟信号。振荡电路由单片机芯片的XTAL1端输入,XTAL2 端输出。此时同时并接一个石英晶体振荡器以及两个33pF 电容。而AT89S51中自带有分频电路所以不需要外接电路对脉冲信号进行分频。晶振频率是12MHz 。如图4所示。图4 晶振电路2.5 LCD1602显示模块现在的字符型液晶模块已经是单片机应用设计中最常用的信息器件,LCD1602显示模块具有体积小,功耗低,显示内容丰富等特点。LCD1602液晶显示屏可以显示两行16个字符,有8位数据总线D0-D7和RS、R/W、EN 三个控制端口。工作电压为5V, 并且具有字符对比度调节和