您的位置 首页 设计

自己做的门禁体系2

门禁的配件差不多买回来了。at89s52要二十块,24c02要十块,7805要5块,洞洞板一小块要十块,id读卡器45块。唉,什么都贵死了。光这个的价

门禁的配件差不多买回来了。at89s52要二十块,24c02要十块,7805要5块,洞洞板一小块要十块,id读卡器45块。唉,什么都贵死了。

光这个的价格就可以买个好的单门门禁了。可是制造的趣味却是买不到的,
前次的IIC和韦根26的程序从这儿翻开:http://www.51hei.com/mcu/1231.html

累啊!脑力劳动比体力劳动要累多了!写得并调式好几个程序花了我不少精力,打字都嫌累了,贴上几个程序:

/*////////////////////////////////////函数原型:函数阐明:串口接纳中止版别:V1.0.0程序员:LIY12586////////////////////////////////////*/void ser() interrupt 4{RI=0;z=SBUF;ai=1;}/*////////////////////////////////////函数原型:void sound(uchar a)函数阐明:蜂鸣器发声,a为需求宣布多少次DIDI音版别:V1.0.0程序员:LIY12586////////////////////////////////////*/void sound(uchar a){uchar x,y;for(;a>0;a--){for(x=255;x>0;x--){beep=0;for(y=150;y>0;y--)beep=1;beep=0;}ysms(500);}   }void ysms(unsigned int x){unsigned int a;unsigned int b;for(a=x;a>0;a--){for(b=50;b>0;b--);}}/*////////////////////////////////////函数原型:void inscard(void)函数阐明:存入卡号到EEPROM版别:V1.0.0程序员:LIY12586////////////////////////////////////*/void inscard(void){while(1){if(re()){if(iscard()==0)//假如没有这卡号/{uchar a,b;b=ckdz();     //查找空置/for(a=3;a<6;a++){wt24c(b,WG[a]);ys100us(1000);b++;}//   wt24c(0,b);ys100us(1000);sound(1);break;}sound(2);break;}if(key()==12){sound(1);break;}}}/*////////////////////////////////////函数原型:void delcard(void)函数阐明:从EEPROM中删去卡号版别:V1.0.0程序员:LIY12586////////////////////////////////////*/void delcard(void){while(1){if(re()){if(iscard()!=0)   //假如有这张卡号/{uchar a,b;b=iscard();     //查找空置/for(a=0;a<3;a++){wt24c(b,0xff);ys100us(1000);b=b+1;}//   wt24c(0,b);ys100us(1000);      sound(1);break;}sound(2);break;}if(key()==12){sound(2);break;}}}/*////////////////////////////////////函数原型:uchar iscard(void)函数阐明:查找是否有此卡版别:V1.0.0程序员:LIY12586////////////////////////////////////*/uchar iscard(void){uchar a,b;for(a=8;a<128;a++){if(rd24c(a)==WG[3]){a++;if(rd24c(a)==WG[4]){a++;if(rd24c(a)==WG[5]){b=a-2;return b;} }      }if(a==127)return 0;}}/*////////////////////////////////////函数原型:uchar ckdz(void)函数阐明:查找EEPROM的空白方位地址版别:V1.0.0程序员:LIY12586////////////////////////////////////*/uchar ckdz(void)//查空地址/{uchar a,b,c;for(a=2;a<126;a++){c=a;c++;if(rd24c(a)==0xff){a++;if(rd24c(a)==0xff){a++;if(rd24c(a)==0xff){b=a-2;return b;} }      }if(c==126)return 0xff;}} /*////////////////////////////////////函数原型:void readcard(void)函数阐明:读卡正确版别:V1.0.0程序员:LIY12586////////////////////////////////////*/void readcard(void){if(re()){if(iscard()!=0){SEND(&WG[0]);open();}sound(2);}}/*////////////////////////////////////函数原型:void open(void)函数阐明:翻开版别:V1.0.0程序员:LIY12586////////////////////////////////////*/void open(void){//out=0;SEND(&WG[0]);sound(1);ysms(10000);//out=1;}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/sheji/319445.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部