《(电子行业企业管理)基于C单片机的电子密码锁课程设计》由会员分享,可在线阅读,更多相关《(电子行业企业管理)基于C单片机的电子密码锁课程设计(30页珍藏版)》请在金锄头文库上搜索。
1、10/11学年第二学期单片机控制系统设计与调试 课程设计任务书指导教师: 班级: 地点:机房、单片机实验室课程设计题目:密码锁的设计一、 课程设计目的1.灵活运用单片机的基础知识,依据课程设计内容,能够完成从硬件电路图设计,到PCB制版,再到软件编程及系统调试实现系统功能,完成课程设计,加深对单片机基础知识的理解,并灵活运用,将各门知识综合应用。2.能够上网查询器件资料,培养对新知识新技术的独立的学习能力和应用能力。3.独立完成一个小的系统设计,从硬件设计到软件设计,增强分析问题、解决问题的能力,为日后的毕业设计及科研工作奠定良好的基础。二、 课程设计内容(包括技术指标)1. 主要设计内容:使
2、用数码管显示器来显示密码输入的相关信息,通过10位数字按键(09)设置4位数字(09)密码,2位功能按键A(输入校验密码并验证密码)和B (设置新密码),利用继电器模拟电子门锁作出是否开门以及报警等反应。2. 具体设计内容:上电时内定初始密码为“0000”,红色发光二极管点亮,绿色发光二极管熄灭,数码管显示器显示“初始状态”,“初始状态”由设计者自行设计,但不可省略。功能按键A:实现设置新密码功能,存储新密码并显示,一旦设定新密码,则初始密码失效。功能按键B:实现输入校验密码并验证密码功能,显示校验密码并进行密码比较。l 密码输入正确则继电器启动,并使红色发光二极管熄灭,绿色发光二极管点亮,数
3、码管显示器提示“密码正确”,“密码正确”状态的显示内容由设计者自行设计,但不可省略,持续25S后继电器关闭,绿色发光二极管熄灭,红色发光二极管点亮;l 密码输入错误则持续红色发光二极管点亮,绿色发光二极管熄灭状态,蜂鸣器报警,数码管显示器提示“密码错误”,“密码错误”状态的显示内容由设计者自行设计,但不可省略,持续25S后蜂鸣器停止报警;l 校验密码连续输入错误3次,则持续红色发光二极管点亮,绿色发光二极管熄灭状态,蜂鸣器报警,数码管显示器提示“密码连续错误3次”,“密码连续错误3次”状态的显示内容由设计者自行设计,但不可省略,持续25S后蜂鸣器停止报警,新密码失效,恢复初始密码使用。3. 设
4、计内容说明:设计必须实现“主要设计内容”的所有功能,但对于“具体设计内容”可做适当调整,密码输入错误3次环节可自行设计。此外,为了加强密码锁的严密性,可采取下述方案对“设置新密码功能”环节进行加强,依据设计思路可作适当调整,此部分内容为附加内容。功能按键A:实现输入校验密码并验证密码功能,显示校验密码并进行密码比较。l 密码输入正确:n 则继电器启动,并使红色发光二极管熄灭,绿色发光二极管点亮,数码管显示器提示“密码正确”,“密码正确”状态的显示内容由设计者自行设计,但不可省略,若不设置新密码,则持续58S后继电器关闭,绿色发光二极管熄灭,红色发光二极管点亮;n 若功能按键B按下:实现设置新密
5、码功能,存储新密码并显示,一旦设定新密码,则初始密码失效。但此功能必须以旧密码输入正确为前提。l 密码输入错误:n 校验密码连续输入错误小于3次,则持续红色发光二极管点亮,绿色发光二极管熄灭状态,蜂鸣器报警,数码管显示器提示“密码错误”,“密码错误”状态的显示内容由设计者自行设计,但不可省略,持续25S后蜂鸣器停止报警;n 校验密码连续输入错误3次,则持续红色发光二极管点亮,绿色发光二极管熄灭状态,蜂鸣器报警,数码管显示器提示“密码连续错误3次”,“密码连续错误3次”状态的显示内容由设计者自行设计,但不可省略,持续25S后蜂鸣器停止报警,新密码失效,恢复初始密码使用。三、 时间安排1. 布置任
6、务、查资料 1天2. 硬件电路图设计及PCB制版 3天3. 硬件电路图及PCB制版验收 1天4软件编程设计 3天5系统调试 3天6调试验收 1天7完成设计报告 3天四、 基本要求1. 画出硬件电路图,完成PCB制版;2. 画出软件流程图,编写程序(C51语言/汇编语言);3. 完成系统调试;4. 提交设计报告,用A4打印。2 目 录1 课程设计题目12 课程设计目的及意义13 系统方案设计及确定23.1 系统方案的提出23.2 方案比较及确定34 系统硬件设计44.1 STC89C52最小系统设计44.1.1时钟电路设计44.1.2复位电路设计54.2 键盘、显示电路硬件设计64.2.1键盘电
7、路硬件设计64.2.2显示电路硬件设计64.3 继电器驱动电路及报警电路设计84.3.1 固态继电器简介84.3.2 固态继电器驱动电路设计94.3.3 报警提示电路105 系统软件设计105.1 主程序模块125.2 密码比较判断模块125.3 键盘扫描模块125.4 修改密码模块135.5 数码管液晶显示模块146 系统调试157 总结16参考文献17附录一18附录二2401 课程设计题目:密码锁利用单片机STC89C52设计一个密码锁,能够使用数码管显示器来显示密码输入的相关信息,通过10位数字按键(09)设置4位数字(09)密码,2位功能按键A(输入校验密码并验证密码)和B (设置新密
8、码),利用继电器模拟电子门锁作出是否开门以及报警等反应。2 课程设计目的及意义在单片机向着大容量、多功能、高性能、高速度、低电压、低功耗及外围电路内装化的方向发展的时代,选择一种性价比最优的芯片显得尤为重要。在本次课程设计中,程序编写可选汇编和C语言。而汇编效率高,对硬件的可操控性更强,体积小,但不易维护,可移植性很差;C语言效率比较低,硬件可操控性比较差,目标代码体积大,但容易维护,可移植性很好。该系统用C语言编写程序,与汇编语言相比具有更好的移植性和可读性,便于修改和增减功能,故本次课程设计我选择了C语言。通过对此次设计的理解和掌握,使我受益很多:1、熟悉掌握单片机的结构及工作原理,锻炼独
9、立设计、制作和调试单片机应用系统的软硬件开发的过程和方法。2、通过MCS-51单片机应用系统的设计与编程应用,将理论知识和实际应用结合起来,加深对电子电路、电子元器件、印刷电路板等方面的知识,提高在软件编程、排错调试、焊接技术、相关设备的使用技能。掌握单片机的接口及外围设备的特性,使用和控制方法。为以后设计和实现单片机应用系统打下良好的基础。3、通过密码锁的设计将所学知识融会贯通,锻炼独立设计、制作和调试单片机应用系统的能力,领会单片机应用系统的软件、硬件调试方法和习题研制开发过程,为进一步的动手实践活动打下一定的基础。4、这次课程设计时我翻阅了很多资料例如张毅刚主编的单片机原理及应用、高峰编
10、的单片微型计算机原理与接口技术等书籍,还从网上找了STC89C52、74LS244以及74LS06的资料。让我在学习开发单片机应用系统时对芯片功能的学习有了更新的理解,这不仅需要电子技术方面要有数字电路和模拟电路等方面的理论基础,还需要英语基础。3 系统方案设计及确定3.1 系统方案的提出本次课程设计的密码锁电路主要由四个模块组成:键盘输入模块、数据处理模块、显示控制模块,继电器驱动模块和蜂鸣器报警模块。方案一:以单片机为电子密码锁系统核心,使用4*4矩阵键盘作为数据输入方式,驱动4位数码管显示器提示程序运行过程和开锁的步骤,利用继电器及蜂鸣器模拟电子门锁作出是否开门以及报警等反应。图1为单片
11、机控制密码锁的系统原理框图。图1 单片机控制密码锁的系统原理框图方案二:以74LS112双JK触发器构成的数字逻辑电路控制方案,如图2。 输入按扭开关组输入锁存电路密码存储电路开锁控制电路机械动作构件5秒定时电路20秒定时电路声光指示电路图2 数字逻辑控制方案电子密码锁原理框图3.2 方案比较及确定 由于利用单片机灵活的编程设计和强大的I/O端口,及其控制的准确性,不但能实现基本的密码锁功能,还可以增添掉电存储、声光提示等功能,故选用方案一。CPU的选择STC89C52系列单片机,高速、低功耗、新增在系统在应用可编程(ISP,IAP)功能,使不具有E2PROM的单片机具有了E2PROM的功能,
12、可以在线对现场历史数据的存储功能,适用于一些需经常改变数据的应用产品(如计费器、门禁系统等)及需远距离改变设备参数的产品(遥控设备等)。采用STC89C52单片机设计的电子密码锁,利用内部E2PROM资源,不需要外接程序存储器就能完成修改密码等多种功能,并且保密性高、成本低、简单易行,符合住宅、部门办公安全要求。ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离,是一个强大易用的功能。具有双工UART串行通道。内部集成看门狗计时器,不再需要像AT89C51那样外接看门狗计时器单元电路键盘电路采用矩阵式键盘,显示电路采用四位数码管动态显示方式,动态显示相对
13、于静态显示有占用I/O口资源少的特点,恰好适合于本系统。方案中没有采用键盘、显示接口芯片8279实现键盘、显示接口。由于本次课程设计所使用的键盘数量、显示的方式及单片机的I/O口线使用情况等,采用前一种方式就足以能完成课程设计的要求,不必要多用一个芯片。根据本次课程设计的实际情况,兼顾经济性、使用性、简单易行、操作简单等多方面因素,本次课程设计采用方案一来完成。4 系统硬件设计本次课程设计的密码锁电路主要由四个模块组成:键盘输入模块、数据处理模块、显示控制模块,继电器驱动模块和蜂鸣器报警模块。通过单片机送给开锁执行机构,电路驱动继电器吸合,从而达到开锁的目的。如图3所示,为密码锁开锁电路原理图
14、。当用户输入的密码正确时,单片机便输出开门信号,送到继电器驱动电路,然后驱动继电器常开触点闭合,达到开门的目的。本次设计中,继电器选用固态继电器,信息通过数码管显示,并利用蜂鸣器和发光二极管声光指示。其中,绿发光二极管亮,表示开锁;否则,红发光二极管亮,表示密码输入错误并开启报警电路。开锁驱动电路STC89C52单片机密码正确锁定开锁是否图3 密码锁开锁电路原理图4.1 STC89C52最小系统设计 单片机最小系统包括CPU、时钟电路和复位电路等三部分。下面则分别介绍这三部分的选取。4.1.1时钟电路设计时钟电路用于产生单片机工作时所必需的时钟控制信号,常用的时钟电路有内部时钟方式和外部时钟方
15、式。内部时钟方式电路外接两个电容和一个晶振,根据振荡频率要求的不同选用不同阻值的电容和晶振。时钟电路中的晶振震荡频率范围通常是1.2MHz12MHz,AT89S51常选择6MHz或12MHz的石英晶体,为消除误差,得到准确的波特率,本设计选择震荡频率为11.0592MHz的石英晶,时钟电路如图4所示。 图4时钟电路4.1.2复位电路设计复位是单片机的初始化操作,只需在单片机的复位引脚加上大于2个机器周期的高电平就可使单片机复位,当程序运行出错或操作进入死循环状态可通过复位重新启动程序。MCS-51的复位是由外部的复位电路来实现的,STC89C52也不例外,复位电路通常采用上电自动复位和按钮复位两种方式,为方