欢迎来到天天文库
浏览记录
ID:6805986
大小:399.00 KB
页数:28页
时间:2018-01-26
《单片机课程设计-密码锁》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1设计课题任务、功能要求说明及方案介绍1.1设计课题任务与要求设计一个具有特定功能的密码锁。该密码锁上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。该密码锁具有系统原始密码,用户可以在原始密码输入正确后,即开锁后才可以设定并存储用户密码,当按修改密码键时,显示英文“CODE”,输入的新密码显示具体按下的数字和字母0-9或A-F。密码锁锁定时,密码输入应处于保密显示状态,显示“-”,密码输入正确时应显示密码输入正确提示信息主人的英文“HOST”,且指示灯亮,否则,显示密码输入错误提示信息:错误的英文字母“FAULT”,当输入错误3次时,蜂鸣器报警
2、,显示小偷的英文“THIEF”,且指示灯亮。1.2设计课题总体方案介绍及工作原理说明此密码锁主要由单片机芯片AT89S52、4X4矩阵键盘、8位数码管显示电路和复位电路构成,设计课题的系统框图如图1.1所示:图1.1系统框图实现密码锁功能的软件程序存放在AT89S52的ROM中。282设计课题硬件系统的设计2.1设计课题硬件系统各模块功能简要介绍本设计的硬件系统主要采用以下基本模块来实现,单片机最小系统模块,输入模块、输出模块、电源模块(1)单片机最小系统模块:AT89S52单片机芯片;复位电路;晶振电路。本模块AT89S52系统控制核心,单片机系统复位由按键
3、电平复位电路完成,通过按键S1来控制,单片机通过芯片引脚XTAL1、XTAL2,外并接石英晶体振荡器和两只电容。这样就为能为单片机提供频率为12MHz的晶振。(2)4X4矩阵键盘模块:四条列线接P1.7-P1.4;四行线接P1.3-P1.0(3)显示模块:本次设计显示为8位,采用两个四位一体数码管(共阳极)作为显示窗口,既可以节约成本又能简化电路。数码管用8个PNP三极管驱动。(4)电源模块:直接由PC的USB接口提供。2.2各功能模块详细介绍2.2.1AT89S52介绍(1)具有8KB可改写的Flash内部程序存储器,可写/擦1000次;(2)256字节内部
4、RAM;(3)32根可编程I/O口;(4)3个16位定时器/计数器。(5)8个中断源;(6)低功耗空闲和掉电方式。它的价格便宜,功能强大,能耗低。很大程度上减少总电路的复杂性,提高了所设计系统的稳定性。2.2.2时钟电路时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。本次课程设计我们用的是12MHz的晶振与电容并联形成一个稳定的自激振荡器。电路图如图2.2所示。28图2.1时钟电路2.2.3键盘电路本次设计采用4X4矩阵式键盘嵌在在单片机P1口上,矩
5、阵式键盘电路图2-3:图2.2键盘电路2.2.4复位电路复位电路采用按键复位方式,当按下复位键时,单片机复位,恢复初始状态,各寄存器清零。28当由于程序运行出错或操作错误是系统处于死锁状态时,为摆脱困境,也需要按复位键以重新启动。RST引脚是单片机复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡周期(即2个机器周期)以上,使用频率为12MHz的晶振,则复位信号持续时间应超过2us才能完成复位操作。复位电路如下图2.4所示。图2.3复位电路2.2.5数码管驱动电路与显示电路本次课程设计我们采用的是共阳极的数码管,用三极管与电阻来做驱动。电路图如
6、下图2.5所示。28图2.4数码管驱动及显示电路图2.3设计课题电路原理图、PCB图、元器件布局图电路原理图、PCB图、元器件布局图、元件清单见附录。283设计课题软件系统的设计3.1设计课题使用单片机资源的情况选择设计课题使用单片机资源的情况如下:P0口输出数码管段选信号,P2口输出数码管位选信号;40H-45H作为初始密码存储单元,60H-65H作为输入密码存储区;50H-55H为查表变址缓存单元,数码管显示内容做成表格供查询;堆栈栈底设置在30H。3.2设计课题软件系统各模块功能简要介绍本程序通过以下各子模块程序实现:主程序、数码管显示子程序、定时1ms
7、程序、定时10ms子程序、。主程序:主要是用于对输入信号的处理、输出信号的控制和对各个功能程序模块的运用及其控制,包括键扫功能,密码输入与修改功能,密码校对功能,报警功能等。数码管显示子程序:主要是用于对于密码锁不同状态显示不同内容,例如,当待锁状态显示P.当开锁状态显示HOST,当报警状态显示THIEF等。定时1ms子程序:用于数码管显示延时。定时10ms子程序:用于键扫去抖动。3.3程序设计思路与流程图本密码锁设计采用4X4矩阵式键盘来输入数字密码0-9和字母密码A-F,将输入的密码存入60H-65H,与40H-45H单元的原始密码比较,相等则开锁,不等则
8、显示错误,当3次输入错误就报警。同时仅
此文档下载收益归作者所有