您当前所在位置:首页经济论文还一个星期就要交毕业论文了,我还什么都没写,我做的是指纹识别电子锁,我有以前学生做好的模板,他用的

还一个星期就要交毕业论文了,我还什么都没写,我做的是指纹识别电子锁,我有以前学生做好的模板,他用的

发布时间:2023-07-26 13:06:25编辑:小编归类:经济论文

一、还一个星期就要交毕业论文了,我还什么都没写,我做的是指纹识别电子锁,我有以前学生做好的模板,他用的

我建议你先看看这个两个芯片的说明书,一般来说芯片不用内部的寄存器引脚,支持的指令不同。你可以试试把相同的引脚寄存器替换下,应该可以蒙过去,就看你导师的水平了。

二、基于单片机的电子密码锁设计(C程序)

用数组存储密码。。。。设定密码:写入数组,判断密码:读取数组,其他IO状态根据判断正确与否输出

三、求基于VHDL的四位电子密码锁的开题报告和论文

这个网站上有(电子密码锁)(数字电路设计) 下载后打开就是.

四、基于AT89C5`单片机电子密码锁的设计_百度文库 请问你有相应密码锁程序吗?跪求啊 可以给你加豆子

这个开机显示STAR,你可以根据需要来改。功能如下:初始密码1234,如果输入密码正确,显示open,错误显示wrong。密码可以修改,密码修改成功后返回初始转台。程序经过硬件调试通过。

#include <reg52.h>

#define uchar unsigned char

#define uint unsigned int

bit 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; //定义初始密码为1234

uchar 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状态,等待重新读密码

}

}

}

}

际蓝论文网版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

literaturereview什么意思? 请问,毕业论文酒店管理中的哪个部分比较容易写(资料什么比较多的)。另求题目。