密码锁课程设计.doc

上传人:文库蛋蛋多 文档编号:3942055 上传时间:2023-03-28 格式:DOC 页数:19 大小:1.98MB
返回 下载 相关 举报
密码锁课程设计.doc_第1页
第1页 / 共19页
密码锁课程设计.doc_第2页
第2页 / 共19页
密码锁课程设计.doc_第3页
第3页 / 共19页
密码锁课程设计.doc_第4页
第4页 / 共19页
密码锁课程设计.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《密码锁课程设计.doc》由会员分享,可在线阅读,更多相关《密码锁课程设计.doc(19页珍藏版)》请在三一办公上搜索。

1、 单片机技术课程设计说明书 密码锁 系 、 部: 电气与信息工程系 学生姓名: 指导教师: 职称 副教授专 业: 自动化 班 级: 0902班 完成时间: 2012年1月1日 摘 要随着科技的日益发展,针对传统机械锁安全性能低,需随身携带且易丢失钥匙和出现故障的缺点,另外随着经济技术的发展和人们对生活水平的提高,电子密码锁控制系统已经越来越符合人们的要求,本文设计了一种使用单片机实现的电子密码锁。该密码锁采用AT89S52作为主控芯片和数据存储单元,结合外围的矩阵式键盘输入 、LCD液晶显示 、报警等,用C语言编写主控芯片与EEPROM读写程序相结合,设计了一个可以多次修改密码,并且具有报警功

2、能的电子密码锁控制系统。关键词 : 密码锁;AT89S52;AT24C02 ABSTRACTAlong with the development of science and technology,in view of the traditional mechanical lock security low,need to carry and easy lost key and failure shortcomings,in addition with economic technical development and people to the improvement of living

3、standard requirements,electronic combination lock control system has been more and more accord with the requirement of people,this paper introduces a design using microcomputer electronic combination lock.This electronic lock adopts the monolithic integrated circuit AT89S52 as the master chip and da

4、ta storage locations,combines with the matrix keyboard input,liquid crystal display,alarm,written in C contro chip with an EEPROM literacy programs combining,design of a password,an can be changed several times with alarm function of electronic combination lock control system.Key words trick lock;at

5、89s52;at24c02目 录1 系统总体设计方案11.1 设计课题任务11.2 功能要求说明11.3 设计课题总体方案介绍及工作原理说明12 硬件系统的设计22.1 硬件系统各模块功能简要介绍22.1.1 AT89S52控制模块22.1.2 键盘模块22.1.3 时钟信号模块22.1.4 复位模块22.1.5 掉电存储模块22.1.6 报警模块22.1.7 LCD显示模块22.1.8 下载电路模块32.2 系统电路原理、PCB图、元器件布局图32.3 系统元器件清单33 软件系统的设计43.1 使用单片机资源的介绍43.2 软件系统各模块功能简要介绍43.2.1 液晶显示模块43.2.2

6、AT24C02读写模块43.3 软件系统程序流程框图43.4 软件系统程序清单54 系统仿真分析及结论64.1 系统使用说明64.2 系统实物仿真结果64.3 系统误差分析74.4 设计体会7结束语8致 谢9参考文献 10附 录 A 11附 录 B 12附 录 C 13附 录 D 141 系统总体设计方案1.1 设计课题任务 设计一个具有特定功能的密码锁。1.2 功能要求说明该密码锁具有上电或按键复位后能自动显示系统提示符“P.”, 进入准备工作状态。该密码锁具有系统原始密码888888,用户可以设定并存储用户密码,密码输入时应处于保密显示状态,密码输入正确时应显示密码输入正确提示信息,否则,

7、显示密码输入错误提示信息,一旦遗忘密码只能通过输入“超级密码”123456才能解锁。1.3 设计课题总体方案介绍及工作原理说明该课题是以单片机AT89S52作为本次设计的核心元件,利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,实现基本的密码控制功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接FYD12864-0402B液晶显示器用于输出显示。本设计主要由单片机、矩阵行列式键盘、液晶显示器和密码存储等部分组成。其中矩阵式键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵式键盘输入密码,然后经过单片机对用户输入的密码与自己保存的密码进行对比,

8、从而判断密码是否正确。系统一共有两部分组成,硬件电路和软件部分。其中硬件部分由键盘输入部分、复位电路、晶振部分、报警部分组成,软件部分主要有主程序、初始化程序、液晶显示程序、键扫程序、键功能程序、密码设置程序、EEPROM读写程序、延时程序等组成。其原理框图如图1所示。图1 系统原理框图2 硬件系统的设计2.1 硬件系统各模块功能简要介绍2.1.1 AT89S52控制模块AT89S52是种低功耗、高性能COMS8位微控制器,具有4K可编程Flash存储器,与工业80C51产品指令和引脚完全兼容。掉电模式下,RAM内容被保存,单片机停止一切工作,直到下一个中断或硬件复位为止。2.1.2 键盘模块

9、根据系统的基本要求,密码的输入和修改要求具有修改和设定等功能,所以采用4*4矩阵式键盘接在AT89S52单片机的接口非常方便,同时相对于独立式键盘大大节省了资源,在软件的设计时带来了极大的方便,使程序简化。2.1.3 时钟信号模块单片机工作所需的同步时钟信号可以有两种方法获得:由单片机内部时钟电路结合外部晶振、电容产生和直接从单片机外部引入脉冲信号。我采用的是第一种方法产生时钟信号。电路用12MHz的石英晶体和两个33pF的微调电容连接起来接到单片机的XTAL1和XTAL2引脚上。2.1.4 复位模块复位是单片机的硬件初始化操作。经复位操作后,单片机系统才能开始正常工作。单片机上有复位引脚RS

10、T,用于外接复位电路,这里的复位电路采用按键电平复位。2.1.5 掉电存储模块此次设计采用的是掉电存储模块AT24C02作为密码存储芯片。具有工作电压,擦写次数多,写入速度快,抗干扰能力强,数据不易丢失,体积小等优点。并且采用IC总线进行数据的读写串行操作,只占用很少的资源和I/0口线。2.1.6 报警模块电子密码锁的另外一个功能要求是在输入密码错误时要发出报警,利用蜂鸣器来实现,具有电路结构非常简单,控制方便等优点。2.1.7 LCD显示模块显示模块要具有显示输入密码,修改密码的信息准确性,综合以上要求我选择FYD12864-0402B液晶作为显示的器件。2.1.8 下载电路模块 下载电路用

11、于连接单片机内部电路,将程序下载到硬件电路中实现功能。2.2 系统电路原理、PCB图、元器件布局图 系统电路原理图、PCB图、元器件布局图分别见附录A、B、C。2.3 系统元器件清单系统中所用到的元器件清单如表1所示。表1 系统元器件清单器件型号数量单片机AT89S521块按键4脚17个发光二极管-1个液晶FYD128641块精密电位器50K1个下载接口10脚1个单排插槽40p2个蜂鸣器5V1个排阻10k4 个24c02加底座DIP(8)1块单排插针40p5个瓷片电容33pF4个电解质电容22uF1个晶振12MHz1个三极管90121个短路帽2脚1个电阻4701个电阻1k2个电阻10k1个3

12、软件系统的设计3.1 使用单片机资源的介绍此次设计主要使用了单片机的P0口和P1口,以及其他若干口线。P0口是单片机与液晶通讯的数据口线,P1口主要是用于键盘电路的扩展,P3.3、P3.4分别接24C02的SCL、SDA,P3.7接蜂鸣器。3.2 软件系统各模块功能简要介绍3.2.1 液晶显示模块液晶显示的程序中,将液晶的系统设置,初始化程序写成子程序,等待50ms,显示开关控制初始化,然后调用void lcd_set 和oid lcd_clear,再调用显示子程序就可以在液晶显示器上显示所需的内容。3.2.2 AT24C02读写模块AT24C02子程序包括从AT24C02中读取信息和将信息写

13、入AT24C02,当单片机需要从AT24C02中读出数据和写入数据时只需要调用相应的子程序。3.3 软件系统程序流程框图本系统软件设计有主程序、初始化程序、LCD显示程序、键盘扫描程序、键功能程序、密码设置程序、AT24C02读写程序和延时程序等组成。软件系统的总体流程框图如图2所示,键扫和显示程序流程框图分别如图3、图4所示。 图2 总体流程框图图3 键扫流程框图 图4 显示流程框图3.4 软件系统程序清单软件系统程序清单见附录D。4 系统仿真分析及结论4.1 系统使用说明在系统上电后系统显示P.等待系统初始化,然后输入密码,在输入正确的密码后,按下E键确认,密码锁就可以打开了,若是连续三次

14、输入密码错误,在三秒后系统会自动进入超级密码输入模式,通过输入超级密码也可以打开密码锁。密码锁成功打开后,可以按2键进入密码修改模式,在输入原始密码正确后才可以修改密码,通过两次的密码确认之后,就能产生新的密码了。4.2 系统实物仿真结果系统最终显示的结果如下列各图所示,其中图5是系统上电后显示的主界面图,图6是密码输入错误三次时的液晶显示图,图7是修改密码时再次输入密码的液晶显示图。图5 主界面显示图 图6 密码输入错误三次显示图 图7 修改密码再次输入显示图4.3 系统误差分析在调试过程中遇到了AT24C02读取错误,就是不能用初始密码打开密码锁,这主要是没能把初始密码写进AT24C02中

15、或者是没能把AT24C02中的内容初始化即把AT24C02清0,最终导致不能用初始密码解锁。4.4 设计体会通过本次的程设计,让我了解到智能化技术对当今人们生活的重要性。同时让我知道做任何事情都应脚踏实地,刻苦努力地去做。只有这样,才能做好。在这次课程设计中,我既巩固了专业知识,又学到了在设计过程中的许多流程和该注意的事项,增强了电子产品开发的意识。从中学习到如何去思考和解决问题,以及如何灵活地改变方法去实现设计方案;特别是深刻体会到的是软件和硬件结合的重要性,以及两者的联系和配合作用。此次经历将是我在大学时期很好的一次实践和锻炼机会。结束语 本次课程设计可以说基本上完成了所要求的功能要求,密

16、码锁的课程设计到此结束,要做好本次课程设计首先就要搞懂密码锁的原理,此外其他每个部分电路也相当重要,首先要构建设计电路的总体框架然后再分细节去解决,明确自己要做什么、怎么做。怎么才能利用我们设计的电路板,怎么去网上查找自己需要的资料,要学会怎么去学习自己上课没有学过的东西,将理论与实践相结合起来。在编写程序时要学会怎么去查找错误,其实就是的通过不断的调试,使其最终功能达到我们想要的结果,还有就是编写程序时需要耐心,不要愁程序多长,其实很长的程序也是一个个子程序组成的,把每段程序功能加起来就能达到我们所需要的功能要求。总而言之,通过本次课程设计,我掌握了密码锁的设计原理,积累了一些宝贵的经验,为

17、以后的深入学习打下了一定的基础。致 谢非常感谢学校给我们提供这次课程设计的机会,通过这次课程设计,让我意识到理论结合实际的重要性,同时也提升了我各方面的动手能力。在此首先要感谢的就是我们的王老师,感谢他一个学期以来对我们的悉心教育和教导,不仅让我们学习了课本知识,还让我们学习了除课堂上以外的很多东西,若不是他的这些教导,我们的课程设计也不可能这么顺利的完成。在此次课程设计的进展中,我也得到了很多同学的帮助,若不是得到他们的帮助,我将难以解决在课程设计过程中所遇到的诸多问题。所以在此我也要对那些给与我帮助的每一个人表示衷心的感谢!参考文献1李广弟.单片机基础M.北京:北京航空航天大学出版社,20

18、07 Li Guangdi.microcontroller basedM. Beijing: Beijing Aerospace University press, 20072马忠梅.单片机的C语言应用程序设计M,北京:北京航空航天大学出版社2007.219 228 Ma zhongmei.SCM C language program designM,Beijing: Beijing Aerospace University press, 2007.2192283张洪润,兰清华.单片机应用技术教程M.北京:清华大学出版社,1997 Zhang Hongrun,Lan Qinghua.Micro

19、computer application technology tutorial M.Beijing:Tsinghua University press, 19974李华.MCS-51系列单片机实用接口技术M.北京:北京航空航天大学出版社,1993 Li Hua.MCS-51 series MCU interface technology and practical M.Beijing:Beijing Aerospace University press, 1993附 录A图A1 系统原理电路图附 录B图B1 PCB顶层图图B2 PCB底层图附 录C图C1 元器件布局图附 录D /*项目名称:

20、密码锁的设计 *设计者: 何德旅 *设计日期:2011年12月22日 *根据液晶的提示便能进行相应的操作,其中键盘的E键为确认键, *输入密码后都要按确认键才能确认,密码长度为6位。 *初始密码为888888,超级密码为123456。 *P1口作为键盘的输入接口,P3.3P3.4分别接24C02的SCL,SDA引脚。*/*/#include#include#define uchar unsigned char#define uint unsigned int#define Ta 500 /unsigned int#defineOP_READ0xa1/ 器件地址以及读取操作#defineOP_W

21、RITE 0xa0/ 器件地址以及写入操作#defineMAX_ADDR 0x7f/ AT24C02最大地址sbit SDA = P34;sbit SCL = P33;sbit LE=P36;sbit rs = P30;sbit rw = P31;sbit en = P35;uchar command0,data0,count=0;uchar v=0;bit tuichu=0;bit tuichu1=0;bit yy=0;uchar savein=0;void write(uchar command0); uchar keyscan(void);/*/ #define v_th0 0x3c#d

22、efine v_tl0 0xb0#define v_tmod 0x01 uchar click_0=0; /定时器1定时中断次数 uchar click_1=0; /1秒是否到了bit time=0 ;/*定时器的初始化*/void init_sys(void) / 定义定时器TO时间常数和方式控制字 TMOD=v_tmod; TH0=v_th0; TL0=v_tl0; /设置时间计数初值 TR0=0; EA=1; ET0=1; TR1=0; /开定时器0中断 /*延时子程序*/void delay(uint m) while(-m); void delayms(uchar ms)uchar

23、i;while(ms-)for(i = 0; i 120; i+);/*/uchar code Table=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;ucharcodedis_code=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39; /0-9写入24C02中uchar code dis_code1=0x31,0x32,0x33,0x34,0x35,0x36,; /超级密码123456uchar yuanshimima=0x38,0x38,0x38,0x38,0x38,0x38,;/系统原始密码88888uchar shuzu06;uchar shuzu16;uchar xiugai06;uchar xiugai16;/*/ void start()/ 开始位 SDA = 1;SCL = 1;_nop_();_nop_();SDA = 0;_nop_();_nop_();SCL = 0;/*/void stop()/ 停止位SDA = 0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号