基于单片机电子密码锁的设计毕业论文

1.锁急求题目为:“单片机课程设计

基于单片机控制的电子密码锁

摘要:本系统由单片机系统、矩阵键盘、LED显示和报警系统组成。系统能完成开锁、超时报警、超次锁定、管理员解密、修改用户密码基本的密码锁的功能。除上述基本的密码锁功能外,还具有调电存储、声光提示等功能,依据实际的情况还可以添加遥控功能。本系统成本低廉,功能实用

关键词:AT89S51,AT24C02, 电子密码锁,矩阵键盘

一、引言

随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。

设计本课题时构思了两种方案:一种是用以AT89s51为核心的单片机控制方案;另一种是用以74LS112双JK触发器构成的数字逻辑电路控制方案。考虑到数字电路方案原理过于简单,而且不能满足现在的安全需求,所以本文采用前一种方案。

二、方案论证与比较

方案一:采用数字电路控制。其原理方框图如图1-1所示。

图2-1 数字密码锁电路方案

采用数字密码锁电路的好处就是设计简单。用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。

电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。

密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。

方案二:采用一种是用以AT89S51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至

有需要的话百度直接hi我吧、

2.基于单片机的密码锁设计

#include #define NOP() _nop_() /* 定义空指令 */#define TRUE 0xff#define FALSE 0//6T/12T工作模式#define Model_6T 0unsigned char bdata X0,X1,Y0,Key;unsigned int Tick_10ms=0; //时间片计数器sbit K0=Key^0;sbit K1=Key^1;sbit K2=Key^2;sbit K3=Key^3;sbit K4=Key^4;sbit K5=Key^5;sbit K6=Key^6;sbit K7=Key^7;bit K0J,K1J,K2J,K3J,K4J,K5J;#define M_Sum 32#define D_Sum 185unsigned char idata M[M_Sum];unsigned short xdata D[D_Sum];unsigned int TestDelay1, TestDelay2, TestDelay3;unsigned int T[6];//*********************************************************************#define UCHAR unsigned charvoid delay(unsigned int i){ UCHAR j; for(i; i > 0; i--) for(j = 200; j > 0; j--);} /************************************************************************** 函数名称: ConversionStr(void)* 功能描述: 字符串转换函数* 输 入: *Register, *str***************************************************************************/void ConversionStr(unsigned short *Register,unsigned char code *str){ unsigned char sL,sH; while(1) { if(*str == '\0') break; sL=(*str++); sH=(*str++); *Register++=sH<<8|sL; }}/************************************************************* * (T0) 10 ms 时钟冲断 ;************************************************************/void T0zd(void) interrupt 1 { //TH0=0xC4; //18.432M //TL0=0x00; #if Model_6T TH0=0xB8; //22.1184M TL0=0x00; #else TH0=0xDC; //11.0592M TL0=0x00; #endif Tick_10ms++;}/***********************************************************purpose: 系统初始化/**********************************************************/void system_Ini(){ TMOD|= 0x11; //TH0=0xC4; //18.432M //TL0=0x00; #if Model_6T TH0=0xB8; //22.1184M TL0=0x00; #else TH0=0xDC; //11.0592M TL0=0x00; #endif IE = 0x8A; TR0 = 1; //PWM //TH1 = 0xfe; //11.0592 //TL1 = 0x33; //TR1 = 1; }//***********************************************************main(){ unsigned char Input; unsigned char i,j; unsigned char code str1[] = "PLC动作版本 V1.05 "; unsigned char code str2[] = "51板程序版本 V3.28 "; system_Ini(); InitMotor(); Input=ReHC74165(); X0=Input; #if Model_6T // 晶振 波特率 站号 Modbus_Init(221184, 57600, 1, &M[0], &D[0]); #else //Modbus_Init(110592, 19200, 1, &M[0], &D[0]); Modbus_Init(120000, 19200, 1, &M[0], &D[0]); #endif //Modbus_Init(184320, 57600, X1, &M[0], &D[0]); for(i=0; i5) D[27]=0; if(D[100]) D[24]=10; //控制触摸屏(显示画面号=10) } K0J=~K0; //由K1~K5微分控制, 交替切换M1~M5 if(K1&K1J) { M[1]=~M[1]; if(D[100]) D[24]=17; //控制触摸屏(显示画面号=17) } K1J=~K1; if(K2&K2J) { M[2]=~M[2]; if(D[100])D[24]=29; //控制触摸屏(显示画面号=29) } K2J=~K2; if(K3&K3J) { M[3]=~M[3]; if(D[100])D[24]=30; //控制触摸屏(显示画面号=30) } K3J=~K3; if(K4&K4J)M[4]=~M[4]; K4J=~K4; if(K5&K5J)M[5]=~M[5]; K5J=~K5; if(M[1]) //自动图片切换 D[27] 间隔10ms*D[28] 加加一次 { if(TickOut(&T[0],D[28])) if(++D[27]>5) D[27]=0; //10ms*D[28] } //显示下位机程序版本 if(K0) ConversionStr(&D[50],str1); if(K1) ConversionStr(&D[50],str2);//动态文本画面数据测试 if(TickOut(&T[1],D[30])) //D[30]位人机设定的动作速度 { //报警信息 if((K0)&&(D[21]<58)) ++D[21]; if((K1)&&(D[21]>0)) --D[21]; //动作信息 if((K2)&&(D[22]<9)) ++D[22]; if((K3)&&(D[22]>0)) --D[22]; //温度状态反色显示 D[90]++; //周期时间 D[93]++; //按下S5(单ON/双OFF),控制报警自动变化 if(M[4]) { if(++D[21]>57) D[21]=0; } //按下S6(单ON/双OFF),控制动作自动变化 if(M[5]) { if(!M[6]) //动作++ { if(++D[22]>8) { D[22]=8; M[6]=TRUE; } } else //动作-- { if(--D[22]==0) M[6]=FALSE; } } } //拨码开关控制[运行状态显示] D[99]=0; if(X1&0x10) D[99]=1; //拨码开关1 if(X1&0x20) D[99]=2; //拨码开关2 if(X1&0x40) D[99]=3; //拨码开关3 if(X1&0x80) D[99]=4; //拨码开关4//数码管显示值++ if(TickOut(&TestDelay1,1)) LedNumVal++; //10ms*10 //跑马灯移位 if(TickOut(&TestDelay2,50)) //10ms*100 { LedUnit<<=1; if(LedUnit==0)LedUnit=1; } //如果未执行,实时曲线数据左移动 if(D[180]==0) { if(TickOut(&T[2],200)) //验证PLC收到的宏运算结果 { D[150]=0; for(i=0; i<14; i++) { D[150]+=D[115+i*2]; } } }//实时曲线数据左移动, 30点*2 [D110-169] if(D[180]>0) { if(TickOut(&T[3],100)) { D[139]=D[0]; for(i=0; i<29; i++) D[110+i]=D[111+i]; D[169]=D[1]; for(i=0; i<29; i++) D[140+i]=D[141+i]; } } //AD,DA,LCD操作 if(TickOut(&TestDelay3,10)) //10ms*10 { if((K4)&&。

3.要一份电子密码锁设计的论文 3000字左右 标准格式 有摘要关键词和参

电子密码锁 摘要 本文的电子密码锁利用数字逻辑电路,实现对门的电子控制,并且有各种附加电路保证电路能够安 工作,有极高的安全系数。

关键词 电子密码锁 电压比较器 555单稳态电路 计数器 JK触发器 UPS电源。1 引言 随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。

设计本课题时构思了两种方案:一种是用以AT89C2051为核心的单片机控制方案;另一种是用以74LS112双JK触发器构成的数字逻辑电路控制方案。考虑到单片机方案原理复杂,而且调试较为繁琐,所以本文采用后一种方案。

2 总体方案设计2.1设计思路 共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。2.2总体方框图 3 设计原理分析 电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS电源是为了防止因为停电 造成的密码锁电路失效,使用户免遭麻烦。

密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。3.1 键盘输入、密码修改、密码检测、开锁及执行电路 . 其电路如下图1所示: 图1 键盘输入、密码修改、密码检测、开锁、执行电路 开关K1~K9是用户的输入密码的键盘,用户可以通过开关输入密码,开关两端的电容是为了提高开关速度,电路先自动将IC1~IC4清零,由报警电路送来的清零信号经C25送到T11基极,使T11导通,其集电极输出低电平,送往IC1~IC4,实现清零。

密码修改电路由双刀双掷开关S1~S4组成(如图2所示), 它是利用开关切换的原理实现密码的修改。例如要设定密码为1458,可以拨动开关S1向左,S2向右,S3向左,S4向右,即可实现密码的修改,由于输入的密码要经过S1~S4的选择,也就实现了密码的校验。

本电路有16组的密码可供修改。 图2 密码修改电路 由两块74LS112(双JK触发器,包含IC1~IC4)组成密码检测电路。

由于IC1处于计数状态,当用户按下第一个正确的密码后,CLK端出现了一个负的下降沿,IC1计数,Q端输出为高电平,用户依次按下有效的密码,IC2~IC3也依次输出高电平,送入与门IC5,使其输出开锁的高电平信号送往IC13的2脚,执行电路动作,实现开锁。执行电路是由一块555单稳态电路(IC13),以及由T10、T11组成的达林顿管构成。

若IC13的2脚输入一高电平,则3脚输出高电平,使T10导通,T11导通,电磁阀开启,实现开门,同时T10集电极上接的D5(绿色发光二极管)发亮,表示开门,20秒后,555电路状态翻转,电磁阀停止工作,以节电。其中电磁阀并联的电容C24使为了提高电磁阀的力矩。

3.2 报警电路 报警电路实现的功能是:当输入密码的时间超过40秒(一般情况下用户输入不会超过),电路报警80秒,防止他人恶意开锁。电路包含两大部分,2分钟延时和40秒延时电路。

其工作原理是当用户开始输入密码时,电路开始2分钟计时,超出40秒,电路开始80秒的报警。如图3所示 图3 报警电路 有人走近门时,触摸了TP端(TP端固定在键盘上,其灵敏度非常高,保证电路可靠的触发),由于人体自身带的电,使IC10的2脚出现低电平,使IC10的状态发生翻转,其3脚输出高电平,T5导通(可以通过R12控制T1的基极电流),其集电极接的黄色发光二极管D3发光,表示现在电子锁处于待命状态,T6截止,C4开始通过R14充电(充电时间是40秒,此时为用户输入密码的时间,即用户输入密码的时间不能超过40秒,否则电路就开始报警, 由于用户经常输入密码,而且知道密码,一般输入密码的时间不会超过40秒),IC2开始进入延时40秒的状态。

开始报警:当用户输入的密码不正确或输入密码的时间超过40秒,IC11的2脚电位随着C4的充电而下降,当电位下降到1/3Vcc时(即40秒延时结束时候),3脚变成高电位(延时时是低电平),通过R15使(R15的作用是为了限制T7的导通电流防止电流过大烧毁三极管)T7导通,其集电极上面接的红色发光二极管D4发亮,表示当前处于报警状态,T8也随之而导通,使蜂鸣器发声,令贼人生怯,实现报警.停止报警:当达到了80秒的报警时间,IC10的6,7脚接的电容C5放电结束,IC10的3脚变成低电平,T5截止,T6导通,强制使强制电路处于稳态,IC11的3脚输出低电平,使T7,T8截止,蜂鸣器停止报警;或者用户输入的密码正确,则有开锁电路中的T10集电极输出清除报警信号,送至T12(PNP),T12导通,强制使T7基极至低电位,解除报警信号。3.3 报警次数检测及锁定电路 若用户操作连续失误超过3次,电路将锁定5分钟。

其工作原理如下:当电路报警的次数超过3次,由IC9(74161)构成的3位计数器将产生进位,通过IC7,输出清零信号送往74161的清零端,以。

4.基于AT89C5`单片机电子密码锁的设计

这个开机显示STAR,你可以根据需要来改。

功能如下:初始密码1234,如果输入密码正确,显示open,错误显示wrong。密码可以修改,密码修改成功后返回初始转台。

程序经过硬件调试通过。#include <reg52.h>#define uchar unsigned char#define uint unsigned intbit go1,go2,go3; //定义三个标志位 sbit SPK=P2^7; //蜂鸣器sbit K1=P2^4; //读密码命令键sbit K2=P2^5; //密码确认键sbit K3=P2^6; //修改密码键uchar hang,lie,temp,key,a,b,c,d,k,s,p,q,x,y,zh,i=1,j=2,m=4,n=4,co1=1,co2=2,co3=3,co4=4,flag=0; //定义初始密码为1234uchar code tab[4][4]={{'0','1','2','3'}, //定义数字键值 {'4','5','6','7'}, {'8','9','A','B'}, {'C','D','E','F'}};uchar code tab1[]={0xc0,0x92,0xf8,0x90,0x88,0xc8,0x8c,0x86,0xbf};//显示0、S、T、9、A、E、N、P、-void delay(uchar p) //延时函数{ for(x=0;x<p;x++) for(y=0;y<121;y++);} void key_scan() //键盘扫描 { P3=0xf0; //行全部置0,列置1 if(P3!=0xf0) //有按键按下,相应的位变为低电平 {delay(5); if(P3!=0xf0) //P3.4~P3.7作为行线 { temp=P3; switch(temp&0xf0) { case 0x70:hang=0;break; case 0xb0:hang=1;break; case 0xd0:hang=2;break; case 0xe0:hang=3;break; } } P3=0x0f; //列全部置0,行置1 if(P3!=0x0f) //P3.0~P3.3作为列线 { temp=P3; switch(temp&0x0f) { case 0x0e:lie=0;break; case 0x0d:lie=1;break; case 0x0b:lie=2;break; case 0x07:lie=3;break; } } key=tab[hang][lie]; for(q=0;q<3;q++) //延时,防止数字键误读 delay(200); } switch (key) { case '0':zh=0;flag++;break; //每按下一个数字键,flag自动加1 case '1':zh=1;flag++;break; case '2':zh=2;flag++;break; case '3':zh=3;flag++;break; case '4':zh=4;flag++;break; case '5':zh=5;flag++;break; case '6':zh=6;flag++;break; case '7':zh=7;flag++;break; case '8':zh=8;flag++;break; case '9':zh=9;flag++;break; case 'A':zh=10;flag++;break; case 'B':zh=11;flag++;break; case 'C':zh=12;flag++;break; case 'D':zh=13;flag++;break; case 'E':zh=14;flag++;break; case 'F':zh=15;flag++;break; } key='H'; //将不在0~F之间的字符H赋值给key,防止flag重复加1} void display(void) //数码管显示函数{ P0=tab1[i];P2=0xf7;delay(5);P2=0xff; P0=tab1[j];P2=0xfb;delay(5);P2=0xff; P0=tab1[m];P2=0xfd;delay(5);P2=0xff; P0=tab1[n];P2=0xfe;delay(5);P2=0xff;}void main(){ go1=0; //标志位清零 go2=0; go3=0; while(1) { display(); //上电时显示STAR if(K1==0) //按下K1键,数码管显示全零,同时go1置1 { delay(10); if(K1==0){i=0;j=0;m=0;n=0;go1=1;} } if(go1==1) { go2=1;key_scan(); //输入密码同时go2置1 if(flag==1){a=zh;i=8;} if(flag==2){b=zh;i=8;j=8;} if(flag==3){c=zh;i=8;j=8;m=8;} if(flag==4){d=zh;i=8;j=8;m=8;n=8;flag=0;} } if(K2==0&&go2==1) //判断密码是否正确 { delay(10); if(K2==0&&go2==1) { if(co1==a&&co2==b&&co3==c&&co4==d) { i=0;j=6;m=7;n=5; //密码正确显示OPEN,同时蜂鸣器长鸣1声,LED全亮 SPK=0;P1=0x00;delay(250);SPK=1;P1=0xff; } else //密码不正确则显示RONG,同时蜂鸣器急鸣5声,LED全亮 { i=4;j=0;m=5;n=3; for(s=0;s<5;s++) { SPK=0;P1=0x00;delay(50);SPK=1;P1=0xff; } } } } if(K3==0) //K3按下进入修改密码状态 { delay(10); if(K3==0)go3=1; //go3置1 } if(go3==1) { i=0;j=0;m=0;n=0; //数码管显示全零 while(1) { key_scan(); //输入新密码 if(flag==1){co1=zh;i=8;} if(flag==2){co2=zh;i=8,j=8;} if(flag==3){co3=zh;i=8,j=8;m=8;} if(flag==4){co4=zh;i=8,j=8;m=8;n=8;flag=0;} display(); //输入新密码时每输入一位新密码数码管对应位显示为- go1=0;go2=0;go3=0; //标志位重新清零 if(K2==0){i=1;j=2;m=4;n=4;break;} //按下确认键返回到STAR状态,等待重新读密码 } } }}。

5.电子密码锁设计论文

红外线遥控12位电子密码锁的设计 摘要]采用密码锁专用集成电路设计的红外线遥控电子密码锁,具有密码预置、保密性强、误码报警、耗 电省等特点,适合住宅、办公室用锁要求,有实际开发价值。

[关键词]红外线遥控;电子密码锁;发射器;接收器 0引言 电子密码锁以其使用方便、功能齐全、安全可靠 等优点,受到人们的喜爱。尤其是采用遥控技术的电 子密码锁更受人们的欢迎。

电子密码锁种类繁多,各 具特色,所使用的电路各式各样。如有采用数字比较 器等数字集成电路设计的普通型电子密码锁,也有采 用单片机设计的智能化电子密码锁。

本文采用密码锁 专用集成电路设计电子密码锁。 1遥控电子密码锁的电路组成 遥控电子密码锁由红外发射器、红外接收器和密 码锁三部分组成,如图1所示。

遥控系统采用双音多 频(DTMF)信号专用发生器集成电路S2559及其配套 的专用接收的集成电路MC145436构成的红外遥控系 统。电子密码锁采用专用集成电路ZH9437。

2遥控电子密码锁的工作原理 将发射器对准接收器的接收头,按下发射器键盘 中的某一按键时,发射器的红外发射二极管就发射出与该按钮对应的DTMF信号。接收器按光电转换后,信 号先放大,然后送到与专用DTMF信号发生器S2559配 套的专用DTMF信号接收器MC145436进行解调,检出 用四位二进制码表示的指令信号,再送到译码器进行 译码,把指令信号的数码分配到相应的1 2个输出端。

事先,电子密码锁电路ZH9437中已输入并存储了12 位密码。如使用者按照它所储存的12位密码顺序依次 输入,它就输出开锁脉冲,进行开锁;如按错三次,则 发出长达6 0秒的报警信号。

2.1红外发射器 红外发射电路由IC 1 (S2559)及3X4矩阵按钮键盘 为主组成,如图2所示。核心元件S2559是DTMF信号 产生的专用集成电路[1]156-161。

S2559的技术参数如下: 工作电压为2.5~10V;静态工作电流为0.4~1.5μA; 输出驱动电流为1~10mA。 2.2红外接收器 红外接收电路由接收放大电路和解调电路组成, 如图3所示。

由于16脚直接输出的DTMF信号一般只有几百毫 伏,不能直接驱动红外线发光二极管发出DTMF信号, 因此,必须采用达林顿管输出方式进行功率放大,然 后才能驱动红外发光二极管发出D TMF信号。 为了保证运算放大器输出电压有较大的动态范围, 在静态时,应将输出端电位设置在1/2V DD 处。

所用两个 10K电阻(即R 4 R 5 )对电源进行1/2分压,并将1/2V DD 电压移引至LM358的同相输入端,相当于运算放大器 的输入偏置电压为1/2V DD ,从而使输出电压为1/2V DD 。 信号由C 2 进入IC 2 ,经过两级反相放大后,总增益 为A=A 1 A 2 =(1MΩ/10KΩ)2=104(A 1 =A 2 =-R6/R3)。

(2)解调电路。电路由专用集成电路IC 3 (MC145436) 为核心组成[1]164-168,它将双音频选频电路与指令解调 电路集于一体,主要由拨号音滤波器、前置放大器、高 低频组信号分离器、输入译码器、基准时钟振荡器等 组成。

经放大电路放大后的DTMF信号由IC 2 的7脚输入, (1)接收放大电路。以集成运算放大器LM358为 核心构成了接收前置放大电路。

当V D 2 接收到由发射 器发射的经DTMF调制的红外光信号时,就将红外线的 光信号转换为相应频率的电信号,这一信号耦合到IC 2 (LM358)上作两级运放。 首先经拨号音滤波器将DTMF信号以外的噪声滤除掉, 以提高电路抗干扰性能,然后经过前置放大器进行放 大。

检出有效信号后启动数据有效输出端12脚输出高 电平。同时D 0 ~D 3 (2、1、14、13脚)输出四位二进 制码。

D 0 ~D 3 输出的指令信号是由输出数据译码器对 电平幅度检测器输出的信号进行译码得到的。 IC 3 的9脚和10脚之间并联晶体的谐振频率为 3.579MHZ,与内部反相器构成晶体振荡器,产生本电 路所需的时钟信号。

IC 3 的5脚(GT)为保持时间输入 端,4脚(V DD )和8脚(V SS )分别为电源正极和负极。 IC 3 的2、1、14、13脚输出的四位二进制码,再经IC 4 (CD4514)译码为16个指令码输出。

CD4514是4位锁存/4-16线译码器、数据分配器, 有16位高电平锁存输出功能。它把IC 3 送来的8421码 译码后,将指令信号的数码分配到相应的输出端。

这 里只采用它的S 1 ~S 12 等12根输出线。由于采用继电 器,再加上驱动电路,选用两片MC1413,每片内部具 有7个独立的达林顿驱动管,作为输出级用。

经过红外发射电路和红外接收电路后,从遥控器 按钮产生信号到相应的继电器吸合,从而完成了指令 的空间传递。 2.3密码锁电路 密码锁电路是开锁的具体执行者,核心元件是 IC 7 (ZH9437)[2]。

密码锁电路如图4所示。IC 7 的5、6、7、8脚为横向信号输入端,10、11脚为纵向信号输入 端。

将输入信号与已存的密码进行自动对比判断,如 遇到错误输入信号,即由15脚向外接高响度喇叭输出 报警信号;如输入信号正确,则由17脚输出开锁信号。 其内部对比的标准是预先输入的密码。

密码锁电路拥 有1 0亿组密码总量,随机捕捉密码开锁的概率极低, 同时按错三次码就有长达60秒的报警,更增加了保险 性,再加上码位长达1 2位数,保密性能极佳。 密码的输入控制端为13端。

当KB闭合,即13脚 。

6.急求:基于51单片机设计的密码锁论文

是要这份吗?已经给你发了。

目录

摘要…………………………………………………………………………1

ABSTRACT……………………………………………………………………2

第一章 绪论…………………………………………………………………5

1.1 课题背景……………………………………………………………5

1.2 电子锁发展状况和优缺点…………………………………………5

1.3 密码锁的趋向分析…………………………………………………6

1.4 密码锁设计的价值和意义…………………………………………7

第二章 电子密码锁定总体设计方案………………………………………8

2.1 方案的总体设计………………………………………………………8

2.2 方案论证………………………………………………………………9

第三章 芯片选择及各单元电路……………………………………………10

3.1 所选芯片介绍以及引脚说明…………………………………………10

3.2 LED显示器……………………………………………………………11

3.3 复位电路………………………………………………………………11

3.4 单片机的外部晶振……………………………………………………12

3.5 电源……………………………………………………………………13

3.6报警模块………………………………………………………………13

3.7 键盘模块………………………………………………………………13

3.7.1 键抖动的原因和消除方法……………………………………14

3.7.2 键盘的扫描方式………………………………………………14

3.7.3 键盘结构………………………………………………………15

3.8 温度检测模块…………………………………………………………15

3.9 掉电存储模块…………………………………………………………16

第四章 系统软件编程………………………………………………………17

4.1 系统总体设计说明……………………………………………………18

4.2 软件设计主流程图……………………………………………………18

4.3 温度显示的软件设计…………………………………………………19

4.4 24C02的软件设计……………………………………………………20

4.5 软件调试………………………………………………………………20

第五章 结束语……………………………………………………………21

参考文献……………………………………………………………………22

致谢 …………………………………………………………………………23

附录一 程序…………………………………………………………………24

附录二 原理图………………………………………………………………41

附录三 仿真图………………………………………………………………42

7.单片机密码锁论文

基于AT89c51的带密码锁可调时控制开关本文介绍一个采用AT89c51与DS12887为核心制作的一个带密码保护可调时开关。

该产品既可按系统默认设置进行工作,也可通过管理员(须密码)进入修改,通过按键输入新的时间参数。断电后密码不丢失,可设置不同的工作模式,并带时钟显示年月日星期时分秒。

功能强大,可广泛应用于部队、厂矿、机关、学校、医院等需要设置定时断电、送电的设备。本产品充分发挥了单片机的性能,控制系统可靠,性价比较高。

1 工作原理 该产品的原理图如图1所示,AT89c51单片机作为本电路的核心,采用上电复位,时钟电路中晶振高达12MHz以满足从串口输出数据。为了向CPU提供准确的时钟,我们采用DS12887作为时钟芯片。

DS12887是美国达拉斯半导体公司(Dallas)生产的并行接口实时时钟/日历芯片,它内置晶振和锂电池,并带有128字节RAM,其中14字节用作时钟和控制寄存器,114字节可被用户当作非易失性RAM使用。初始化后,可自动获得相应的年月日星期时分秒,且断电后数据不丢失,可继续工作,充电一次可供内部使用10年,以便对被控设备进行分时间段的处理。

系统利用独立式键盘输入修改值,采用串行口输出显示数据。输出时外接八位锁存存储芯片74LS164,然后连接7段LED数码管作为显示器。

此方式具有低功耗、高亮度的特点,可满足设计要求。初始加电时,系统将执行初始程序所设置的时间及初始断、送电时间,用户可根据实际所需通过键盘重新设置(需输入正确的密码)参数,默认密码为88,修改密码后断电不丢失。

操作方便,可靠性高。2 电路设计为了达到设计的要求,本系统采用市场流行易买的AT89c51作为核心芯片,外部扩展DS12887作为日历芯片,利用串口驱动发送显示数据。

利用外部中断0进入调时状态,P1·7作为加一输入,P1·5作为减一输入,P1·3作为移位操作。首先修改年的低两位,依次向后的是月日星期时分秒保存退出。

修改日历时间指示灯LED1、LED2不亮,当修改断电时间时,LED1亮LED2不亮,修改送电时间时,LED1不亮LED2亮。具体操作是当P2·7的状态为高电平时,修改的是日历时间。

当P2·7的状态是低电平时,若按调时则显示器只显示时分秒,默认是22:00:00,LED1亮,此时可通过修改键盘修改参数,修改秒后再移位自动进入修改送电状态,默认时间是07:00:00。LED1灭LED2亮,修改原理同上,再移位两指示灯都灭保存退出。

受控电路通过固态继电器来实现控制。当日历时间与所设置的断、送电时间相等时,则由P2·5输出高电平或低电平,来控制固态继电器截止或导通,从而控制受控设备的电源。

而方式选择开关由P1·0控制。当此位为高电平时,则系统工作于自由开放状态。

当此位为低电平时,系统工作于受控状态。电源电路由电源变压器、桥式整流器、三端稳压器及电容组成,可为整个电路提供稳定的+5V直流工作电压。

3 程序设计本程序使用汇编语言编写。主程序为对DS12887的初始化、电路扫描检测、调用数据显示程序及控制位的状态修改。

子程序包括密码修改、时间修改及显示程序等。 因为要求密码断电不丢失,所以把两位密码放在DS12887RAM中的0EH~7FH中。

断电、送电时间设置也可以放在此区域中,以便送电后继续保持原有设置不变。默认设置为周一至周五的断电时间22:00:00,送电时间07:00:00,双休日为全天开放状态。

该程序流程图如图2所示。 ORG 0000HMOV R6,#30HTT:ACALL DELAYMOV R0,#0AHMOV A,#2FHMOVX @R0,AINC R0MOV A,#06HMOVX @R0,AMOV 3DH,#00HMOV 3EH,#02HMOV SP,#5FH…参考文献:〔1〕李全利.单片机原理及应用技术.北京:高等教育出版社,2001〔2〕何立民.单片机高级教程·北京:北京航空航天大学出版社,2000〔3〕刘守义.单片机应用技术.西安:西安电子科技大学出版社,2002〔4〕余元权. ATMEL89系列单片机应用技术.北京:北京航空航天大学出版社,2002〔5〕陈立周,陈 宇.单片机原理及其应用.北京:机械工业出版社,2001。

8.本人求一单片机密码锁论文 越详细越好,谢谢了

我博客有相关程序,包含两个单片机的通信,一个为呼叫,另一单片机为应答,当然,如果知道密码也不需要呼叫的密码锁。

说明: 1.基本部分为单片机的串口通信,包含串口通信,键盘扫描 2.程序部分有详细的注释。 /*------------------------------------------- Project: mimasuo program (V0.1) Filename: mimasuo.c Prozessor: 80C51 family Compiler: Keil Version 6.14 Autor: ******** Copyrigth: 041151** date: 2008.3.17 ------------------------------------------ */ #include #define uchar unsigned char sbit ADCS =P3^6; sbit ADC =P3^7; sbit AD =P1^0; int fafu=0; uchar key,key1,i,count1=1,yidong=256; uchar jgh[9]={0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00};//输出指示 uchar jgh1[9]; //输入键盘缓存 uchar mima[9]={0,1,2,3,4,5,6,7,8};//初始8位密码 : 12345678 第0位未用 uchar fangjian[4]={0,2,5,2}; //初始门牌号 252 第0位未用 char count=0; void init_serialcomm(void) //串口波特率设置 { SCON=0x50; TMOD=0x20; PCON=0x80; TH1=0x40; TL1=0x40;//300 TR1=1; EA=1; TI=0; RI=0; } void delay10ms(void) //10毫秒延时程序 { unsigned char i,j,k; for(i=5;i>0;i--) for(j=4;j>0;j--) for(k=248;k>0;k--); } uchar kbscan(void) // 键盘扫描程序 { uchar sccode,recode; P1=0xf0; //置所有行为低电平,行扫描,列线输入(此时) if((P1&0xf0)!=0xf0) //判断是否有有键按下(读取列的真实状态,若第4列有键按下则P1的值会变成0111 0000),有往下执行 { delays(); //延时去抖动(10ms) if((P1&0xf0)!=0xf0) //再次判断列中是否是干扰信号,不是则向下执行 { sccode=0xFE; //逐行扫描初值(即先扫描第1行) while((sccode&0x10)!=0)//行扫描完成时(即4行已经全部扫描完成)sccode为1110 1111 停止while程序 { P1=sccode; //输出行扫描码 if ((P1&0xf0)!=0xf0) //本行有键按下(即P1(真实的状态)的高四位不全为1) { recode=(P1&0xf0)|0x0f; //列 return(sccode&recode); //返回行和列 } else //所扫描的行没有键按下,则扫描下一行,直到4行都扫描 { sccode=(sccode<<1)|0x01;//行扫描码左移一位 } } } } else { return 0; //无键按下,返回0 } } uchar readnumber(uchar tmp) //按键扫描的结果,转换为数字,便于程序对按键数据处理 { switch(tmp) { case 0x28:return 0 ;break; case 0x14:return 1 ;break; case 0x24:return 2 ;break; case 0x44:return 3 ;break; case 0x12:return 4 ;break; case 0x22:return 5 ;break; case 0x42:return 6 ;break; case 0x11:return 7 ;break; case 0x21:return 8 ;break; case 0x41:return 9 ;break; case 0x88:return 10 ;break; case 0x82:return 11 ;break; default:break; } } void main(void) //主程序 { P2=0xff; init_serialcomm(); while(1) { key=kbscan(); // P2=key; fafu++; if(fafu==10000){ fafu=0; ADCS = 1; ADC = 1;} if(RI) //呼叫应答 { RI=0; ADCS = 0; // P2=~P2; } if(key!=0){ do{ key1=kbscan(); AD = 0; }while(key1!=0);//等待按键释放 AD = 1; if(readnumber(key)==10) // 密码比较 { count1=1; for(i=1;i<=8;i++) { if(mima[i]==jgh1[i]) count1++; } if(count1==9) { // P2=~P2; ADCS = 0; } else ADC=0; } if(readnumber(key)==11) // 呼叫房间 { count1=1; for(i=1;i<=3;i++) { if(fangjian[i]==jgh1[i]) count1++; } if(count1==4) //发送传送码 { SBUF=0xf0; while(TI==0); TI=0; P2=~P2; } } if((key!=0x88)&&(key!=0x84)&&(key!=0x82)) //数字键输入,并把输入的数据存到数组中 { count++; P2=jgh[count]; jgh1[count]=readnumber(key); if(count==8) count=0; } if(key==0x84) { //取消功能键 count--; if(count<=0)count=0; P2=jgh[count]; } } } } 详细代码可以到我博客下载: 。

9.求电子密码锁毕业设计一份,至少八千字

目 录

1.概 述 1

1.1 电子密码锁简介 1

1.2 电子密码锁的发展趋势 1

1.3 本设计所要实现的目标 2

2.设计方案的选择 3

2.1 方案一:采用数字电路控制 3

2.2 方案二:采用以单片机为核心的控制方案 3

3.主要元器件介绍 4

3.1 主控芯片AT89S51 4

3.1.1 AT89S51性能简介 4

3.1.2 AT89S51引角功能说明 5

3.1.3 AT89S51芯片内部结构 6

3.2 存储芯片AT24C02 8

3.3 LCD1602显示器 9

3.3.1 接口信号说明 9

3.3.2 主要技术参数 10

3.3.3 基本操作程序 10

3.4 晶体振荡器 10

4.系统硬件构成 12

4.1 设计原理 12

4.2 电路总体构成 12

4.3 电源输入部分 13

4.4 键盘输入部分 14

4.5 密码存储部分 14

4.6 复位部分 15

4.7 晶振部分 16

4.8 显示部分 16

4.9 报警部分 17

4.10 开锁部分 17

5.系统软件设计 19

5.1 主程序流程图 19

5.2 键功能流程图 20

5.3 密码设置流程图 21

5.4 开锁流程图 22

6.结束语 23

参考文献 24

致 谢 25

附 录 26

附录一 程序清单 27

附录二 设计图纸 47

附录2.1 原理图 47

附录2.2 PCB图 48

附录三 材料清单 49

基于单片机电子密码锁的设计毕业论文

转载请注明出处众文网 » 基于单片机电子密码锁的设计毕业论文

资讯

电话客服毕业论文

阅读(74)

本文主要为您介绍电话客服毕业论文,内容包括我是做电话营销的我的毕业论文该怎么写,怎么写电话营销的毕业论文,关于电话营销的毕业论文。应该把行业因素考虑进去,这里给你个参考: 在激烈的市场竞争中,电话营销作为一种能够帮助企业获取更多利

资讯

土木工程3000实习毕业论文

阅读(78)

本文主要为您介绍土木工程3000实习毕业论文,内容包括求一份实习报告3000字以上是认识土木.,土木工程实习报告求一篇,求一份建筑工程技术的实习报告3000字就行了。土木工程认识实习报告 实践是大学生活的第二课堂,是知识常新和发展的源泉,是检

资讯

商务日语毕业论文范文

阅读(88)

本文主要为您介绍商务日语毕业论文范文,内容包括求一篇800010000字的日语论文只要不是文学都可以,谢谢~~百度,商务日语毕业论文怎么写,求一篇关于商务日语的论文,1000~1500字,最好在12月14日前能发。日语论文范文四:日本语の敬语の人间関系

资讯

java毕业论文题目

阅读(78)

本文主要为您介绍java毕业论文题目,内容包括java毕业论文写什么题目好能新颖点好,你好,基于java的毕业论文,有没有新颖一点,简单一点的选题推荐,有没有相对简单点的毕业设计题目,java类的~。你好, 计算机专业的毕设一般分为这两部分: 源码+论

资讯

3dmax古代场景毕业论文

阅读(90)

本文主要为您介绍3dmax古代场景毕业论文,内容包括3DMAX场景建模毕业论文,3DMAX毕业论文,3D游戏场景设计毕业论文怎么写。最低0.27元开通文库会员,查看完整内容> 原发布者:浅浅寂寞的五 目录摘要:所谓三维设计就是利用电脑设计与创作,一产生真实

资讯

旅游册毕业设计论文

阅读(84)

本文主要为您介绍旅游册毕业设计论文,内容包括写一篇关于旅游业的论文3000字左右,关于旅游的论文3000字,求3000字的旅游论文。这次是我们首次采取自助的形式出游,因此不像从前跟团那样省时省力,凡事都需要亲力亲为,好在有网络,给我们提供了许多

资讯

惠州学院优秀毕业论文

阅读(104)

本文主要为您介绍惠州学院优秀毕业论文,内容包括优秀毕业论文有什么用,有没有人知道申请优秀毕业论文有什么用,校级或者省级优秀毕业论文有什么用。省优秀毕业生证书代表了学生过去的优异成绩,肯定了过去的学习生涯。如果毕业后参加一些商务

资讯

电动汽车新技术毕业论文

阅读(96)

本文主要为您介绍电动汽车新技术毕业论文,内容包括汽车新能源论文,关于汽车新技术电动车轮的论文,求一篇关于“汽车电控技术”的论文8000字左右。摘要:随着我国汽车保有量的持续增长,汽车排放污染跟能源问题将会越来越严峻。现在我们国家提

资讯

关于彝族服饰图案的毕业论文

阅读(77)

本文主要为您介绍关于彝族服饰图案的毕业论文,内容包括要写一篇有关民族服饰与旅游的论文,想以苗族服饰为例请大家帮我想,急需一篇中国少数民族服饰欣赏论文,彝族服饰的纹饰图案大多与什么有关。服饰是人的第二皮肤.是人类物质文明的标志,是

资讯

数据挖掘技术毕业论文

阅读(89)

本文主要为您介绍数据挖掘技术毕业论文,内容包括求数据挖掘的论文,急求有关数据挖掘方面的毕业论文题目,数据挖掘毕业设计。数据挖掘、OLAP在财务决策中的应用杨春华(杭州商学院财务与会计学院,杭州,310012)[摘要]数据挖掘、OLAP是当前基于大型

资讯

毕业论文怎样插入目录

阅读(91)

本文主要为您介绍毕业论文怎样插入目录,内容包括论文目录怎么弄,我的毕业论文不知如何添加目录啊,毕业论文目录怎么弄。你首先要把正文内容写好了,然后每个章节的大小标题(都是你想添加到目录里面的词条)都设置好对应的格式,比如:“第一章 绪论

资讯

can总线测试毕业论文

阅读(89)

本文主要为您介绍can总线测试毕业论文,内容包括can总线在系统应用中的抗干扰分析毕业论文,can总线在系统应用中的抗干扰分析毕业论文,基于CAN总线的电脑打铃系统毕业论文设计该怎么写开题报告。摘要: 针对我国变电站目前大多采用基于BITBUS

资讯

光伏专科毕业论文

阅读(96)

本文主要为您介绍光伏专科毕业论文,内容包括光伏专业毕业论文写什么题目好,光伏发电技术论文1000字,求关于太阳能光伏的论文。总体设计思路:拟屋顶建设低压配电用户侧并网光伏发电项目所发电量接入内供电网络光伏发电自发自用实现光伏新能源

资讯

煤粉炉毕业论文

阅读(90)

本文主要为您介绍煤粉炉毕业论文,内容包括煤粉锅炉灭火原因的分析论文,求一篇热电厂对环境的污染的毕业论文,急求焦炉、高炉煤气全分析技师论文5000字。浅析火力发电厂的污染和治理 背景:当今社会经济的飞速发展,工业生产居民生活等对电的需

资讯

电话客服毕业论文

阅读(74)

本文主要为您介绍电话客服毕业论文,内容包括我是做电话营销的我的毕业论文该怎么写,怎么写电话营销的毕业论文,关于电话营销的毕业论文。应该把行业因素考虑进去,这里给你个参考: 在激烈的市场竞争中,电话营销作为一种能够帮助企业获取更多利

资讯

土木工程3000实习毕业论文

阅读(78)

本文主要为您介绍土木工程3000实习毕业论文,内容包括求一份实习报告3000字以上是认识土木.,土木工程实习报告求一篇,求一份建筑工程技术的实习报告3000字就行了。土木工程认识实习报告 实践是大学生活的第二课堂,是知识常新和发展的源泉,是检

资讯

商务日语毕业论文范文

阅读(88)

本文主要为您介绍商务日语毕业论文范文,内容包括求一篇800010000字的日语论文只要不是文学都可以,谢谢~~百度,商务日语毕业论文怎么写,求一篇关于商务日语的论文,1000~1500字,最好在12月14日前能发。日语论文范文四:日本语の敬语の人间関系

资讯

java毕业论文题目

阅读(78)

本文主要为您介绍java毕业论文题目,内容包括java毕业论文写什么题目好能新颖点好,你好,基于java的毕业论文,有没有新颖一点,简单一点的选题推荐,有没有相对简单点的毕业设计题目,java类的~。你好, 计算机专业的毕设一般分为这两部分: 源码+论

资讯

3dmax古代场景毕业论文

阅读(90)

本文主要为您介绍3dmax古代场景毕业论文,内容包括3DMAX场景建模毕业论文,3DMAX毕业论文,3D游戏场景设计毕业论文怎么写。最低0.27元开通文库会员,查看完整内容> 原发布者:浅浅寂寞的五 目录摘要:所谓三维设计就是利用电脑设计与创作,一产生真实

资讯

旅游册毕业设计论文

阅读(84)

本文主要为您介绍旅游册毕业设计论文,内容包括写一篇关于旅游业的论文3000字左右,关于旅游的论文3000字,求3000字的旅游论文。这次是我们首次采取自助的形式出游,因此不像从前跟团那样省时省力,凡事都需要亲力亲为,好在有网络,给我们提供了许多

资讯

惠州学院优秀毕业论文

阅读(104)

本文主要为您介绍惠州学院优秀毕业论文,内容包括优秀毕业论文有什么用,有没有人知道申请优秀毕业论文有什么用,校级或者省级优秀毕业论文有什么用。省优秀毕业生证书代表了学生过去的优异成绩,肯定了过去的学习生涯。如果毕业后参加一些商务

资讯

南京大学本科毕业论文模板

阅读(71)

本文主要为您介绍南京大学本科毕业论文模板,内容包括毕业论文格式,论文的规范格式,论文的规范格式。南京信息工程大学毕业论文(设计)排版规范 xxxx(题目、居中、黑体、三号)(空1行)XXX(作者名宋体、居中、五号)南京信息工程大学X