单片机课程设计-电子密码锁设计_第1页
单片机课程设计-电子密码锁设计_第2页
单片机课程设计-电子密码锁设计_第3页
单片机课程设计-电子密码锁设计_第4页
单片机课程设计-电子密码锁设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机课程设计设计题目电子密码锁学生姓名学 号 专业班级通信工程 指导老师li姓名单片机课程设计成绩学号课程设计主要内容设计题目:电子密码锁1、设计任务:本课程的设计任务是利用现有的目标板实验装置,利用实验箱上的设备, 设计一个完整电子密码锁程序,并在实验箱上运行演示。2、设计指标及要求:(1) 系统初始化,用户依次输入密码,led显示用户输入的密码。(2) 密码输入后判断是否正确。密码错误,系统发出一声长“滴”声错误 提示咅,红灯亮2.5s,之后系统复位,用户重新输入密码。错误次数超 过三次,则发出长鸣声报警,错误报警指示灯亮,同时键盘锁住,用户 在无法输入密码。(3) 密码正确有2种权限:

2、开锁和修改密码,由功能键选择权限。(4) 开锁成功,发出2声“滴”提示开锁,绿灯亮,5s延时后开锁信号和开锁 指示清零,系统返回启动界面,等待密码的输入。(5) 改密过程屮,如果两次输入的密码不同,led提示并返回修改密码界而。 若密码修改成功,则保存密码,系统返回启动界面,等待密码的输入。(6) iid显示的系统当前操作界囬(密码输入,修改密码,开锁,锁键盘等) 可自行设定显示状态建议:从学生的工作态度、工作量、设计(论文)的创造性、学术性、实用性及书面表达能力等方面给出评价指导教师评语签名:20 年 月 日设计题目:电子密码锁一、课题概述在口常的生活和工作屮,住宅与部门的安全防范、单位的文

3、件档案、财务报表以及一些 个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多 把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们 对闩常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用耍求,增加其安全 性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作 等优点。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密 码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在 性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了 带微处理器的

4、智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分 析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、1c卡辨认)已在 国内外相继面世,但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求 的箱、柜、门等,而且指纹识识别器若在公共场所使用存在容易机械损坏。1c卡还存在容 易丢失、损坏等特点,加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于 目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。二、设计任务及技术要求2.1设计目的本课程的设计任务是利用现有的b标板实验装置

5、,利用实验箱上的设备,设计一个完整 电子密码锁程序,并在实验箱上运行演示。通过硬件课程设计中电子密码锁的设计与实验, 使我们更进一步的掌握单片机原理的相关知识,尤其加深对8279芯片原理的理解,提高 对汇编语言编程的能力并加深对汇编语言的理解与应用。在程序的不断编写与改正过程 屮,提高了我们检错就错的能力。实物电路的连接锻炼我们的动手能力,增强丫我们通过 动手进行硬件设计及程序设计从而解决实际问题的能力。2.2设计内容在本次实验屮我们主要用到可编程键盘显示接门芯片8279來实现输入输出数字并用 相关程序来判断字符匹配程度。主要实现以下功能:1、可设定密码(6位);2、实时显示输入密码;3、具有

6、密码错误输入限制。有3次输入密码的机会若三次密码全错会报警响铃并锁定键盘。4、密码正确有2种权限:开锁和修改密码,由功能键选择权限。5、密码可变性。用户可以更改密码,保存并重新回到初始界面。2.3实验器材(1) pc机一台用于对程序的编译测试等,同吋还需要对硬件实验设备进行控制,提供 整个程序的运行平台,并且收集和释放硬件信号,实现程序功能。(2) 单片机原理实验箱一台,单片机接口设备。(3) 数据线一条,电源线一条,导线若干条用于电路和芯片之间的连接。三、工作原理及原理框图基于单片机的电子密码锁系统工作原理框图如下图所示图1 单片机电子密码锁系统原理框图用户密码通过键盘的输入,密码输入正确后

7、,进行功能选择。输出开锁信号控制,开 锁电路开锁并发出2声短“滴”声提示音,5s延时后开锁信号与己开锁提示清零,系统冋 到初始界面。密码输入错误时,发出一声长“滴”声错误提示音,密码错误指示灯亮,连续三次密 码错误时,发出长鸣声报警,密码错误报警灯亮。10s后延时锁定键盘,此后键盘将无法 再次输入密码。用户密码直接存储在单片机rom中,可以通过键盘修改密码,系统的工作状态由显示四、主要器件分析及仿真电路 4.1单片机at89c51组成基本框epo pl p2 p3txd rxdinto inti单片机引脚介绍po: p0门是一个漏极开路的8位双向i/o门。在访问片外存储器时p0分时提供低8位地

8、 址线和8位双向数据线。当不接片外存储器或不扩展i/o 口吋,p0可作为一个通用输 入/输出口。p0 口作输入口使用时,应先向口锁存器写“1”,p0 口作输出口时,需接 上拉电阻。pl: p1 口是一个内部提供上拉电阻的8位双向i/o 口,因此它作为输出口使用时,无需再 外接上拉电阻,当作为输入门使用时,同样也需先向其锁存器写“1”。p2: p2 口也是一个内部提供上拉电阻的8位双向i/o 口,在访问片外存储器吋,输出高8 位地址。p3: p3 口除了一般的准双向通用i/o 口外,还有第二功能。vcc: +5v电源vss:接地 ale:地址锁存器控制信号。在系统扩展时,ale用于控制把p0 口

9、输出的低8位地址锁存起來,以实现低位地址和数据的隔离。此外,由于ale是以晶振1/6的固定频率输 出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。psen:外部程序存储器读选通信号。在读外部rom时,/psen有效(低电平),以实现外部 rom卑元的读操作。ea:访问程序存储控制信号。rst:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成 单片机的复位初始化操作。xtal1和xtal2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶 体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。4.2通用可编程键盘和显示器的接u电路芯片8279rl2-

10、-140vccrl3239rl1clk338rlotr 0437cntl/stbrl4536shiftrl5635sl3rl673asl2rl7833sl1reset32sloed 10職31outbowr1130out b1db01229out b2db11328outb3db21427out a0db31526out a1db41625out a2db51724out a3db61823bddb71922csvss2021a0图2 8279引脚分布图dbodb7:双向数据总线。在cpu与8279间做数据与命令的传送。clk: 8279的系统时钟,lookhz为最佳选择。reset:复位信号

11、,输入线,当reset=1时,8279复位,其复位状态为:16个字符显示, 编码扫描键盘一一双键锁定,程序时钟编码1。cs:芯片选择信号,低电平有效。a0:区分信息的特征位。a0=l吋,读取状态标志位或写入命令;a0=0吋,读写一般数据。 rd:读取控制线。rd=o, 8279会送数据至外部总线 wr:写入控制线。wr=o,8279会从外部总线捕捉数据。irq:中断请求输出线,高电平有效。在键盘工作方式中,当hf0传感器ram中有数据时 为“ 1”,cpu每读一次就变为0,如果ram屮仍有数据则irq又变为“ 1”。在传感器 工作方式中,传感器矩阵无论哪里发生变化都会使trq为“1”。slos

12、l3:扫描按键开关或传感器矩阵及显示器可以是编码模式或解码模式。rlorl7:回复输入线,它们是键盘或传感器的列(或行)信号输入线;平时保持为“1”,当矩阵结点上有键(开关)闭合时变为“0”。shift:移位信号输入线,高电平有效。cntl/stb:控制/选通输入线,高电平有效。通常用来扩充键开关的控制功能,作为控制 功能键用。在选通输入方式时,该信号的上升沿可把来自rl0c-rl7的数据存入 mo/ram中;在传感器方式下,该信号无效。4.3键盘输入电路及数码管led显示当前键入数字电路主要基于可编程键盘和显示器的接口电路芯片8279图3键盘输入电路及数码管led显示当前键入数字电路4.4声

13、光报警电路声光报警电路由蜂鸣器和3个lh)灯组成,单片机引脚平p1. 1、p1. 2、p1. 4和p1. 5分 别控制绿灯、红灯、蜂鸣器、和黄灯。图4声光报警电路4.5仿真电路五、实验代码由于源程序代码很长,1面仅为部分代码,具体请见报告最后的附荥部分org 0000h ljmp main org 0013hljmp int1p:外部中断入门地址,外部中断1main:mov sp, #60hclr p1.0;开机,初始化,指示灯黄灯亮start:setb ex1lp:mov dptr, s5fffh mov a, #odch movx dptr, a movx a,dptr jb acc. 7

14、, lp;开外部屮断指向8279命令、状态口送显示ram清除命令,全部置为0输入的密码会显示在数码管上mov a,#00h movx dptr,a mov a,#34h movx dptr, a;8相的显示左边输入,编码扫描键盘,双键互锁 ;20分频六、感想体会木次课程设计我选做的是电子密码锁。实验主要用到了:可编程键盘和显示芯片8279、 单片机at89c51,显示电路。我采用的是汇编语言,实现电子密码锁的设置密码、输入密 码、开启提示、清除输入、错误提示、报警提示、重上锁操作、重置密码等操作,以实现 电子密码锁的一部分功能。我首先对密码锁的整个功能进行了一个大概的了解,并初步想好整个流程。

15、之后,在 着手准备的过程中,就遇到了很多的困难。刚开始时,对芯片了解不足,以前学的知识也 生疏了,于是先温习课本,实验中的主耍运用了可编程键盘和显示器的接口电路芯片8279, 所以我特别关注8279的用法和如何在实验箱上使用。我是边写程序边调试,先把主体功 能实现后,再完善一些小功能,如亮灯,延时,响铃等。其屮最为复杂的是,功能键设定, 密码判断和改密程序。在对各个功能调试吋,出现了不少错误,但经过细心的检查,认真 的调试,以及老师解答相关的疑惑,纠正相关错误,才能最终完成调试。不断出现的状况, 虽然一定程度阻碍了实验的进行,但也锻炼了我的毅力,让我深刻意识认识到,一份付出 就有一份收获。这次

16、课程设计对于提高编程能力,改错纠错能力,以及实际操作能力都有很大的帮助。 我通过实验,深刻的了解到,要想把书本上的东西变成自己的能力,就必须不断的做实验, 不断地实践,这样才能熟能生巧。总之,这次课程设计对于我今后的发展和进一步的学习 都有着非常重要的作用。七、参考文献1. 王琼主编.单片机原理及应用(第二版).合肥工业大学出版社,20132. 王琼主编.单片机原理及应用.实验教程(第二版).合肥工业大学出版社,20133. 张丽娜刘美玲编著.51单片机系统开发与实践.北京航空航天大学出版社,20134. 徐伟等编著.c51单片机高效入门.北京.机械工业出版社,2010附录:以下6字节存放初始

17、密码w0rd1rqu31hw0rd2equ32hw0rd3equ33hw0rd4equ34hwordsequ35hw0rd6rqu36h;以下6字节存放用户改密时第一次输入新密码(47h-4ch)key1equ57hkey2equ58hkey3equ59hkey4rqu5 ahkey5equ5bhkey6equ5ch:以下为初始化程序,包括数据存储空间初始化,设置初始密码123456org 0000h ljmp main org 0013h ljmp intipmain:外部屮断入口地址,外部屮断1movmovmovmovmovmovmovmovmovmovmovmovmovstart: cl

18、rsp, #60h word1 ,#01h w0rd2 ,#02h word3 ,#03h w0rd4 ,#04h word5 ,#05h word6 , #0611 key1 , #00h key2 , #00h key3 , #00h key4 , #00h key5 , #00h key6 , #00h 1)1.0;设置初始密码为123456:第一遍新密码初始化setb ex1mov dptr, #5fffh mov a,#odch movx dptr, alp:movx a,dptrjb acc. 7, lp mov a, #0011 movx dptr,a mov a, #34h m

19、ovx dptr,a;开机,初始化,指示灯黄灯亮表示进入初始化,待机状态 r开外部中断:指向8279命令、状态口:送显示ram清除命令,全部置为0;8*8的s示左边输入,编码扫描键盘,双键互锁 ;20分频clk 1t1 nopsetb ea nopmov a, #0011 mov ro,#39h mov r1,#39h mov r4, #03h mov r7,#06h mov r6,#06hxh:jnz pplcall dsy1 ljmp xh;电平触发:开总中断:数据存放的初试地址:密码允许错误次数3;六次中断:显示六个数据;做一个选择,等于0顺序执行,不等于0则跳转到功能选择部分 ;显示全

20、零;功能选择功能选择键控制a开锁b改密1t:mov a,#oah cjne a, 39h, l0 lcall dsya lcall kaisco ljmp startl0:mov a,#obhcjne a, 39h, li lcall dsyb lcall gaimi lcall startli:mov a, r6jz bijiao lcall dsy ljmp xii;判断是否按下功能键a:调用显示开锁子程序 ;开锁子程序;判断是否按下功能键b:修改密码子程序;r6等于0吋,跳转到比较程序 :显示按键值:中断服务程序 intip: push accpush dpi i push dpl mo

21、v a,#40h mov dptr, #5eeeh movx dptr, a mov dptr, #5effh movx a,dptr mov r1, a inc r1 djnz r6 , next clr ea clr ex1;读键盘输入的信息:指向命令口:指向数据口;读键盘输入的信息,仅读一个单元,依次放入39h, 40h.:当放满六位,循环next: noppop dplpop dph pop acc ret idsy1:mov ko,#39hllp:mov ro, #oohinc ro djnz r7, llp mov r7,#06hmov r2,#06h;显示密码全零mov a, #

22、92hmov dptr, #5fffhmovx dptr, amov ro,#39hty1:mov a, r0mov dptr, #tabl movc a, a+dptr mov dptr, #5effh movx dptr, a inc ro djnz r2, ty1 retdsy:mov r2, #0611;显示密码任意数字mov a, #92h mov dptr, #5eeeh movx dptr, a mov ro,#39hty:mov a, r0mov dptr, #tabl movc a,a+dptr mov dptr, #5effh movx dptr, a inc ro djn

23、z r2, ty ret:密码比较btjtao:lcall dsy lcall delaysetb p1.0;黄灯熄灭密码不对跳转mov a, word1 cjne a, 39h, j5 mov a, w0rd2 cjne a, 3ah, j5mov a, wokd3cjne a, 3bh, j5mov a, word4cjne a, 3ch, j5mov a, word5cjne a, 3dh, j5mov a, word6cjne a, 3eh, j5movr6, #0611movrl, #3911setb easetb ex1mov a,#01hijmp xii:密码正确,调用功能选择部

24、分lcall alarm djnz r4, j1 clr ea clr ex1 lcall dsy1 clr 1)1.2 setb p1.0 clr pl. 7 mov r2 , #0511bj: lcall delay djnz r2 , bj setb pl. 7 ljmp $alarm:;报警,同时错误加1.红灯亮关闭黄灯密码三次错误,报警指示灯淀setbp1.0clrpl. 2clrpl. 7lcalldelay1setbpl. 7lcalldelay1lcalldelaysetbpl. 2clr 1p1.0ret:红灯长亮长鸣报警指示8s;关黄灯;开红灯,滴一声,红灯亮2s :报警滴

25、滴j1: mov a,#00h lcall dsy1 mov r6, #06h mov r1,#39ii setb ea setb ex1 ljmp xh;关棹红灯:开黄灯,表示冋到初始状态;显示全零:密码错误,返回dsya:mov ro,#3ahi 丄 pa:mov r0, #0011inc r0djnz r7, llpamov r7,#05hmov r2,#06hmov a, #9211mov dptr, #5fefiimovx dptr, amov r0,#39htya:mov a, r0mov dptr, #tablmovc a, a+dptrmov dptr, #5eefhmovx

26、dptr, ainc r0djnz r2, tyaretdsyb:clk eaclr ex1mov r0, #3ahi 丄 pb:mov r0, #0011inc rodjnz r7, llpbmov r7,#05hmov r2,#06hmov a, #9211mov dptr, #5fefiimovx dptr, amov ro,#39htyb:mov a, r0mov dptr, #tablmovc a, a+dptrmov dptr, #5eefhmovx dptr, ainc rodjnz r2, tybret;显示功能切换界而;3ah开始的数据清零:显示密码a00000,开锁成功:显

27、示密码b00000 ,表示修改密码;开锁kaisuo: clr ea clr ex1 setb p1.0 clr p1.7 lcall delay1:无法再输入密码;关黄灯;p1.7连接报警器,两声滴setb pl. 7lcall delay1clr pl.7lcall delay1setb pl.7clr pl. 1; pl. 1连接绿灯,绿灯长亮,5秒延时lcall delaysetb pl. 1setb easetb ex1ret;关绿灯;改密gatmt: clr pl. 1mov r6,#06h mov k1,#39h setb ea setb ex1 mov a,#00hxiii i

28、: jnz pp2 lcall dsy1 ljmp xhh;绿灯亮,进入改密:做一个选择,等于0顺序执行,不等于0则跳转. :屏幕清零,显示全零;显示输入第一遍的新密码 pp2:mov a, r6 jz baocun lcall dsy ljmp xhh retbaocun:等于0时,调用比较子程序,此时屮断关闭了 ;显示按键值movkey1,39hmovkey2,3ahmovkey3,3biimovkey4,3ciimovkey5,3dhmovkey6 ,3eh;第一遍新密码保存clrpl. 7lcall.delay1lcali.delay1setb1)1.7lcali.,dsy1movr6, #06hmovr1,#39iisetbea

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论