急求C语言电子密码锁程序
你要什么要求的程序呢?我这里有个程序 #include #include #include unsigned char code ps[] ={1,2,3,4,5}; unsigned char code dispcode[] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40}; unsigned char pslen=9; unsigned char templen; unsigned char digit; unsigned char funcount; unsigned char digitcount; un...全部
你要什么要求的程序呢?我这里有个程序 #include #include #include unsigned char code ps[] ={1,2,3,4,5}; unsigned char code dispcode[] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40}; unsigned char pslen=9; unsigned char templen; unsigned char digit; unsigned char funcount; unsigned char digitcount; unsigned char psbuf[9]; bit cmpflag; bit hibitflag; bit errorflag; bit rightflag; unsigned int second3; unsigned int aa; unsigned int bb; bit alarmflag; bit exchangeflag; unsigned int cc; unsigned int dd; bit okflag; unsigned char oka; unsigned char okb; sbit P0_0=P0^0; sbit P0_1=P0^1; sbit P3_6=P3^6; sbit P3_7=P3^7; void main(void) { unsigned char i,j; P1=dispcode[digitcount]; TMOD=0x01; TH0=(65536-500)/256; TL0=(65536-500)%6; TR0=1; ET0=1; EA=1; while(1) { if(cmpflag==0) { if(P3_6==0) //function key { for(i=10;i>0;i--) for(j=248;j>0;j--); if(P3_6==0) { if(hibitflag==0) { funcount ; if(funcount==pslen 2) { funcount=0; cmpflag=1; } P1=dispcode[funcount]; } else { second3=0; } while(P3_6==0); } } if(P3_7==0) //digit key { for(i=10;i>0;i--) for(j=248;j>0;j--); if(P3_7==0) { if(hibitflag==0) { digitcount ; if(digitcount==10) { digitcount=0; } P2=dispcode[digitcount]; if(funcount==1) { pslen=digitcount; templen=pslen; } else if(funcount>1) { psbuf[funcount-2]=digitcount; } } else { second3=0; } while(P3_7==0); } } } else { cmpflag=0; for(i=0;i{ ; if(ps!=psbuf){ hibitflag=1; i=pslen; errorflag=1; rightflag=0; cmpflag=0; second3=0; goto a; } } cc=0; errorflag=0; rightflag=1; hibitflag=0; a: cmpflag=0; } } } void t0(void) interrupt 1 using 0 { TH0=(65536-500)/256; TL0=(65536-500)%6; if((errorflag==1) && (rightflag==0)) { bb ; if(bb==800) { bb=0; alarmflag=~alarmflag; } if(alarmflag==1) { P0_0=~P0_0; } aa ; if(aa==800) { aa=0; P0_1=~P0_1; } second3 ; if(second3==6400) { second3=0; hibitflag=0; errorflag=0; rightflag=0; cmpflag=0; P0_1=1; alarmflag=0; bb=0; aa=0; } } if((errorflag==0) && (rightflag==1)) { P0_1=0; cc ; if(cc{ okflag=1; } else if(cc{ okflag=0; } else { errorflag=0; rightflag=0; hibitflag=0; cmpflag=0; P0_1=1; cc=0; oka=0; okb=0; okflag=0; P0_0=1; } if(okflag==1) { oka ; if(oka==2) { oka=0; P0_0=~P0_0; } } else { okb ; if(okb==3) { okb=0; P0_0=~P0_0; } } } }。
收起