自己做的门禁系统3
时间:11-29
来源:互联网
点击:
之前上传的所有门禁制作程序绝大部分为本人原创(只有I2C程序为网上收集本人更改),所有看到的人可以用来用作个人讨论,学习和研究。禁止完全使用或修改使用在以盈利为目的的商业用途。如有违反,本人保留一切权利。解释权归本人所有。
昨天晚上终于完成了按键操作,由于太晚没上传,大部分功能已经完成,一个简单(功能相对于专业门禁来说简单,制作对我来说相当复杂,但也是体现我的单片机和电子技术水平又有提高)的门禁可以使用了,目前的功能有:读卡开门,密码开门,加卡,删卡,更改密码,系统初始化。后期要加上:远程控制开门,加卡,删卡,监控等。下面是程序:
/*////////////////////////////////////函数原型:void psw(void)函数说明:密码写入EEPROM中版本:V1.0.0程序员:LIY12586////////////////////////////////////*/void psw(void){uchar a=0,b=2,c,d,x=0;timer=0;while(1){ c=key();if(c==12){ sound(1);break;}if(ex==1){sound(1);ex=0;break;} if(c!=0){if(a<6){keybuff[a]=c;a++;if(a==6)sound(2);}else if(a>6,a<13){if(c!=keybuff[x]){sound(20);x=0;a=0;break;}a++;x++;if(a==12){a=0;x=0;b=2;for(d=0;d<6;d++){wt24c(b,keybuff[d]);ys100us(1000);b++;}SEND(&keybuff[0]);break;}}}}}/*////////////////////////////////////函数原型:bit keyscan(void)函数说明:键盘操作扫描版本:V1.0.0程序员:LIY12586////////////////////////////////////*/bit keyscan(void){uchar a=1,c,d;scan=key();if(scan!=0){if(scan!=11){d=scan;timer=0;keybuff[0]=scan;scan=0;while(1){if(d==12){ sound(1);break;}c=key();if(c==12){ sound(1);break;}else if(ex==1){sound(1);ex=0;break;} else if(c!=0){keybuff[a]=c;a++;if(a==6){a=0;SEND(&keybuff[0]);return 1;break;}}}}}return 0;} /*////////////////////////////////////函数原型:void password(void)函数说明:确认密码版本:V1.0.0程序员:LIY12586////////////////////////////////////*/bit password(void){uchar a,b;if(keyscan()){b=2;for(a=0;a<6;a++){if(keybuff[a]!=rd24c(b)){break;}b++;if(b==8)return 1;}if(b!=8){ sound(5);// LED=0;return 0;}}}/*////////////////////////////////////函数原型:void systeminit(void)函数说明:系统初始化版本:V1.0.0程序员:LIY12586////////////////////////////////////*/void systeminit(void){uchar a;wt24c(0,0x02);ys100us(1000);wt24c(1,0xab);ys100us(1000);wt24c(2,0x01);ys100us(1000);wt24c(3,0x02);ys100us(1000);wt24c(4,0x03);ys100us(1000);wt24c(5,0x04);ys100us(1000);wt24c(6,0x05);ys100us(1000);wt24c(7,0x06);ys100us(1000);for(a=8;a<128;a++){if(rd24c(a)!=0xff){//ysms(100)wt24c(a,0xff);ys100us(1000);}}sound(5);}
门禁系统EEPRO 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)