单片机课程设计汇总

上传人:彩*** 文档编号:73846021 上传时间:2022-04-12 格式:DOC 页数:18 大小:599KB
返回 下载 相关 举报
单片机课程设计汇总_第1页
第1页 / 共18页
单片机课程设计汇总_第2页
第2页 / 共18页
单片机课程设计汇总_第3页
第3页 / 共18页
点击查看更多>>
资源描述
单片机课程设计设计题目电子密码锁学生姓名学号专业班级通信工程指导老师年 月 日设计题目姓名单片机课程设计成绩学号设计题目: 电子密码锁1、设计任务:本课程的设计任务是利用现有的目标板实验装置,利用实验箱上的设备,设计一个完整电子密码锁程序,并在实验箱上运行演示。2、设计指标及要求:课( 1)系统初始化,用户依次输入密码,LED显示用户输入的密码。程( 2)密码输入后判断是否正确。密码错误,系统发出一声长“滴”声错误设提示音,红灯亮 2.5S ,之后系统复位,用户重新输入密码。错误次数超计过三次,则发出长鸣声报警,错误报警指示灯亮,同时键盘锁住,用户在无法输入密码。主( 3)密码正确有 2种权限:开锁和修改密码,由功能键选择权限。要( 4)开锁成功,发出 2声“滴”提示开锁,绿灯亮,5S延时后开锁信号和开锁内指示清零,系统返回启动界面,等待密码的输入。( 5)改密过程中,如果两次输入的密码不同,LED提示并返回修改密码界面。容若密码修改成功,则保存密码,系统返回启动界面,等待密码的输入。( 6)LED显示的系统当前操作界面(密码输入,修改密码,开锁,锁键盘等)可自行设定显示状态建议:从学生的工作态度、工作量、设计(论文)的创造性、学术性、实用性及书面表达能力等方面给出评价。指导教师评语签名:20年月日设计题目: 电子密码锁一、 课题概述在日常的生活和工作中 , 住宅与部门的安全防范、 单位的文件档案、 财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙 , 使用极不方便 , 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC 卡辨认)已在国内外相继面世,但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等,而且指纹识识别器若在公共场所使用存在容易机械损坏。IC 卡还存在容易丢失、损坏等特点,加上其成本较高,一定程度上限制了这类产品的普及和推广。鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。二、 设计任务及技术要求2.1 设计目的本课程的设计任务是利用现有的目标板实验装置,利用实验箱上的设备,设计一个完整电子密码锁程序, 并在实验箱上运行演示。 通过硬件课程设计中电子密码锁的设计与实验,使我们更进一步的掌握单片机原理的相关知识,尤其加深对8279 芯片原理的理解,提高对汇编语言编程的能力并加深对汇编语言的理解与应用。在程序的不断编写与改正过程中,提高了我们检错就错的能力。实物电路的连接锻炼我们的动手能力,增强了我们通过动手进行硬件设计及程序设计从而解决实际问题的能力。2.2 设计内容在本次实验中我们主要用到可编程键盘显示接口芯片8279 来实现输入输出数字并用相关程序来判断字符匹配程度。主要实现以下功能:1、可设定密码( 6 位);2、实时显示输入密码;3、具有密码错误输入限制。有3 次输入密码的机会若三次密码全错会报警响铃并锁定键盘。4、密码正确有 2 种权限:开锁和修改密码,由功能键选择权限。5、密码可变性。用户可以更改密码,保存并重新回到初始界面。2.3 实验器材( 1)PC 机一台 用于对程序的编译测试等,同时还需要对硬件实验设备进行控制,提供整个程序的运行平台,并且收集和释放硬件信号,实现程序功能。( 2)单片机原理实验箱一台,单片机接口设备。( 3)数据线一条,电源线一条,导线若干条用于电路和芯片之间的连接。三、 工作原理及原理框图基于单片机的电子密码锁系统工作原理框图如下图所示图 1单片机电子密码锁系统原理框图用户密码通过键盘的输入,密码输入正确后,进行功能选择。输出开锁信号控制,开锁电路开锁并发出 2 声短“滴”声提示音, 5S 延时后开锁信号与已开锁提示清零,系统回到初始界面。密码输入错误时,发出一声长“滴”声错误提示音,密码错误指示灯亮,连续三次密码错误时,发出长鸣声报警,密码错误报警灯亮。 10S后延时锁定键盘,此后键盘将无法再次输入密码。用户密码直接存储在单片机 ROM中,可以通过键盘修改密码,系统的工作状态由显示电路提示。四、 主要器件分析及仿真电路4.1 单片机 AT89C51组成基本框图单片机引脚介绍P0:P0口是一个漏极开路的 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:接地ALE:地址锁存器控制信号。在系统扩展时,ALE用于控制把P0 口输出的低8 位地址锁存起来,以实现低位地址和数据的隔离。此外,由于ALE是以晶振1/6的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。PSEN:外部程序存储器读选通信号。在读外部ROM时,/PSEN有效(低电平),以实现外部ROM单元的读操作。EA:访问程序存储控制信号。RST:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成单片机的复位初始化操作。XTAL1和 XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。4.2 通用可编程键盘和显示器的接口电路芯片8279图 2 8279 引脚分布图DB0DB7:双向数据总线。在CPU与 8279 间做数据与命令的传送。CLK:8279 的系统时钟, 100KHz为最佳选择。RESET:复位信号,输入线,当RESET=1时, 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”。在传感器工作方式中,传感器矩阵无论哪里发生变化都会使IRQ 为“ 1”。SL0SL3:扫描按键开关或传感器矩阵及显示器可以是编码模式或解码模式。RL0RL7:回复输入线,它们是键盘或传感器的列(或行)信号输入线;平时保持为“1”,当矩阵结点上有键(开关)闭合时变为“0”。SHIFT:移位信号输入线,高电平有效。CNTL/STB:控制 / 选通输入线,高电平有效。通常用来扩充键开关的控制功能,作为控制功能键用。在选通输入方式时,该信号的上升沿可把来自RL0 RL7的数据存入FIFO/RAM中;在传感器方式下,该信号无效。4.3 键盘输入电路及数码管LED显示当前键入数字电路主要基于可编程键盘和显示器的接口电路芯片8279图 3 键盘输入电路及数码管LED显示当前键入数字电路4.4 声光报警电路声光报警电路由蜂鸣器和3 个 LED灯组成,单片机引脚平 P1.1 、P1.2、P1.4 和 P1.5 分别控制绿灯、红灯、蜂鸣器、和黄灯。图 4 声光报警电路4.5 仿真电路五、 实验代码由于源程序代码很长,下面仅为部分代码,具体请见报告最后的附录部分ORG 0000HLJMP MAINORG 0013HLJMP INT1P;外部中断入口地址,外部中断1MAIN:MOV SP,#60HCLR P1.0;开机,初始化,指示灯黄灯亮START:SETB EX1;MOV DPTR,#5FFFHMOV A,#0DCHMOVX DPTR,ALP:MOVX A,DPTRJB ACC.7,LP开外部中断;指向 8279 命令、状态口;送显示 RAM清除命令,全部置为0; 输入的密码会显示在数码管上MOV A,#00HMOVX DPTR,A MOV A,#34H;20;8*8的显示左边输入,编码扫描键盘,双键互锁分频MOVX DPTR,A六、 感想体会本次课程设计我选做的是电子密码锁。 实验主要用到了:可编程键盘和显示芯片 8279、单片机 AT89C51,显示电路。我采用的是汇编语言,实现电子密码锁的设置密码、输入密码、开启提示、清除输入、错误提示、报警提示、重上锁操作、重置密码等操作,以实现电子密码锁的一部分功能。我首先对密码锁的整个功能进行了一个大概的了解,并初步想好整个流程。之后,在着手准备的过程中,就遇到了很多的困难。刚开始时,对芯片了解不足,以前学的知识也生疏了,于是先温习课本,实验中的主要运用了可编程键盘和显示器的接口电路芯片 8279,所以我特别关注 8279 的用法和如何在实验箱上使用。我是边写程序边调试,先把主体功能实现后,再完善一些小功能,如亮灯,延时,响铃等。其中最为复杂的是,功能键设定,密码判断和改密程序。在对各个功能调试时,出现了不少错误,但经过细心的检查,认真的调试,以及老师解答相关的疑惑, 纠正相关错误, 才能最终完成调试。 不断出现的状况,虽然一定程度阻碍了实验的进行,但也锻炼了我的毅力,让我深刻意识认识到,一份付出就有一份收获。这次课程设计对于提高编程能力, 改错纠错能力, 以及实际操作能力都有很大的帮助。我通过实验, 深刻的了解到, 要想把书本上的东西变成自己的能力, 就必须不断的做实验,不断地实践,这样才能熟能生巧。总之,这次课程设计对于我今后的发展和进一步的学习都有着非常重要的作用。七、 参考文献1. 王琼主编 . 单片机原理及应用(第二版) . 合肥工业大学出版社, 20132. 王琼主编 . 单片机原理及应用 . 实验教程(第二版) . 合肥工业大学出版社, 20133. 张丽娜 刘美玲 编著 . 51 单片机系统开发与实践 . 北京航空航天大学出版社, 20134.徐伟 等编著 . C51 单片机高效入门 .北京 . 机械工业出版社, 2010附录:; 以下 6 字节存放初始密码WORD1EQU31HWORD2EQU32HWORD3EQU33HWORD4EQU34HWORD5EQU35HWORD6EQU36H; 以下 6 字节存放用户改密时第一次输入新密码(47H-4CH)KEY1EQU57HKEY2EQU58HKEY3EQU59HKEY4EQU5AHKEY5EQU5BHKEY6EQU5CH; 以下为初始化程序,包括数据存储空间初始化,设置初始密码123456ORG 0000HLJMP MAINORG 0013HLJMP INT1P;MAIN:MOV SP,#60HMOV WORD1 ,#01H;MOV WORD2 ,#02HMOV WORD3 ,#03HMOV WORD4 ,#04HMOV WORD5 ,#05HMOV WORD6 ,#06HMOV KEY1 , #00HMOV KEY2 , #00HMOV KEY3 , #00HMOV KEY4 , #00HMOV KEY5 , #00HMOV KEY6 , #00HSTART: CLR P1.0;SETB EX1;MOV DPTR,#5FFFH;MOV A,#0DCHMOVX DPTR,A;LP:MOVX A,DPTRJB ACC.7,LPMOV A,#00HMOV A,#34H;20MOVX DPTR,A;外部中断入口地址,外部中断1设置初始密码为123456第一遍新密码初始化开机,初始化,指示灯黄灯亮表示进入初始化,待机状态开外部中断指向 8279 命令、状态口送显示 RAM清除命令,全部置为0的显示左边输入,编码扫描键盘,双键互锁分频XH:CLR IT1;NOPSETB EA;NOPMOV A,#00HMOV R0,#39HMOV R1,#39HMOV R4,#03H;MOV R7,#06HMOV R6,#06HJNZPP;LCALL DSY1;电平触发开总中断数据存放的初试地址密码允许错误次数3六次中断; 显示六个数据做一个选择, 等于 0 顺序执行显示全零, 不等于0 则跳转到功能选择部分LJMP XH; 功能选择功能选择键控制A开锁B 改密PP:L0:L1:MOV A,#0AHCJNE A,39H,L0LCALL DSYALCALL KAISUOLJMPSTARTMOVA,#0BHCJNE A,39H,L1LCALLDSYBLCALLGAIMILCALL STARTMOV A, R6JZBIJIAOLCALL DSYLJMPXH;R6;判断是否按下功能键A; 调用显示开锁子程序;开锁子程序判断是否按下功能键B; 修改密码子程序等于 0 时,跳转到比较程序显示按键值; 中断服务程序INT1P: PUSH ACCPUSH DPHPUSH DPLMOV A,#40HMOV DPTR,#5FFFH;MOVX DPTR,A;MOV DPTR,#5EFFH;MOVX A,DPTRMOV R1,A;INC R1DJNZ R6 ,NEXTCLR EA;NEXT: NOPPOP DPL读键盘输入的信息指向命令口指向数据口读键盘输入的信息当放满六位,循环, 仅读一个单元,依次放入39H,40H.POP DPHPOP ACCRETIDSY1:MOV R0,#39HLLP:MOV R0,#00HINC R0DJNZ R7,LLPMOV R7,#06HMOV R2,#06HMOV A,#92HMOV DPTR,#5FFFHMOVX DPTR,AMOV R0,#39HTY1:MOV A,R0MOV DPTR,#TABLMOVC A,A+DPTRMOV DPTR,#5EFFHMOVX DPTR,AINC R0DJNZ R2,TY1RET;显示密码全零DSY:MOV R2,#06HMOV A,#92HMOV DPTR,#5FFFHMOVX DPTR,AMOV R0,#39HTY:MOV A,R0MOV DPTR,#TABLMOVC A,A+DPTRMOV DPTR,#5EFFHMOVX DPTR,AINC R0DJNZ R2,TYRET;显示密码任意数字; 密码比较BIJIAO:LCALL DSYLCALL DELAYSETB P1.0 MOV A,WORD1;黄灯熄灭密码不对跳转MOV A,WORD2CJNE A,3AH, J5MOV A,WORD3CJNE A,3BH, J5MOV A,WORD4CJNE A,3CH, J5MOV A,WORD5CJNE A,3DH, J5MOV A,WORD6CJNE A,3EH, J5MOVR6,#06HMOVR1,#39HSETB EASETB EX1MOV A,#01HLJMP XH;密码正确 , 调用功能选择部分J5:LCALL ALARM;报警,同时错误加 1.DJNZ R4, J1CLR EACLR EX1LCALL DSY1;CLRP1.2;红灯亮SETBP1.0;关闭黄灯CLR P1.7;密码三次错误,报警指示灯MOV R2 ,#05HBJ: LCALL DELAYDJNZ R2 , BJSETB P1.7LJMP $;红灯长亮 长鸣报警指示8sALARM:SETB P1.0;关黄灯CLRP1.2;开红灯,滴一声,红灯亮2SCLRP1.7;报警 滴滴LCALL DELAY1SETB P1.7LCALL DELAY1LCALL DELAYSETB P1.2;关掉红灯CLR P1.0;开黄灯,表示回到初始状态RETJ1: MOV A,#00H;显示全零LCALL DSY1MOVR6,#06HMOVR1,#39HSETB EASETB EX1LJMP XH;密码错误,返回; 显示功能切换界面DSYA:MOV R0,#3AH;3AHLLPA:MOV R0,#00HINC R0DJNZ R7,LLPAMOV R7,#05HMOV R2,#06H;MOV A,#92HMOV DPTR,#5FFFHMOVX DPTR,AMOV R0,#39HTYA:MOV A,R0MOV DPTR,#TABLMOVC A,A+DPTRMOV DPTR,#5EFFHMOVX DPTR,AINC R0DJNZ R2,TYARETDSYB:CLR EACLR EX1MOV R0,#3AHLLPB:MOV R0,#00HINC R0DJNZ R7,LLPBMOV R7,#05HMOV R2,#06H;MOV A,#92HMOV DPTR,#5FFFHMOVX DPTR,AMOV R0,#39HTYB:MOV A,R0MOV DPTR,#TABLMOVC A,A+DPTRMOV DPTR,#5EFFHMOVX DPTR,AINC R0DJNZ R2,TYBRET开始的数据清零显示密码A00000 ,开锁成功显示密码B00000 , 表示修改密码; 开锁KAISUO: CLR EA;无法再输入密码CLR EX1关黄灯CLRP1.7;P1.7连接报警器,两声滴LCALL DELAY1SETB P1.7LCALL DELAY1CLR P1.7LCALL DELAY1SETBP1.7CLR P1.1LCALL DELAYSETB P1.1SETB EASETB EX1RET; P1.1关绿灯连接绿灯,绿灯长亮,5 秒延时; 改密GAIMI: CLR P1.1;绿灯亮,进入改密MOV R6,#06HMOV R1,#39HSETBEASETBEX1MOV A,#00HXHH: JNZ PP2 LCALL DSY1;做一个选择屏幕清零,, 等于 0 顺序执行显示全零, 不等于0 则跳转.LJMP XHH; 显示输入 第一遍的新密码PP2:MOV A, R6JZBAOCUN;R6LCALL DSY;LJMPXHHRETBAOCUN:MOV KEY1 , 39H;MOV KEY2 , 3AHMOV KEY3 , 3BHMOV KEY4 , 3CHMOV KEY5 , 3DHMOV KEY6 , 3EHCLRP1.7;LCALL DELAY1LCALL DELAY1SETBP1.7LCALL DSY1;MOV R6,#06H等于 0 时,调用比较子程序显示按键值第一遍新密码保存滴滴屏幕再次清零,显示全零, 此时中断关闭了MOV R1,#39HSETB EASETB EX1XJ1:MOV A, R6JZBIJIAO1LCALL DSY;R6;再次确认密码等于 0 时,调用比较子程序显示按键值LJMPXJ1; 两次密码比较BIJIAO1:LCALL DSYLCALL DELAYMOV A,KEY1CJNE A,39H, XJ5MOV A,KEY2CJNE A,3AH, XJ5MOV A,KEY3CJNE A,3BH, XJ5MOV A,KEY4CJNE A,3CH, XJ5MOV A,KEY5CJNE A,3DH, XJ5MOV A,KEY6CJNE A,3EH, XJ5;密码不相同,跳转密码相同,改密成功。保存新密码; 将新密码保存,替换初始密码MOVWORD1, KEY1MOVWORD2, KEY2MOVWORD3, KEY3MOVWORD4, KEY4MOVWORD5, KEY5MOVWORD6, KEY6CLR P1.2;红灯,绿灯同时亮,表示改密成功CLRP1.7;P1.7连接报警器,两声滴LCALL DELAY1SETB P1.7LCALL DELAY1CLR P1.7LCALL DELAY1SETBP1.7SETB P1.2SETB P1.1SETB EASETB EX1MOV R1,#39HLJMPSTARTXJ5:SETB P1.1LJMP GAIMI;关闭绿灯两次密码不一样,改密码失败,重新修改RETDELAY:;延时1sMOV R2,#0A7HDL1:MOV R3,#0ABHDL:MOV R5,#10HDJNZ R5,$DJNZ R3,DLDJNZ R2,DL1NOPRETDELAY1:;延时MOV R2,#0FFHDL2:MOV R3,#0FFHDJNZ R3,$DJNZ R2,DL2NOPRETTABL:DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H,82H,0F8H,80H,90H,88HDB 83H,0C6H,0A1H,86H,8EH,8CHDB 0C1H,89H,0C7H,0BFH,91HDB 00H,0FFHEND
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 演讲稿件


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!