数字密码锁单片机课程.doc
《数字密码锁单片机课程.doc》由会员分享,可在线阅读,更多相关《数字密码锁单片机课程.doc(35页珍藏版)》请在咨信网上搜索。
1、湖南大学电气与信息工程学院课 程 设 计课 程 名 称: 单 片 机 原 理 与 应 用 课 题 名 称: 数 字 密 码 锁 设 计 所在 学院 名称: 湖南大学电气与信息工程学院 设 计 人 员: 宁 枫 根 宋 浩 冉目录一、 前言- 2 -二、 总体方案设计- 3 -2.1方案论证与比较- 3 -2.2方案选择- 4 -三、 单元模块设计- 4 -3.1硬件支持- 4 -3.2功能单元模块设计- 4 -3.2.1 开锁机构- 4 -3.2.2 矩阵键盘设计电路- 5 -3.2.3 声音提示电路设计- 5 -3.2.4 显示模块设计- 6 -四、程序设计与系统仿真- 7 -4.1 模块介
2、绍- 7 -4.1.1 主程序模块- 9 -4.1.2 密码比较判断模块- 9 -4.1.3 键盘扫描模块- 9 -4.1.4 修改密码模块- 10 -五、系统功能- 12 -六设计总结- 12 -七、附录:源程序- 12 -一、 前言随着社会物质财富的日益增长和人们生活水平的提高,安全成为现代居民最关心的问题之一。而锁自古以来就是把守门的铁将军,人们对它要求甚高,即要求可靠地防盗,又要使用方便。传统的门锁既要备有大量的钥匙,又要担心钥匙丢失后的麻烦。随着单片机的问世,出现了数字密码锁,其保密性高,使用灵活性好,安全系数高,故受到广大用户的青睐。数字密码锁通常使用ARM和单片机控制,单片机相对
3、ARM实现较为简单,功能较为完善,因此使用单片机控制较多。用单片机控制的密码锁常使用汇编语言编写程序,数码管做显示器 。但本设计使用移植性及可读性强的C语言编写;同时采用显示清楚、功率消耗小而且寿命长的1602A液晶显示器。从经济实用的角度出发,采用ADUC848单片机设计出一种具有密码设置、报警等功能的数字密码锁,并通过Proteus软件成功地进行了仿真。任务及设计要求1.设计一多位电子密码锁,输入密码用“F”表示,输入密码正确,绿灯亮(或显示其它标志、蜂鸣器替代),输入密码错误,红灯亮(或显示其它标志、蜂鸣器替代).2.具有确定键和取消键,在未确定之前可以取消,重新输入.3.连续输入三次错
4、误密码,红灯闪烁,报警电路动作,键盘锁定.4.具有密码重置、修改功能.5.具有密码输入等待操作时间限制功能,超过限定时间报警.6.显示北京时间,时间可调整.7.可利用蜂鸣器添加提示音.二、 总体方案设计2.1方案论证与比较方案一:以ADUC848单片机为数字密码锁系统核心,使用4*4矩阵键盘作为数据输入方式,驱动1602A显示器提示程序运行过程和开锁的步骤,利用AT24C02芯片实现掉电存储。图1为单片机控制密码锁的系统原理框图。ADUC848单片机AT24C02存储芯片矩阵键盘控制LCD1602A蜂鸣器提示电路电源模块LED密码校验提示图1 单片机控制密码锁的系统原理框图方案二:以74LS1
5、12双JK触发器构成的数字逻辑电路控制方案,如图2。 输入按扭开关组输入锁存电路密码存储电路开锁控制电路机械动作构件5秒定时电路20秒定时电路声光指示电路图2 数字逻辑控制方案数字密码锁原理框图2.2方案选择由于利用单片机灵活的编程设计和强大的I/O端口,及其控制的准确性,不但能实现基本的密码锁功能,还可以增添掉电存储、声光提示等功能,故选用方案一。三、 单元模块设计3.1硬件支持使用的元器件有:核心芯片ADUC848、存储芯片AT24C02、液晶显示1602A、44矩阵键盘、报警蜂鸣器、发光二极管和三极管。3.2功能单元模块设计3.2.1 开锁机构通过单片机送给开锁执行机构,电路驱动电磁锁吸
6、合,从而达到开锁的目的。如图3所示,为密码锁开锁电路原理图。当用户输入的密码正确时,单片机便输出开门信号,送到开锁驱动电路,然后驱动电磁锁,达到开门的目的。本次设计中,基于节省成本考虑,用发光二极管代替电磁锁,信息通过LCD显示,并利用蜂鸣器和二极管声光指示。其中,绿发光二极管亮,表示开锁;否则,表示密码输入错误并开启报警电路。开锁驱动电路STC89C52单片机密码正确超次锁定电磁锁是否图3 密码锁开锁电路原理图3.2.2 矩阵键盘设计电路每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要M条行线和N条列线,即可组成具有MN个按键的键盘。由于
7、本设计中要求使用16个按键输入,为减少键盘与单片机接口时所占用的I/O线的数目,故使用矩阵键盘。本设计中,矩阵键盘行线和单片机P1.0-P1.3相连,列线与单片机P1.4-P1.7相连。矩阵键盘设计电路图,如图4所示。键盘扫描采用行扫描法,即依次置行线中的每一行为低电平,其余均为高电平,扫描列线电平状态,为低电平即表示该键按下。1234567890退位确认设置时间*关闭图4 矩阵键盘设计电路图3.2.3 声音提示电路设计声音提示电路采用小蜂鸣器提示。蜂鸣器能够根据脉冲信号,以及信号的频率发出各种不同的声音,这样可以根据系统要求在密码出入正确和密码输入错误时发出不同的声音提示,已达到报警的要求。
8、蜂鸣器电路,如图5所示。图5 蜂鸣器电路3.2.4 显示模块设计本设计中,显示电路采用1602A液晶显示器显示。如下所示,图6为1602A液晶显示器的接口示意图,表1为接口说明。图6 1602A液晶显示器的接口示意图表1 接口说明管脚序名称电平功能描述1VSS0V接地2VCC5.0V电源输入3V0LCD驱动电压输入4RSH/L寄存器选择:RS=H,选择数据寄存器;RS=L,选择指令寄存器5R/WH/L读写信号线:R/W=H,读操作;R/W=L,写操作6EH,HL使能信号7DB0H/L数据线8DB1H/L数据线9DB2H/L数据线10DB3H/L数据线11DB4H/L数据线12DB5H/L数据线
9、13DB6H/L数据线14DB7H/L数据线15BLA5.0V背光电源正极16BLK0V背光电源负极本设计中液晶串口一共用到11根导线与单片机相连, 具体连接情况如表2显示模块与MCU连接说明所示。表2 显示模块与MCU连接说明序号1602A液晶显示器引脚ADUC848单片机引脚1RS引脚P2.5(A13)2R/W引脚P2.6(A14)3E引脚P2.7(A15)4D0引脚P0.0(AD0)5D1引脚P0.1(AD1)6D2引脚P0.2(AD2)7D3引脚P0.3(AD3)8D4引脚P0.4(AD4)9D5引脚P0.5(AD5)10D6引脚P0.6(AD6)11D7引脚P0.7(AD7)四、程序
10、设计与系统仿真4.1 模块介绍与硬件电路相关联,本系统软件包括主程序模块、密码比较判断模块、键盘扫描模块、修改密码模块、1602A液晶显示模块等。系统程序流程如图9所示。开始系统初始化调用E2PROM密码显示主界面输入密码判断密码确定密码开锁模拟声光锁定键盘YN返回Y判断次数N超过N次未超过N次再次输入密码密码设置完毕N设置新密码Y按键N判断按键值返回主界面NY设置解码次数产生随机密码输入密码N=0x84N=0x82N=0x11图9 系统程序流程图4.1.1 主程序模块主程序主要用于定义全局变量,给全局变量赋初值,初始化E2PROM,启动定时器以及从AT24C02中读取密码,为整个程序提供数据
11、;检测按键;调用显示等功能。4.1.2 密码比较判断模块该模块的功能是将键盘输入的密码利用if语句与设定的密码进行逐个比较,若密码完全正确则开锁;若不正确,则开启报警电路,复位后重新输入密码。其密码输入和比较判决流程图如图10所示。输入密码核对键盘锁定,开启报警电路开锁,灯亮,可密码修改NY复位图10 密码输入和比较判决流程图4.1.3 键盘扫描模块键盘使用矩阵式键盘,由行和列组成,CPU对所有键盘进行监视,从而实现逐列扫描键盘确定被按键的具体位置、判断键盘上有无键按下、消除去抖动、判断闭合的键是否释放等功能。如图11所示,为键盘扫描流程图。开始延时去抖动计算输入键值键值送入单片机有按键输入?
12、有按键输入?有按键输入?返回NNYY图11 键盘扫描流程图4.1.4 修改密码模块在密码输入正确情况下,可以按下“重置密码”对密码进行重新设置,每设定一位就将密码送给AT24C02存储起来,当设置6位密码完毕后,系统将自动跳到程序开始,调用新设置的密码。图12为修改密码流程图。开始输入原密码密码比较比较正确?输入新密码再次输入新密码调用AT24C02中密码比较正确修改成功返回菜单键盘锁定,启动报警电路复位YN图12 修改密码流程图五、系统功能本设计中系统可实现功能如下:(1)通过切换,对输入的18位密码进行显示或隐藏;(2)通过发光二极管和蜂鸣器,对解密正确或者错误进行声光报警;(3)18位密
13、码修改;(4)在密码遗失情况下,通过初始密码进行密码再设置;(5)具有1-3次的解锁次数任意设定功能;六设计总结作为一名电子信息工程的学生,通过本次课程设计,我很好的了解了单片机C语言设计的思考模式,熟悉了C语言的编程规则,知道了如何去运用一个完全陌生的单片机,会根据单片机的不同结构来采用不同的命令实现功能。在此次课程设计中我负责的模块出现了问题导致在数码管上显示状态的时候混乱了,主要是因为延时上没有处理好,Aduc848的定时器处理时是要加上一定的延时来防止冲突的。另外还有键盘的防抖模块,一开是没有考虑好,所以键盘按下后显示会乱变。综上而言,通过此次课程设计,我很好的学习了单片机的应用以及其
14、编程。七、附录:源程序#include #include#define uint unsigned int#define uchar unsigned char /*状态声明*/#define opened 0#define new1 15#define new2 16#define succed 5#define fanin 10#define null 11#define error 12#define different 13#define tover 14/*按键声明*/#define enter 10#define back 11#define trevise 12#define r
15、evise 13#define cancel 14#define vain 15#define off 16#define end 17#define finish 18/*函数声明*/void p_base();void p_revise();void p_new1();void p_new2();void p_trevise(); void p_show(); uchar p_scan();void p_record();void p_delay(uint f_n);void p_state(uchar f_s);uchar p_compare(uchar *f_k1,uchar *f_k
16、2);void p_copy(uchar *f_s,uchar *f_k);/*I/O口声明*/sbit p00=P00;sbit p10=P10;sbit p11=P11;sbit p12=P12;sbit p13=P13;sbit p14=P14;sbit p15=P15;sbit p16=P16;sbit p17=P17;sbit p20=P20;sbit p21=P21;sbit p22=P22;sbit p23=P23;sbit p24=P24;sbit p25=P25;sbit p26=P26;sbit p27=P27;sbit p30=P30;sbit p31=P31;sbit
17、p32=P32;sbit p33=P33;sbit p34=P34;sbit p35=P35;sbit p36=P36;sbit p37=P37;/*变量声明*/uchar bot,key19,key29,save9,t4,s,min,h,mino,mint,ho,ht,n1=1,n2=1,lock,minu,sign,tov,state,n,sound,point=1, showlist=0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0x71,0xff,0x21,0x85,0xe1,0x7f,0x7d;uint ms; /*主函数*/vo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 密码锁 单片机 课程
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。