freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

畢業(yè)設計-基于at89c51單片機的電子密碼鎖的設計-資料下載頁

2025-01-18 15:18本頁面
  

【正文】 for(i=0。i8。i++) { scl=1。 rd=1。 rd|=sda。 delay4us()。 scl=0。 delay4us()。 } scl=0。 delay4us()。 return rd。 }uchar sendbyte(uchar wd) //單片機向AT24C02寫數據{ uchar i。 bit ack0。 for(i=0。i8。i++) { sda=(bit)(wdamp。0x80)。 _nop_()。 _nop_()。 scl=1。 delay4us()。 scl=0。 wd=1。 } delay4us()。 sda=1。 scl=1。 delay4us()。 ack0=!sda。 scl=0。 delay4us()。 return ack0。 } uchar Recstring(uchar slave,uchar subaddr,uchar *buffer,uchar n) { uchar i。 start()。 if(!sendbyte(slave)) return 0。 if(!sendbyte(subaddr)) return 0。 start()。 if(!sendbyte(slave+1)) return 0。 for(i=0。in1。i++) { buffer[i]=recbyte()。 ack()。 } buffer[n1]=recbyte()。 noack()。 stop()。 return 1。 } uchar Sendstring(uchar slave,uchar subaddr,uchar *buffer,uchar n) { uchar i。 start()。 if(!sendbyte(slave)) return 0。 if(!sendbyte(subaddr)) return 0。 for(i=0。in。i++) { if(!sendbyte(buffer[i])) return 0。 } stop()。 return 1。 } bit pare_string(uchar *string1,uchar *string2) //密碼對比{ uchar counter。 for(counter=0。counter6。counter++) { if(string1[counter]!=string2[counter]) return(0)。 } return(1)。}void clear_password() //清除密碼程序{ uchar i。 for(i=0。i6。i++) { Userpassword[i]=39。 39。 } for(i=0。i16。i++) { DSY_BUFFER[i]=39。 39。 } } uchar Keys_Scan() //按鍵掃描程序{ uchar temp,keynum。 P2=0x0F。 delayms(5)。 temp=P2^0x0F。 switch(temp) { case 1:keynum=0。break。 case 2:keynum=1。break。 case 4:keynum=2。break。 case 8:keynum=3。break。 break。 } P2=0xF0。 delayms(5)。 temp=P24^0x0F。 switch(temp) { case 1:keynum+=0。break。 case 2:keynum+=4。break。 case 4:keynum+=8。break。 case 8:keynum+=12。break。 break。 } delayms(600)。 return keynum。 } void main() { uint count=0。 uchar temp,m=0,i=0,j=0,k=0。 uchar IS_valid_user=0。 bit a=1。 int b=0。 flag=0。 beep=1。 init()。 init_lcd()。 delayms(5)。 aa=Sendstring(0xa0,1,table2,6)。 delayms(5)。 aa=Recstring(0xa0,1,buffer,6)。 delayms(10)。 P2=0x0f。 clk=1。// PNP低電平開鎖,高電平上鎖; ledred=0。 //red。 while(1) { if(P2!=0x0f) { temp=Keys_Scan()。 beep=0。delayms(100)。beep=1。//按鍵音 switch(temp) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: Userpassword[m]=temp。m++。Userpassword[i]=temp。 if(i=5){ DSY_BUFFER[i]=39。*39。 Display_String(DSY_BUFFER,0xc0)。 i++。 } break。 case 10: //按A鍵開鎖 flag=0。 for(k=0。km。k++) { if(buffer[k]==(Userpassword[k]+48)) flag++。 else flag=0。 } if (flag==6) { flag=0。 i=0。 m=0。 ledred=1。 clk=0。 led=0。 Display_String(OPEN OK! ,0xc0)。 IS_valid_user = 1。 j=0。 } else { flag=0。 j++。ledred=0。 clk=1。 led=1。 clear_password()。 Display_String(ERROR!Have try ,0xc0)。 write_(0xcf)。 write_date(0x30+j)。 IS_valid_user=0。 } i=0。 m=0。 break。 case 11: //按B鍵上鎖 led=1。 flag=0。 ledred=0。//red clk=1。// clear_password()。 Display_String(table,0x80)。 Display_String(Lock OK! ,0xc0)。 i=0。m=0。 IS_valid_user=0。 break。 case 12: //按C鍵設置新密碼 如果是合法用戶則提示輸入新密碼 if ( !IS_valid_user) { i=0。 Display_String(No rights ! ,0xc0)。 delayms(1000)。 Display_String(Your Password...,0x80)。 Display_String(Lock OK! ,0xc0)。 } else { i=0。clear_password()。 m=0。 Display_String(New Password: ,0x80)。 Display_String( ,0xc0)。 a=1。b=0。 } break。 case 13: //按D鍵保存新密碼 a=~a。b=(int)a。 if ( !IS_valid_user) { m=0。 i=0。clear_password()。 Display_String(No rights ! ,0xc0)。 delayms(1000)。 Display_String(Your Password...,0x80)。 Display_String(Lock OK! ,0xc0)。 } else { switch(b) { case 0: i = 0。 m=0。 for(k=0。k6。k++) { Userpassword1[k]=Userpassword[k]+48。 } i=0。clear_password()。 Display_String(input again ... ,0x80)。 Display_String( ,0xc0)。 break。 case
點擊復制文檔內容
法律信息相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1