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

正文內(nèi)容

基于51單片機(jī)的密碼鎖(可改密碼-資料下載頁(yè)

2024-11-07 22:15本頁(yè)面

【導(dǎo)讀】本次實(shí)習(xí)是有關(guān)于鍵盤式電子密碼鎖的設(shè)計(jì)。在日常的生活和工作中,住宅與部。若使用傳統(tǒng)的機(jī)械式鑰匙開鎖,人們常需攜帶多把鑰匙,使用極不方便,且鑰。匙丟失后安全性即大打折扣。隨著科學(xué)技術(shù)的不斷發(fā)展,人們對(duì)日常生活中的安全保。險(xiǎn)器件的要求越來越高。為滿足人們對(duì)鎖的使用要求,增加其安全性,用密碼代替鑰。密碼鎖具有安全性高、成本低、功耗低、易操作等優(yōu)點(diǎn)。修改密碼之前必須再次輸入密碼,在輸入新密碼時(shí)候需要二次確認(rèn),以防。錯(cuò)誤次數(shù)超過3次,蜂鳴器報(bào)警并且鎖定鍵盤。用數(shù)字邏輯器件搭建電子密碼鎖,電路復(fù)雜龐大,且穩(wěn)定性差,密碼位數(shù)有限,用FPGA可編程邏輯器件設(shè)計(jì)電子密碼鎖,程序通用性差,可讀性低,不易移植。單片機(jī)AT89c51為核心,設(shè)計(jì)一個(gè)電子密碼鎖系統(tǒng)。若按取消鍵,鎖關(guān)閉,所有輸入清除。LCD1602字符型液晶顯示器為了,用外擴(kuò)一個(gè)AT24C02E2PROM存儲(chǔ)密碼。

  

【正文】 密碼充許標(biāo)志清零 ReInputEn=0。 //重置輸入充許標(biāo)志清零 ErrorCont=0。 //密碼錯(cuò)誤輸入次數(shù)清零 CorrectCont=0。 //密碼 正確輸入次數(shù)清零 ReInputCont=0。 //重置密碼輸入次數(shù)清零 open_led=1。 s3_keydown=0。 key_disable=0。 N=0。 //輸入位數(shù)計(jì)數(shù)器清零 } //確認(rèn)鍵,并通過相應(yīng)標(biāo)志位執(zhí)行相應(yīng)功能 ======== void Ensure(void) { unsigned char i,j。 RdFromROM(CurrentPassword,0,6)。 //從 24C02 里讀出存儲(chǔ)密碼 if(N==6) { if(ReInputEn==0) //重置密碼功能未開啟 { for(i=0。i6。) { if(CurrentPassword[i]==InputData[i]) { i++。 } else { ErrorCont++。 if(ErrorCont==3)//錯(cuò)誤輸入計(jì)數(shù)達(dá)三次時(shí),報(bào)警并鎖定鍵盤 { write_1602(er)。 30 for(i=0。i16。i++) { write_1602dat(Error[i])。 } do Alam_KeyUnable()。 while(1)。 } else { TR0=1。 //開啟定時(shí) key_disable=1。 //鎖定鍵盤 pass=0。 break。 } } } if(i==6) { CorrectCont++。 if(CorrectCont==1)//正確輸入計(jì)數(shù),當(dāng)只有一次正確輸入時(shí),開鎖, { //DisplayListChar(0,1,LockOpen)。 write_1602(er)。 for(j=0。j16。j++) { write_1602dat(LockOpen[j])。 } TwoAlam()。 //操作成功提示音 KEY=0。 //開鎖 pass=1。 //置正確標(biāo)志位 TR0=1。 //開啟定時(shí) open_led=0。 //開鎖指示燈亮 for(j=0。j6。j++) //將輸入清除 { InputData[i]=0。 } } else //當(dāng)兩次正確輸入時(shí),開啟重置密碼功能 { //DisplayListChar(0,1,SetNew)。 write_1602(er)。 for(j=0。j16。j++) 31 { write_1602dat(SetNew[j])。 } TwoAlam()。 //操作成功提示 ReInputEn=1。 //允許重置密碼輸入 CorrectCont=0。 //正確計(jì)數(shù)器清零 } } else //=====當(dāng)?shù)谝淮问褂没蛲浢艽a時(shí)可以用 131420 對(duì)其密碼初始化 ======== { if((InputData[0]==1)amp。amp。(InputData[1]==3)amp。amp。(InputData[2]==1)amp。amp。(InputData[3]==4)amp。amp。(InputData[4]==2)amp。amp。(InputData[5]==0)) { WrToROM(initpassword,0,6)。 //強(qiáng)制將初始密碼寫入 24C02 存儲(chǔ) //DisplayListChar(0,1,initword)。 //顯示初始化密碼 write_1602(er)。 for(j=0。j16。j++) { write_1602dat(initword[j])。 } TwoAlam()。 Delay400Ms()。 TwoAlam()。 N=0。 } else { //DisplayListChar(0,1,Error)。 write_1602(er)。 for(j=0。j16。j++) { write_1602dat(Error[j])。 } ThreeAlam()。 //錯(cuò)誤提示音 pass=0。 } } } else //當(dāng)已經(jīng)開啟重置密碼功能時(shí),而按下開鎖鍵, { //DisplayListChar(0,1,Er_try)。 write_1602(er)。 for(j=0。j16。j++) 32 { write_1602dat(Er_try[j])。 } ThreeAlam()。 } } else { //DisplayListChar(0,1,Error)。 write_1602(er)。 for(j=0。j16。j++) { write_1602dat(Error[j])。 } ThreeAlam()。 //錯(cuò)誤提示音 pass=0。 } N=0。 //將輸入數(shù)據(jù)計(jì)數(shù)器清零,為下一次輸入作準(zhǔn)備 operation=1。 } //==============================主函數(shù) ======================== void main(void) { unsigned char KEY,NUM。 unsigned char i,j。 P1=0xFF。 TMOD=0x11。 TL0=0xB0。 TH0=0x3C。 EA=1。 ET0=1。 TR0=0。 Delay400Ms()。 //啟動(dòng)等待,等 LCM 講入工作狀態(tài) lcd_init()。 //LCD 初始化 write_1602(yi)。//日歷顯示固定符號(hào)從第一行第 0 個(gè)位置之后開始顯示 for(i=0。i16。i++) { write_1602dat(name[i])。//向液晶屏寫日歷顯示的固定符號(hào)部分 } write_1602(er)。//時(shí)間顯示固定符號(hào)寫入位置,從第 2 個(gè)位置后開始顯示 for(i=0。i16。i++) { 33 write_1602dat(start_line[i])。//寫顯示時(shí)間固定符號(hào),兩個(gè)冒號(hào) } write_1602(er+9)。 //設(shè)置光標(biāo)位置 write_1602(0x0f)。 //設(shè)置光標(biāo)為閃爍 Delay5Ms()。 //延時(shí)片刻 (可不要 ) // DisplayListChar(0, 0, name)。 // DisplayListChar(0, 1, start_line)。 N=0。 //初始化數(shù)據(jù)輸入位數(shù) while(1) { if(key_disable==1) Alam_KeyUnable()。 else ALAM=1。 //關(guān)報(bào)警 KEY=keynum()。 if(KEY!=0) { if(key_disable==1) { second=0。 } else { NUM=coding(KEY)。 { switch(NUM) { case (39。A39。): 。 break。 case (39。B39。): 。 break。 case (39。C39。): 。 break。 case (39。D39。): ResetPassword()。break。//重新設(shè)置密碼 case (39。*39。): Cancel()。break。 //取消當(dāng)前輸入 case (39。39。): Ensure()。 break。 //確認(rèn)鍵, default: { //DisplayListChar(0,1,Input)。 write_1602(er)。 for(i=0。i16。i++) { write_1602dat(Input[i])。 34 } operation=0。 if(N6)//當(dāng)輸入的密碼少于 6 位時(shí),接 受輸入并保存,大于 6 位時(shí)則無效。 { OneAlam()。 //按鍵提示音 //DisplayOneChar(6+N,1,39。*39。)。 for(j=0。j=N。j++) { write_1602(er+6+j)。 write_1602dat(39。*39。)。 } InputData[N]=NUM。 N++。 } else //輸入數(shù)據(jù)位數(shù)大于 6 后,忽略輸入 { N=6。 break。 } } } } } } } }//**************************中斷服務(wù)函數(shù)****************** void time0_int(void) interrupt 1 { TL0=0xB0。 TH0=0x3C。 //TR0=1。 countt0++。 if(countt0==20) { countt0=0。 second++。 if(pass==1) { if(second==1) { open_led=1。 //關(guān)指示燈 TR0=0。 //關(guān)定時(shí)器 TL0=0xB0。 TH0=0x3C。 second=0。 } } else 35 { if(second==3) { TR0=0。 second=0。 key_disable=0。 s3_keydown=0。 TL0=0xB0。 TH0=0x3C。 } else TR0=1。 } } } 36 實(shí)習(xí)指導(dǎo)教師評(píng)價(jià)表 題目名稱 設(shè) 計(jì) 報(bào) 告 得 分 序號(hào) 評(píng) 價(jià) 項(xiàng) 目 滿分 得分 1 應(yīng)用文獻(xiàn)資料能力及綜合運(yùn)用知識(shí)能力 10 2 設(shè)計(jì)說明書撰寫水平;插圖質(zhì)量 10 3 設(shè)計(jì)(實(shí)驗(yàn))能力及創(chuàng)新性 10 設(shè)計(jì)報(bào)告得分 總計(jì) 30 實(shí)物制作效果 30 評(píng)語(yǔ): 指導(dǎo)教師簽字: 年 月 日 學(xué)生姓名 班級(jí)學(xué)號(hào) 平時(shí)表現(xiàn) ( 20分 ) 答辯 ( 20 分 ) 綜合評(píng)定得分 實(shí)習(xí)成績(jī) 注: 綜合評(píng)定得分 =平時(shí)表現(xiàn)占 20%,制作及報(bào)告占 60%,答辯占 20%。在平時(shí)表現(xiàn)和實(shí)物制作、設(shè)計(jì)報(bào)告和答辯中, 若有單項(xiàng)不合格者,總成績(jī)按不及格處理 ; 最后成績(jī)的 評(píng)定 以優(yōu)( 90~100)、良( 80~89)、中( 70~79)、及格( 60~69)和不及格(少于 60 分)五級(jí)給出。
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1