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

正文內容

基于單片機的密碼鎖設計_課程設計報告-資料下載頁

2025-06-30 19:23本頁面

【導讀】閉合,完成開鎖、閉鎖任務的電子產品。它的種類很多,有簡易的電路產品,也有基于芯片。的性價比較高的產品?,F(xiàn)在應用較廣的電子密碼鎖是以芯片為核心,通過編程來實現(xiàn)的。本密碼鎖具有設計方法合理,簡單易行成本低,安全實用等特點,具有一定的推廣價值。案、財務報表以及一些個人資料的保存等一系列安全防盜問題變的尤其突出。鑰匙丟失安全性即大打折扣。隨著科學技術的不斷發(fā)展,人們對日常生活中的安全保險器件。為滿足人們對鎖的使用要求,增加其安全性,用密碼代替鑰匙的密碼鎖應。密碼鎖因具有安全性高、成本低、功耗低、易操作等優(yōu)點,受到了廣大用戶的青睞。但當時多半是配合機械鎖一起作用且存在著諸如體積較大,成本較高,可靠性較。也取得了快速的進步。目前,在西方發(fā)達國家,電子密碼鎖技術相對先進,種類齊全,電子。密碼鎖已被廣泛應用于安全處所,而我國在此點上這稍有落后。好的程序設計能力,調試較為繁瑣,否則程序一旦跑飛將造成意想不到的損失。

  

【正文】 init_ds1302()。 while(key==11) { valuedat=readset1302(0x81)。//在寄存器讀秒數(shù)據(jù) second=((valuedatamp。0x70)4)*10+(valuedatamp。0x0f)。 displaysecond(second)。 valuedat=readset1302(0x83)。//在寄存器讀分數(shù)據(jù) minute=((valuedatamp。0x70)4)*10+(valuedatamp。0x0f)。 displayminute(minute)。 valuedat=readset1302(0x85)。//在寄存器讀小時數(shù)據(jù) hour=((valuedatamp。0x70)4)*10+(valuedatamp。0x0f)。 displayhour(hour)。 valuedat=readset1302(0x87)。//在寄存器讀日數(shù)據(jù) day=((valuedatamp。0x70)4)*10+(valuedatamp。0x0f)。 displayday(day)。 valuedat=readset1302(0x89)。//在寄存器讀月時數(shù)據(jù) month=((valuedatamp。0x70)4)*10+(valuedatamp。0x0f)。 displaymonth(month)。 valuedat=readset1302(0x8d)。//在寄存器讀年數(shù)據(jù) year=((valuedatamp。0xf0)4)*10+(valuedatamp。0x0f)。 displayyear(year)。 第 32 頁 valuedat=readset1302(0x8b)。//在寄存器讀年數(shù)據(jù) xingqi=((valuedatamp。0xf0)4)*10+(valuedatamp。0x0f)。 displayxingqi(xingqi)。 keydown()。 if(key!=11) { writecmd(0x01) 。 system_start()。 } } } 按鍵反應子程序 include include include include include define uint unsigned int define uchar unsigned char sbit led=P2^7。 sbit led1=P1^1。 sbit beep=P3^7。 uchar password_save[6]。 uchar code original_password[]={1,2,3,4,5,6}。 //原始密碼 uchar j。 uchar fail_count。 bit enter_flag。 bit gaimi_flag。 void password_back()。 void password_enter()。 void password_right()。 void speaker()。 void password_error()。 void input_key()。 void password_change()。 void key_function()。 void system_start()。 void password_back() //退格 第 33 頁 { if(j=0) { if(j==0) password_save[0]=39。 39。 else { password_save[j]=39。 39。 lcd_dis(2,j, )。 } } } void password_enter() //密碼驗證 { uchar i。 for(i=0。i6。i++) { if(password_save[i]!=read_password[i]) { enter_flag=0。 break。 } } if(i==6) enter_flag=1。 } void password_right() //密碼正確 { led=0。 fail_count=0。 enter_flag=0。 lcd_dis(3,0,....開鎖成功 ....)。 } void speaker() //蜂鳴器報警 { uint i。 for(i=0。i1000。i++) { delayms(1)。 beep=~beep。 } } void password_error() //密碼錯誤 { 第 34 頁 fail_count++。 if(fail_count=2) { writecmd(0x01)。 lcd_dis(0,0,密碼錯誤?。?! )。 if(fail_count==1) lcd_dis(1,0,還有兩次機會 )。 else if(fail_count==2) lcd_dis(1,0,還有一次機會 )。 input_key()。 readpage(0,read_password,6)。 password_enter()。 if(enter_flag) { password_right()。 delayms(3000)。 key_function()。 } else { password_error()。 } } else if(fail_count==3) { fail_count=0。 writecmd(0x01)。 lcd_dis(0,0,密碼錯誤!??! )。 lcd_dis(1,0,密碼鎖已被鎖定! )。 speaker()。 // delayms(3000)。 //system_start()。 } } void input_key() //密碼輸入 { bit key_flag=0。 j=0。 while(!key_flag) { key=16。 while(key==16) { keydown()。 第 35 頁 } if((key=0amp。amp。key=9)||key==15) { if(key=0amp。amp。key=9) { password_save[j]=key。 lcd_dis(2,j,*)。 j++。 if(j==6) { key=16。 while(key==16) { keydown()。 } if(key==15) { password_back()。 } if(key==14) key_flag=1。 } } else if(key==15) password_back()。 } } } void password_change() //修改密碼 { uchar i。 led=1。 gaimi_flag=0。 writecmd(0x01)。 lcd_dis(0,0,....歡迎使用 ....)。 lcd_dis(1,0,請輸入舊密碼: )。 input_key()。 readpage(0,read_password,6)。 password_enter()。 if(enter_flag) { enter_flag=0。 writecmd(0x01)。 lcd_dis(0,0,....歡迎使用 ....)。 第 36 頁 lcd_dis(1,0,請輸入新密碼: )。 input_key()。 for(i=0。i6。i++) read_password[i]=password_save[i]。 j=0。 writecmd(0x01)。 lcd_dis(0,0,....歡迎使用 ....)。 lcd_dis(1,0,再次輸入新密碼: )。 input_key()。 password_enter()。 if(enter_flag) { enter_flag=0。 writepage(0,password_save,6)。 writecmd(0x01)。 lcd_dis(0,0,....歡迎使用 ....)。 lcd_dis(1,0,密碼修改成功 )。 delayms(3000)。 key_function()。 } else { writecmd(0x01)。 lcd_dis(0,0,....歡迎使用 ....)。 lcd_dis(1,0,密碼修改不成功 )。 delayms(3000)。 key_function()。 } } else { writecmd(0x01)。 lcd_dis(0,0,....歡迎使用 ....)。 lcd_dis(1,0,密碼錯誤?。。?)。 lcd_dis(2,0,不能修改密碼 )。 speaker()。 lcd_init()。 system_start()。 } } void key_function() //功能鍵選擇 { key=16。 //此時啥都不顯示 第 37 頁 while(key==16) { keydown()。 } if(key==12) password_change()。 if(key==13) { writecmd(0x01)。 system_start()。 } } void system_start() { //uchar i。 led=1。 lcd_dis(0,0,....歡迎使用 ....)。 lcd_dis(1,0,請輸入使用模式: )。 lcd_dis(2,0, )。 lcd_dis(3,0, )。 //writepage(0,original_password,6)。 readpage(0,read_password,6)。 key=16。 //此時啥都不顯示 while(key==16) { keydown()。 } if(key==10) { led1=1。 writecmd(0x01)。 lcd_dis(0,0,....歡迎使用 ....)。 lcd_dis(1,0,請輸入用戶密碼: )。 input_key()。 readpage(0,read_password,6)。 password_enter()。 if(enter_flag) { password_right()。 delayms(300)。 key_function()。 } else 第 38 頁 { password_error()。 } } if(key==11) rili()。 }
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1