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