电子密码锁单片机课程设计

时间:2024.4.7

湖南学院

课   程   设   计

课程名称            

课题名称     电子密码锁设计       

        测控技术与仪器        

           测控          

                  

                      

指导教师      

     


湖南学院

课 程 设 计 任 务 书

课程名称               

课    题    电子密码锁设计          

专业班级      测控     

学生姓名                               

学    号                      

指导老师                    

审    批                                  

任务书下达日期     年月    日

任务完成日期    年  月   日


目录

第1章概述-------------------------------1

1.1 设计任务---------------------------------------------------------------------1

1.2 设计要求---------------------------------------------------------------------1

1.3 主要设计条件---------------------------------------------------------------1

第2章 系统总体方案设计------------------2

2.1单片机系统---------------------------------------------2

2.1矩阵键盘-----------------------------------------------2

2.3 LED显示-----------------------------------------------2

2.4报警系统-----------------------------------------------2

第3章 硬件电路设计----------------------3

3.1 键盘电路设计------------------------------------------3

3.2  LED显示电路设计--------------------------------------5

3.3 报警电路设计--------------------------------------------6

第4章 软件设计--------------------------7

  4.1  软件总体设计-------------------------------------------7

4.2 各子程序的设计-----------------------------------------7

第5章 调试总结-------------------------11

第6章 附录-----------------------------12

附录A源程序清单-------------------------------------------12

附录B硬件原理图-------------------------------------------16

第7章 参考文献-------------------------17

第1章      概述

随着科技的发展和人们生活水平的提高,如何实现保密防盗这一问题变的尤其的突出,传统的机械锁由于其构造的简单,失效的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。
    老师布置下这各课题时,其任务要求条件如下:

1.1 设计内容:

   (1) 密码的设定,此密码是固定在程序存储器ROM中,假设预设的密码为“12345”共5位密码。

  (2)密码的输入: 采用两个按键来完成密码的输入,其中一个按键为功                      密码的输入过程。然后进入密码的判断比较处理状态并给出相应的处理过程。

  (3)按键禁止功能:初始化时,允许按键输入密码,当有按键按下并开始进入按键识别状态时,按键禁止功能被激活,但启动的状态是在3次密码输入不正确的情况下发生的。

1.2 设计要求:

   (1)设计方案要合理、正确;

   (2)系统硬件设计及焊接制作;

   (3)系统软件设计及调试;

   (4)系统联调。

1.3主要设计条件:

   (1)MCS-51单片机实验操作台1台;

   (2)PC机及单片机调试软件;

   (3)单片机应用系统板1套;

   (4)制作工具1套;

   (5)系统设计所需的元器件。

              

基于以上,我的此次课程设计以单片机为核心,完成电子密码锁的设计。

第2章  系统总体方案设计

此次课程设计基于单片机控制的电子密码锁,接到课题后,根据老师布置的任务和相关要求,结合主要设计条件,我设计了如下方案,其总体方案设计如下:
    本系统由单片机系统、矩阵键盘、LED显示和报警系统组成。系统能完成开锁、超时报警功能。

2.1      单片机系统:

此次课题采用一种是用以80C51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,进行电子密码锁的设计。此次课题用单片机P1口与键盘相连,做输入口,P0口与显示器相连,做显示,P2口做显示器扫描。

2.2矩阵键盘接口电路:

    此次课程设计采用4*4矩阵键盘,与P1口相连,采用扫描法。设有0——9十个数字密码,和一个确认键。开机显示000000,等待密码输入,输入6个密码,按确认键后,密码比较。

2.3LED显示:

此次课程设计6密码6显示器,按键后即显示,动态显示。P0口送示数据,P2口显示扫描,根据按键次数,第一位显示器显示第一次按的密码,第二位显示器显示第二次按的密码,第三位显示器显示第三次按的密码,依此第六位显示器显示第六次按的密码,按键完成后按确认键后,密码对则执行相关动作,不同则显示器清零,等待重新输入。

2.4报警系统:

    此次课程设计,当按键三次错误后,系统报警,报警装置由一扬声器实现,从P3.0口输出脉冲,使扬声器鸣报警。

第3章 硬件电路设计

3.1 键盘电路设计

矩阵式键盘电路图3-1:



                          图3-1矩阵式键盘电路图

                                                 

    在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图1所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,在需要的键数比较多时,采用矩阵法来做键盘是合理的。
矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,图1-1中,列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。

3.1.3 矩阵式键盘的识别方法:

确定矩阵式键盘上何键被按下介绍一种“行扫描法”。行扫描法行扫描法又称为逐行(或列)扫描查询法,是一种最常用的按键识别方法,如上图所示键盘,介绍过程如下。
判断键盘中有无键按下:

(1)         先将行线p1.7-p1.4置0111,然后检测列线的状态。如果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.2 LED显示电路设计

3.2.1LED显示电路图:

                      图2-2 LED动态显示电路

3.2.2 LED显示原理:

     LED就是light emitting diode ,发光二极管的英文缩写,简称LED。它是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。显示器显示接口按驱动方式可分为静态显示和动态显示,静态显示时,除变更显示数据期间外,各显示器均处于通电状态,每个显示器的通电占空比为100%,静态显示的优点是显示稳定,亮度高,缺点是占用硬件电路多;动态显示的优点是节省硬件电路,缺点是占用软件扫描时占用CPU时间多。对于多位LED显示器,通常都是采用动态扫描的方法进行显示,即逐个地循环点亮各位显示器,这样虽然在任一时刻只有一显示器被点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果完全一样。

为了实现LED显示器的动态扫描,除了要给显示器的输入之外,还有对显示器选择位的控制,这就是通常所说的段控和位控。因此,多位LED显示器接口电路需要有两个输出口,其中一个用于8条段控线,另一个用于输出位控线,位控线的数目等于显示器的位数。

为了方便编写程序,通常在内部RAM中设置显示缓冲区,存放显示的数字或字符,显示缓冲区单元个数与LED显示器位数相同。

此次基于单片机的电子密码锁,我选用动态显示,通过与软件配合,每输入一个密码,进行显示一次,扫描,6个密码输入完后,进行比较,密码正确则开锁,密码错误,可重新输入三次,三次后仍然错误,报警!

3.3 报警电路设计

3.3.1 报警电路图: 

    

     

            图3-3   报警电路

3.3.2报警电路原理:

输入密码与设定密码做比较,当输入密码与设定密码不同,返回再输入,当输入密码次数超过3次时,通过软件从80C51的P3.0输出脉冲,使扬声器鸣笛报警。相关软件见(附件)

第4章 软件设计

  

  4.1  软件总体设计

       

 软件的设计主要包括:密码的固定、键盘识别判断、密码显示、密码比较、密码对处理、错报警。

     

 软件设计总流程图如下:

      

圆角矩形:    开始   

 

              

图4-1  软件设计总流程图

4.2 各子程序的设计

 4.2.1密码的固定定:

将密码固定在程序存储器ROM中,设定6位密码,密码固定在ROM的20H到25H六个单元中 。

4.2.2 键盘的扫描识别判断:

 用矩阵式键盘,扫描法对键盘进行识别判断,具体流程图如下:

 

 

                       图4-2 键盘扫描流程图

     以上是第一行的扫描,接着MOV P1,#10111111,扫描第二行,判断k4、K5、K6、K7;再MOV P1,#11011111,扫描第三行,判断k8、K9、KA、KB;接着MOV P1,#11101111,扫描第四行,判断kC、KD、KE、KF;并进行相关显示。如果无键按下,则循环扫描。

4.2.3  密码显示:

采用LED动态显示,由单片机P0口进行输出显示,P2口扫描,具体显示程序设计流程图如下:

                                                         

                      图4-3  显示流程图

4.2.4  密码比较及对错处理:

     密码输入完成之后,进行密码比较,即将设定密码单元20H—25H的密码与输入密码26H—31H的密码进行一一比较,如果相同,则密码正确,P3.2置高电平,如果密码错误,则显示器清零,重新等待输入密码,如果三次错,则P3.0输出脉冲,使接在P3.0的使扬声器鸣笛报警。

 第5章 调试总结

    

 时间过得真快,转眼间,两周的微机原理课程设计就结束啦。这次课程设计,我们是在第一周的星期一接到课题,开始两天我们主要看书,跑图书馆,上网查资料。不用很久我就有了自己的思路,到第一个星期三的时候,我就开始仿真,基本上主要功有啦,但也有个不足的地方,就是每次显示的时候,显示器没按预定的方式进行显示,比较乱。我研究程序,反复的改,到晚上的时候还是没搞好,就再看书,请教同学,终于毛病发现了,主要是我把几个显示的密码固定啦,没有实现动态显示。当天晚上,我就改啦 ,终于问题解决了,仿真成功! 呵呵.....当时很高兴。

到了第二周星期二,我们就开始去实验室实物接线啦,当天我满怀信心的去啦。到了实验室的时候,准备接线,先研究一下试验平台,发现不对,跟我们仿真的硬件不同,键盘也不同,单片机只能P1口可用,其余得自己扩展,当时有点郁闷......

回寝室后,重新研究8255芯片,扩展,还得修改原程序,矩阵键盘扫描车程序也的改,晚上看了一晚上的书,对程序的修改还有些迷茫,一头雾水.....

第二天,我再看书,请教同学,终于有点眉目啦,然后修改程序,再去实验室实物连接,基本上功能实现啦,但有时很不稳定,不知道怎么回事?跟别人交流,其他同学也说遇到类似的问题,说是要去抖动.星期三去实验室的时候,专就抖动问题进行了研究,功夫不负有心人,终于成功啦,呵呵.....感觉好兴奋!

在两周的课程设计当中,真的收获不少,在此期间,除了自己看书学习动手外,在其他同学那儿也学了不少东西。

在整个两周微机原理的课程设计当中,得到了老师的谆谆教导,同学的真诚帮助,在此,我对全体课程设计指导老师表示最真心的感谢,同时也对帮助我同学说声谢谢!

第6章 附录

附录A.源程序清单:

 ORG  0030H

Main :

MOV  DPTR,#0CFA3H   ;8255初始化

MOV  A,#80H

MOVX @DPTR,A

mov  20H,#1H        ;设定固化密码

MOV  21H,#2H

MOV  22H,#3H

MOV  23H,#4H

MOV  24H,#5H

MOV  25H,#6H

MOV 51H,#0

MOV   R3,#0

LOOP1:MOV P1,#01111111B  ;键盘扫描

          JNB P1.5, K0   ;判断知否按下

             JNB P1.4, K1

             JNB P1.3, K2

             JNB P1.2, K3

          JNB P1.1, K4

          JNB P1.0, K5

LOOP2:MOV P1,#10111111B

          JNB P1.5, K6

             JNB P1.4, K7

             JNB P1.3, K8

             JNB P1.2, K9

          JNB P1.1, KA

          JNB P1.0, KB

          SJMP LOOP1

K0:MOV A,#0            ;按下,显示

  SJMP DISP

K1:MOV A,#1

SJMP DISP

K2:MOV A,#2

SJMP DISP

K3:MOV A,#3

SJMP DISP

K4:MOV A,#4

SJMP DISP

K5:MOV A,#5

SJMP DISP

K6:MOV A,#6

SJMP DISP

K7:MOV A,#7

SJMP DISP

K8:MOV A,#8

SJMP DISP

K9:MOV A,#9

SJMP DISP

KA:MOV A,#10

SJMP COMP

KB:MOV A,#8

SJMP LOOP1

K12:MOV A,#0

SJMP LOOP1

K13:MOV A,#1

SJMP LOOP1

K14:MOV A,#4

SJMP LOOP1

K15:MOV A,#7

SJMP LOOP1

DISP:MOV R4,A         ;密码显示程序

     MOV A,R3

     ADD A,#26H

     MOV R1,A

        MOV A,R4

        MOV @R1,A

     MOV R0,#50

     MOV DPTR,#TABLE

DI1: SETB CY

     MOV R1,#26H

        MOV R2,#0FEH

        MOV R5,#6

DI0: MOV A,@R1

     MOVC A,@A+DPTR

     MOV DPTR,#0CFA1H

     MOVX  @DPTR,A

        MOV A,R2

        MOV DPTR,#0CFA2H

     MOVX  @DPTR,A

        RLC A

        MOV R2,A

        INC R1

        ACALL DLY10MS

        MOV A,#0FFH

     ;MOV DPTR,#0CFA2H

     MOVX  @DPTR,A

        DJNZ R5,DI0

        DJNZ R0,DI1

        INC R3

        MOV A,R3

        CJNE A,#6,DI2

        LJMP LOOP1

DI2: LJMP LOOP1

DLY10MS:MOV R7,#5      ;延时10MS程序

D1:   MOV R6,#248

      DJNZ R6,$

         DJNZ R7,D1

         RET

COMP:   MOV A,26H      ; 密码比较

         CJNE A,20H,CUO    ;密码是否错

         MOV A,27H

         CJNE A,21H,CUO

         MOV A,28H

         CJNE A,22H,CUO

         MOV A,29H

         CJNE A,23H,CUO

         MOV A,2AH

         CJNE A,24H,CUO

         MOV A,2BH

         CJNE A,25H,CUO

          MOV DPTR,#0CFA1H

         CLR ACC.2      ;密码对,PA口置低电平

          MOVX  @DPTR,A

         SJMP $

CUO:        INC 51H       ;按错密码次数

           MOV A,51H

              CJNE A,#3,C1

              SJMP ALARM

C1:        MOV  26H,#0H    ;密码错,显示清零

              MOV  27H,#0H

              MOV  28H,#0H

              MOV  29H,#0H

              MOV  2AH,#0H

              MOV  2BH,#0H

              MOV  R3,#0

              LJMP LOOP1

ALARM:                ;三次密码错误,报警

    MOV DPTR,#0CFA1H

    CPL ACC.0

          MOVX  @DPTR,A

     ACALL DLY10MS

        SJMP ALARM

TABLE:  DB  3FH,06H,5BH,4FH   ;显示表

        DB  66H,6DH,7DH,07H

              DB  7FH,6FH,77H,7CH

              DB  39H,5EH,79H,71H

END

附录B.硬件原理图:

 

              

  图6-1硬件原理图

第7章 参考文献

[1] 许立梓.微型计算机原理及应用[M].北京.  机械工业出版社, 2002

[2] 刘乐善.微型计算机接口技术及应用[M].华中理工大学出版社, 20##

[3] 邹逢兴.计算机硬件技术基础试验教程[M].  高等教育出版社 , 2000

[4] 周佩玲.16位微型计算机原理接口及其应用[M].中国科学技术大学出版社,

2000

[5] 吴秀清.微型计算机原理与接口技术[M].中国科学技术出版社 , 2001

[6] 邓亚平.微型计算机接口技术[M].清华大学出版社 ,  2001

[7] 王迎旭.单片机原理及及应用[M].  机械工业出版社 ,  2001

[8] 周航慈.单片机应用程序设计技术[M].  北京航空航天大学出版社,  2002

[9] 谢宜仁.单片机实用技术问答[M].人民邮电出版社 , 2002


电气信息学院课程设计评分表

                                  指导教师签名:________________

                              日        期:________________ 

注:①表中标*号项目是硬件制作或软件编程类课题必填内容;

②此表装订在课程设计说明书的最后一页。课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。

   

更多相关推荐:
单片机电子时钟课程设计报告

基于单片机电子时钟的设计绪论单片机自20世纪70年代问世以来以其极高的性能价格比受到人们的重视和关注应用很广发展很快单片机体积小重量轻抗干扰能力强环境要求不高价格低廉可靠性高灵活性好开发较为容易由于具有上述优点...

单片机电子时钟的设计报告

单片机电子时钟的设计目录1引言12设计任务与要求221设计题目222设计要求23系统的功能分析与设计方案331系统的主要功能332系统的设计方案333数码管显示工作原理434电路硬件设计5341设计原理框图53...

51单片机电子时钟课程设计报告

JINGCHUUNIVERSITYOFTECHNOLOGY单片机原理及应用课程设计报告题目电子时钟专业电气工程及其自动化班级20xx级电工2班学号20xx401020xx2姓名王贞指导教师邹云峰提交日期20xx...

单片机课程设计数字钟实验报告

单片机课程设计电子钟一实现功能1能够实现准确计时以数字形式显示时分秒的时间2小时以24小时计时形式分秒计时为60进位能够调节时钟时间3闹钟功能一旦走时到该时间能以声或光的形式告警提示4能够实现按键启动与停止功能...

基于单片机的电子时钟课程设计报告

目录一、引言二、设计课题三、系统总体方案四、系统硬件设计1.硬件电路原理图2.元件清单五、系统软件设计1.软件流程图2.程序清单六、系统实物图七、课程设计体会八、参考文献及网站九、附录一.引言单片机因将其主要组…

单片机课程设计报告—LED显示电子钟

单片机原理及其接口技术课程设计报告课题LED显示的电子钟姓名学号院系自动控制与机械工程学院班级指导教师20xx年6月目录一课程设计目的3二课程设计要求3三设计内容4四硬件设计需求51硬件系统各模块功能51单片机...

单片机课程设计实验报告_LCD电子时钟

单片机原理与应用课程名称单片机原理与应用设计题目电子钟院系电子信息工程学院班级自动化设计者全宏宇指导教师一设计目标LCD显示电子钟的基本功能1实现时钟功能2实现闹铃功能3实现秒表功能4具有一定的计时精度LCD显...

数字电子钟课程设计报告

课程设计课程名称题目名称专业班级学生姓名学号指导教师单片机课程设计电子钟电子信息科学2班XXX511020XXXXXX本设计是一种基于AT89C51单片机控制的数字万年历设计它具有多项显示和控制功能能用LCD实...

数字电子钟课程设计报告

目录摘要3关键词3一设计任务与要求4二方案设计与论证4方案一4方案二5三硬件单元电路设计与参数计算51电源电路52按键电路53时钟电路54驱动电路55LED显示电路56单片机电路6四软件设计与流程图10五总原电...

单片机电子时钟设计

单片机电子时钟设计课程设计论文任务书1单片机电子时钟设计2单片机电子时钟设计指导教师签字学生签字3单片机电子时钟设计4单片机电子时钟设计5单片机电子时钟设计目录摘要1第一章电子时钟的设计211电子时钟简介212...

单片机课程设计论文 电子时钟设计

课程设计论文题目名称电子时钟设计课程名称单片机原理与接口技术学生姓名学号系专业电气工程系电气类指导教师20xx年7月2日课程设计论文任务书1指导教师签字学生签字2课程设计论文评阅表学生姓名学号系别电气工程系专业...

单片机电子时钟实验报告

课程设计报告设计题目:电子时钟设计指导教师:姓名:学号:班级:专业:日期:20**-1-5控制电路的C语言源程序10单片机电子时钟摘要:单片机即单片微型计算机。(Single-ChipMicrocomputer…

单片机电子时钟课程设计报告(31篇)