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

正文內(nèi)容

畢業(yè)設(shè)計論文_基于單片機(jī)的電子密碼鎖設(shè)計-資料下載頁

2025-08-21 19:44本頁面

【導(dǎo)讀】基于單片機(jī)的電子密碼鎖設(shè)計

  

【正文】 UFFER[i]=39。 39。 } } uchar Keys_Scan() //鍵盤矩陣掃描子程序 { uchar temp,keynum。 P0=0x0F。 //高四位置 0,放入四行 33 delayms(5)。 temp=P0^0x0F。 //異或操作,把 3 個 1 變成 0,唯一的 0 變成 1 switch(temp) //判斷按鍵發(fā)生于 0~3 列中的哪一列 { case 1:keynum=0。break。 case 2:keynum=1。break。 case 4:keynum=2。break。 case 8:keynum=3。break。 break。 } P0=0xF0。 //低四位置 0,放入四列 delayms(5)。 temp=P04^0x0F。 //將高四位移至低四位,并將其中唯一的 0 變?yōu)?1,其余為 0 switch(temp) // 對 0~3 行分別附加起始值 0,4,8,12 { case 1:keynum+=0。break。 case 2:keynum+=4。break。 case 4:keynum+=8。break。 case 8:keynum+=12。break。 break。 } delayms(500)。 return keynum。 } void main() { uchar temp,i=0,j=0,k=0,n。 uchar IS_valid_user。 init()。 // 調(diào)用 24C04 初始化主程序 init_lcd()。 //調(diào)用 LCD 初始化顯示子程序 delayms(5)。 34 delayms(5)。 aa=Recstring(0xa0,1,buffer,6)。 //向 IIC 讀取數(shù)據(jù)。 delayms(10)。 P0=0x0f。 while(1) { if(P0!=0x0f) //掃描鍵盤獲取鍵盤序號 temp { temp=Keys_Scan()。 switch(temp) { case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: if (i=5) // 密碼限制在 6 位以內(nèi) { Userpassword[i]=temp。 DSY_BUFFER[i]=39。*39。 Display_String(DSY_BUFFER,0xc0)。 i++。 } break。 case 10: //開鎖 for(k=0。k6。k++) { if(buffer[k]==(Userpassword[k]+48)) flag=1。 else flag=0。 35 } if (flag==1) { flag=0。 i=0。 led=0。 //點亮 LED clear_password()。 Display_String(OPEN OK! ,0xc0)。 IS_valid_user = 1。 j=0。 } else { j++。 led=1。 //關(guān)閉 LED clear_password()。 Display_String(ERROR!Have try ,0xc0)。 write_(0xcf)。 write_date(0x30+j)。 IS_valid_user=0。 } i=0。 break。 case 11: //上鎖 led=1。 clear_password()。 Display_String(table,0x80)。 Display_String(Lock OK! ,0xc0)。 i=0。 IS_valid_user=0。 36 break。 case 12: //設(shè)置新密碼 //如果是合法用戶則提示輸入新密碼 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。 Display_String(New Password: ,0x80)。 Display_String( ,0xc0)。 } break。 case 13: //保存新密碼 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。 37 init()。 delayms(5)。 for(k=0。k6。k++) { Userpassword[k]=Userpassword[k]+48。 } delayms(5)。 aa=Recstring(0xa0,1,buffer,6)。 //從 IIC 讀取密碼 delayms(5)。 clear_password()。 Display_String(table,0x00)。 Display_String(Password Saved! ,0xc0)。 delayms(1000)。 Display_String(Do lock agian ? ,0xc0)。 } break。 case 14: //按 E 鍵消除所有輸入 i=0。 clear_password()。 Display_String( ,0xc0)。 break。 case 15: // 清除一位 if(i!=0)i。 for(n=0。ni。n++) { DSY_BUFFER[n]=39。*39。 } Display_String(DSY_BUFFER,0xc0)。 38 } LEEP=0。delayms(100)。LEEP=1。delayms(100)。 //按按鍵蜂鳴器響一聲 P0=0x0f。 } if(j==3) { Display_String(THIEF!!!THIEF!!!,0xc0)。 j=0。 while(1) LEEP=0。delayms(1000)。LEEP=1。delayms(1000)。 //蜂鳴器報警 } } } 39 附錄Ⅱ 電子密碼鎖 總電路 圖: P 0 . 0 / A D 039P 0 . 1 / A D 138P 0 . 2 / A D 237P 0 . 3 / A D 336P 0 . 4 / A D 435P 0 . 5 / A D 534P 0 . 6 / A D 633P 0 . 7 / A D 732P 2 . 0
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1