欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOC文档下载  

    LCD遥控密码锁的设计与制作 毕业论文.doc

    • 资源ID:4508376       资源大小:636.56KB        全文页数:49页
    • 资源格式: DOC        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    LCD遥控密码锁的设计与制作 毕业论文.doc

    0 MECHANICAL sbit scl=P24; sbit fuwei=P36; sbit KAI=P10; sbit lcden=P27; sbit lcdrs=P26; sbit w1=P20; sbit w2=P21; sbit w3=P22; sbit w4=P23; uchar num,n=0,temp,count4,flag,date,r;/r 记录错误次数 uchar mima4; uchar yuanmima4; uchar tab_key4; bit mimaflag;/密码正确与否的标志 bit xiugaiflag;/修改密码标志 bit enter1flag;/确认密码修改 unsigned char KeyValue; void delay() ; void key_scan(); void key_scan1(); void DELAY(uint DELAY) uint h; for(;DELAY0;DELAY-) for(h=0;h110;h+) ; void msgbox(unsigned char MODE,unsigned char DATA)/选择写数据 or 命令 0 为命令 1 为数据 P0=DATA; if(0=MODE) lcdrs=0;/写命令 else lcdrs=1;/写数据 DELAY(5); lcden=1; DELAY(5); lcden=0; void lcdchar(unsigned char add,unsigned char ch) if(0!=add) msgbox(0,add); msgbox(1,ch); void lcdstring(unsigned char add,unsigned char *str) int I; msgbox(0,add); for(I=0;*(str+I)!='0'I+) msgbox(1,*(str+I); DELAY(2); void initlcd() lcden=0; msgbox(0,0x38); /显示模式设置 16*2 5*7 8 位 msgbox(0,0x0c); /开关光标显示设置 msgbox(0,0x06);/指针自动+1 msgbox(0,0x01);/清屏 msgbox(0,0x80);/0x80+0x10 /* void start() /开始信号 sda=1; delay(); scl=1; delay(); sda=0; delay(); void stop() /停止 sda=0; delay(); scl=1; delay(); sda=1; delay(); void respons() /应答 uchar i; scl=1; delay(); while(sda=1) scl=0; delay(); void init() /SHU SHI sda=1; delay(); scl=1; delay(); void write_byte(uchar date) /写到 24c02 uchar i,temp; temp=date; for(i=0;i8;i+) temp=temp1; scl=0; delay(); sda=CY; delay(); scl=1; delay(); scl=0; delay(); sda=1; delay(); uchar read_byte() uchar i,k; scl=0; delay(); sda=1; delay(); for(i=0;i8;i+) scl=1; delay(); k=(k1)|sda; scl=0; delay(); return k; void write_add(uchar address,uchar date) /从单元写 start(); write_byte(0xa0); respons(); write_byte(address); respons(); write_byte(date); respons(); stop(); uchar read_add(uchar address) /从单元读 start(); write_byte(0xa0); respons(); write_byte(address); respons(); start(); write_byte(0xa1); respons(); date=read_byte(); stop(); return date; void mimacmp() uchar i0,i1,i2,i3; i0=i1=i2=i3=0; if(mima0=tab_key0) i0=1; if(mima1=tab_key1) i1=1; if(mima2=tab_key2) i2=1; if(mima3=tab_key3) i3=1; flag=i0*i1*i2*i3; /全为 1 密码正确 void key_manage1() tab_keyn=0; n+; if(xiugaiflag=1) mimacount4=0; count4+; void key_manage2() tab_keyn=1; n+; if(xiugaiflag=1) mimacount4=1; count4+; void key_manage3() tab_keyn=2; n+; if(xiugaiflag=1) mimacount4=2; count4+; void key_manage4() tab_keyn=3; n+; if(xiugaiflag=1) mimacount4=3; count4+; void key_manage5() xiugaiflag=1; n=0; void c02int()/24c02 初始化 init(); write_add(1,0); DELAY(100); /init(); write_add(10,0); DELAY(100); / init(); write_add(20,0); DELAY(100); / init(); write_add(30,0); DELAY(100); void key_manage6() /确认件 if(enter1flag=1) c02int(); init(); write_add(1,mima0); DELAY(100); / init(); write_add(10,mima1); DELAY(100); / init(); write_add(20,mima2); DELAY(100); / init(); write_add(30,mima3); DELAY(100); yuanmima0=mima0=read_add(1); DELAY(100); yuanmima1=mima1=read_add(10); DELAY(100); yuanmima2=mima2=read_add(20); DELAY(100); yuanmima3=mima3=read_add(30); DELAY(100); enter1flag=xiugaiflag=0; DELAY(1000); KAI=0; lcdstring(0x80,“ PASSWORD RENEW “); DELAY(1000); lcdstring(0x80,“INPUT THE PASS“); lcdstring(0x80+0x40,“ WODE: _ “); void readmima() DELAY(100); yuanmima0=mima0=read_add(1); DELAY(100); yuanmima1=mima1=read_add(10); DELAY(100); yuanmima2=mima2=read_add(20); DELAY(100); yuanmima3=mima3=read_add(30); DELAY(100); void intmima() /初始化密码 3333 DELAY(100); write_add(1,3); DELAY(100); write_add(10,3); DELAY(100); write_add(20,3); DELAY(100); write_add(30,3); DELAY(100); void gaimimacmp() uchar i0,i1,i2,i3; i0=i1=i2=i3=0; if(mima0=yuanmima0) i0=1; if(mima1=yuanmima1) i1=1; if(mima2=yuanmima2) i2=1; if(mima3=yuanmima3) i3=1; flag=i0*i1*i2*i3;/比较结果 1 为正确 void main() w1=w2=w3=w4=0; n=flag=r=KAI=0; readmima(); DELAY(30); initlcd(); lcdstring(0x80,“INPUT THE PASS “);/开始显示输入密码 lcdstring(0x80+0x40,“ WODE: _ “); while(P3=0xff while(1) key_scan1(); key_scan(); if(xiugaiflag=1) if(count4=1) lcdchar(0x80+0x48,'*'); while(P3=0xff if(count4=2|count4=3) lcdchar(0,'*'); while(P3=0xff if(count4=4) lcdchar(0,'*'); DELAY(10); msgbox(0,0x01);/清屏 flag=0; gaimimacmp(); n=count4=0; if(flag=1) enter1flag=1; flag=n=0; lcdstring(0x80,“CHANGE PASSWORD “); elseif(enter1flag=1) lcdstring(0x80,“PRESS THE ENTER“); else flag=n=0;/不正确事件 lcdstring(0x80,“ WRONG POSSWORD “); DELAY(1000); xiugaiflag=0; lcdstring(0x80,“INPUT THE PASS“); lcdstring(0x80+0X40,“ WODE: _ “); /修改密码键没按下 if(xiugaiflag=0) if(n=1) lcdchar(0x80+0x48,'*');/星号显示 while(P3=0xff if(n=2|n=3) lcdchar(0,'*'); while(P3=0xff if(n=4) lcdchar(0,'*'); msgbox(0,0x01);/清屏 mimacmp(); n=0; if(flag=1) lcdstring(0x80,“password is right“); DELAY(1000); lcdstring(0x80,“INPUT THE PASS“); lcdstring(0x80+0X40,“ WODE: _ “); KAI=!KAI; r=0; flag=n=0; else lcdstring(0x80,“WRONG POSSWORD“); r=r+1; /错误次数记录 DELAY(1000);/显示到重新输入 if(r=3) /判断 3 次 while(1) msgbox(0,0x01); lcdstring(0x80,“ Three errors “); while(1); lcdstring(0x80,“INPUT THE PASS“); lcdstring(0x80+0x40,“ WODE: _ “); void key_scan() if(P3!=0Xff) temp=P3; while(P3!=0Xff) switch(temp) case 0xfe: key_manage1(); break; case 0xfd: key_manage2(); break; case 0xfb: key_manage3(); break; case 0xf7: key_manage4(); break; case 0xef: key_manage5(); break; case 0xdf: key_manage6(); break; case 0xbf: intmima(); readmima(); break; void key_scan1() if(w1=1) while(w1=1) ; key_manage1(); if(w2=1) while(w2=1) ; key_manage2(); if(w3=1) while(w3=1) ; key_manage3(); if(w4=1) while(w4=1) ; key_manage4();

    注意事项

    本文(LCD遥控密码锁的设计与制作 毕业论文.doc)为本站会员(白大夫)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开