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

正文內(nèi)容

多功能電子密碼鎖設(shè)計報告(完整版)

2025-07-18 14:07上一頁面

下一頁面
  

【正文】 j=0。 25 } else flag=1。 } else counter++。 } if(c12||c21||c32||c1+c33) return 1。 } } uchar pare(uchar table[]) { uchar aa,c1=0,c2=0,c3=0。i++) {write_date(*tab)。//確定 case 0x77:return 16。//9 case 0x7b:return 15。//6 case 0x7d:return 14。//3 case 0x7e:return 13。 return Val。 return Val。 return Val。 return Val。//高四位置高,低四位拉低 if(KeyPort!=0xf0)//表示有按鍵按下 { delay(10)。 write_(0x80+add)。 //第一位的位置 //delay(5)。 lcden=1。 delay(5)。tt2)。 // SS=1。 if(datamp。i++)。 statu=ISD_SendData(0x00)。 SS=1。// SETREC 19 ISD_SendData(0x00)。 statu=0。// pu ISD_SendData(0x00)。EndAdr=0x0024。// READSTATU ISD_SendData(0x00)。 ISD_SendData(0x00)。 ISD_SendData(0x80)。 delay(50)。 ISD_SendData(0x01)。} //密碼偏小 else if(num==0x31){StartAdr=0x01a1。} //2 else if(num==0x27){StartAdr=0x0171。} // 修改失敗 else if(num==0x23){StartAdr=0x014a。} // 請再次確認 else if(num==0x19){StartAdr=0x0111。} // 開鎖成功 else if(num==0x15){StartAdr=0x00d7。} // 回答正確 else if(num==0x11){StartAdr=0x00ab。} // 請輸入電話號碼 else if(num==0x07){StartAdr=0x0063。} //鍵盤已鎖住 else if(num==0x03){StartAdr=0x002a。y) for(x=100。 uchar code smb[]=set your mb 。 uchar code renew_code[]=Confirm New Code。 uchar code enter_1[]=ent 1 read mes 。 uchar code lev_message[]=leave a message 。 uchar data correct_code3[]={8,8,8,8,8,8}。 sbit MOSI=P1^6。 在本次設(shè)計中,我們得到了指導老師的 耐心細致的輔導和方法指引,老師的熱心點撥讓我們受益匪淺,從而保證我們能按時并順利完成實習任務。 二、軟件調(diào)試 proteus 和 keil 軟件進行,用 proteus 設(shè)計好電路圖并且用 keil 編好程序后,將程序?qū)戇M電路圖的芯片進行仿真測試,排除了一些異狀。 判斷鍵盤中哪一個鍵被按下使通過將列線逐列置低電平后,檢查行輸入狀態(tài)來實現(xiàn)的。在這種行列式矩陣鍵盤非鍵盤編碼的單片機系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認有無按鍵按下的程序段。對 P3 口寫入 “1”時,它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入口使用時,因為內(nèi)部存在上拉 電阻,某個引腳被外部信號拉低時會輸出一個電流 (IIL)。另外,可以用語音發(fā)聲芯片發(fā)出相應的提示信息。 本文從經(jīng)濟實用的角度出發(fā),采用單片機 STC89C52 作為主控芯片與數(shù)據(jù)存儲器單元,用 C 語言編寫的主控芯片控制程序,并用 Keil 軟件進行編譯。隨 著科學技術(shù)的不斷發(fā)展,人們對日常生活中的安全保險器件的要求越來越高。 二、 課題內(nèi)容及要求 使用單片機 STC89C52 作為主芯片,采用 LCD 液晶顯示, 4 4 的矩形鍵盤輸入電子密碼鎖,能夠?qū)崿F(xiàn)修改密碼,糾錯,確認等功能。 3 在 Flash 編程時, P0 口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。 Flash 編程或校驗時, P2 亦接收高位地址和一些控 制信號。其中矩陣鍵盤用于輸入數(shù)字密碼和進行各種功能的實現(xiàn)。 首先辨別鍵盤中有無鍵按下,有單片機 I/O 口 向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。 LCD1602 管腳為: 編號 符號 引腳說明 編號 符號 引腳說明 1 VSS 電源地 9 D2 Data I/O 2 VDD 電源正極 10 D3 Data I/O 3 V0 液晶顯示偏壓信號 11 D4 Data I/O 4 RS 數(shù)據(jù) /命 令選 擇 端( H/L) 12 D5 Data I/O 5 R/W 讀寫選擇端( H/L) 13 D6 Data I/O 6 E 使能信號 14 D7 Data I/O 7 D0 Data I/O 15 BLA 背光源正極 8 D1 Data I/O 16 BLK 背光源負極 該模塊工作時, 通過單片機的 P1 口進行控制,送數(shù)據(jù)時,先寫入高四位數(shù)據(jù),然后在寫入第四位數(shù)據(jù)。積累實踐經(jīng)驗,為以后的發(fā)展打下基礎(chǔ),也為以后我們自己在這方面的發(fā)展打下基礎(chǔ),并能夠在這方面 培養(yǎng)自己的興趣,不僅鞏固了以前學到的知識,而且 學到了很多在書本上所沒有學到過的知識 。 sbit led2=P3^6。 uchar ISD_SendData(uchar BUF_ISD)。 uchar data number1[6]={0}。 uchar code admi_mode[]= admini mode 。 16 uchar code simple[]= Too Simple 。 uchar code codesmall[]=code is SMALL 。 void delay(uint z) {uint x,y。EndAdr=0x001f。EndAdr=0x004d。EndAdr=0x008e。EndAdr=0x00ca。EndAdr=0x0104。EndAdr=0x0139。EndAdr=0x0169。EndAdr=0x0190。// RESET ISD_SendData(0x00)。// WR_APC ISD_SendData(0x08)。 statu=ISD_SendData(0x00)。 ISD_SendData(EndAdramp。 // SS=1。 SS=1。 SS=1。 ISD_SendData(0x04)。 // SS=1。0x00ff)。 while((statuamp。 } */ void I_delay(void) { uchar i。i8。 } SCLK=1。tt1) { beep=0。 } } void write_(uchar ) { P0=。 rs=1。 first=dat%10。 } void write_nyr(uchar add,uchar dte) { uchar shi,ge。 write_date(0x30+ge)。 while(KeyPort!=0xfe)。 while(KeyPort!=0xfd)。 while(KeyPort!=0xfb)。 while(KeyPort!=0xf7)。break。break。break。break。 write_(0x80)。i16。 if(bb==1) c1++。k++) { if(correct_code[k]!=save_code[k]) //對數(shù)組中的內(nèi)容進行逐一比較,一旦有數(shù)據(jù)不對馬上退出循環(huán) { break。//各種變量要清零回起始狀態(tài) flag=0。 //對輸入的數(shù)值進行清零 save_code1[num]=0。 display1(clear)。*39。 write_(0x80+0)。)。amp。amp。 27 i3=0。 Play(0x04)。 if(counter==3) { beep_(15000,4)。 display1(new_code)。 } enter_code(m)。 display1(simple)。 Play(0x18)。 if(flag==1) break。q26。} else { count++。 } break。 break。 if(n==1) break。 if(keynum==1) //key1 按下第一次 //選擇修改哪一位 { write_(0x80+0x40+15)。 } if(keynum==8) //key1 按下第八次 { keynum=0。 //按下鍵盤 while(tempm2!=1amp。 if(sec==60) sec=0。 if(hour==24) hour=0。i++) write_date(week_string[wee。 write_(0x80+0x40+9)。 write_(0x80+0x40+15)。tempm2!=2amp。 TR0=1。 } if(keynum==2) //key1 按下第二次 { write_(0x80+0x40+12)。 TR0=0。 if(n==1) 31 break。 } if(s1==1) {s1=0。 s1=1。 display1(success)。 Play(0x04)。 i3=0。 //提示密碼太簡單 break。 if(flag==1) break。 //提示請輸入新密碼 display1(clear)。 while(sec!=59)。 } else { confirm()。 while(1) { m=KeyPro()。 js++。amp。 //保存輸入的數(shù)據(jù) } } /*************密碼修改部分 *************/ void modify() { uchar q1,q2,m,count=0,n=0,s1=0,s2=0,v5 。*39。//不是第一個輸入則不用再寫地址 } if(j6) save_code[j++]=t。 //第一輸入時要先寫入地址指令,否則無法顯示 write_date(39。//各種變量要清零回起始狀態(tài) flag=0。 i3=0。 // 進行標志密碼正確 counter=0。 if(bb==
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1