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

正文內(nèi)容

基于51單片機的密碼鎖(可改密碼-資料下載頁

2024-11-07 22:15本頁面

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

  

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