密码(完整版)单片机电子密码锁(可以修改设置密码)——基于51单片机毕业论文

修改密码  时间:2021-02-22  阅读:()

单片机电子密码锁 (可以修改设置密码)――基于51单片机与AT24C02与LCD1602显示

其电路图连接如下本人已经用硬件实验程序可用。正确 ~~本程序特点装载后读者可以自改密码然后需要再次载入程序时可以把主程序aa=Sendstring(0xa0,1,table2,6)这一句去掉。然后程序的电子锁密码就是你个人设置的密码。

LCD1

程序代码为:

#include<reg51.=P0

XrMJ

Rir

F7 !|

uchar code table[]="Your Password...";void delayms(uint z)

{uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);

}void delay()短延时两个机器周期 ,做总线的延时{;;}void write_com(uchar com)

{rs=0;rd=0;lcden=0;

P2=com;delayms(3);lcden=1;delayms(3);lcden=0;

}void write_date(uchar date)

{rs=1;rd=0;lcden=0;

P2=date;delayms(3);lcden=1;delayms(3);lcden=0;

}void Display_String(uchar*p,uchar com)

{uchar i;write_co m(c o m);for(i=0;i<16;i++)

{write_date(p[i]);

}

}void init_lc d()

{lcden=0;write_co m(0 x38);write_co m(0 x0 c);write_co m(0 x06);write_co m(0 x01);write_co m(0 x80);

Display_String(table,0x80);

Display_String("Lock OK! ",0xc0);}

void start() {sda=1;scl=1;delay4us();sda=0;delay4us();scl=0;

}void stop()

{sda=0;scl=1;delay4us();sda=1;delay4us();scl=0;

}vo id init()初始化{sda=1;delay();scl=1;delay();

}

void ack()

{sda=0;scl=1;delay4us();scl=0;sda=1;

}void noack()

{sda=1;scl=1;delay4us();scl=0;sda=0;

}uchar recbyte()

{uchar i,rd;rd=0x00;sda=1;for(i=0;i<8;i++) {rd<<=1;scl=1;

rd|=sda;delay4us();scl=0;delay4us();

}scl=0;delay4us();return rd;

}uchar sendbyte(uchar wd)

{uchar i;bit ack0;for(i=0;i<8;i++)

{s da=(bit)(wd&0x80);

_nop_();

_nop_();scl=1;delay4us();scl=0;wd<<=1;

}delay4us();sda=1;

scl=1;delay4us();ack0=!sda;scl=0;delay4us();return ack0;

}uchar Recstring(uchar slaveuchar i;start();if(!sendbyte(slave))return 0;if(!sendbyte(subaddr))return 0;start();if(!sendbyte(slave+1))return 0;for(i=0;i<n-1;i++)

{buffer[i]=recbyte();ack();

}buffe r[n-1]=re cbyte();noack();stop();return 1;

uchar Sendstring(uchar slaveuchar i;start();if(!sendbyte(slave))return 0;if(!sendbyte(subaddr))return 0;for(i=0;i<n;i++)

{if(!sendbyte(buffer[i]))return 0;

}stop();return 1;

}void clear_password()

{ uchar i;for(i=0;i<6;i++)

{

Us e rpas swo rd[i]='';

}for(i=0;i<16;i++)

{

D SY_BUFFER[i]='';

}

()uchar temp,keynum;

P1=0x0F;delayms(5);te mp=P 1 A0 x0F;switch(temp)

{case 1:keynum=0;break;case 2:keynum=1;break;case 4:keynum=2;break;case 8:keynum=3;break;break;}

P1=0xF0;delayms(5);te mp=P 1>>4A0 x0F;switch(temp)

{case 1:keynum+=0;break;case 2:keynum+=4;break;case 4:keynum+=8;break;case 8:keynum+=12;break;break;}delayms(600);return keynum;void main()

{uchar temp,i=0,j=0,k=0,n;uchar IS_valid_user;beep=1;init();init_lc d();delayms(5);

LOCVPS(29.6元/月)KVM架构 香港/美国机房全场8折

LOCVPS商家我们还是比较熟悉的老牌的国内服务商,包括他们还有其他的产品品牌。这不看到商家的信息,有新增KVM架构轻量/迷你套餐,提供的机房包括香港云地和美国洛杉矶,适用全场8折优惠,月付29.6元起。LOCVPS是一家成立于2011年的稳定老牌国人商家,主要从事XEN、KVM架构的国外VPS销售,主推洛杉矶MC、洛杉矶C3、香港邦联、香港沙田电信、香港大埔、日本东京、日本大阪、新加坡等数据中心...

hypervmart:英国/荷兰vps,2核/3GB内存/25GB NVMe空间/不限流量/1Gbps端口/Hyper-V,$10.97/季

hypervmart怎么样?hypervmart是一家国外主机商,成立于2011年,提供虚拟主机、VPS等,vps基于Hyper-V 2012 R2,宣称不超售,支持linux和windows,有荷兰和英国2个数据中心,特色是1Gbps带宽、不限流量。现在配置提高,价格不变,性价比提高了很多。(数据中心不太清楚,按以前的记录,应该是欧洲),支持Paypal付款。点击进入:hypervmart官方网...

小白云 (80元/月),四川德阳 4核2G,山东枣庄 4核2G,美国VPS20元/月起三网CN2

小白云是一家国人自营的企业IDC,主营国内外VPS,致力于让每一个用户都能轻松、快速、经济地享受高端的服务,成立于2019年,拥有国内大带宽高防御的特点,专注于DDoS/CC等攻击的防护;海外线路精选纯CN2线路,以确保用户体验的首选线路,商家线上多名客服一对一解决处理用户的问题,提供7*24无人全自动化服务。商家承诺绝不超开,以用户体验为中心为用提供服务,一直坚持主打以产品质量用户体验性以及高效...

修改密码为你推荐
暴风影音怎么截图暴风影音3 如何截图金山杀毒怎么样金山杀毒好吗?flash导航条谁来帮我看看这样的flash导航条 下面的页面该怎么设计办公协同软件协同企业办公的软件有哪些?iphone越狱后怎么恢复苹果手机越狱后怎么恢复直播加速怎么让已拍摄好的视频加速开机滚动条开机滚动条太多怎么办?迅雷云点播账号求迅雷云播账号bt封杀为什么现在网上许多BT下载都被封了?分词技术百度的中文分词原理是什么?与IK分词有区别吗?
政务和公益机构域名注册管理中心 厦门域名注册 vps侦探 上海vps 免费动态域名解析 budgetvm 老左 亚洲大于500m hostmonster mach 贵州电信宽带测速 腾讯云分析 可外链相册 tna官网 免费申请网站 台湾谷歌 Updog 个人免费主页 免费mysql数据库 申请网站 更多