单片机课程设计汇总_第1页
单片机课程设计汇总_第2页
单片机课程设计汇总_第3页
免费预览已结束,剩余19页可下载查看

下载本文档

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

文档简介

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

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

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

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

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

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

7、所示ATSCSl单片机矩阵 键盘 控制图1单片机电子密码锁系统原理框图用户密码通过键盘的输入,密码输入正确后,进行功能选择。输出开锁信号控制,开 锁电路开锁并发出2声短“滴”声提示音,5S延时后开锁信号与已开锁提示清零,系统回 到初始界面。密码输入错误时,发出一声长“滴”声错误提示音,密码错误指示灯亮,连续三次密码错误时,发出长鸣声报警,密码错误报警灯亮。10S后延时锁定键盘,此后键盘将无法再次输入密码。用户密码直接存储在单片机 ROM中,可以通过键盘修改密码,系统的工作状态由显示电路提示。四、主要器件分析及仿真电路4.1单片机AT89C51组成基本框图单片机引脚介绍PO: P0 口是一个漏极

8、开路的8位双向I/O 口。在访问片外存储器时 P0分时提供低8位地 址线和8位双向数据线。当不接片外存储器或不扩展I/O 口时,P0可作为一个通用输 入/输出口。P0 口作输入口使用时,应先向口锁存器写“ 1”,P0 口作输出口时,需接 上拉电阻。P1: P1 口是一个内部提供上拉电阻的8位双向I/O 口,因此它作为输出口使用时,无需再 外接上拉电阻,当作为输入口使用时,同样也需先向其锁存器写“1”。P2: P2 口也是一个内部提供上拉电阻的 8位双向I/O 口,在访问片外存储器时,输出高 8 位地址。P3: P3 口除了一般的准双向通用I/O 口外,还有第二功能。VCC+5V电源 VSS接地

9、ALE地址锁存器控制信号。在系统扩展时,ALE用于控制把P0 口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。此外,由于 ALE是以晶振1/6的固定频率输 出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。PSEN外部程序存储器读选通信号。在读外部 ROM时,/PSEN有效(低电平),以实现外部 ROM单元的读操作。EA访问程序存储控制信号。RST复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成 单片机的复位初始化操作。XTAL1和 XTAL2夕卜接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶 体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信

10、号。4.2通用可编程键盘和显示器的接口电路芯片8279TH 7 pihrin1T4UV CLCLKX3jy38 KJL1RLDIRQ437CNTL/STBRL/I536SHIFTRL5635SL3RL673斗SL2R17833SL1RESET9轧、料32SLOKDio 827931OTfT BO1130OUT BlDD01229OUTB2DB1132SOUTB3DB21427OUT AODB3 1$26OUT AlDBI1625Oin A2DB51724OUT A3DM1323BEDB71922csVSS2D21AO图2 8279引脚分布图DBADB7双向数据总线。在 CPU与 8279间做数

11、据与命令的传送。CLK 8279的系统时钟,100KHZ为最佳选择。RESET复位信号,输入线,当 RESET=时,8279复位,其复位状态为:16个字符显示, 编码扫描键盘双键锁定,程序时钟编码 1。CS:芯片选择信号,低电平有效。A0:区分信息的特征位。A0=1时,读取状态标志位或写入命令;A0=0时,读写一般数据。RD读取控制线。RD=0 8279会送数据至外部总线WR写入控制线。WR=0 8279会从外部总线捕捉数据。IRQ:中断请求输出线,高电平有效。在键盘工作方式中,当FIFO传感器RAM中有数据时为“ 1”,CPU每读一次就变为0,如果RAM中仍有数据则IRQ又变为“ 1”。在传

12、感器 工作方式中,传感器矩阵无论哪里发生变化都会使IRQ为“ 1”。SL0SL3:扫描按键开关或传感器矩阵及显示器可以是编码模式或解码模式。RL旷RL7:回复输入线,它们是键盘或传感器的列(或行)信号输入线;平时保持为“1”,当矩阵结点上有键(开关)闭合时变为“ 0”。SHIFT:移位信号输入线,高电平有效。CNTL/STB控制/选通输入线,高电平有效。通常用来扩充键开关的控制功能,作为控制功能键用。在选通输入方式时,该信号的上升沿可把来自RL9 RL7的数据存入FIFO/RAM中 ;在传感器方式下,该信号无效。4.3键盘输入电路及数码管 LED显示当前键入数字电路主要基于可编程键盘和显示器的

13、接口电路芯片8279图3键盘输入电路及数码管LED显示当前键入数字电路4.4声光报警电路声光报警电路由蜂鸣器和3个LED灯组成,单片机引脚平P1.1、P1.2、P1.4和P1.5分别控制绿灯、红灯、蜂鸣器、和黄灯。PI5p»TRINGVCC13SL411L513L615L717GND1 cGNDL2cIGio2A12A22A3-2A4HlL?LIP12IAII A*IAAIA4LHnLFDLEDLFDIYIIY1IY3IV42YI2Y22Y32Y4二U 7345 IND o图4声光报警电路4.5仿真电路r匚11FlV IIr1 rT1五、实验代码ORG 0000H LJMP MAIN

14、 ORG 0013H LJMP INT1PMAIN:MOV SP,#60HCLR P1.0由于源程序代码很长,下面仅为部分代码,具体请见报告最后的附录部分外部中断入口地址,外部中断1开机,初始化,指示灯黄灯亮START:SETB EX1 ; 开外部中断MOV DPTR,#5FFFH ; 指向 8279 命令、状态口MOV A,#0DCHMOVX DPTR,A ; 送显示RAM青除命令,全部置为0LP: MOVX A,DPTRJB ACC.7 ,LP;输入的密码会显示在数码管上MOV A,#00HMOVX DPTR,A ;8*8的显示左边输入,编码扫描键盘,双键互锁MOV A,#34H;20分频

15、MOVX DPTR,A六、感想体会本次课程设计我选做的是电子密码锁。 实验主要用到了: 可编程键盘和显示芯片 8279、 单片机AT89C51显示电路。我采用的是汇编语言,实现电子密码锁的设置密码、输入密 码、开启提示、清除输入、错误提示、报警提示、重上锁操作、重置密码等操作,以实现 电子密码锁的一部分功能。我首先对密码锁的整个功能进行了一个大概的了解,并初步想好整个流程。之后,在 着手准备的过程中,就遇到了很多的困难。刚开始时,对芯片了解不足,以前学的知识也 生疏了,于是先温习课本, 实验中的主要运用了可编程键盘和显示器的接口电路芯片 8279, 所以我特别关注 8279的用法和如何在实验箱

16、上使用。我是边写程序边调试,先把主体功 能实现后,再完善一些小功能,如亮灯,延时,响铃等。其中最为复杂的是,功能键设定, 密码判断和改密程序。在对各个功能调试时,出现了不少错误,但经过细心的检查,认真 的调试, 以及老师解答相关的疑惑, 纠正相关错误, 才能最终完成调试。 不断出现的状况, 虽然一定程度阻碍了实验的进行,但也锻炼了我的毅力,让我深刻意识认识到,一份付出 就有一份收获。这次课程设计对于提高编程能力, 改错纠错能力, 以及实际操作能力都有很大的帮助。 我通过实验, 深刻的了解到, 要想把书本上的东西变成自己的能力, 就必须不断的做实验, 不断地实践,这样才能熟能生巧。总之,这次课程

17、设计对于我今后的发展和进一步的学习 都有着非常重要的作用。七、参考文献1. 王琼主编 . 单片机原理及应用(第二版) . 合肥工业大学出版社, 20132. 王琼主编 . 单片机原理及应用 . 实验教程(第二版) .合肥工业大学出版社, 20133. 张丽娜 刘美玲 编著. 51 单片机系统开发与实践 . 北京航空航天大学出版社, 20134. 徐伟 等编著. C51 单片机高效入门 . 北京. 机械工业出版社, 2010附录:WORD1EQU31HWORD2EQU32HWORD3EQU33HWORD4EQU34HWORD5EQU35HWORD6EQU36H; 以下 6 字节存放初始密码; 以

18、下 6 字节存放用户改密时第一次输入新密码(47H-4CH)KEY1EQU57HKEY2EQU58HKEY3EQU59HKEY4EQU5AHKEY5EQU5BHKEY6EQU5CH; 以下为初始化程序,包括数据存储空间初始化,设置初始密码123456ORG 0000H LJMP MAIN ORG 0013H LJMP INT1P ;MAIN:MOV SP,#60HMOV WORD1 ,#01H ;MOV WORD2 ,#02HMOV WORD3 ,#03HMOV WORD4 ,#04HMOV WORD5 ,#05HMOV WORD6 ,#06HMOV KEY1 , #00HMOV KEY2 ,

19、 #00HMOV KEY3 , #00HMOV KEY4 , #00HMOV KEY5 , #00HMOV KEY6 , #00HSTART: CLR P1.0;SETB EX1 ; MOV DPTR,#5FFFH ; MOV A,#0DCH MOVX DPTR,A ;LP: MOVX A,DPTRJB ACC.7,LPMOV A,#00H MOVX DPTR,A ;8*8 MOV A,#34H ;20外部中断入口地址,外部中断 1设置初始密码为 123456第一遍新密码初始化开机,初始化,指示灯 黄灯亮表示进入初始化,待机状态 开外部中断指向 8279 命令、状态口送显示RAM清除命令,全部

20、置为 0的显示左边输入,编码扫描键盘,双键互锁 分频MOVX DPTR,ACLR IT1NOPSETB EANOPMOV A,#00HMOV R0,#39HMOV R1,#39HMOV R4,#03HMOV R7,#06HMOV R6,#06H XH: JNZ PP ;LCALL DSY1LJMP XH电平触发开总中断数据存放的初试地址密码允许错误次数 3 六次中断; 显示六个数据做一个选择 , 等于 0 顺序执行 ,不等于 0 则跳转到功能选择部分 显示全零; 功能选择 功能选择键控制 A 开锁 B 改密 PP:MOV A,#0AH ; CJNE A,39H,L0 LCALL DSYA LC

21、ALL KAISUO LJMP STARTL0: MOV A,#0BH CJNE A,39H,L1 LCALL DSYB LCALL GAIMI LCALL STARTL1: MOV A, R6JZ BIJIAO ;R6LCALL DSY ;LJMP XH判断是否按下功能键 A; 调用显示开锁子程序开锁子程序判断是否按下功能键 B; 修改密码子程序等于 0 时,跳转到比较程序 显示按键值; 中断服务程序INT1P: PUSH ACCPUSH DPHPUSH DPLMOV A,#40HMOV DPTR,#5FFFH ;读键盘输入的信息MOVX DPTR,A ;指向命令口MOV DPTR,#5EF

22、FH ; 指向数据口MOVX A,DPTRMOV R1,A ; 读键盘输入的信息 , 仅读一个单元,依次放入 39H,40H.INC R1DJNZ R6 ,NEXTCLR EA ; 当放满六位,循环CLR EX1NEXT: NOPPOP DPLPOP DPHPOP ACCRETIDSY1:MOV R0,#39HLLP: MOV R0,#00HINC R0DJNZ R7,LLPMOV R7,#06HMOV R2,#06HMOV A,#92HMOV DPTR,#5FFFH MOVX DPTR,AMOV R0,#39HTY1: MOV A,R0MOV DPTR,#TABLMOVC A,A+DPTRM

23、OV DPTR,#5EFFH MOVX DPTR,A INC R0DJNZ R2,TY1RETDSY: MOV R2,#06HMOV A,#92HMOV DPTR,#5FFFH MOVX DPTR,AMOV R0,#39HTY: MOV A,R0MOV DPTR,#TABLMOVC A,A+DPTRMOV DPTR,#5EFFH MOVX DPTR,A INC R0DJNZ R2,TYRET显示密码全零显示密码任意数字; 密码比较BIJIAO:LCALL DSYLCALL DELAYSETB P1.0 ; 黄灯熄灭MOV A,WORD1CJNE A,39H, J5MOV A,WORD2CJNE

24、 A,3AH, J5密码不对跳转MOV A,WORD3 CJNE A,3BH, J5 MOV A,WORD4CJNE A,3CH, J5MOV A,WORD5CJNE A,3DH, J5MOV A,WORD6CJNE A,3EH, J5MOV R6,#06HMOV R1,#39HSETB EASETB EX1MOV A,#01HLJMP XH ;J5:LCALL ALARM ;DJNZ R4, J1CLR EACLR EX1LCALL DSY1 ;CLR P1.2;SETB P1.0;CLR P1.7;MOV R2 ,#05HBJ: LCALL DELAYDJNZ R2 , BJSETB P1

25、.7LJMP $;ALARM:SETB P1.0;CLR P1.2;CLR P1.7;LCALL DELAY1SETB P1.7LCALL DELAY1LCALL DELAYSETB P1.2;CLR P1.0;RETJ1: MOV A,#00HLCALL DSY1MOV R6,#06HMOV R1,#39HSETB EASETB EX1LJMP XH ;密码正确”调用功能选择部分报警,同时错误加1.红灯亮关闭黄灯密码三次错误,报警指示灯红灯长亮长鸣报警指示 8s关黄灯开红灯,滴一声,红灯亮 2S报警滴滴关掉红灯开黄灯,表示回到初始状态显示全零密码错误,返回; 显示功能切换界面DSYA:MOV

26、 R0,#3AH ;3AH LLPA: MOV R0,#00HINC R0DJNZ R7,LLPAMOV R7,#05H MOV R2,#06H ; MOV A,#92H MOV DPTR,#5FFFH MOVX DPTR,A MOV R0,#39H TYA: MOV A,R0MOV DPTR,#TABL MOVC A,A+DPTR MOV DPTR,#5EFFH MOVX DPTR,AINC R0DJNZ R2,TYARETDSYB: CLR EACLR EX1 MOV R0,#3AHLLPB: MOV R0,#00HINC R0DJNZ R7,LLPBMOV R7,#05H MOV R2,

27、#06H ; MOV A,#92H MOV DPTR,#5FFFH MOVX DPTR,A MOV R0,#39H TYB: MOV A,R0MOV DPTR,#TABL MOVC A,A+DPTRMOV DPTR,#5EFFH MOVX DPTR,AINC R0 DJNZ R2,TYBRET; 开锁KAISUO: CLR EA ;CLR EX1SETB P1.0 ;CLR P1.7;P1.7LCALL DELAY1开始的数据清零显示密码 A00000 ,开锁成功显示密码 B00000 , 表示修改密码无法再输入密码关黄灯连接报警器,两声滴SETB P1.7LCALL DELAY1CLR P1

28、.7LCALL DELAY1SETB P1.7CLR P1.1; P1.1连接绿灯 ,绿灯长亮, 5 秒延时LCALL DELAYSETB P1.1SETB EASETB EX1RET关绿灯; 改密GAIMI: CLR P1.1MOV R6,#06HMOV R1,#39H SETB EA绿灯亮,进入改密SETB EX1MOV A,#00HXHH: JNZ PP2LCALL DSY1做一个选择 , 等于 0顺序执行 ,不等于 0则跳转 . 屏幕清零, 显示全零LJMP XHH; 显示输入 第一遍的新密码PP2:MOV A, R6JZ BAOCUN;R6LCALL DSY等于 0 时,调用比较子程序 , 此时中断关闭了 显示按键值LJMP XHHRET第一遍新密码保存BAOCUN:MOV KEY1 , 39H ;MOV KEY2 , 3AHMOV KEY3 , 3BHMOV KEY4 , 3CHMOV KEY5 , 3DHMOV KEY6 , 3EH滴滴CLR P1.7 ;LCALL DELAY1LCALL

温馨提示

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

评论

0/150

提交评论