电子技术综合设计总结报告基于51单片机的电子密码锁.doc
《电子技术综合设计总结报告基于51单片机的电子密码锁.doc》由会员分享,可在线阅读,更多相关《电子技术综合设计总结报告基于51单片机的电子密码锁.doc(32页珍藏版)》请在三一办公上搜索。
1、电子技术综合设计总结报告基于51单片机的电子密码锁姓 名: 学 号: 专业与班级: 设计题目: 基于51单片机的电子密码锁 时 间: 2011 2012 学年第(1)学期 指导教师: 成 绩: 日 期: 第一章 课题任务基于51单片机的简易电子密码锁一、 实现功能:1、设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。2、密码可以由用户自己修改设定(只支持6位密码),锁打开后才能修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。3、报警、锁定键盘功能。密码输入错误显示器会出现错误提示,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。4、AT24C02
2、保存密码,支持复位保存,掉电保存功能。1、第2章 系统总体方案设计方案一:采用数字电路控制。其原理方框图如图21所示。图21 数字密码锁电路方案采用数字密码锁电路的好处就是设计简单。用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。电路由两大部分组成:密码锁电路和
3、备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。方案二:采用一种是用以AT89S51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。其原理如图22所示。显示模块键盘输入模块 AT89C51报警电路复位电路开锁电路密码存储模块图22单片机控制方案通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能
4、,而且还可以方便的对系统进行升级,所以我们采用后一种方案。本方案采用一种是用以89c51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。作用说明:开锁: 插上电源后,输入正确密码,然后按【#】(确认)键,此时锁会打开,可以看到显示open,密码锁打开。1、 退出并关锁:按下【*】(取消)键,此时锁关闭,所有输入清除。2、 修改密码:在开锁状态下,再次输入正确的密码并按下【#】(确认)键,此时听到两声提示,输入新的六位密码并按【D】(重设)键,再重复输入一次新密码并按【D】,会听到报警并锁定键盘:当输入密码错误后,报警并锁定键盘3秒,如
5、3秒内又有按键,3秒再启动。当重置新密码时,新密码会保存于AT24C02存储器里。第3章 硬件电路设计3.1 键盘电路设计使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。其原理如图3.1。图3.1 矩阵键盘每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有NM个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键
6、的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照图3.1所示的44键盘,说明线反转个工作原理。首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那
7、个键。具体的功能设计如下按键说明采用4X4键盘输入,键盘对应名称如下:4 2 3 A4 5 6 B7 8 9 C* 0 # D其中,【09】为数字键,用于输入相应的密码, 【*】号键为取消当前操作【#】号键为确认其它键无功能及定义3.2开关电路当输入正确密码时,二极管导通发光。输入错误密码时,二极管不能导通3.3报警电路当输入错误密码时,电路中蜂鸣器开始报警。当输入密码错误三次时,蜂鸣器持续报警34,密码存储模块密码经过修改后,存储在AT24C02中,从而实现掉电保护3.5复位电路第四章 软件设计主程序设计流程图如图5-1所示。 开始 初始化 修改开锁密码正确 输入旧密码N原密码相同 Y开锁出
8、错报警 N N Y设新密码 返回 图5-1主程序流程图键功能程序流程图如图5-2所示。 键功能程序键值=09?键值=开锁?键值=确认?键值=设置? 返回密码输入程序确认程序设置程序开锁程序YNYNYN YN 图5-2 键功能流程图开锁程序流程图如图5-3所示。LCD初始化按开锁键输入密码确认程序开锁N输入密码正确?报警程序开锁成功返回Y 图5-3 开锁流程图程序如下:#include #include#define LCM_Data P0#define uchar unsigned char #define uint unsigned int#define w 6/定义密码位数sbit lcd
9、1602_rs=P25;sbit lcd1602_rw=P26;sbit lcd1602_en=P27;sbit Scl=P34;/24C02串行时钟sbit Sda=P35;/24C02串行数据sbit ALAM = P21;/报警sbit KEY = P20;/开锁sbit open_led=P22;/开锁指示灯bit operation=0;/操作标志位bit pass=0;/密码正确标志bit ReInputEn=0;/重置输入充许标志bit s3_keydown=0;/3秒按键标志位bit key_disable=0;/锁定键盘标志unsigned char countt0,seco
10、nd;/t0中断计数器,秒计数器void Delay5Ms(void);unsigned char code a=0xFE,0xFD,0xFB,0xF7; /控盘扫描控制表unsigned char code start_line= “password: “;unsigned char code name = “=Coded Lock=”;/显示名称unsigned char code Correct = “ correct “; /输入正确unsigned char code Error = “ error “; /输入错误unsigned char code codepass= “ pas
11、s “; unsigned char code LockOpen= “ open “;/OPENunsigned char code SetNew = “SetNewWordEnable”;unsigned char code Input = “input: “;/INPUTunsigned char code ResetOK = “ResetPasswordOK “;unsigned char code initword= “Init password.”;unsigned char code Er_try= “error,try again!”;unsigned char code aga
12、in= “input again “;unsigned char InputData6;/输入密码暂存区unsigned char CurrentPassword6=1,3,1,4,2,0; /当前密码值unsigned char TempPassword6;unsigned char N=0;/密码输入位数记数unsigned char ErrorCont;/错误次数计数unsigned char CorrectCont;/正确输入计数unsigned char ReInputCont; /重新输入计数unsigned char code initpassword6=0,0,0,0,0,0;
13、/=5ms延时=void Delay5Ms(void)unsigned int TempCyc = 5552;while(TempCyc-);/=400ms延时=void Delay400Ms(void) unsigned char TempCycA = 5; unsigned int TempCycB; while(TempCycA-) TempCycB=7269; while(TempCycB-); /=/=24C02=/=void mDelay(uint t) /延时 uchar I; while(t-) for(i=0;i125;i+) ; void Nop(void) /空操作 _n
14、op_(); _nop_(); _nop_(); _nop_();/*起始条件*/void Start(void) Sda=1; Scl=1; Nop(); Sda=0; Nop(); /*停止条件*/void Stop(void) Sda=0; Scl=1; Nop(); Sda=1; Nop();/*应答位*/void Ack(void)Sda=0;Nop();Scl=1;Nop();Scl=0;/*反向应答位*/void NoAck(void) Sda=1; Nop(); Scl=1; Nop(); Scl=0; /*发送数据子程序,Data为要求发送的数据*/void Send(uch
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子技术 综合 设计 总结报告 基于 51 单片机 电子 密码锁

链接地址:https://www.31ppt.com/p-4150069.html