首页 > 毕业论文 > 电子密码设计毕业论文

电子密码设计毕业论文

发布时间:

电子密码设计毕业论文

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

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

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

电子密码锁论文的参考文献

参考文献1

【1】阎石.数字电子技术(第五版):高等教育出版社,2009

【2】王孝俭、邓胜全.数字电子技术实验指导书:西北农林科技大学,2007

【3】唐亚楠.数字电子技术同步辅导:中国矿业大学出版社,2009

【4】邱关源.电路(第五版):高等教育出版社,2008

【5】华成英、童诗白.模拟电子技术基础[M].第四版:高等教育出版社,2006

参考文献2

[1]《数字电子技术基础》,伍时和主编,清华大学出版社

[2]《一种电子密码锁的实现》,杨茂涛主编,福建电脑2004

[3]《数字电路逻辑设计》(第二版),王硫银主编,高等教育出版社

[4]《555时基电路原理、设计与应用》,叶桂娟主编,电子工业出版社

[5]《数字电子技术基础》(第四版),阎石主编,高等教育出版社1997

[6]《新型电子密码锁的设计》,李明喜主编,机电产品开发与创新2004

[7]《电子技术基础(数字部分)》(第五版),康华光主编,高等教育出版社

[8]《模拟电子技术基础》(第三版),童诗白华成英主编,高等教育出版社

[9]《电子线路设计·实验·测试》(第三版),谢自美主编,华中科技大学出版社

参考文献3

[1]周润景张丽娜丁莉.基于PROTEUS的电路及单片机设计与仿真(第二版).北京航天航空大学出版社

[2]李朝清.单片机原理及接口技术(第三版).北京航天航空大学出版社.

[3]周兴华.手把手教你学单片机.北京航天航空大学出版社.

[4]张文利.微机原理及单片机接口技术.中国科学技术大学出版社

参考文献

[1].阎石数字电路技术基础[M].高等教育出版社,2005

[2].许琦.基于FPGA的电子密码锁的设计[J].科技信息,2006

[3].李连华.基于FPGA的电子密码锁设计[J].中国科技信息,2006

[4].童诗白华成英模拟电子技术基础[M].高等教育出版社,2006

电子密码设计毕业论文范文

程序设计内容

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

              }  

         }

    }

}

编码电子锁的设计与制作论文 随着社会物质财富的日益增长,安全防盗已成为社会问题。而锁自古以来就是把守门户的铁将军,人们对它要求甚高,既要安全可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。目前国内,大部分人使用的还是传统的机械锁。然而,眼下假冒伪劣的机械锁泛滥成灾,互开率非常之高。所谓互开率,是各种锁具的一个技术质量标准,也就是1把钥匙能开几把锁的比率。经国家工商局、国家内贸局、中国消协等部门对锁具市场的调查,发现个别产品的互开率居然超标26倍。弹子锁质量好坏主要取决于弹子数量的多少以及弹子的大小,而弹子的多少和大小受一定条件的限制。此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开,提供了发展的空间。 电子锁是第三代计算机防盗报警器的核心组成部分,用于识别用户身份的合法性。它有不少优点。例如保密性强,防盗性能好可以不需要钥匙,只要记住开锁的密码和方法,便可开锁,即方便又可避免因丢失钥匙带来的烦恼和损失。如果密码泄露,主人可以比较方便地设置新的开锁密码,不会造成损失,此外,编码电子锁将电子门铃和防盗报警与电子锁合为一体,实现了一物多用。由于以上诸多优点,编码电子锁能够广泛地应用于超市、住家、办公单位等许多场所。 1 系统方案选择 本次设计中分析了两种方案,一种是中规模集成电路控制的方案,另一种是单片机控制的方案。两中方案各有各的优缺点,通过以下两个方案的比较选择设计了其中一个方案。 1.1 中规模集成电路控制 方案一:采用集成电路控制。 编码电子锁电路分为编码电路、控制电路、复位电路、解码电路、防盗报警电路、门铃电路。电子锁主要由输入元件、电路(包括电源)以及锁体三部分组成,后者包括电磁线圈、锁拴、弹簧和锁柜等。当电磁线圈中有一定的电流通过时,磁力吸动锁栓,锁便打开。用发光二极管代表电磁线圈,当发光二极管为亮状态时,代表电子锁被打开。每来1个输入时钟,编码电路的相应状态就向前前进一步。在这个操作过程中,如果按照规定的代码顺序按动编码按键,编码电路的输出就跟随这个代码的信息。正确输入编码按键的数字,控制电路通过整形供给编码电路时钟。一直按规定的编码顺序操作完,则解码电路驱动开锁电路把锁打开。在操作过程中,如果没有按照规定代码顺序按下数字键或按动了其他键,控制电路将驱动防盗报警电路产生报警信号。方案二:采用一种是用以at89s51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的io端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。 电子密码的硬件以单片机AT89C51 为核心。AT89C51 是一种带4k 字节闪烁可编程、可擦除只读,存储器FPEROM(Falsh Programmable and ErasableRead Only Memory)的低电压、高性能CMOS 8 位微处理器。其外接12 个按钮组成的3×4 键盘,通过4511 和7406(或7407)等驱动电路与单片机相连,以实现密码等的显示功能;利用串行EαPROM 存储器AT93C46 实现密码有效的永久保存。电子密码锁由键盘输入的识别、4位LED的显示、密码的比较、修改、存储、AT93C46 的读取与写入、报警和开锁控制电平的输出。根据框图,结合硬件结构,可以将键盘输入的识别用来作为系统的监控程序(主程序),用显示程序来延时,不断查询键盘。如果有键按下,就得到相应的键值。结合当前系统所处的状态,调用不同的操作模块,实现相应的功能。而执行模块主要有数字输入模块、确定键模块、修改键模块及显示模块。 方案比较 设计本课题时构思了两种方案:方案一是用锁存器74LS74、74LS00、74LS20和555基集成块构成的数字逻辑电路控制;方案二是用以AT89C51为核心的单片机控制。考虑到编码电子锁制作成本低,设计要求少,易实现控制要求,而单片机方案原理的复杂,调试较为繁琐,本人对数字电路基础较熟悉,有利于研究该课题。所以采用了方案一。 因此对该课题的研究具有实际应用价值。 在指导老师、同学和实习单位同事的帮助下,我顺利地完成了毕业论文。使我从中掌握了查阅资料的方法和分析问题的能力。 毕业论文的顺利完成,离不开各位同学、同学和朋友的关心和帮助。在整个的毕业论文学写作中,各位老师、同学和朋友积极的帮助我和提供有利于论文写作及毕业设计的建议和意见,在他们的帮助下,论文得于不断的完善,最终帮助完成了整个毕业论文和设计。 感谢在大学期间所有传授我知识的老师,是你们的悉心教导使我有了良好的专业课知识,这也是论文得以完成的基础。

·GSM汽车防盗报警系统设计 (字数:15909,页数:46)·公交卡收费管理系统设计 (字数:13130,页数:34)·GSM数字通信机研究设计 (字数:17751,页数:48)·射频式计费卡系统设计与研究 (字数:13522,页数:36)·基于51单片机的超声波测距仪的设计分析 (字数:10545,页数:31)·全自动洗衣机模糊控制器的设计 (字数:16252,页数:41)·基于AT89C51的超声波测速系统 (字数:9584,页数:29 )·单相正弦波逆变电源 (字数:9589,页数:43 )·超声波液位计的设计 (字数:7532,页数:28 )·数字温度计 全套 (字数:7963,页数:24 )·基于数字图像处理的人民币纸币面向识别 (字数:6665,页数:21 )·基于单片机的饮水机温度控制系统 (字数:11411,页数:42)·基于单片机的湿度控制系统设计 (字数:10074,页数:33)·基于单片机的电子密码锁设计 (字数:7747,页数:32 )·基于单片机的电器遥控器的设计 (字数:10446,页数:31)·基于MCS-51的智能温度控制仪 (字数:8309,页数:30 )·基于DS18B20的多点测温系统 (字数:7853,页数:47 )·基于AT89S51单片机的汽车防撞系统的设计 (字数:8028,页数:27 )·基于DM6437的图像平滑算法的设计与实现 (字数:20706,页数:57)·基于单片机的语音录播放系统 (字数:9344,页数:28 )·铁路客车空调车厢内温度控制系统仿真 (字数:8614,页数:25 )·十字路口交通灯 (字数:8829,页数:28 )·基于单片机的脉冲燃烧热水炉控制器 (字数:6028,页数:27 )·基于单片机的火灾自动报警系统 (字数:8200,页数:27 )·基于AT89S52的智能人体健康电子秤的设计 (字数:7219,页数:27 )·基于AT89S52单片机的交通控制 (字数:653,页数:23 )·简单消防报警系统设计 (字数:5518,页数:21 )·基于时隙ALOHA的RFID防冲突算法和随机帧时隙防冲突算法的吞吐量研究 (字数:10395,页数:23)·汽车倒车防撞系统设计 (字数:25296,页数:47)·由AT89S51单片机控制实现的电子计时器系统 (字数:9135,页数:29 )·基于Freescale DT512的单片机闹钟设计 (字数:15400,页数:64)·智能温度报警系统的设计 (字数:11793,页数:36)·单片机温度控制系统 (字数:10581,页数:34)·单片机温度测量电路 (字数:13171,页数:41)· 环境噪声测试终端采集传输系统的设计 (字数:17921,页数:54)·基于MATLAB的直流电机控制的仿真 (字数:12001,页数:33)·基于Verilog的交通灯控制系统设计 (字数:6044,页数:18 )·基于AVR单片机的超声波距离测量系统 (字数:12946,页数:52)·基于XR-2206、AT89S51的信号发生器设计——频率显示部分 (字数:9051,页数:35 )·基于CPLD的CMI编译码器设计 (字数:8757,页数:34 )·自适应噪声抵消系统 (字数:14389,页数:35)·语音报价器设计 (字数:18177,页数:45)·心率失常计算机自动诊断 (字数:10645,页数:31)·图像灰度形态学算法的研究与实现 (字数:11698,页数:28)·数字式带通滤波器的设计 (字数:13225,页数:39)

这里有 毕业论文 基于单片机的电子密码锁设计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

电子密码设计毕业论文选题

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

程序设计内容

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

              }  

         }

    }

}

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

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

电子密码锁毕业论文模板

编码电子锁的设计与制作论文 随着社会物质财富的日益增长,安全防盗已成为社会问题。而锁自古以来就是把守门户的铁将军,人们对它要求甚高,既要安全可靠地防盗,又要使用方便,这也是制锁者长期以来研制的主题。目前国内,大部分人使用的还是传统的机械锁。然而,眼下假冒伪劣的机械锁泛滥成灾,互开率非常之高。所谓互开率,是各种锁具的一个技术质量标准,也就是1把钥匙能开几把锁的比率。经国家工商局、国家内贸局、中国消协等部门对锁具市场的调查,发现个别产品的互开率居然超标26倍。弹子锁质量好坏主要取决于弹子数量的多少以及弹子的大小,而弹子的多少和大小受一定条件的限制。此外,即使是一把质量过关的机械锁,通过急开锁,甚至可以在不损坏锁的前提下将锁打开,提供了发展的空间。 电子锁是第三代计算机防盗报警器的核心组成部分,用于识别用户身份的合法性。它有不少优点。例如保密性强,防盗性能好可以不需要钥匙,只要记住开锁的密码和方法,便可开锁,即方便又可避免因丢失钥匙带来的烦恼和损失。如果密码泄露,主人可以比较方便地设置新的开锁密码,不会造成损失,此外,编码电子锁将电子门铃和防盗报警与电子锁合为一体,实现了一物多用。由于以上诸多优点,编码电子锁能够广泛地应用于超市、住家、办公单位等许多场所。 1 系统方案选择 本次设计中分析了两种方案,一种是中规模集成电路控制的方案,另一种是单片机控制的方案。两中方案各有各的优缺点,通过以下两个方案的比较选择设计了其中一个方案。 1.1 中规模集成电路控制 方案一:采用集成电路控制。 编码电子锁电路分为编码电路、控制电路、复位电路、解码电路、防盗报警电路、门铃电路。电子锁主要由输入元件、电路(包括电源)以及锁体三部分组成,后者包括电磁线圈、锁拴、弹簧和锁柜等。当电磁线圈中有一定的电流通过时,磁力吸动锁栓,锁便打开。用发光二极管代表电磁线圈,当发光二极管为亮状态时,代表电子锁被打开。每来1个输入时钟,编码电路的相应状态就向前前进一步。在这个操作过程中,如果按照规定的代码顺序按动编码按键,编码电路的输出就跟随这个代码的信息。正确输入编码按键的数字,控制电路通过整形供给编码电路时钟。一直按规定的编码顺序操作完,则解码电路驱动开锁电路把锁打开。在操作过程中,如果没有按照规定代码顺序按下数字键或按动了其他键,控制电路将驱动防盗报警电路产生报警信号。方案二:采用一种是用以at89s51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的io端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。 电子密码的硬件以单片机AT89C51 为核心。AT89C51 是一种带4k 字节闪烁可编程、可擦除只读,存储器FPEROM(Falsh Programmable and ErasableRead Only Memory)的低电压、高性能CMOS 8 位微处理器。其外接12 个按钮组成的3×4 键盘,通过4511 和7406(或7407)等驱动电路与单片机相连,以实现密码等的显示功能;利用串行EαPROM 存储器AT93C46 实现密码有效的永久保存。电子密码锁由键盘输入的识别、4位LED的显示、密码的比较、修改、存储、AT93C46 的读取与写入、报警和开锁控制电平的输出。根据框图,结合硬件结构,可以将键盘输入的识别用来作为系统的监控程序(主程序),用显示程序来延时,不断查询键盘。如果有键按下,就得到相应的键值。结合当前系统所处的状态,调用不同的操作模块,实现相应的功能。而执行模块主要有数字输入模块、确定键模块、修改键模块及显示模块。 方案比较 设计本课题时构思了两种方案:方案一是用锁存器74LS74、74LS00、74LS20和555基集成块构成的数字逻辑电路控制;方案二是用以AT89C51为核心的单片机控制。考虑到编码电子锁制作成本低,设计要求少,易实现控制要求,而单片机方案原理的复杂,调试较为繁琐,本人对数字电路基础较熟悉,有利于研究该课题。所以采用了方案一。 因此对该课题的研究具有实际应用价值。 在指导老师、同学和实习单位同事的帮助下,我顺利地完成了毕业论文。使我从中掌握了查阅资料的方法和分析问题的能力。 毕业论文的顺利完成,离不开各位同学、同学和朋友的关心和帮助。在整个的毕业论文学写作中,各位老师、同学和朋友积极的帮助我和提供有利于论文写作及毕业设计的建议和意见,在他们的帮助下,论文得于不断的完善,最终帮助完成了整个毕业论文和设计。 感谢在大学期间所有传授我知识的老师,是你们的悉心教导使我有了良好的专业课知识,这也是论文得以完成的基础。

程序设计内容

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

              }  

         }

    }

}

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

这里有 毕业论文 基于单片机的电子密码锁设计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

电子密码锁毕业论文题目

电子信息工程的 毕业 论文写作中,论文的题目起着画龙点睛的作用,要重视论文的题目。下面是我带来的关于电子信息工程毕业论文题目的内容,欢迎阅读参考!电子信息工程毕业论文题目(一) 1. 基于80C51的智能汽车自控系统的设计 2. PLC实现十字路交通灯自动控制 3. 智能型充电器的电源和显示设计 4. 基于单片机的电子时钟设计及应用 5. 基于单片机的智能电子时钟的设计及应用 6. 超外差中波调幅收音机组装及调试 7. 基于USB接口的步进电机控制的研究与实现 8. 基于单片机的电子琴设计 9. 基于FPGA的直序扩频通信研究与设计 10. 基于单片机的发射机控制系统 11. 声光报警器的设计与研究 12. 单片机电源 13. 基于P87LPC768的电机控制系统 14. 基于单片机的LCD电子钟设计 15. 音响放大器的设计 16. 超外差收音机制作及分析研究 17. 2DPSK频带传输系统的设计与实现 18. 基于单片机智能电子钟的设计 19. USB与串行接口转换器的设计 20. 基于FPGA的数字频率计的设计 电子信息工程毕业论文题目(二) 1. 家庭防盗报警系统 2. 单片机实现单步进电机及8位流水灯控制的设计 3. 篮球 竞赛计时系统 4. 单片机89C51在直流调速控制系统中的应用 5. 八路数字抢答器 6. 基于51机的直流电机设计 7. 基于51单片机的步进电机控制系统 8. 基于一种DC-DC模块电源系统的设计 9. 基于555定时器闪光灯的设计 10. 多功能稳压电源的制作 11. 直流稳压电源的制作 12. 步进电机的单片机控制系统 13. 单片机交通灯管理系统 14. AT89S51单片机交通灯控制系统制作 15. 基于单片机的步进电机系统设计 16. 基于WML的学生网站开发 17. 基于单片机的电子密码锁 18. 单片机驱动步进电机控制系统的设计 19. 基于单片机的流水灯设计 电子信息工程毕业论文题目(三) 1. 基于单片机的火灾报警器设计 2. 基于NE555的触摸式报警器 3. 数字密码锁设计 4. 基于单片机智能电子时钟设计及应用 5. 流水灯控制电路设计 6. 简易单片机控制电路实验开发板 7. 全自动洗衣机自动控制电路部分设计 8. 基于单片机的八路抢答器的设计及PCB板的设计 9. 基于单片机的数字温度计的设计 10. 仓库温湿度的监测系统 11. 电子门铃的设计 12. 基于单片机的步进机电路设计 13. 交通灯控制电路设计 猜你喜欢: 1. 电子信息毕业论文范文 2. 电子信息工程论文范文 3. 电子信息工程发展现状 4. 最新版网络工程专业毕业论文题目 5. 电子信息工程毕业论文范文 6. 电子信息工程论文题目大全

我有一篇,不知道是不是你想要的,先采纳我的答案

其中这些有开题报告 1. 用单片机进行温度的控制及LCD显示系统的设计 2. 基于MultiSim 8的高频电路仿真技术 3. 简易数字电压表的设计 4. 虚拟信号发生器设计及远程实现 5. 智能物业管理器的设计 6. 信号高精度测频方法设计 7. 三相电机的保护控制系统的分析与研究 8. 温度监控系统设计 9. 数字式温度计的设计 10. 全自动节水灌溉系统--硬件部分 11. 电子时钟的设计 12. 全自动电压表的设计 13. 脉冲调宽型伺服放大器的设计 14. 基于虚拟仪器技术的数字滤波及频率测试 15. 基于无线传输技术的室温控制系统设计——温度控制器硬件设计 16. 温度箱模拟控制系统 17. 基于无线传输技术的室温控制系统设计——温度控制器软件设计 18. 基于微控制器的电容器储能放电系统设计 19. 基于机器视觉的构件表面缺陷特征提取 20. 基于单片机的语音提示测温系统的研究 21. 基于单片机的步进电机的控制 22. 单片机的数字钟设计 23. 基于单片机的数字电压表的设计 24. 基于单片机的交流调功器设计 25. 基于SPI通信方式的多通道信号采集器设计 26. 基于LabVIEW虚拟频谱分析仪的设计 27. 功率因数校正器的设计 28. 高精度电容电感测量系统设计 29. 电表智能管理装置的设计 30. 基于Labview的虚拟数字钟设计 31. 超声波测距语音提示系统的研究 32. 斩控式交流电子调压器设计 33. 基于单片机的脉象信号采集系统设计 34. 基于单片机的简易智能小车设计 35. 基于FPGA的18路智力竞赛电子抢答器设计 36. 基于EDA技术的智力竞赛抢答器的设计 37. 基于EDA技术的数字电子钟设计 38. 基于EDA的计算器的设计 39. 基于DDS的频率特性测试仪设计 40. 基于CPLD直流电机控制系统的设计 41. 单色显示屏的设计 42. 扩音电话机的设计 43. 基于单片机的低频信号发生器设计 44. 35KV变电所及配电线路的设计 45. 10kV变电所及低压配电系统的设计 46. 6Kv变电所及低压配电系统的设计 47. 多功能充电器的硬件开发 48. 镍镉电池智能充电器的设计 49. 基于MCS-51单片机的变色灯控制系统设计与实现 50. 智能住宅的功能设计与实现原理研究 51. 用IC卡实现门禁管理系统 52. 变电站综合自动化系统研究 53. 单片机步进电机转速控制器的设计 54. 无刷直流电机数字控制系统的研究与设计 55. 液位控制系统研究与设计 56. 智能红外遥控暖风机设计 57. 基于单片机的多点无线温度监控系统 58. 蔬菜公司恒温库微机监控系统 59. 数字触发提升机控制系统 60. 仓储用多点温湿度测量系统 61. 矿井提升机装置的设计 62. 中频电源的设计 63. 数字PWM直流调速系统的设计 64. 基于ARM的嵌入式温度控制系统的设计 65. 锅炉控制系统的研究与设计 66. 动力电池充电系统设计 67. 多电量采集系统的设计与实现 68. PWM及单片机在按摩机中的应用 69. IC卡预付费煤气表的设计 70. 基于单片机的电子音乐门铃的设计 71. 新型出租车计价器控制电路的设计 72. 单片机太阳能热水器测控仪的设计 73. LED点阵显示屏-软件设计 74. 双容液位串级控制系统的设计与研究 75. 三电平Buck直流变换器主电路的研究 76. 基于PROTEUS软件的实验板仿真 77. 基于16位单片机的串口数据采集 78. 电机学课程CAI课件开发 79. 单片机教学实验板——软件设计 80. 63A三极交流接触器设计 81. 总线式智能PID控制仪 82. 自动售报机的设计 83. 断路器的设计 84. 基于MATLAB的水轮发电机调速系统仿真 85. 数控缠绕机树脂含量自控系统的设计 86. 软胶囊的单片机温度控制(硬件设计) 87. 空调温度控制单元的设计 88. 基于人工神经网络对谐波鉴幅 89. 基于单片机的鱼用投饵机自动控制系统的设计 90. 锅炉汽包水位控制系统 91. 基于单片机的玻璃管加热控制系统设计 92. 基于AT89C51单片机的号音自动播放器设计 93. 基于单片机的普通铣床数控化设计 94. 基于AT89C51单片机的电源切换控制器的设计 95. 基于51单片机的液晶显示器设计 96. 超声波测距仪的设计及其在倒车技术上的应用 97. 智能多路数据采集系统设计 98. 公交车报站系统的设计 99. 基于RS485总线的远程双向数据通信系统的设计 100. 宾馆客房环境检测系统 101. 智能充电器的设计与制作 102. 基于单片机的户式中央空调器温度测控系统设计 103. 基于单片机的乳粉包装称重控制系统设计 104. 基于单片机的定量物料自动配比系统 105. 基于单片机的液位检测 106. 基于单片机的水位控制系统设计 107. 基于VDMOS调速实验系统主电路模板的设计与开发 108. 基于IGBT-IPM的调速实验系统驱动模板的设计与开发 109. HEF4752为核心的交流调速系统控制电路模板的设计与开发 110. 基于87C196MC交流调速实验系统软件的设计与开发 111. 87C196MC单片机最小系统单板电路模板的设计与开发 112. 电子密码锁控制电路设计 113. 基于单片机的数字式温度计设计 114. 列车测速报警系统 115. 基于单片机的步进电机控制系统 116. 语音控制小汽车控制系统设计 117. 智能型客车超载检测系统的设计 118. 直流机组电动机设计 119. 单片机控制交通灯设计 120. 中型电弧炉单片机控制系统设计 121. 中频淬火电气控制系统设计 122. 新型洗浴器设计 123. 新型电磁开水炉设计 124. 基于电流型逆变器的中频冶炼电气设计 125. 6KW电磁采暖炉电气设计 126. 基于CD4017电平显示器 127. 多路智力抢答器设计 128. 智能型充电器的电源和显示的设计 129. 基于单片机的温度测量系统的设计 130. 龙门刨床的可逆直流调速系统的设计 131. 音频信号分析仪 132. 基于单片机的机械通风控制器设计 133. 论电气设计中低压交流接触器的使用 134. 论人工智能的现状与发展方向 135. 浅论配电系统的保护与选择 136. 浅论扬州帝一电器的供电系统 137. 浅谈光纤光缆和通信电缆 138. 浅谈数据通信及其应用前景 139. 浅谈塑料光纤传光原理 140. 浅析数字信号的载波传输 141. 浅析通信原理中的增量控制 142. 太阳能热水器水温水位测控仪分析 143. 电气设备的漏电保护及接地 144. 论“人工智能”中的知识获取技术 145. 论PLC应用及使用中应注意的问题 146. 论传感器使用中的抗干扰技术 147. 论电测技术中的抗干扰问题 148. 论高频电路的频谱线性搬移 149. 论高频反馈控制电路 150. 论工厂导线和电缆截面的选择 151. 论工厂供电系统的运行及管理 152. 论供电系统的防雷、接地保护及电气安全 153. 论交流变频调速系统 154. 论人工智能中的知识表示技术 155. 论双闭环无静差调速系统 156. 论特殊应用类型的传感器 157. 论无损探伤的特点 158. 论在线检测 159. 论专家系统 160. 论自动测试系统设计的几个问题 161. 浅析时分复用的基本原理 162. 试论配电系统设计方案的比较 163. 试论特殊条件下交流接触器的选用 164. 自动选台立体声调频收音机 165. 基于立体声调频收音机的研究 166. 基于环绕立体声转接器的设计 167. 基于红外线报警系统的研究 168. 多种变化彩灯 169. 单片机音乐演奏控制器设计 170. 单目视觉车道偏离报警系统 171. 基于单片机的波形发生器设计 172. 智能毫伏表的设计 173. 微机型高压电网继电保护系统的设计 174. 基于单片机mega16L的煤气报警器的设计 175. 串行显示的步进电机单片机控制系统 176. 编码发射与接收报警系统设计:看护机 177. 编码发射接收报警设计:爱情鸟 178. 红外快速检测人体温度装置的设计与研制 179. 用单片机控制的多功能门铃 180. 电气控制线路的设计原则 181. 电气设备的选择与校验 182. 浅论10KV供电系统的继电保护的设计方案 183. 智能编码电控锁设计 184. 自行车里程,速度计的设计 185. 等精度频率计的设计 186. 基于嵌入式系统的原油含水分析仪的硬件与人机界面设计 187. 数字电子钟的设计与制作 188. 温度报警器的电路设计与制作 189. 数字电子钟的电路设计 190. 鸡舍电子智能补光器的设计 191. 电子密码锁的电路设计与制作 192. 单片机控制电梯系统的设计 193. 常用电器维修方法综述 194. 控制式智能计热表的设计 195. 无线射频识别系统发射接收硬件电路的设计 196. 基于单片机PIC16F877的环境监测系统的设计 197. 基于ADE7758的电能监测系统的设计 198. 基于单片机的水温控制系统 199. 基于单片机的鸡雏恒温孵化器的设计 200. 自动存包柜的设计 201. 空调器微电脑控制系统 202. 全自动洗衣机控制器 203. 小功率不间断电源(UPS)中变换器的原理与设计 204. 智能温度巡检仪的研制 205. 保险箱遥控密码锁 206. 基于蓝牙技术的心电动态监护系统的研究 207. 低成本智能住宅监控系统的设计 208. 大型发电厂的继电保护配置 209. 直流操作电源监控系统的研究 210. 悬挂运动控制系统 211. 气体泄漏超声检测系统的设计 212. FC-TCR型无功补偿装置控制器的设计 213. 150MHz频段窄带调频无线接收机 214. 数字显示式电子体温计 215. 基于单片机的病床呼叫控制系统 216. 基于单片微型计算机的多路室内火灾报警器 217. 基于单片微型计算机的语音播出的作息时间控制器 218. 交通信号灯控制电路的设计 219. 单片机控制的全自动洗衣机毕业设计论文 220. 单片机脉搏测量仪 221. 红外报警器设计与实现

写过好多次了。需要的话Q我

  • 索引序列
  • 电子密码设计毕业论文
  • 电子密码设计毕业论文范文
  • 电子密码设计毕业论文选题
  • 电子密码锁毕业论文模板
  • 电子密码锁毕业论文题目
  • 返回顶部