mimasuo.zip

  • 口香糖的秘密
    了解作者
  • Visual C++
    开发工具
  • 32KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 1
    下载次数
  • 2015-12-03 16:18
    上传日期
简易密码锁,51单片机,1602显示,两个按键。
mimasuo.zip
  • 密码
  • keyword_uvopt.bak
    53.9KB
  • keyword.LST
    16.5KB
  • keyword.plg
    154B
  • keyword
    14.6KB
  • keyword.uvproj
    12.9KB
  • keyword.hex
    3.8KB
  • keyword.M51
    21.1KB
  • keyword.uvopt
    53.9KB
  • keyword_uvproj.bak
    0B
  • keyword.lnp
    46B
  • keyword.c
    4.9KB
  • keyword.OBJ
    17KB
内容介绍
#include<reg52.h> #define uchar unsigned char #define uint unsigned int #define VELOCITY_30C 3495 #define VELOCITY_23C 3453 sbit INPUT = P3^2; sbit OUTPUT = P3^3; sbit rs=P2^2; sbit rw=P2^3; sbit en=P2^4; sbit key1=P3^4; sbit key2=P3^5; sbit key3=P3^6; sbit wei=P2^7; sbit duan=P2^6; uchar code ktable[]=" KEYWORDS "; uchar code ktable1[]=" ****** "; uchar code ktable2[]=" KEYWORDS RIGHT "; uchar code ktable3[]=" KEYWORDS WRONG "; uchar code ktable4[]="AFTER S CLEAR"; uchar code ktable5[]=" HINT:BOMB LOCK "; uchar kflag,key_flag=2,try_flag,flag; long keyw=123456,keym=0; long int distance=0; uchar s1,s2,s3,s4,s5,s6; uchar time=30; void delay(uint z) { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } void write_com(uchar com) { rs=0; en=0; P0=com; delay(5); en=1; delay(5); en=0; } void write_data(uchar dat) { rs=1; en=0; P0=dat; delay(5); en=1; delay(5); en=0; } void init_lcd() { rw=0; en=0; write_com(0x38); write_com(0x06); write_com(0x0c); write_com(0x01); write_com(0x80); } void init_time1() { TMOD=0x10; TH1=(65535-50000)/256; TL1=(65535-50000)%256; //1ms ET1=1; EA=1; // TR1=1; } void check() { if(flag==20) { flag=0; write_com(0x80+0x40+6); write_data(0x30+time/10); write_data(0x30+time%10); time--; } } void display() { uchar num; write_com(0x80); for(num=0;num<16;num++) { write_data(ktable[num]); delay(5); } write_com(0x80+0x40); for(num=0;num<16;num++) { write_data(ktable1[num]); delay(5); } } void display2() { uchar num; write_com(0x80); for(num=0;num<16;num++) { write_data(ktable2[num]); delay(5); } } void display3() { uchar num; write_com(0x80); for(num=0;num<16;num++) { write_data(ktable3[num]); delay(5); } write_com(0x80+0x40); for(num=0;num<16;num++) { write_data(ktable4[num]); delay(5); } } void wrong() { try_flag++; key_flag=1; if(try_flag==4) { uchar num; write_com(1); write_com(0x80); for(num=0;num<16;num++) { write_data(ktable5[num]); delay(5); } for(;;); } write_com(0x01); display3(); TR1=1; for(;;) { if(time==-1) { TR1=0; time=30; write_com(1); display(); break; } } } void write_hms(uchar add,uchar dat) { uchar ge; ge=dat%10; write_com(0x80+0x40+add); write_data(0x30+ge); } void keyscan() { if(key1==0) { delay(5); if(key1==0) { kflag++; key_flag=1; while(!key1); if(kflag==1) { write_com(0x80+0x40+5); write_com(0x0f); } if(kflag==2) { write_com(0x80+0x40+5); write_data('*'); write_com(0x80+0x40+6); } if(kflag==3) { write_com(0x80+0x40+6); write_data('*'); write_com(0x80+0x40+7); } if(kflag==4) { write_com(0x80+0x40+7); write_data('*'); write_com(0x80+0x40+8); } if(kflag==5) { write_com(0x80+0x40+8); write_data('*'); write_com(0x80+0x40+9); } if(kflag==6) { write_com(0x80+0x40+9); write_data('*'); write_com(0x80+0x40+10); } if(kflag==7) { keym=s6+s5*10+s4*100+s3*1000+s2*10000+s1*100000; write_com(0x80+0x40+10); write_data('*'); kflag=0; key_flag=0; write_com(0x0c); } } } if(!kflag==0) { if(key2==0) { delay(5); if(key2==0) { while(!key2); if(kflag==1) { s1++; if(s1==10) { s1=0; } write_com(0x80+0x40+5); write_hms(5,s1); write_com(0x80+0x40+5); } if(kflag==2) { s2++; if(s2==10) { s2=0; } write_com(0x80+0x40+6); write_hms(6,s2); write_com(0x80+0x40+6); } if(kflag==3) { s3++; if(s3==10) { s3=0; } write_com(0x80+0x40+7); write_hms(7,s3); write_com(0x80+0x40+7); } if(kflag==4) { s4++; if(s4==10) { s4=0; } write_com(0x80+0x40+8); write_hms(8,s4); write_com(0x80+0x40+8); } if(kflag==5) { s5++; if(s5==10) { s5=0; } write_com(0x80+0x40+9); write_hms(9,s5); write_com(0x80+0x40+9); } if(kflag==6) { s6++; if(s6==10) { s6=0; } write_com(0x80+0x40+10); write_hms(10,s6); write_com(0x80+0x40+10); } } } } } void main() { wei=0; duan=0; init_time1(); init_lcd(); display(); for(;;) { keyscan(); if(keym==keyw) { write_com(0x01); display2(); for(;;); } else { if(key_flag==0) { wrong(); } } } } void time1() interrupt 3 { TH1=(65535-50000)/256; TL1=(65535-50000)%256; flag++; check(); }
评论
    相关推荐
    • 数据库课程设计
      一个数据库课程设计,access管理工具实现,用的是窗体!
    • 数据库课程设计
      数据库课程设计十分完整有需要的请下载啊谢谢
    • 数据库课程设计
      广东工业大学数据库课程设计,可视化界面连接数据库,delphi7
    • 数据库课程设计
      数据库课程设计实验及其描述 数据库课程设计实验及其描述 数据库课程设计实验及其描述 数据库课程设计实验及其描述 数据库课程设计实验及其描述 数据库课程设计实验及其描述
    • 数据库课程设计
      数据库课程设计》由周爱武、汪海威、肖云编著,遵循数据库课程设计的具体要求,独立于具体的数据库教材,从实际应用系统的需求着手,引导读者逐步完成数据库设计全过程,重点讲解数据库系统的需求分析、概念设计、...
    • 数据库课程设计
      数据库课程设计人事管理系统 数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计人事管理系统数据库课程设计...
    • 数据库课程设计
      数据库课程设计,基于visual basic自助银行管理系统,界面很清爽,实用。同学都说好,所以就上传了!!!
    • 数据库课程设计
      数据库课程设计 里面有详细的文档资料 包含数据库一切的图 以及生成的数据库表文件 期末得分为优秀
    • 数据库课程设计
      可以作为数据库课程设计,也可以作为Java的课程设计,内容全面。本资源转载的,非本人原创。用于交流学习,特此申明!
    • 数据库课程设计
      数据库课程设计蓝天大学学生管理系统 2.商店信息管理系统 3.实验室机房收费管理系统 4.图书馆资料检索系统 5.企业库存管理系统 6.仓库管理系统 7.工程项目管理系统 8.教材管理系统 9.企业人事管理系统 10.企业财务...