首页 > 期刊论文知识库 > 单片机的密码锁论文答辩

单片机的密码锁论文答辩

发布时间:

单片机的密码锁论文答辩

主要用到的芯片的工作原理,,你设计过程中最难的部分是什么?反正很多问题都会问到,最好熟悉一下。论文里面的内容。。不过,答辩其实也不难。把会说的就说了,把仿真给老师看看。。实物给老师看看,差不多就能过了。

程序设计内容

(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;

              }  

         }

    }

}

一般会问,为什么选这个题目,有什么有意义。。发展怎么样、 你自己的思路是什么 ,,,程序自己写的么? 分析一下。。电路自己知道吗? 分析一下原理,差不多了。

单片机毕业论文答辩陈述

难忘的大学生活将要结束,毕业生都要通过最后的毕业论文,毕业论文是一种有计划的检验大学学习成果的形式,那么毕业论文应该怎么写才合适呢?以下是我为大家收集的单片机毕业论文答辩陈述,仅供参考,希望能够帮助到大家。

单片机毕业论文答辩陈述

各位老师好!我叫刘天一,来自**,我的论文题目是《基于AVR单片机的GSM—R基站天线倾角测量系统》。在这里,请允许我向宁提纲老师的悉心指导表示深深的谢意,向各位老师不辞劳苦参加我的论文答辩表示衷心的感谢。

下面我将从论文的背景意义、结构内容、不足之处三个方面向各位老师作一大概介绍,恳请各位老师批评指导。

首先,在背景和意义上,移动通信网络建设初期,基站站间距大、数量少、站型也不大,并且频率资源相对比较丰富。在这一阶段的网络规划时很少对天线的倾角做详细的规划,基站功率常常以满功率发射。对于越区覆盖则主要通过增加邻区的办法予以解决。

但随着网络的迅速发展,城市中的基站越来越密集,在一个中等城市通常分布着数十个基站,在省会城市更是达到了数百个基站之多,并且基站的密度越来越高,站型也越来越大,如果对越区覆盖的问题仍然釆用老办法解决,那么网络质量将难以保证。因此有必要在规划阶段就对基站天线的倾角、基站静态发射功率等进行更加细化合理的规划,从而减轻优化阶段的工作量。

合理设置天线下倾角不但可以降低同频干扰的影响,有效控制基站的覆盖范围,而且可以加强本基站覆盖区内的信号强度。通常天线下倾角的设定有两方面侧重,一方面侧重于干扰抑制,另一方面侧重于加强覆盖。这两方面侧重分别对应不同的下倾角算法。一般而言,对基站分布密集的地区应该侧重于考虑干扰抑制(大下倾角);而基站分布比较稀疏的地方则侧重于考虑加强覆盖(小下倾角)。

规划阶段进行的倾角设计,在实际施工过程中会出现一定的偏差,在使用的过程中,由于季节变化或风、雨、雪、温度、湿度等自然条件影响,基站天线倾角会发生变化,进而影响场强质量。而移动通信已经是人类日常生活中不可或缺的一部分,正常的通信离不开基站的建设与维护,因此,基站天线倾角的实时、精确测量就显得尤为重要了。但现阶段移动通信基站的天线方位角、下倾角等基本是依靠人工现场通过罗盘、坡度仪等仪器进行测量得到的,而且由于基站的数量巨大,因而测量耗费了大量的时间、人力、物力,并且存在较大的测量人员人身安全隐患。因此,实现一种省时、省力的自动化测量仪器是非常亟需的。

为此,拟研发GSM—R基站天线倾角测量系统,实现不登塔作业即可完成基站天线倾角的测量工作,并可对各基站测试点进行联网,实现对基站天线倾角的实时监测。本系统可以大大降低GSM—R系统现场维护作业的人身安全风险和作业难度、强度,具有很高的实用性和安全性。

其次,在结构内容上,论文主要对基站倾角测量系统进行设计,主要研宄内容为:

(1)根据控制要求,选用倾角测量模块;学会使用并通过使用手册深入学习其特性及原理。

(2)采用ATmegal62作为控制芯片,进行倾角测量系统的硬件电路设计。整个系统分为主板和从板,通过芯片内置的TWI串行总线传输接口进行通信,由主板将数据通过无线模块发送给手持终端。

(3)采用JZ863数传模块,将其与上位机控制芯片、下位机控制芯片的异步串行接收/发送器USART连接,进行上位机与下位机的无线数据通信。

(4)在硬件平台基础上根据模块化思想进行倾角测量系统的软件程序设计。

(5)在设计好的软硬件平台上进行相关实验,实现控制系统设计目标和要求。

本文各章节安排如下:

第1章“引言”,对倾角测量系统进行了简要概述,介绍了研宄背景,并对本文的内容作了简介。

第2章“倾角测量传感器”,主要分析了本系统比较重要的倾角测量模块的原理以及SCA100T—D01倾角测量芯片,对其各个引脚的功能以及通信协议等进行了阐述,为后面的具体实现打下了基础。

第3章“ATmegal62微处理器结构及原理”,分析了本毕设使用的核心单片机芯片ATmegal62,包括它的各个引脚以及I/O端口,并且分析了本论文主要使用的通信协议,即同步串行SPI接口和USART串行口。

第4章“倾角测量系统软硬件实现”,本章首先对系统的总体设计进行了实现,包括主要的技术指标、主要的功能模块等。接着进行了本系统的硬件实现和软件实现。硬件实现包括各个功能模块的具体电路设计以及最后的PCB电路板制作,软件实现包括各个功能模块的程序设计。

第5章“倾角测量系统调试及实验”,本章主要进行了硬件电路的调试,并介绍了通过AVR Studio进行软件仿真以及下载,最后在搭建的系统软硬件平台的基础上,进行调试和实验,以此来验证基站倾角测量系统的硬件与软件设计。

第6章“结论”,本章主要总结了本论文的研究结果,并阐述了系统的不足之处和对以后工作的展望。

最后,在不足之处上,这篇论文的写作以及修改的过程,也是我越来越认识到自己知识与经验缺乏的过程。虽然,我尽可能地收集材料,竭尽所能运用自己所学的知识进行论文写作,但论文还是存在许多不足之处,有待改进。请各位评委老师多批评指正,让我在今后的学习中学到更多。

[知识拓展]

论文答辩提问方式

在毕业论文答辩会上,主答辩老师的提问方式会影响到组织答辩会目的的实现以及学员答辩水平的发挥。主答辩老师有必要讲究自己的提问方式。

1、提问要贯彻先易后难原则。主答辩老师给每位答辩者一般要提三个或三个以上的问题,这些要提的问题以按先易后难的次序提问为好。所提的第一个问题一般应该考虑到是学员答得出并且答得好的问题。学员第一个问题答好,就会放松紧张心理,增强“我”能答好的信心,从而有利于在以后几个问题的答辩中发挥出正常水平。反之,如果提问的第一个问题就答不上来,学员就会背上心理包袱,加剧紧张,产生慌乱,这势必会影响到对后面几个问题的答辩,因而也难以正确检查出学员的答辩能力和学术水平。

2、提问要实行逐步深入的方法。为了正确地检测学员的专业基础知识掌握的情况,有时需要把一个大问题分成若干个小问题,并采取逐步深入的提问方法。如有一篇《浅论科学技术是第一生产力》的论文,主答辩老师出的探测水平题,是由以下四个小问题组成的。

(1)什么是科学技术?

(2)科学技术是不是生产力的一个独立要素?在学员作出正确回答以后,紧接着提出第三个小问题:

(3)科学技术不是生产力的一个独立要素,为什么说它也是生产力呢?

(4)你是怎样理解科学技术是第一生产力的?通过这样的提问,根据学员的答辩情况,就能比较正确地测量出学员掌握基础知识的扎实程度。如果这四个小问题,一个也答不上,说明该学员专业基础知识没有掌握好;如果四个问题都能正确地回答出来,说明该学员基础知识掌握得很扎实;如果能回答出其中的2—3个,或每个小问题都能答一点,但答得不全面,或不很正确,说明该学员基础知识掌握得一般。倘若不是采取这种逐步深入的提问法,就很难把一个学员掌握专业基础知识的情况准确测量出来。假如上述问题采用这样提问法:请你谈谈为什么科学技术是第一生产力?学员很可能把论文中的主要内容重述一遍。这样就很难确切知道该学员掌握基础知识的情况是好、是差、还是一般。

3、当答辩者的观点与自己的观点相左时,应以温和的态度,商讨的语气与之开展讨论,即要有“长者”风度,施行善术,切忌居高临下,出言不逊。不要以“真理”掌握者自居,轻易使用“不对”、“错了”、“谬论”等否定的断语。要记住“是者可能非,非者可能有是”的格言,要有从善如流的掂量。如果作者的观点言之有理,持之有据,即使与自己的观点截然对立,也应认可并乐意接受。倘若作者的观点并不成熟、完善,也要善意地、平和地进行探讨,并给学员有辩护或反驳的平等权利。当自己的观点不能为作者接受时,也不能以势欺人,以权压理,更不要出言不逊。虽然在答辩过程中,答辩老师与学员的地位是不平等的(一方是审查考核者,一方是被考核者),但在人格上是完全平等的。在答辩中要体现互相尊重,做到豁达大度,观点一时难以统一,也属正常。不必将自己的观点强加于人,只要把自己的观点亮出来,供对方参考就行。事实上,只要答辩老师讲得客气、平和,学员倒愈容易接受、考虑你的观点,愈容易重新审视自己的观点,达到共同探索真理的目的。

4、当学员的回答答不到点子上或者一时答不上来的问题,应采用启发式、引导式的提问方法。参加过论文答辩委员会的老师可能都遇到过这样的情况:学员对你所提的问题答不上来,有的就无可奈何地“呆”着;有的是东拉西扯,与你绕圈子,其实他也是不知道答案。碰到这种情况,答辩老师既不能让学员尴尬地“呆”在那里,也不能听凭其神聊,而应当及时加以启发或引导。学员答不上来有多种原因,其中有的是原本掌握这方面的知识只是由于问题完全出乎他的意料而显得心慌意乱,或者是出现一时的“知觉盲点”而答不上来。这时只要稍加引导和启发,就能使学员“召回”知识,把问题答好。只有通过启发和引导仍然答不出或答不到点子上的,才可判定他确实不具备这方面的知识。

【拓展】

单片机毕业论文开题报告参考

1. 课题名称:

数字钟的设计

近年来,随着单片机档次的不断提高,功能的不断完善,其应用日趋成熟、应用领域日趋广泛,特别是工业测控、尖端武器和日常家用电器等领域更是因为有了单片机而生辉增色,不少设备、仪器已经把单片机作为核心部分。单片机应用技术已经成为一项新的工程应用技术。尤其是Intel公司生产的MCS-51系列单片机,由于其具有集成度高、处理功能强、可靠性高、系统结构简单、价格低廉等优点,在我国得到了广泛的`应用,在智能仪器仪表机电一体化等方面取得了令人瞩目的成果。现在单片机可以说是百花齐放,百家争鸣,世界上各大芯片制造公司都推出了自己的单片机,从8位,16位,到32位,数不胜数,应有尽有由于主流C51兼容的,也有不兼容的,但他们各具特色,互成互补,为单片机的应用提供了广泛的天地。在高节奏发展的现代社会,以单片机技术为核心的数字钟越来越彰显出它的重要性。

3. 设计目的和意义:

单片机的出现具有划时代的意义。它的出现使得许多原本花费很高的复杂电路以及繁多的电气元器件都被取缔,取而代之的是一块小小的芯片。伴随着计算机技术的不断发展,单片机也得到了相应的发展,而且其应用的领域也得到更好的扩展。在民用,工用,医用以及军用等众多领域上都有所应用。为了,能够更好的适应这日新月异的社会,我们应当充实我们的知识面,方能不被时代的潮流踩在脚下。

介于单片机的重要性,我们应当对单片机的原理,发展以及应用有着一定的了解。所以,我们应当查阅相关资料,从而能够对单片机有个全方位的了解。进而将探讨的领域指向具体的国内,从而能够在科技与经济飞速发展的当今社会更好的应用这项技术。事实上,该项技术在国内有着极为广泛的发展前景,因此,通过对本课题的研究,我们因当能够充分认识到单片机技术的重要性,对单片机未来的发展趋势有所展望。

单片机的形成背景:

1.随着微电子技术的不断创新和发展,大规模集成电路的集成度和工艺水平不断提高。硅材料与人类智慧的结合,生产出大批量的低成本、高可靠性和高精度的微电子结构模块,推动了一个全新的技术领域和产业的发展。在此基础上发展起来的器件可编程思想和微处理(器)技术可以用软件来改变和实现硬件的功能。微处理器和各种可编程大规模集成专用电路、半定制器件的大量应用,开创了一个崭新的应用世界,以至广泛影响着并在逐步改变着人类的生产、生活和学习等社会活动。

2.计算机硬件平台性能的大幅度提高,使很多复杂算法和方便使用的界面得以实现,大大提高了工作效率,给复杂嵌入式系统辅助设计提供了物理基础。

3.高性能的EDA综合开发工具(平台)得到长足发展,而且其自动化和智能化程度不断提高,为复杂的嵌入式系统设计提供了不同用途和不同级别集编辑、布局、布线、编译、综合、模拟、测试、验证和器件编程等一体化的易于学习和方便使用的开发集成环境。

4.硬件描述语言HDL(Hardware Description Language)的发展为复杂电子系统设计提供了建立各种硬件模型的工作媒介。它的描述能力和抽象能力强,给硬件电路,特别是半定制大规模集成电路设计带来了重大的变革。

5.软件技术的进步,特别是嵌入式实时操作系统EOS(Embedded Operation System)的推出,为开发复杂嵌入式系统应用软件提供了底层支持和高效率开发平台。EOS是一种功能强大、应用广泛的实时多任务系统软件。它一般都具有操作系统所具有的各种系统资源管理功能,用户可以通过应用程序接口API调用函数形式来实现各种资源管理。用户程序可以在EOS的基础上开发并运行。

单片机的发展历史:20世纪70年代,微电子技术正处于发展阶段,集成电路属于中规模发展时期,各种新材料新工艺尚未成熟,单片机仍处在初级的发展阶段,元件集成规模还比较小,功能比较简单,一般均把CPU、RAM有的还包括了一些简单的I/O口集成到芯片上,它还需配上外围的其他处理电路方才构成完整的计算系统。类似的单片机还有Z80微处理器。

1976年INTEL公司推出了MCS-48单片机,这个时期的单片机才是真正的8位单片微型计算机,并推向市场。它以体积小,功能全,价格低赢得了广泛的应用,为单片机的发展奠定了基础,成为单片机发展史上重要的里程碑。

在MCS-48的带领下,其后,各大半导体公司相继研制和发展了自己的单片机。到了80年代初,单片机已发展到了高性能阶段,象INTEL公司的MCS-51系列,Motorola公司的6801和6802系列等等,此外,日本的著名电气公司NEC和HITACHI都相继开发了具有自己特色的专用单片机。

80年代,世界各大公司均竞相研制出品种多功能强的单片机,约有几十个系列,300多个品种,此时的单片机均属于真正的单片化,大多集成了CPU、RAM、ROM、数目繁多的I/O接口、多种中断系统,甚至还有一些带A/D转换器的单片机,功能越来越强大,RAM和ROM的容量也越来越大,寻址空间甚至可达64kB,可以说,单片机发展到了一个全新阶段,应用领域更广泛,许多家用电器均走向利用单片机控制的智能化发展道路。

1982年以后,16位单片机问世,代表产品是INTEL公司的MCS-96系列,16位单片机比起8位机,数据宽度增加了一倍,实时处理能力更强,主频更高,集成度达到了12万只晶体管,RAM增加到了232字节,ROM则达到了8kB,并且有8个中断源,同时配置了多路的A/D转换通道,高速的I/O处理单元,适用于更复杂的控制系统。

九十年代以后,单片机获得了飞速的发展,世界各大半导体公司相继开发了功能更为强大的单片机。美国Microchip公司发布了一种完全不兼容MCS-51的新一代PIC系列单片机,引起了业界的广泛关注,特别它的产品只有33条精简指令集吸引了不少用户,使人们从INTEL的111条复杂指令集中走出来。PIC单片机获得了快速的发展,在业界中占有一席之地。

随后的事情,熟悉单片机的人士都比较清楚了,更多的单片机种蜂拥而至,MOTOROLA公司相继发布了MC68HC系列单片机,日本的几个著名公司都研制出了性能更强的产品,但日本的单片机一般均用于专用系统控制,而不象INTEL等公司投放到市场形成通用单片机。例如NEC公司生产的uCOM87系列单片机,其代表作uPC7811是一种性能相当优异的单片机。MOTOROLA公司的MC68HC05系列其高速低价等特点赢得了不少用户。

1990年美国INTEL公司推出了80960超级32位单片机引起了计算机界的轰动,产品相继投放市场,成为单片机发展史上又一个重要的里程碑。

我国开始使用单片机是在1982年,短短五年时间里发展极为迅速。1986年在上海召开了全国首届单片机开发与应用交流会,有的地区还成立了单片微型计算机应用协会,那是全国形成的第一次高潮。截止今日,单片机应用技术飞速发展,我们上因特网输入一个“单片机”的搜 索,将会看到上万个介绍单片机的网站,这还不包括国外的。随着微电子技术的高速发展,单片机在国民经济的各个领域得到了广泛的应用。首先,单片机技术不断进步,出现了许多新的技术和新的产品。本文以Intel MCS-51系列单片机为模型,阐述单片机的一般原理、应用以及单片机的影响,较为详细地介绍当前主要单片机厂家的产品系列及发展动向。主要内容包括:单片机的基本原理、硬件结构、发展趋势以及具体的应用介绍。本文主要目的是想让大家对单片机有一个更为深入的了解。

科技的进步需要技术不断的提升。试想,曾经一块大而复杂的模拟电路花费了您巨大的精力,繁多的元器件增加了您的成本。而现在,只需要一块几厘米见方的单片机,写入简单的程序,就可以使您以前的电路简单很多。相信您在使用并掌握了单片机技术后,不管在您今后开发或是工作上,一定会带来意想不到的惊喜。

数字钟的发展:1350年6月6日,意大利人乔万尼·德·党笛制造了世界上第一台结构简单的机械打点多功能数字钟,由于数字钟报价便宜,功能齐全,因此很快受到众多用户的喜爱。1657年,荷兰人惠更斯率先把重力摆引入机械钟,进而才创立了摆钟。

到了20世纪以后,随着电子工业的快速发展,电池驱动钟、交流电钟、电机械表、指针式石英电子钟表以及数字显示式石英钟表相继问世,数字钟报价非常合理,再加上产品的不断改良,多功能数字钟的日差已经小于秒,因此受到广大用户的青睐。尤其是原子钟的出现,它是使用原子的振动来控制计时的,是目前世界上最精准的时钟,即使经过将近100万年,其偏差也不可能超过1秒钟。

多功能数字钟最早是在欧洲中世纪的教堂,属于完全机械式结构,动力使用重锤,打点钟声完全使用人工进行撞击铸钟,所以当时一个多功能数字钟工程在建筑与机械结构方面是非常复杂的,进而影响了数字钟报价。进入电子时代以后,电子多功能数字钟也相继问世。我国电子多功能数字钟行业从80年代开始渐渐成长壮大,目前不仅数字钟报价合理,在技术和应用水平上也已经达到世界同类水平。

4. 国内外现状和发展趋势:

纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:

1.低功耗CMOS化

MCS-51系列的8031推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。象80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。CMOS虽然功耗较低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于在要求低功耗象电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。

2.微型单片化

现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。

此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。

3.主流与多品种共存

现在虽然单片机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流。所以C8051为核心的单片机占据了半壁江山。而Microchip公司的PIC精简指令集(RISC)也有着强劲的发展势头,中国台湾的HOLTEK公司近年的单片机产量与日俱增,与其低价质优的优势,占据一定的市场分额。此外还有MOTOROLA公司的产品,日本几大公司的专用单片机。在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走的是依存互补,相辅相成、共同发展的道路。

单片机密码锁毕业论文

新款的单片机都可以设置密码

给你推荐一下,我要的论文就是在那里找到的,,希望能帮到你!关于单片机电子密码锁的毕业论文,是电子密码锁的,对.看我的名字!

用STC的单片机,里面有EEPROM,把设定的密码写到里面。正常运行时 输入密码和EEPROM里面的密码比较 正确了就可以进入

电子密码锁的设计研究开题报告

紧张而又充实的大学生活即将结束,大家都开始做毕业设计了,在做毕业设计之前要先写好开题报告,优秀的开题报告都具备一些什么特点呢?下面是我帮大家整理的电子密码锁的设计研究开题报告,欢迎大家分享。

一、 课题背景和意义

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

二、国内外研究现状

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

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

三、 设计论文主要内容

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

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

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

4、编写控制程序;

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

四、 设计方案

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

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

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

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

五、 工作进度安排

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

六、 主要参考文献

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

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

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

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

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

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

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

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

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

[10] ATmega,ATmega8L—8AC,20xx,(01);

一、开题报告前的准备

毕业设计(论文)题目确定后,学生应尽快征求指导教师意见,讨论题意与整个毕业设计(论文)的工作计划,然后根据课题要求查阅、收集有关资料并编写研究提纲,主要由以下几个部分构成:

1.研究(或设计)的目的与意义。应说明此项研究(或设计)在生产实践上对某些技术进行改革带来的经济与社会效益。有的课题过去曾进行过,但缺乏研究,现在可以在理论上做些探讨,说明其对科学发展的意义。

2.国内外同类研究(或同类设计)的概况综述。在广泛查阅有关文献后,对该类课题研究(或设计)已取得的成就与尚存在的问题进行简要综述,只对本人所承担的课题或设计部分的已有成果与存在问题有条理地进行阐述,并提出自己对一些问题的看法。

3.课题研究(或设计)的内容。要具体写出将在哪些方面开展研究,要重点突出。研究的主要内容应是物所能及、力所能及、能按时完成的,并要考虑与其它同学的互助、合作。

4.研究(或设计)方法。科学的研究方法或切合实际的具有新意的设计方法,是获得高质量研究成果或高水平设计成就的关键。因此,在开始实践前,学生必须熟悉研究(或设计)方法,以避免蛮干造成返工,或得不到成果,甚至于写不出毕业设计(论文)。

5.实施计划。要在研究提纲中按研究(或设计)内容落实具体时间与地点,有计划地进行工作。

二、开题报告

1.开题报告可在指导教师所在教研室或学院内举行,须适当请有关专家参加,指导教师必须参加。报告最迟在毕业(生产)实习前完成。

2.本表(页面:A4)在开题报告通过论证后填写,一式三份,本人、指导教师、所在学院(要原件)各一份。

三、注意事项

1.开题报告的撰写完成,意味着毕业设计(论文)工作已经开始,学生已对整个毕业设计(论文)工作有了周密的'思考,是完成毕业设计(论文)关键的环节。在开题报告的编写中指导教师只可提示,不可包办代替。

2.无开题报告者不准申请答辩。

一、选题依据(拟开展研究项目的研究目的、意义)

随着人们生活水平和自身防范意识的提高,个人人身财产安全越来越受到重视,而锁就是主要的有效保障手段。但是机械锁发展到现在已有悠久的历史,人们对它的内部结构已经有了很透彻的研究,可以做到不使用钥匙而轻易打开锁,也由于金属材料在复杂多变的环境下会生锈,导致锁芯卡死、弹簧老化等问题。

在信息化高速发展的今天,锁也摆脱了以往的造型,向着科技化、信息化、智能化发展。自单片机面世以来,凭借着体积小、价格低、易于编程[2],逐步成为越来越多的电子产品的核心控制组件[4]。在这种趋势下,电子密码锁也就应运而生,并经过多年的快速发展,整体上有遥控式电子锁、键盘式电子锁[11]、卡式电子锁、生物特征扫描电子锁这几种类型,电子密码锁以其可以自由更换密码、操作简单、安全性高[16]、自动报警、自动锁死、功耗低、外观个性、附加功能多种多样[3]等优点深受人们的喜爱,但由于电子密码锁的价格远高于普通机械锁,因此市场上的主流还是机械锁,所以我们需要不断的研究、改进电子锁,学习借鉴前人的程序编码【18】,使其更加智能化、廉价化,让电子密码锁得到普及,使人们的自身财产安全得到更好的保障。

二、文献综述内容(在充分收集研究主题相关资料的基础上,分析国内外研究现状,提出问题,找到研究主题的切入点,附主要参考文献)

早在80年代,日本生产了最早的电子密码锁,随着经济复苏,电子行业得到快速发展,一些使用门电路设计的简单电路密码锁出现了。到了90年代,美国、意大利、德国、日本等地的微电子技术的进步和通信技术的发展为电子密码锁提供了技术上的支持。我国于90年代初开始对密码锁进行初步的探索。到目前为止,在此领域已经有了相当程度的发展,能够生产各种高智能、高安全性的密码锁。遥控式电子防盗锁分为光遥控和无线电遥控,光遥控利用窄角度的光传输密码,传输信息量大、速度极快、无法再光路径上以仪器捕获信号试图复制,保密性极高,无线电遥控传输信息量大、速度快但是信号发散广容易被仪器捕获。卡式防盗锁,利用磁卡存储个人信息而且在特定场合能够一卡多用。生物特征防盗锁利用生物自带的唯一特征能够起到极高的防盗作用。但是这种高端电子锁只适用于政府机关、大型企业等少数部门,不适用于广大的人们群众的日常生活。普通群众日常使用的还是机械锁,所以需要设计一款功能实用、价格低廉、操作简单的电子密码锁。利用单片机【1】作为控制元件的电子密码锁能够使用C语言[7]和汇编语言简单的对其进行各种人性化的编程[6],来控制单片机各引脚的高低电位[14]从而实现各元件的接通与关闭,通过整体的配合实现随意更改密码、防盗报警[9]、防暴力破解自锁、LED显示等功能,更加适应不同人群的需求。

参考文献:

[1]宁爱民应用AT89C2051单片机设计电子密码锁.淮海工学院学报.

[2]韩团军;基于单片机的电子密码锁设计[J];国外电子测量技术;2010年07期

[3]郭海英.基于单片机的电子安全密码锁的设计.现代电子技术.

[4]张洪润. 单片机应用技术教程[M].北京:清华大学出版社,1997

[5]李娜,刘雅举. Proteus在单片机仿真中的应用[J].现代电子技术,2007,(04)

[6]杨将新,李华军,刘到骏. 单片机程序设计及应用(从基础到实践)[M].北京:电子工业出版社,2006

[7]谭浩强. C++程序设计[M].北京:清华大学出版社,2004

[8]郑春来;韩团军;李鑫.编译软件Keil在单片机课程教学中的应用.高教论坛.

[9]周功明. 基于AT89C2051单片机的防盗自动报警电子密码锁系统的设计[J].绵阳师范学院学报,2007,(04)

[10]李全利. 单片机原理及接口技术[M].北京:高等教育出版社,2003

[11]瞿贵荣. 实用电子密码锁[J]. 家庭电子,2000,(07):34~73

[12]赵益丹,徐晓林,周振峰. 电子密码锁的系统原理、设计程序及流程图[J].嘉兴学院学报,2003,(15)

[13]李广弟,朱月秀,冷祖祁.单片机基础[M].(第三版) 北京:北京航空航天大学出版社,2007

[14]康华光,陈大钦,张林.电子技术基础(模拟部分)[M].(第五版) 北京:高等教育出版社,2006

[15]李伯成.基于MCS-51单片机的嵌入式系统的设计[M].北京:电子工业出版社,.

[16]郭海英.基于单片机的电子安全密码锁的设计[J].现代电子技术,2005,(13)

[17]蒋辉平 周国雄.基于PROTEUS的单片机系统设计与仿真实例[M].北京:机械工业出版社,.

三、研究方案(主要研究内容、目标,研究方法)

研究内容:

基于整个控制系统的研究设计情况,本设计主要进行如下方面的研究:用智能,集成且功能强大的单片机芯片[15]为控制中心,设计出一套按键式电子密码锁。

本设计主要做了如下几方面的工作:

1.确定密码锁系统的整体设计,包括密码的存储与更改、密码数字的显示、密码是否正确的LED灯提示,暴力破解的密码的蜂鸣器警报。

2.进行各模块的电路设计与连接、大体分配各个器件及模块的基本功能[13]要求。在P0口处接上拉电阻来保证LED屏幕的正常工作以给用户显示正确有效的提示信息,接入两个发光二极管(红、绿各一个)来提示用户的密码是否正确,接入一个蜂鸣器来提示用户密码错误以及在被暴力破解时的报警功能,接入一个4x4矩阵键盘来让用户输入密码,与LED屏幕、发光二极管、蜂鸣器一起起到人机交互的作用。

3.进行软件系统的设计,使用KEI采用C语言对系统进行编程,研究系统的判断逻辑,采用延时函数来有效实现键盘的防抖动功能,采用循环语句来实现键盘的实时监听,采用外接存储器保存密码,采用判断语句判断输入的密码是否正确以及输入错误密码的次数判断是否调用蜂鸣器和键盘响应,将各功能模块整合到一起形成一套高效、简练的系统。

研究目标:

设计一个基于单片机的电子密码锁电路,完成密码的存储与更改、密码数字的显示、密码是否正确的LED灯提示,暴力破解的密码的蜂鸣器警报的功能,完成proteus仿真。

研究方法:

通过文献资料、理论学习,使用KEIL和PROTEUS进行密码锁系统的模拟仿真,验证是否能够实现预期功能。

四、进程计划(各研究环节的时间安排、实施进度、完成程度)

20xx年12月—20xx年3月

进行大量论文相关材料阅读,撰写开题报告,开题。三月中旬完成开题报告;

20xx年3月—20xx年4月

20xx年四月中旬完成论文初稿,交给导师修改,对不足的地方进行改进,学院进行论文中期检查;

20xx年4月—20xx年5月

对论文不足之处再修改,五月中旬并完成论文,形成定稿;

20xx年5月—20xx年6月

对论文进行评阅,合格的论文进行资格检查,组织毕业论文答辩。

单片机密码锁设计毕业论文

第一节课

用STC的单片机,里面有EEPROM,把设定的密码写到里面。正常运行时 输入密码和EEPROM里面的密码比较 正确了就可以进入

新款的单片机都可以设置密码

这里有 毕业论文 基于单片机的电子密码锁设计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 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 words: AT89S51, matrix keyboards, electronic lock目 录第一章 绪论 引言 电子密码锁的研究现状 课题研究方法 2第二章 开发环境和开发工具 Protel 99se简介 keil介绍 开发工具在系统中的作用 主要元器件介绍 主控芯片AT89S51 数码管 掉电存储模块AT24c02 8第三章 电子密码锁设计硬件部分 电子密码锁总原理图 开锁电路设计 按键电路设计 显示电路设计 掉电存储电路设计 电源电路设计 12第四章 电子密码锁软件部分 主程序流程图: 键功能流程图: 14第五章 电子密码锁实物制作和调试过程 电路板制作中的问题和调试结果分析 制作好的实物的图片 16第六章 总结 20设计总结 20参考文献 21致 谢 22附录一 电子密码锁的电路图 23附录二 电子密码锁3D截图 24附录三 电子密码锁程序清单 24

单片机密码锁毕业论文专科

这个啊,很容易哦,我有四五个样本的,譬如说按密码锁的密码位分有六位八位的,按显示方式分有数码管和液晶的等等。我今年毕业时给舍友做的是六位的好像,ddb文件现在好像没有了,不过资料还在。发给你了,年轻人。记住,毕业设计的目的不是为了难住谁,而是为了让你们多学点只是而已,既然你们做这种毕业设计,那你肯定是电子、电气、计科、通信中的一种。找工作还是需要真本事的。资料发送中......请查收

这东西一般用RMB衡量

程序设计内容

(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;

              }  

         }

    }

}

哈哈。快点回答吧。好几天了

毕业论文单片机电子密码锁教案

功能键S6---S15 数字键0-9S16---更改密码 S17---更改密码完毕后确认S18---重试密码、重新设定 S19---关闭密码锁初始密码:000000 密码位数:6位注意:掉电后,所设密码会丢失,重新上点时,密码恢复为原始的000000与P1相连的8位发光LED点亮代表锁被打开;熄灭代表锁被锁上程序功能: 本程序结合了24C02存储器的存储功能,可以掉电保存密码。第一次运行时,若输入000000原始密码后无反应,可以试验着将主程序中前面的一小段被注释线屏蔽的程序前的注释线删掉,然后重新编译下载(可以将密码还原为000000)。此后,再将这小段程序屏蔽掉,再编译下载。方可正常使用。 1、开锁: 下载程序后,直接按六次S7(即代表数字1),8位LED亮,锁被打开,输入密码时, 六位数码管依次显示小横杠。 2、更改密码: 只有当开锁(LED亮)后,该功能方可使用。 首先按下更改密码键S16,然后设置相应密码,此时六位数码管会显示设置密码对应 的数字。最后设置完六位后,按下S17确认密码更改,此后新密码即生效。 3、重试密码: 当输入密码时,密码输错后按下键S18,可重新输入六位密码。 当设置密码时,设置中途想更改密码,也可按下此键重新设置。 4、关闭密码锁: 按下S19即可将打开的密码锁关闭。推荐初级演示步骤:输入原始密码000000---按下更改密码按键S16---按0到9设置密码---按S17确认密码更改---按S18关闭密码锁---输入新的密码打开密码锁*******************************************************************************/#include<>#include <>#define uint unsigned int#define uchar unsigned charuchar old1,old2,old3,old4,old5,old6; //原始密码000000uchar new1,new2,new3,new4,new5,new6; //每次MCU采集到的密码输入uchar a=16,b=16,c=16,d=16,e=16,f=16; //送入数码管显示的变量uchar wei,key,temp;bit allow,genggai,ok,wanbi,retry,close; //各个状态位sbit dula=P2^6;sbit wela=P2^7;sbit beep=P2^3;sbit sda=P2^0; //IO口定义sbit scl=P2^1;unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,0x40};/*****************IIC芯片24C02存储器驱动程序************************************/void nop(){_nop_();_nop_();}/////////24C02读写驱动程序////////////////////void delay1(unsigned int m){ unsigned int n; for(n=0;n0;j--) for(k=125;k>0;k--);}void display(uchar a,uchar b,uchar c,uchar d,uchar e,uchar f){ dula=0; P0=table[a]; dula=1; dula=0; wela=0; P0=0xfe; wela=1; wela=0; delay(5); P0=table[b]; dula=1; dula=0; P0=0xfd; wela=1; wela=0; delay(5); P0=table[c]; dula=1; dula=0; P0=0xfb; wela=1; wela=0; delay(5); P0=table[d]; dula=1; dula=0; P0=0xf7; wela=1; wela=0; delay(5); P0=table[e]; dula=1; dula=0; P0=0xef; wela=1; wela=0; delay(5); P0=table[f]; dula=1; dula=0; P0=0xdf; wela=1; wela=0; delay(5);}void keyscan(){ { P3=0xfe; temp=P3; temp=temp&0xf0; if(temp!=0xf0) { delay(10); if(temp!=0xf0) { temp=P3; switch(temp) { case 0xee: key=0; wei++; break; case 0xde: key=1; wei++; break; case 0xbe: key=2; wei++; break; case 0x7e: key=3; wei++; break; } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; beep=0; } beep=1; } } P3=0xfd; temp=P3; temp=temp&0xf0; if(temp!=0xf0) { delay(10); if(temp!=0xf0) { temp=P3; switch(temp) { case 0xed: key=4; wei++; break; case 0xdd: key=5; wei++; break; case 0xbd: key=6; wei++; break; case 0x7d: key=7; wei++; break; } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; beep=0; } beep=1; } } P3=0xfb; temp=P3; temp=temp&0xf0; if(temp!=0xf0) { delay(10); if(temp!=0xf0) { temp=P3; switch(temp) { case 0xeb: key=8; wei++; break; case 0xdb: key=9; wei++; break; case 0xbb: genggai=1; wei=0; break; case 0x7b: if(allow) ok=1; break; } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; beep=0; } beep=1; } } P3=0xf7; temp=P3; temp=temp&0xf0; if(temp!=0xf0) { delay(10); if(temp!=0xf0) { temp=P3; switch(temp) { case 0xe7: retry=1; break; case 0xd7: close=1; break; } while(temp!=0xf0) { temp=P3; temp=temp&0xf0; beep=0; } beep=1; } }}}void shumima() //对按键采集来的数据进行分配{if(!wanbi){switch(wei){case 1:new1=key; if(!allow) a=17; else a=key; break;case 2:new2=key;if(a==17) b=17;else b=key; break;case 3:new3=key; if(a==17) c=17;else c=key; break;case 4:new4=key;if(a==17) d=17;else d=key; break;case 5:new5=key; if(a==17) e=17;else e=key; break;case 6:new6=key; if(a==17) f=17;else f=key;wanbi=1; break;}}}void yanzheng() //验证密码是否正确{if(wanbi) //只有当六位密码均输入完毕后方进行验证{if((new1==old1)&(new2==old2)&(new3==old3)&(new4==old4)&(new5==old5)&(new6==old6))allow=1; //当输入的密码正确,会得到allowe置一}}void main(){init(); //初始化24C02/*********下面的一小段程序的功能为格式化密码存储区。******************当24c02中这些存储区由于其他程序的运行而导致**********************所存数据发生了变化,或者密码遗忘时, **************************可以删掉其前面的注释线,然后重新编译下载。**********************而将密码还原为000000后,请将下面的程序用************************注释屏蔽掉,重新编译、下载,方可正常使用****************/// write24c02(110,0x00);// write24c02(111,0x00);//24c02的第110到115地址单元作为密码存储区// write24c02(112,0x00);// write24c02(113,0x00);// write24c02(114,0x00);// write24c02(115,0x00);/*******************************************************************/old1=read24c02(110); old2=read24c02(111);old3=read24c02(112);old4=read24c02(113);old5=read24c02(114);old6=read24c02(115);while(1){keyscan();shumima();yanzheng();if(allow) //验证完后,若allow为1,则开锁{P1=0x00;if(!genggai)wanbi=0;}if(genggai) //当S16更改密码键被按下,genggai会被置一{if(allow) //若已经把锁打开,才有更改密码的权限{while(!wanbi) //当新的六位密码没有设定完,则一直在这里循环{ keyscan();shumima();if(retry|close) //而当探测到重试键S18或者关闭密码锁键S19被按下时,则跳出{ wanbi=1;break;}display(a,b,c,d,e,f);}}}if(ok) //更改密码时,当所有六位新密码均被按下时,可以按下此键,结束密码更改{ //其他时间按下此键无效ok=0; wei=0;genggai=0;old1=new1;old2=new2;old3=new3; //此时,旧的密码将被代替old4=new4;old5=new5;old6=new6;//新密码写入存储区。write24c02(110,old1);write24c02(111,old2);write24c02(112,old3);write24c02(113,old4);write24c02(114,old5);write24c02(115,old6);a=16;b=16;c=16;d=16;e=16;f=16;}if(retry) //当重试按键S18被按下,retry会被置位{retry=0; wei=0;wanbi=0;a=16;b=16;c=16;d=16;e=16;f=16;new1=0;new2=0;new3=0;new4=0;new5=0;new6=0;}if(close) //当关闭密码锁按键被按下,close会被置位{close=0;genggai=0;//所有变量均被清零。wei=0; wanbi=0;allow=0;P1=0xff;a=16;b=16;c=16;d=16;e=16;f=16;new1=0;new2=0;new3=0;new4=0;new5=0;new6=0;}display(a,b,c,d,e,f); //实时显示}}对着代码自己做吧,,要是还做不出来,,那我就不说什么了,,

哈哈。快点回答吧。好几天了

这里有 毕业论文 基于单片机的电子密码锁设计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 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 words: AT89S51, matrix keyboards, electronic lock目 录第一章 绪论 引言 电子密码锁的研究现状 课题研究方法 2第二章 开发环境和开发工具 Protel 99se简介 keil介绍 开发工具在系统中的作用 主要元器件介绍 主控芯片AT89S51 数码管 掉电存储模块AT24c02 8第三章 电子密码锁设计硬件部分 电子密码锁总原理图 开锁电路设计 按键电路设计 显示电路设计 掉电存储电路设计 电源电路设计 12第四章 电子密码锁软件部分 主程序流程图: 键功能流程图: 14第五章 电子密码锁实物制作和调试过程 电路板制作中的问题和调试结果分析 制作好的实物的图片 16第六章 总结 20设计总结 20参考文献 21致 谢 22附录一 电子密码锁的电路图 23附录二 电子密码锁3D截图 24附录三 电子密码锁程序清单 24

电子密码锁的设计研究开题报告

紧张而又充实的大学生活即将结束,大家都开始做毕业设计了,在做毕业设计之前要先写好开题报告,优秀的开题报告都具备一些什么特点呢?下面是我帮大家整理的电子密码锁的设计研究开题报告,欢迎大家分享。

一、 课题背景和意义

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

二、国内外研究现状

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

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

三、 设计论文主要内容

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

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

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

4、编写控制程序;

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

四、 设计方案

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

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

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

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

五、 工作进度安排

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

六、 主要参考文献

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

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

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

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

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

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

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

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

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

[10] ATmega,ATmega8L—8AC,20xx,(01);

一、开题报告前的准备

毕业设计(论文)题目确定后,学生应尽快征求指导教师意见,讨论题意与整个毕业设计(论文)的工作计划,然后根据课题要求查阅、收集有关资料并编写研究提纲,主要由以下几个部分构成:

1.研究(或设计)的目的与意义。应说明此项研究(或设计)在生产实践上对某些技术进行改革带来的经济与社会效益。有的课题过去曾进行过,但缺乏研究,现在可以在理论上做些探讨,说明其对科学发展的意义。

2.国内外同类研究(或同类设计)的概况综述。在广泛查阅有关文献后,对该类课题研究(或设计)已取得的成就与尚存在的问题进行简要综述,只对本人所承担的课题或设计部分的已有成果与存在问题有条理地进行阐述,并提出自己对一些问题的看法。

3.课题研究(或设计)的内容。要具体写出将在哪些方面开展研究,要重点突出。研究的主要内容应是物所能及、力所能及、能按时完成的,并要考虑与其它同学的互助、合作。

4.研究(或设计)方法。科学的研究方法或切合实际的具有新意的设计方法,是获得高质量研究成果或高水平设计成就的关键。因此,在开始实践前,学生必须熟悉研究(或设计)方法,以避免蛮干造成返工,或得不到成果,甚至于写不出毕业设计(论文)。

5.实施计划。要在研究提纲中按研究(或设计)内容落实具体时间与地点,有计划地进行工作。

二、开题报告

1.开题报告可在指导教师所在教研室或学院内举行,须适当请有关专家参加,指导教师必须参加。报告最迟在毕业(生产)实习前完成。

2.本表(页面:A4)在开题报告通过论证后填写,一式三份,本人、指导教师、所在学院(要原件)各一份。

三、注意事项

1.开题报告的撰写完成,意味着毕业设计(论文)工作已经开始,学生已对整个毕业设计(论文)工作有了周密的'思考,是完成毕业设计(论文)关键的环节。在开题报告的编写中指导教师只可提示,不可包办代替。

2.无开题报告者不准申请答辩。

一、选题依据(拟开展研究项目的研究目的、意义)

随着人们生活水平和自身防范意识的提高,个人人身财产安全越来越受到重视,而锁就是主要的有效保障手段。但是机械锁发展到现在已有悠久的历史,人们对它的内部结构已经有了很透彻的研究,可以做到不使用钥匙而轻易打开锁,也由于金属材料在复杂多变的环境下会生锈,导致锁芯卡死、弹簧老化等问题。

在信息化高速发展的今天,锁也摆脱了以往的造型,向着科技化、信息化、智能化发展。自单片机面世以来,凭借着体积小、价格低、易于编程[2],逐步成为越来越多的电子产品的核心控制组件[4]。在这种趋势下,电子密码锁也就应运而生,并经过多年的快速发展,整体上有遥控式电子锁、键盘式电子锁[11]、卡式电子锁、生物特征扫描电子锁这几种类型,电子密码锁以其可以自由更换密码、操作简单、安全性高[16]、自动报警、自动锁死、功耗低、外观个性、附加功能多种多样[3]等优点深受人们的喜爱,但由于电子密码锁的价格远高于普通机械锁,因此市场上的主流还是机械锁,所以我们需要不断的研究、改进电子锁,学习借鉴前人的程序编码【18】,使其更加智能化、廉价化,让电子密码锁得到普及,使人们的自身财产安全得到更好的保障。

二、文献综述内容(在充分收集研究主题相关资料的基础上,分析国内外研究现状,提出问题,找到研究主题的切入点,附主要参考文献)

早在80年代,日本生产了最早的电子密码锁,随着经济复苏,电子行业得到快速发展,一些使用门电路设计的简单电路密码锁出现了。到了90年代,美国、意大利、德国、日本等地的微电子技术的进步和通信技术的发展为电子密码锁提供了技术上的支持。我国于90年代初开始对密码锁进行初步的探索。到目前为止,在此领域已经有了相当程度的发展,能够生产各种高智能、高安全性的密码锁。遥控式电子防盗锁分为光遥控和无线电遥控,光遥控利用窄角度的光传输密码,传输信息量大、速度极快、无法再光路径上以仪器捕获信号试图复制,保密性极高,无线电遥控传输信息量大、速度快但是信号发散广容易被仪器捕获。卡式防盗锁,利用磁卡存储个人信息而且在特定场合能够一卡多用。生物特征防盗锁利用生物自带的唯一特征能够起到极高的防盗作用。但是这种高端电子锁只适用于政府机关、大型企业等少数部门,不适用于广大的人们群众的日常生活。普通群众日常使用的还是机械锁,所以需要设计一款功能实用、价格低廉、操作简单的电子密码锁。利用单片机【1】作为控制元件的电子密码锁能够使用C语言[7]和汇编语言简单的对其进行各种人性化的编程[6],来控制单片机各引脚的高低电位[14]从而实现各元件的接通与关闭,通过整体的配合实现随意更改密码、防盗报警[9]、防暴力破解自锁、LED显示等功能,更加适应不同人群的需求。

参考文献:

[1]宁爱民应用AT89C2051单片机设计电子密码锁.淮海工学院学报.

[2]韩团军;基于单片机的电子密码锁设计[J];国外电子测量技术;2010年07期

[3]郭海英.基于单片机的电子安全密码锁的设计.现代电子技术.

[4]张洪润. 单片机应用技术教程[M].北京:清华大学出版社,1997

[5]李娜,刘雅举. Proteus在单片机仿真中的应用[J].现代电子技术,2007,(04)

[6]杨将新,李华军,刘到骏. 单片机程序设计及应用(从基础到实践)[M].北京:电子工业出版社,2006

[7]谭浩强. C++程序设计[M].北京:清华大学出版社,2004

[8]郑春来;韩团军;李鑫.编译软件Keil在单片机课程教学中的应用.高教论坛.

[9]周功明. 基于AT89C2051单片机的防盗自动报警电子密码锁系统的设计[J].绵阳师范学院学报,2007,(04)

[10]李全利. 单片机原理及接口技术[M].北京:高等教育出版社,2003

[11]瞿贵荣. 实用电子密码锁[J]. 家庭电子,2000,(07):34~73

[12]赵益丹,徐晓林,周振峰. 电子密码锁的系统原理、设计程序及流程图[J].嘉兴学院学报,2003,(15)

[13]李广弟,朱月秀,冷祖祁.单片机基础[M].(第三版) 北京:北京航空航天大学出版社,2007

[14]康华光,陈大钦,张林.电子技术基础(模拟部分)[M].(第五版) 北京:高等教育出版社,2006

[15]李伯成.基于MCS-51单片机的嵌入式系统的设计[M].北京:电子工业出版社,.

[16]郭海英.基于单片机的电子安全密码锁的设计[J].现代电子技术,2005,(13)

[17]蒋辉平 周国雄.基于PROTEUS的单片机系统设计与仿真实例[M].北京:机械工业出版社,.

三、研究方案(主要研究内容、目标,研究方法)

研究内容:

基于整个控制系统的研究设计情况,本设计主要进行如下方面的研究:用智能,集成且功能强大的单片机芯片[15]为控制中心,设计出一套按键式电子密码锁。

本设计主要做了如下几方面的工作:

1.确定密码锁系统的整体设计,包括密码的存储与更改、密码数字的显示、密码是否正确的LED灯提示,暴力破解的密码的蜂鸣器警报。

2.进行各模块的电路设计与连接、大体分配各个器件及模块的基本功能[13]要求。在P0口处接上拉电阻来保证LED屏幕的正常工作以给用户显示正确有效的提示信息,接入两个发光二极管(红、绿各一个)来提示用户的密码是否正确,接入一个蜂鸣器来提示用户密码错误以及在被暴力破解时的报警功能,接入一个4x4矩阵键盘来让用户输入密码,与LED屏幕、发光二极管、蜂鸣器一起起到人机交互的作用。

3.进行软件系统的设计,使用KEI采用C语言对系统进行编程,研究系统的判断逻辑,采用延时函数来有效实现键盘的防抖动功能,采用循环语句来实现键盘的实时监听,采用外接存储器保存密码,采用判断语句判断输入的密码是否正确以及输入错误密码的次数判断是否调用蜂鸣器和键盘响应,将各功能模块整合到一起形成一套高效、简练的系统。

研究目标:

设计一个基于单片机的电子密码锁电路,完成密码的存储与更改、密码数字的显示、密码是否正确的LED灯提示,暴力破解的密码的蜂鸣器警报的功能,完成proteus仿真。

研究方法:

通过文献资料、理论学习,使用KEIL和PROTEUS进行密码锁系统的模拟仿真,验证是否能够实现预期功能。

四、进程计划(各研究环节的时间安排、实施进度、完成程度)

20xx年12月—20xx年3月

进行大量论文相关材料阅读,撰写开题报告,开题。三月中旬完成开题报告;

20xx年3月—20xx年4月

20xx年四月中旬完成论文初稿,交给导师修改,对不足的地方进行改进,学院进行论文中期检查;

20xx年4月—20xx年5月

对论文不足之处再修改,五月中旬并完成论文,形成定稿;

20xx年5月—20xx年6月

对论文进行评阅,合格的论文进行资格检查,组织毕业论文答辩。

  • 索引序列
  • 单片机的密码锁论文答辩
  • 单片机密码锁毕业论文
  • 单片机密码锁设计毕业论文
  • 单片机密码锁毕业论文专科
  • 毕业论文单片机电子密码锁教案
  • 返回顶部