• 回答数

    4

  • 浏览数

    131

美食界女王
首页 > 学术期刊 > 电子密码锁的解析毕业论文

4个回答 默认排序
  • 默认排序
  • 按时间排序

辛巴在深圳

已采纳

程序设计内容

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

(2). 密码的输入问题:  由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。进入密码的判断比较处理状态并给出相应的处理过程。

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

C语言源程序

#include unsigned char code ps[]={1,2,3,4,5};

unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66,                               

0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40};

unsigned char pslen=9; unsigned char templen;

unsigned char digit; unsigned char funcount;

unsigned char digitcount;

unsigned char psbuf[9];

bit cmpflag;

bit hibitflag;

bit errorflag;

bit rightflag;

unsigned int second3;

unsigned int aa;

unsigned int bb;

bit alarmflag;

bit exchangeflag;

unsigned int cc;

unsigned int dd;

bit okflag;

unsigned char oka;

unsigned char okb;

void main(void)

{  

unsigned char i,j;  

P2=dispcode[digitcount];  

TMOD=0x01;  

TH0=(65536-500)/256;  

TL0=(65536-500)%6;  

TR0=1;  

ET0=1;  

EA=1;  

while(1)   

  {      

if(cmpflag==0)        

{          

if(P3_6==0) //function key           

  {              

for(i=10;i>0;i--)              

for(j=248;j>0;j--);      

         if(P3_6==0)                

{                

   if(hibitflag==0)       

              {     

                  funcount++;  

                     if(funcount==pslen+2)

                        {  

                         funcount=0;

                          cmpflag=1;

                         }

                       P1=dispcode[funcount];

                    }

                    else

                      {

                         second3=0;

                      }  

                 while(P3_6==0);

                }

            }

          if(P3_7==0) //digit key

            {

              for(i=10;i>0;i--)

              for(j=248;j>0;j--);

              if(P3_7==0)

                {

                  if(hibitflag==0)

                    {

                      digitcount++; 

                  if(digitcount==10)

                        {

                          digitcount=0;

                        }

                      P2=dispcode[digitcount];

                      if(funcount==1)

                        {

                          pslen=digitcount;                          

templen=pslen;

                        }

                        else if(funcount>1)

                          {  

                           psbuf[funcount-2]=digitcount;

                          }

                    }

                    else

                      {

                        second3=0;

                      }

                  while(P3_7==0);

                }

            }

        }  

       else

          {

            cmpflag=0;

            for(i=0;i

              {  

               if(ps[i]!=psbuf[i])

                  {

                    hibitflag=1;

                    i=pslen;

                    errorflag=1;

                    rightflag=0;

                    cmpflag=0;

                    second3=0;

                    goto a;  

                 }

              }   

          cc=0;  

           errorflag=0;  

           rightflag=1;

            hibitflag=0;

a:   cmpflag=0;

          }

}

}

void t0(void)

interrupt 1 using 0 {   TH0=(65536-500)/256;  

TL0=(65536-500)%6;  

if((errorflag==1) && (rightflag==0))  

{

      bb++;

      if(bb==800)

        {

          bb=0;

          alarmflag=~alarmflag;

        }

      if(alarmflag==1)

        {

          P0_0=~P0_0;

        }

      aa++;

      if(aa==800)

        {

          aa=0;

          P0_1=~P0_1;

        }

      second3++;

      if(second3==6400)

        {

          second3=0;

          hibitflag=0;

          errorflag=0;

          rightflag=0;

          cmpflag=0;

          P0_1=1;  

         alarmflag=0;

          bb=0;  

         aa=0;  

       }

    }

  if((errorflag==0) && (rightflag==1))

    {

      P0_1=0;

      cc++;

      if(cc<1000)

        {

          okflag=1;

        }

        else if(cc<2000)

          {

            okflag=0;

          }

          else

            {

              errorflag=0;

              rightflag=0;

              hibitflag=0;

              cmpflag=0;

              P0_1=1;

              cc=0;  

             oka=0;

              okb=0;

              okflag=0;  

             P0_0=1;  

           }

      if(okflag==1)

        {  

         oka++;  

         if(oka==2)

            {

              oka=0;

              P0_0=~P0_0;

            }

        }

        else

          {

            okb++;

            if(okb==3)

              {

                okb=0;

                P0_0=~P0_0;

              }  

         }

    }

}

275 评论

KauluwehiS

这里有 毕业论文 基于单片机的电子密码锁设计AT89S51|矩阵键盘|电子密码锁|毕业设计文件格式:word毕业论文 基于单片机的电子密码锁设计论文正文共49页。共19073个字符数(不计空格)。如需下载,请点击页面最下方“下载地址 点击下载”。基于单片机的电子密码锁设计摘 要随着人们对安全的重视和科技的发展,对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求 ,增加其安全性 ,用密码代替钥匙的密码锁应运而生。电子锁由于具有报警功能,保密性高,使用灵活性好,安全系数高,设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求 , 具有推广价值。受到了广大用户的亲睐。这种应用以单片机为核心 ,通过编程来实现整体基本功能和安全性要求设计。系统将能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能。能用PROTEL99SE绘制电路原理图,并做出调试好基于单片机的电子密码锁的实物。关键词:AT89S51,矩阵键盘,电子密码锁Microcontroller-based design of electronic locksABSTRACTAs people focus on security and technology development, life insurance for the safety devices in increasingly high demand. To meet people’s use of the lock request to increase their safety, replace the key with a password lock came into being. Electronic lock as an alarm, high secrecy, use good flexibility, high safety factor, design reasonable, simple, low cost, consistent with residential, office lock request is worth promoting. By the user pro-gaze. This application to SCM is the core of the overall program to achieve the basic functions and design safety requirements.System will be able to complete the unlock, alarm out, and Ultra lock, decrypt administrator, modify the basic user password lock feature. Can PROTEL99SE circuit schematic drawing and make a good debugging MCU-based electronic code lock of the kind.Key words: AT89S51, matrix keyboards, electronic lock目 录第一章 绪论 11.1 引言 11.2 电子密码锁的研究现状 11.3 课题研究方法 2第二章 开发环境和开发工具 32.1 Protel 99se简介 32.2 keil介绍 42.3 开发工具在系统中的作用 52.4 主要元器件介绍 52.4.1 主控芯片AT89S51 52.4.2 数码管 72.4.3 掉电存储模块AT24c02 8第三章 电子密码锁设计硬件部分 93.1 电子密码锁总原理图 93.2 开锁电路设计 93.3 按键电路设计 93.4 显示电路设计 103.4 掉电存储电路设计 123.5 电源电路设计 12第四章 电子密码锁软件部分 134.1主程序流程图: 134.2键功能流程图: 14第五章 电子密码锁实物制作和调试过程 155.1 电路板制作中的问题和调试结果分析 155.2 制作好的实物的图片 16第六章 总结 20设计总结 20参考文献 21致 谢 22附录一 电子密码锁的电路图 23附录二 电子密码锁3D截图 24附录三 电子密码锁程序清单 24

139 评论

心向着谁

电子密码锁摘要 本文的电子密码锁利用数字逻辑电路,实现对门的电子控制,并且有各种附加电路保证电路能够安工作,有极高的安全系数。关键词 电子密码锁 电压比较器 555单稳态电路 计数器 JK触发器 UPS电源。1 引言随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。设计本课题时构思了两种方案:一种是用以AT89C2051为核心的单片机控制方案;另一种是用以74LS112双JK触发器构成的数字逻辑电路控制方案。考虑到单片机方案原理复杂,而且调试较为繁琐,所以本文采用后一种方案。

85 评论

筱晓鱼T3Y

电子密码锁的设计论文

导语:日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。以下我为大家介绍电子密码锁的设计论文文章,欢迎大家阅读参考!

一、 课题背景和意义

锁是一种保安措施,是人类为了保护自己私有财产而发明的一种用钥匙才能开启的装置。随着人们生活水平的提高和安全意识的加强,对锁的要求也越来越高,既要安全可靠的防盗,又要使用方便。这就使得传统的锁防盗效果已经满足不了现代社会的防盗需要,而且还存在着随身带钥匙的不便。因此近几年,随着科学技术的不断发展,一种新型的电子密码锁应运而生。电子密码锁运用电子电路控制机械部分,使两者紧密结合,从而避免了因为机械部分被破坏而导致开锁功能失常的问题,而且密码输入错误是还有报警声,大大增加了电子密码锁的防盗功能。同时因为电子密码锁不需要携带钥匙,弥补了钥匙极易丢失和伪造的缺陷,方便了锁具的使用。传统的'锁由于构造简单,所以被撬的事件屡见不鲜,电子密码锁由于具有保密性高、使用灵活性好、安全系数高等优点,受到了广大用户的青睐。

二、国内外研究现状

电子密码锁的种类繁多,例如数码锁、指纹锁、磁卡锁、IC卡锁、生物锁等,但较实用的还是按键式电子密码锁。20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,而且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对它的研究一直没有明显的进展。

目前,在西方发达国家,密码锁技术相对先进,种类齐全,电子密码锁已被广泛应用于只能门禁系统中,通过多种更加安全,更加可靠的技术实现大门的管理。在我国密码锁整体水平尚处在国际70年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不的努力,使电子密码锁在我国也能得到广发应用。

三、 设计论文主要内容

1、电子密码锁设计方案的分析与方案选择;

2、设计一典型结构的电子密码锁,分析其电路结构及控制程序;

3、选者合适的电器元件;

4、编写控制程序;

5、将程序输入PC机,并修改进行模拟运行;

四、 设计方案

查阅文献技术资料,分析电子密码锁结构、工作原理和技术要求。以单片机为主控芯片,结合外围电路,通过软件程序组成电子密码锁系统,能够实现:

1. 正确输入密码前提下,开锁提示;

2. 错误输入密码情况下,蜂鸣器报警;

3. 密码可以根据用户需要更改。

五、 工作进度安排

2011.2.22—2011.3.8

2011.3.9—2011.3.19

2011.3.21—2011.4.9

2011.4.10—2011.4.30

2011.5.1—2011.5.10

2011.5.11—2011.5.20 确定毕业设计课题,提交开题报告; 查阅相关论文,调研及收集相关资料; 方案设计、审查和确定,提交中期报告 编写控制程序 整理并撰写论文 完善论文,提交论文

六、 主要参考文献

[1] 石文轩,宋薇.基于单片机MCS-51的智能密码锁设计[M].武汉工程职业技术学院学报,2004,(01);

[2] 祖龙起,刘仁杰.一种新型可编程密码锁[J].大连轻工业学院学报,2002,(01);

[3] 叶启明.单片机制作的新型安全密码锁[J].家庭电子,2005,(10);

[4] 李明喜.新型电子密码锁的设计[J].机电产品开发与创新,2004,(03);

[5] 董继成.一种新型安全的单片机密码锁[J].电子技术,2004,(03);

[6] 杨茂涛.一种电子密码锁的实现[J].福建电脑,2004,(08);

[7] 瞿贵荣.实用电子密码锁[J].家庭电子,2000,(07);

[8] 王千.实用电子电路大全[M],电子工业出版社,2001,p101;

[9] 何立民.单片机应用技术选编[M],北京:北京航空大学出版社,1998;

[10] ATmega.ATmega8L-8AC,2006,(01);

332 评论

相关问答

  • 密码锁论文答辩问题

    论文答辩常见评语大全 导语:论文答辩常见评语有哪些呢?论文答辩评语是对学生论文内容、主题、结构等方面客观的评价。下面是我分享的论文答辩常见评语大全,欢迎大家阅读

    洁博利郑少波 1人参与回答 2023-12-09
  • 电子密码锁设计毕业论文与设计

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

    princess小姐 5人参与回答 2023-12-11
  • 密码锁控制系统的毕业论文

    基于EDI的电子征税系统应用探讨 【论文摘要】作为电子化贸易工具的EDI技术已相当成熟,将其用于电子征税发挥了其安全可靠、数据从计算机到计算机自动传输不需人工

    小璇璇APPLE 4人参与回答 2023-12-08
  • 红外线遥控密码锁毕业论文

    我晕 5姐怎么还学习了?? 家庭智能化系统, 报警主机使用说明 , 微机灯光控制系统, IC卡片介绍 ADSL 路由功能的配置

    monica的私人花园 7人参与回答 2023-12-08
  • 基于单片机的密码锁设计毕业论文

    这里有 毕业论文 基于单片机的电子密码锁设计AT89S51|矩阵键盘|电子密码锁|毕业设计文件格式:word毕业论文 基于单片机的电子密码锁设计论文正文共49页

    孑子孓COMIC 5人参与回答 2023-12-08