




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、湖南工程学院课 程 设 计课程名称 单片机原理与应用 课题名称 智能密码锁设计 专 业 电子信息工程 班 级 0981 班 学 号 姓 名 指导教师 2012 年5 月 18 日湖南工程学院课 程 设 计 任 务 书课程名称 单片机原理与应用 课 题 智能密码锁设计 专业班级 电子信息0981班 学生姓名 学 号 200913020109 指导老师 审 批 任务书下达日期 2012 年 5 月 7 日任务完成日期 2012 年 5 月 18 日设计内容与设计要求设计内容:1、 密码的设定,此密码是固定在程序存储器rom中,假设预设的密码为“12345”共5位密码。2、 密码的输入: 采用两个按
2、键来完成密码的输入,其中一个按键为功能键,另一个按键为数字键。在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。然后进入密码的判断比较处理状态并给出相应的处理过程。3、 按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。设计要求:1、 设计方案要合理、正确;2、 系统硬件设计及焊接制作;3、 系统软件设计及调试;4、 系统联调;5、 写出设计报告。主 要 设 计 条 件1、 mcs-51单片机实验操作台1台;2、 pc机及单片机调试软件;3、 单片机应用系统板1套;4、 制作工具1
3、套;5、 系统设计所需的元器件。说 明 书 格 式1. 封面2. 课程设计任务书3. 目录4. 系统总体方案设计5. 系统硬件设计6. 软件设计(包括流程图)7. 系统的安装调试说明8、 总结 9、参考文献10、附录(源程序清单及硬件原理图等);11、课程设计成绩评分表。进 度 安 排设计时间为两周第一周星期一、上午:布置课题任务,讲课及课题介绍 下午:借阅有关资料,总体方案讨论星期二、确定总体设计方案星期三、硬件模块方案设计星期四、软件模块方案设计星期五、设计及调试第二周星期一、设计及调试星期二、设计及调试星期三、总调星期四、写说明书星期五、上午:写说明书,整理资料下午:交设计资料,答辩参
4、考 文 献1、微型计算机原理及应用许立梓编 机械工业出版社 20022、微型计算机接口技术及应用刘乐善编 华中理工大学出版社 2000 3、计算机硬件技术基础试验教程邹逢兴编 高等教育出版社 20004、16位微型计算机原理接口及其应用周佩玲编 中国科学技术大学出版社2000 5、微型计算机原理与接口技术吴秀清编 中国科学技术出版社 20016、微型计算机接口技术邓亚平编 清华大学出版社 20017、单片机原理及及应用王迎旭编 机械工业出版社 20018、单片机应用程序设计技术 周航慈 著 北京航空航天大学出版社 20029、单片机实用技术问答 谢宜仁 主编 人民邮电出版社 2002第1章 单
5、片机系统概述1.1 单片机的介绍 随着科技的飞速发展,单片机随之诞生,它被人么运用到生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能ic卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机
6、系统集成到一个芯片上。在一片集成电路芯片上集成微处理器、存储器、i/o接口电路,从而构成了单芯片微型计算机,即单片机。 intel公司推出了mcs-51系列单片机:集成 8位cpu、4k字节rom、128字节ram、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64k,并有控制功能较强的布尔处理器。1.2 设计内容及要求对于此次课程设计我们使用80c51为作为主控芯片与数据存储器单元,结合外围的矩阵键盘输入、lcd显示、报警、开锁等控制方案来实现的电子密码锁的设计,其主要具有如下功能: (1)密码的设定:此密码是固定在程序存储器rom中,假设预设的密为“12345”共5位密码
7、。 (2)密码的输入:采用一组数字键盘来完成密码的输入及一个确认功能键来确认密码的正确性。在密码都已经输入完毕并且确认功能键之后,才能完成密码的输入过程。然后进入密码的判断比较处理状态并给出相应的处理过程。 (3)密码的删除功能:当在密码输入时,不小心将密码输错,此时只要按下删除键,便能重新输入密码。 (4)按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。 (5)报警功能:当连续输入的三次密码全都错误的情况下,自动启用报警功能,有警报声响起及红灯闪烁。 (6)复位功能:在输入密码确认后最终出现
8、两种情况:一是密码输入正确,此时密码锁自动打开,一段时间后便自动复位,进入下一次密码的输入。二是密码输入错误,此时启动警报,只有当人为的按下复位功能键才能解除警报状态。第2章 系统总体方案设计2.1 总体方案 此次智能密码锁控制器的设计主要是通过程序来控制键盘和报警器等,在一般状态下输入原始密码,则可以开锁。如果在锁住时输入密码,且连续三次密码错误,报警器报警,手动按下复位按钮,解除警报。此次设计我们将密码固化在rom中,放入表中,在得到按键后,查表比较密码,如果正确,显示”good”提示,如果三次密码错误,就禁止读取按键函数,只打开报警电路发出报警声及红灯闪烁!系统总框图如下所示: 80c5
9、1单片机 输入错误返回矩阵键盘控制连续输错三次启动报警密码对显示goodlcd六位显示器 2.1 系统总框图2.2 系统组成本系统主要包括两个部分:硬件部分和软件部分。硬件部分:矩阵键盘接口电路、密码锁的控制电路、复位控制电路和输出显示电路等三部分。键盘部分包括键盘扫描时序产生电路、键盘扫描、弹跳消除、键盘译码、按键存储。程序控制包括数字按键的数字输入、存储及清除、功能按键的功能设计、激活开锁电路、密码核对。复位电路包括复位控制按钮。输出显示电路的设计包括数据选择、bcd对显示译码、七段led显示扫描。软件部分:汇编程序的主函数和子函数。其中子函数又包括:按键读取函数、延时函数、定时中断函数、
10、按键处理函数、删除函数、密码比较函数、显示函数、报警函数、复位函数。第3章 系统硬件设计3.1主控芯片80c51此次智能密码的锁设计主要是围绕80c51芯片而做的,80c51是intel公司mcs-51系列单片机中最基本的产品,它采用intel公司可靠的chmos工艺技术制造的高性能8位单片机,属于标准的mcs-51的hcmos产品。它结合了hmos的高速和高密度技术及chmos的低功耗特征,它继承和扩展了mcs-48单片机的体系结构和指令系统。 80c51内置中央处理单元、128字节内部数据存储器ram、32个双向输入/输出(i/o)口、2个16位定时/计数器和5个两级中断结构,一个全双工串
11、行通信口,片内时钟振荡电路。 图3.1 80c51芯片引脚图 80c51各管脚的功能如下:vcc和gnd:分别为外接电源和接地 p0p3:为输入/输出口线,其各有的功能,其中p3口每一位还有特殊功能。 rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。 ale/prog:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在flash编程期间,此引脚用于输入编程脉冲。 /psen:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/psen有效。/ea/vpp:当/ea保持低电平时,在此期间外部程序存储器(0000h-ffffh),
12、不管是否有内部程序存储器。 xtal1:反向振荡放大器的输入及内部时钟工作电路的输入。 xtal2:来自反向振荡器的输出。3.2单片机振荡电路8051内置频率可达12mhz的时钟电路,用来产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容,晶振采用12m外接30pf电容构成单片机时钟电路。图3.2 单片机振荡电路3.3单片机复位电路单片机系统的复位电路在可以采用的是按钮式上电复位电路形式,其中电阻r采用10k的阻值 ,电容采用10f的电容值。图3.3 复位电路3.4 键盘按键电路此次设计使用的是矩阵键盘,这种形式的键盘能减少键盘与单片机接口时所占用的i/o线的数目,在按键比较多的时候
13、,通常采用这样方法。图3.4(a) 矩阵键盘这种键盘内部结构为每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要n条行线和m条列线,即可组成具有nm个按键的键盘。我们这次设计的电子密码锁的按键部分采用4x4矩阵键盘,键盘行列各有四条线键盘排列在行与列线的交点上如图3.4(a)所示。图3.4(b) 矩阵键盘内部结构图如上图所示键盘,确定矩阵式键盘上何键被按下常使用的为“行扫描法”。行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,介绍过程如下。判断键盘中有无键按下:(1) 先将行线p1.7-p1.4置0111,然后检测列
14、线的状态。如果p1.3-p1.0为0111,则k0被按下;如果p1.3-p1.0为1011,则k1被按下;如果p1.3-p1.0为1101,则k2被按下;如果p1.3-p1.0为1110,则k3被按下;(2)将行线p1.7-p1.4置1011,然后检测列线的状态,方法同(1);(3)将行线p1.7-p1.4置1101,然后检测列线的状态,方法同(1);(4)将行线p1.7-p1.4置1110,然后检测列线的状态,方法同(1)。3.5显示电路八段共阳显示器的结构是八个二极管连接一个阳极的结构,只要另一段为低电平,二极管就会发光,从而形成一段。将八段顺序排列后就成为具有一定编码的共阳显示器了。本设
15、计显示电路采用共阳显示器显示输入的五位密码,和一个密码输入次数提示位。其显示状态有三种:当密码锁处于开始状态时,led不做任何显示,当密码锁输入正确的密码是即显示good,当密码连续输入三次错误时led显示“”并且不停闪烁。此三种状态图如下所示。 图3.5(a) 无任何输入时显示状态图3.5(b) 输入密码正确的显示状态图3.5(c) 连续三次输错密码的显示状态3.6报警电路输入密码与设定密码做比较,当输入密码与设定密码不同,返回再输入,当输入密码次数超过3次时,通过软件从80c51的p3.6输出脉冲,是红色报警二极管闪烁,并且从p3.7输出脉冲使三极管导通扬声器鸣笛报警。图3.6 报警电路原
16、理图第4章 软件设计4.1软件总体设计 本系统软件设计由主程序、初始化程序、lcd显示程序、键盘扫描程序、键功能程序、密码设置程序、密码比较程序、密码对开锁、错报警和延时程序等组成。软件设计总流程图如下:手 动 复 位 图4.1 软件设计总流程图4.2 键盘扫描及识别子程序 键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有按键按下,便转向相应的子程序处理,处理结束再返回。4.3 比较密码子程序当按下确定按键后程序执行密码比较,判断密码是否正确,从而决定是否禁止键盘,是否报警,还是继续等待按键输入,图4.2是密码比较函数流程图:图4.2 比较密码子程序流程图4.4
17、 显示程序设计由于是分屏显示数据,所以就要用到5个显示子程序,分别是:关闭状态显示子程序、开锁状态显示子程序、密码输入及修改状态显示子程序、密码输入错误后的提示子程序。密码在规定的时间内输入错误次数超过3次后的锁定状态显示子程序。为了显示数字,要为led显示器提供字型代码。我用的是共阳极的显示器。4.5按键功能流程图如图4.3为按键功能流程图,在按键当中,有与输入、开锁、清除、确认的程序相对应的按键,并按顺序与输入的数相比较,当输入正确时,进入密码程序,错误时进行清除,最后确认程序。图4.3 按键功能流程图4.6开锁流程图如图4.4为开锁流程图,开始时按开锁键,输入密码,如果输入正确,则开锁成
18、功。如果输入错误累计达到三次,则执行报警程序。开锁流程图如下所示:初始化按开锁键输入密码确认程序所输入密码正确?y开锁成功开锁程序输入次数加1次数3?报警程序返回nyn 图4.4 开锁流程图第5章 安装调试说明对于智能密码锁的设计,我们可以使用proteus软件来仿真,proteus软件是英国labcenter electronics公司出版的eda工具软件。它不仅具有其它eda工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。仿真之前我们得先做一些准备工作。首先,根据密码锁设计所需,使用编程软件写一个程序,这里既可以用c语言来编写也可用伟福软件来编写汇编
19、语言。现在我们用所熟悉的单片机汇编语言来编写,程序编写完了,进行程序的编译,正确后软件部分完成。然后进行原理图的制作,先打开protues软件,将所需要的元件找到放置好,调整合理,然后依次连上线。将各个线进行网络编号。完毕后,进行电气规则检查,检查正确后就可以加载汇编程序了。打开工具栏中源代码项的添加源文件,选择编好的汇编程序。这些都做好之后我们就可以进行软硬件的模拟仿真了,单击调试中的执行,进入仿真状态。初始时,为了节约电能,led上无任何显示,这时可以从键盘上输入5位数字进去,如不小心输入错误,可以按下删除键进行修改。输完五位数字之后,按确认键。如果密码正确,led显示good此时密码锁打
20、开,若是输入错误,不做任何显示,进行二次重复输入,倘若连续三次输错,便会自动启动报警,以引起主人注意。只有按下异地解除报警复位按钮方能解除报警。以上是密码锁所具有的功能,如果满意的话这时我们就能按照原理图以及结合实际需要来进行实物的制作。第6章 设计总结通过连续两周的课程设计,我学到了许多书本上无法学到的知识,也深刻体会到单片机技术应用领域的广泛。不仅让我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。本设计让我对专业知识有了更深的理解。在本次课程设计过程中,我学会了在网络上查找有关本设计的各硬件的资源,其中包括:at89c51单片机及其引脚说明、键盘扫描程序的编写
21、等,为本次课程设计提供了一定的资料。在做课程设计的初期阶段,难度较大。在设计基本完成时密码的修改还是不能实现,通过求助于老师、查找了问题的所在。最后经过指导老师的耐心指点和连续的奋战才基本设计出来。感谢老师的无私的帮助!本次设计我能独立完成,算是有了很大的收获。不但对单片机有了更为深入的了解,对一个课题如何实现模拟仿真及编写汇编程序等,有了一定的认识。进一步加强了自己的动手能力和运用专业知识的能力,从中学习到如何去思考和解决问题,以及如何灵活地改变方法去实现设计方案;特别是深刻体会到的是软件和硬件结合的重要性,以及两者的联系和配合作用。同时明白了办事只要有信心,有毅力,找对方法,就会成功!通过
22、本次课程设计,让我了解到智能化技术对当今人们生活的重要性。同时这次做课程设计的经历也使我受益匪浅。让我知道做任何事情都应脚踏实地,刻苦努力地去做。只有这样,才能做好。在这次课程设计中,我既巩固了专业知识,又学到了在设计过程中的许多流程和该注意的事项,增强了电子产品开发的意识。本次经历将是我在大学时期很好的一次实践和锻炼机会。参考文献1、微型计算机原理及应用许立梓编 机械工业出版社 20022、微型计算机接口技术及应用刘乐善编 华中理工大学出版社 2000 3、计算机硬件技术基础试验教程邹逢兴编 高等教育出版社 20004、16位微型计算机原理接口及其应用周佩玲编 中国科学技术大学出版社2000
23、 5、微型计算机原理与接口技术吴秀清编 中国科学技术出版社 20016、微型计算机接口技术邓亚平编 清华大学出版社 20017、单片机原理及及应用王迎旭编 机械工业出版社 20018、单片机应用程序设计技术 周航慈 著 北京航空航天大学出版社 20029、单片机实用技术问答 谢宜仁 主编 人民邮电出版社 2002附录a 硬件原理图附录b 源程序清单keyok bit 20h.0num5 bit 20h.1num3 bit 20h.2num1 bit 20h.3led bit p3.6beep bit p3.7org 0000hsjmp mainorg 000bh;*初始化*init: mov
24、r6,#5 mov r1,#40hin1: mov r1,#16 inc r1 djnz r6,in1 mov r3,#1 ret;*;*主函数*main:acall init mov r0,30h ;r0作为按键值指针 mov r1,40h ;r1作为显示指针m: jnb num5,m0 acall dispm0: jb num3,m1 ;密码是否输错三次了,如果输错三次就屏蔽按键输入 acall keyscan jb keyok,m3 sjmp mm1: jb keyok,m3 ;如果密码正确就转,错误就报警 mov r5,#5 mov r0,#40hm2: mov r0,#16 inc
25、r0 djnz r5,m2 mov r3,#16m22: cpl led acall disp acall bbp jnb p3.0,fuwei ;远程控制,报警后手动复位。sjmp m22m3: mov 40h,#16 ;密码正确了,就显示good mov 41h,#09mov 42h,#17mov 43h,#17mov 44h,#13mov r3,#16 mov r0,#0ffh ;设置good显示时间m6:acall disp ;显示正确后,采用自动复位 acall delay djnz r0,m6 acall fuwei sjmp m6;*;*复位函数* fuwei: clr keyo
26、k setb led clr num3 sjmp main;*;*读取按键函数*keyscan:mov p2,#0f0hmov a,p2cjne a,#0f0h,keygoretkeygo:acall delay ;延时去抖动mov a,p2cjne a,#0f0h,keygo1retkeygo1:mov a,r4 ;赋地址值 add a,#30hmov r0,aadd a,#16mov r1,amov a,p2 mov r0,amov p2,#0ffhmov p2,#0fhmov a,p2orl a,r0mov r0,ago0:mov p2,0ffhmov a,p2cjne a,#00h,g
27、o0 ;等待按键松开dec r1mov r1,#16inc r1inc r4 ;输入密码个数加1setb num5mov a,r0 ;a作为传递参数acall keychumov a,r0mov r1,aret;*;*按键处理*keychu:mov a,r0cjne a,#0d7h,k1 ;0键mov r0,#0retk1:cjne a,#0ebh,k2 ;1键mov r0,#1retk2:cjne a,#0dbh,k3 ;2键mov r0,#2retk3:cjne a,#0bbh,k4 ;3键mov r0,#3retk4:cjne a,#0edh,k5 ;4键mov r0,#4retk5:c
28、jne a,#0ddh,k6 ;5键mov r0,#5retk6:cjne a,#0bdh,k7 ;6键mov r0,#6retk7:cjne a,#0eeh,k8 ;7键mov r0,#7retk8:cjne a,#0deh,k9 ;8键mov r0,#8retk9:cjne a,#0beh,k10 ;9键mov r0,#9retk10:cjne a,#0e7h,k11 ;10键acall bijiaok11:cjne a,#0b7h,rent2 ;11键acall delrent2:retret;*;*删除*del: mov r4,#0 mov r6,#5 mov r1,#40hin2: mov r1,#16 inc r1 djnz r6,in2 mov r0,30h mov r1,40h ljmp m ret;*;*比较*bijiao:mov dptr,#tab1mov r6,#5mov r7,#0mov r0,#30hb0:mov a,r7 movc a,a+dptr mov 29h,a mova,r0 cjne a,29h,rett inc r0 inc r7 djnz r6,b0 setb keyokrett:mov r5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年自动化仪表项目发展计划
- 医疗机构执业医师岗位全职聘用及医疗设备更新改造合同
- 系统安全审计补充协议
- 城市更新拆迁补偿款分配与离婚房产分割协议书
- 有机婴幼儿奶粉品牌授权与销售渠道拓展协议
- 文旅产业投资基金合作管理协议
- 展览会现场艺术品鉴定及补充服务协议
- 虚拟角色影视制作租赁合同及版权转让协议
- 2025年运载火箭遥测系统检测设备项目建议书
- 科技研发人员兼职竞业限制与成果归属协议
- DB33-T 2383-2021 《公路工程强力搅拌就地固化设计与施工技术规范》
- 【物理】跨学科实践制作微型密度计 课件+2024-2025学年物理人教版八年级下册
- 2025年福建三明市中考模拟英语试题完整版(含答案+听力MP3)
- 车床工安全生产职责规章制度
- 知识产权代理人培训课件
- 房屋市政工程生产安全重大事故隐患排查表(2024版)
- 油库设备维护规范
- 《双碳背景下的绿色债券发展研究国内外文献综述》3000字
- 银行消保培训
- 职业道德与法治综合练习2024-2025学年中职高教版
- 早产儿与低出生体重儿袋鼠式护理技术规
评论
0/150
提交评论