门禁系统源程序文件_第1页
门禁系统源程序文件_第2页
门禁系统源程序文件_第3页
门禁系统源程序文件_第4页
门禁系统源程序文件_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

门禁系统源程序文件#include<reg51.h>#include<Intrins.h>#define DATA P0//1602驱动端口sbitRS=P2^0;sbitRW=P2^1;sbitE=P2^2;sbitKA=P2^7;intPre_KeyNo=16,KeyNo=16;voiddelayMs(intx);voidKeys_Scan();voidBusy() //LED液晶是否忙碌{ DATA=0xff; RS=0; RW=1; while(DATA&0x80) { E=0; E=1; } E=0;}//LED写指令程序voidWriteCommand(unsignedcharbtCommand){ Busy(); RS=0; RW=0; E=1; DATA=btCommand; E=0;}//LED写数据程序voidWriteData(unsignedcharbtData){ Busy(); RS=1; RW=0; E=1; DATA=btData; E=0;门禁系统源程序文件全文共5页,当前为第1页。}门禁系统源程序文件全文共5页,当前为第1页。//LED清屏显示voidClear(){ WriteCommand(1);}//LED初始化voidInit(){ WriteCommand(0x0c); //开显示,无光标显示 WriteCommand(0x06); //文字不动,光标自动右移 WriteCommand(0x38); //设置显示模式:8位2行5x7点阵WriteCommand(0x40);//for(i=0;i<24;i++)//日字产生//WriteData(rizi[i]);}//LED显示单个字符voidDisplayOne(bitbRow,unsignedcharbtColumn,unsignedcharbtData,bitbIsNumber){ if(bRow) WriteCommand(0xc0+btColumn); else WriteCommand(0x80+btColumn); if(bIsNumber) WriteData(btData+0x30); else WriteData(btData);}voidKeys_Scan(){ charTmp; P1=0x0f; delayMs(1); Tmp=P1^0x0f; switch(Tmp) { case1:KeyNo=0;break; case2:KeyNo=1;break; case4:KeyNo=2;break; case8:KeyNo=3;break; default:KeyNo=16; }门禁系统源程序文件全文共5页,当前为第2页。 P1=0xf0;门禁系统源程序文件全文共5页,当前为第2页。 delayMs(1); Tmp=P1>>4^0x0f; switch(Tmp) { case1:KeyNo+=0;break; case2:KeyNo+=4;break; case4:KeyNo+=8;break; case8:KeyNo+=12; }}voiddelayMs(intx){ chart; while(x--)for(t=0;t<120;t++);}voidmain(){inthang=0,c=0;inti,j=0;unsignedchartab[12],tab1[12]={1,1,1,1,1,1}; unsignedchartab3[]="welcometo..."; unsignedchartab4[]="alterpassword..."; unsignedchartab5[]="OK"; unsignedchartab6[]="NO"; Init();loop1:Clear(); i=0; KeyNo=16;while(1){ WriteCommand(0x80);for(c=0;c<14;c++)WriteData(tab3[c]);P1=0xf0; if(P1!=0xf0)Keys_Scan(); if(Pre_KeyNo!=KeyNo){ if(KeyNo>=0&&KeyNo<=9) { tab[i++]=KeyNo; DisplayOne(1,i,'*',0); //DisplayOne(0,i,KeyNo,1); }门禁系统源程序文件全文共5页,当前为第3页。 if(KeyNo==14)门禁系统源程序文件全文共5页,当前为第3页。 { while(P1!=0xf0); gotoloop1; } if(KeyNo==11)KA=1; if(KeyNo==10) { for(j=0;j<6;j++) if(tab[j]!=tab1[j])break; if(j==6) { KA=0; for(j=0;j<6;j++)tab[j]=0; } while(P1!=0xf0); gotoloop1; } if(KeyNo==12) { i=0; WriteCommand(0x80);for(c=0;c<16;c++)WriteData(tab4[c]); while(1) { KeyNo=16; P1=0xf0; if(P1!=0xf0)Keys_Scan(); if(Pre_KeyNo!=KeyNo) { if(KeyNo>=0&&KeyNo<=9) { tab1[i++]=KeyNo; DisplayOne(1,i,'*',0); //DisplayOne(0,i,KeyNo,1); } } while(P1!=0xf0); if(KeyNo==13)gotoloop1; } }

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论