电子密码锁完整代码.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
电子密码锁完整代码

#includereg51.h #include intrins.h #include absacc.h #include VIIC_C51.h #define uchar unsigned char #define uint unsigned int #define CSI24WC02 0XA0 #define uchar unsigned char sbit lcdrs=P2^0; sbit lcdrw=P2^1; sbit lcden=P2^2; sbit alarm=P2^3; sbit red=P2^7; sbit green=P2^6; sbit KEY_INT=P3^2; //led test sbit LED1=P3^5; sbit LED2=P3^1; uchar hour,min,sec,us; uchar flag=1,canscan=0,lock=0; uchar password[8]={0,0,0,0,0,0,0,0}; uchar input[8]={0,1,2,3,4,5,6,7}; uchar code a[]={0xF7,0xFB,0xFD,0xFE}; unsigned char DelayNS(unsigned char no) { unsigned char i,j; for(; no0; no--) { for(i=0; i100; i++) for(j=0; j100; j++); } return 0; } unsigned char delay_eep(unsigned char j) { unsigned char k,l; for(l=0;l=j;l++) for(k=0;k=250;k++); return 0; } void t0_init() { TMOD=0x01; TL0=0xb0; TH0=0x3c; TR0=0; EA=1; ET0=1; } void delay(uchar n) { uchar i; while(n--) for(i=125;i0;i--); } //lcd 写命令 void write_com(uchar com) { lcdrs=0; lcdrw=0; P0=com; delay(2); lcden=1; delay(2); lcden=0; } //lcd 写数据 void write_data(uchar date) { lcdrs=1; lcdrw=0; P0=date; delay(2); lcden=1; delay(2); lcden=0; } //lcd 的初始化 void init_lcd() { write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01); } // lcd 清屏 void clearscn() { write_com(0x06); write_com(0x01); } //lcd 显示坐标 void gotoxy(uchar x,uchar y) { if(x==1) write_com(0x80+y); if(x==2) write_com(0xc0+y); } //写lcd字符串 void write_str(uchar *str) { while(*str!=\0) { write_data(*str); delay(2); str++; } } //写一位数字 void write_num(uchar num) { write_data(0x30+num); } //写两位数 void write_num2(uchar num) { uchar x,y; x=num/10; y=num%10; write_num(x); write_num(y); } // 矩阵键盘扫描函数 uchar scan(void) { uchar row,col; uchar j,m; P1=0xF0; if((P10xF0)!=0xF0) { delay(1); if((P10xF0)!=0xF0) col=~(P1|0x0F); j=0; P1=a[j]; while(j=3) { if((P10xF0)!=0xF0) { row=~a[j]; break; } else {j++;P1=a[j];} } m=row

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档