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

正文內(nèi)容

基于stc89c52單片機(jī)的電子密碼鎖附仿真圖原理-預(yù)覽頁(yè)

 

【正文】 地 3) P0 端口(~,39~32 引腳) :P0 口是一個(gè)漏極開(kāi)路的 8 位雙向 I/O 口。 5) P2 端口(~,21~28 引腳) :P2 口是一個(gè)內(nèi)部帶上拉電阻的 8 位雙向 I/O 端口。8) ALE/ ROG (30 引腳) 地址鎖存控制信號(hào) :(ALE) 是訪問(wèn)外部程序存儲(chǔ)器時(shí), 鎖存低 8 位地址的輸出脈沖。 晶振電路單片機(jī)在啟動(dòng)時(shí)都需要復(fù)位,以使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初態(tài)開(kāi)始工作。 1)手動(dòng)按鈕復(fù)位 手動(dòng)按鈕復(fù)位需要人為在復(fù)位輸入端RST上加入高電平(圖1)。由于人的動(dòng)作再快也會(huì)使按鈕保持接通達(dá)數(shù)十毫秒,所以,完全能夠滿足復(fù)位的時(shí)間要求。為了保證系統(tǒng)能夠可靠地復(fù)位,RST端的高電平信號(hào)必須維持足夠長(zhǎng)的時(shí)間。如果系統(tǒng)在上電時(shí)得不到有效的復(fù)位,則程序計(jì)數(shù)器PC將得不到一個(gè)合適的初值,因此,CPU可能會(huì)從一個(gè)未被定義的位置開(kāi)始執(zhí)行程序。這種行列式鍵盤結(jié)構(gòu)能夠有效地提高單片機(jī)系統(tǒng)中I/O口的利用率。鍵盤中有無(wú)按鍵按下是由列線送入全掃描字、行線讀入行線狀態(tài)來(lái)判斷的,其方法是由列線逐列置低電平后,檢查行輸入狀態(tài)來(lái)判斷,其方法是依次給列線送低電平,然后檢查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列,如果不全為1,則所按下的鍵必在此列,而且是在與0電平線相交的交點(diǎn)上的那個(gè)鍵。 確定矩陣式鍵盤上哪個(gè)鍵被按下時(shí)運(yùn)用掃描法,又稱為逐行(或列)掃描查詢法,是一種最常用的按鍵識(shí)別方法,過(guò)程如下:1)判斷鍵盤中有無(wú)鍵按下,將全部行線Y0~Y3置為低電平,然后檢測(cè)列線的狀態(tài)。其方法是:依次將行線置為為低電平,即在置某根行線為低電平時(shí),其他線為高電平,在確定某根行線位置為低電平后,再逐行檢測(cè)各列線的電平狀態(tài),若某列為則該列線與置為低電平的行線交叉處的按鈕就是閉合的按鍵,。1) 1602功能介紹1602液晶也叫1602字符型液晶它是一種專門用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊它有若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。本設(shè)計(jì)為節(jié)約資源,當(dāng)發(fā)光二級(jí)管亮則表示實(shí)現(xiàn),密碼正確門開(kāi),若二極管不亮則表示輸入的密碼不正確,門不開(kāi)。 報(bào)警電路本次設(shè)計(jì)的各大模塊在上述章節(jié)中已仔細(xì)介紹了,將各大模塊融合在一起后組成電子密碼鎖硬件電路,鍵盤輸入模塊和LCD顯示模塊是最主要的兩大模塊,鍵盤主要是完成密碼的輸入、修改密碼、消除密碼等等任務(wù)。單片機(jī)最小系統(tǒng)則是單片機(jī)正常運(yùn)行的保障。如果要修改密碼,則需要在輸入基礎(chǔ)密碼判別正確后,輸入修改后的密碼,通過(guò)系統(tǒng)確認(rèn)后方可修改密碼。開(kāi)始初始化有鍵按下?調(diào)用顯示啟動(dòng)定時(shí)識(shí)別按鍵按鍵數(shù)=6?超時(shí)?比較密碼開(kāi)門結(jié)束自動(dòng)清除3次?報(bào)警NNYYYYNN 主程序流程圖鍵盤輸入模塊主要包含鍵盤的掃描、延時(shí)去抖、找到鍵值以及返回鍵值。 press_on=KEY_IO。break。break。break。break。寫數(shù)據(jù)的部分程序://寫數(shù) (5位數(shù)據(jù))void printf_data(uchar row,uchar col,uchar count,uint dat){ uchar sh1,sh2,sh3,sh4,sh5。 sh2=dat%100/10。break。 } write_adr(row+col1)。 if(count=3) write_data(sh3+48)。 write_adr(0x0c)。修改密碼的部分程序如下://改密碼void ch_word(void){ unsigned char recieve=0xff,b[10],j=0。 delay(10000)。 printf_data(2,j+1,1,recieve)。 printf_char(2,j, %d)。檢測(cè)單片機(jī)是否工作可通過(guò)觀察示波器顯示的波形是否衰減,或者利用萬(wàn)用表測(cè)一下18,19腳的電壓,應(yīng)該有個(gè)23V就說(shuō)明起振了,另外,ALE如果有信號(hào)或者有電壓也說(shuō)明單片機(jī)工作了。軟件調(diào)試即是把已經(jīng)寫好的C語(yǔ)言程序載入到軟件調(diào)試工具,檢查軟件是否有設(shè)法錯(cuò)誤,再根據(jù)軟件提示對(duì)本程序進(jìn)行修改,直到?jīng)]有錯(cuò)誤再生成單片機(jī)能運(yùn)行的機(jī)器碼,再用51開(kāi)發(fā)板或其它單片機(jī)寫入工具把機(jī)器碼寫入單片機(jī)進(jìn)行實(shí)際的程序調(diào)試,根據(jù)實(shí)際情況再對(duì)程序的不足加以修改,直到滿足設(shè)計(jì)要求。 KEIL c51調(diào)試介面 程序?qū)懭虢缑娈?dāng)系統(tǒng)通電進(jìn)入初始化狀態(tài)后,LCD顯示屏?xí)@示W(wǎng)ele。 輸入密碼錯(cuò)誤仿真圖當(dāng)需要修改密碼時(shí),只需按下14鍵即可進(jìn)入到修改密碼界面,修改成功后顯示success,修改錯(cuò)誤后顯示屏?xí)@示fail。 初始化硬件電路當(dāng)通過(guò)4*4矩陣鍵盤輸入密碼且密碼正確后。本次設(shè)計(jì)最終的結(jié)果如下:n 電子密碼鎖通過(guò)鍵盤能成功進(jìn)行輸入密碼;n LCD液晶顯示屏上能顯示輸入的密碼;n 能判斷輸入的密碼是否正確并且能顯示判斷結(jié)果;n 能在密碼輸入正確后開(kāi)門;n 能在密碼輸入錯(cuò)誤次數(shù)達(dá)到三次以上后進(jìn)行報(bào)警;n 能在開(kāi)門后通過(guò)一按鍵對(duì)原有密碼進(jìn)行更改;n 能用*代替顯示輸入的密碼數(shù)字,隱藏了密碼,這實(shí)現(xiàn)了密碼保護(hù)。第三,密碼修改部分,本次設(shè)計(jì)實(shí)現(xiàn)的不是很好,密碼能進(jìn)行修改但是只能修改第一個(gè)密碼。本次設(shè)計(jì)中還有待完善的地方還很多。最后本次設(shè)計(jì)還可以精進(jìn)的地方就是輸入密碼錯(cuò)誤時(shí)的處理方法。所以在和孫老師商議過(guò)后,我就選擇了電子密碼鎖這個(gè)設(shè)計(jì)題目。幫助我編寫程序并進(jìn)行調(diào)試的彭同學(xué),在我對(duì)某些程序一籌莫展的時(shí)候,伸出了援救之手,在編寫程序過(guò)程中少走了許多彎路,對(duì)于他給予我的幫助,我真心的表示感謝。在這里還要深深的對(duì)您說(shuō)上一句抱歉,因?yàn)槲业膽猩⒑托傅。钅M(fèi)盡苦心并且?guī)捉?uchar recieve=0xff。 if(key_data!=0xf0) row=key_data。 switch(row) { case 0xe0:row=0。 case 0xb0:row=2。 } switch(col) { case 0x07:col=0。 case 0x0d:col=2。 } recieve=key_value[row][col]。//sbit P3_0=P3^0。//報(bào)告結(jié)果void report(unsigned char flag){ a[10]=0。delay(60000)。 if(count=3) P3_3=1。 LCD_CLR()。 printf_char(2,i, %d)。 printf_char(1,1,new_password%d)。amp。 } else if(recieve==12) { if(j!=0) { a[j]=39。 } } } LCD_CLR()。 printf_char(1,1,success%d)。 LCD_CLR()。 unsigned char ERROR=3。 key_value=number。amp。 printf_char(2,i+1,*%d)。i++) { if(a[i]!=password[0][i]amp。a[i]!=password[2][i]amp。 break。 report(ERROR)。 else if(key_value==14) { ch_word()。}/******************************************************** 液晶顯示器說(shuō)明8位傳輸數(shù)據(jù) LCD_DATA = P0控制端口 RS=P2^0 RW=P2^1 EN=P2^2********************************************************//******************************************************** 函數(shù)說(shuō)明LCD_init()。 /*sbit RS=P1^0。void write_adr(uchar adr) 。void printf_data(uchar row,uchar col,uchar count,uint dat)。 LCD_DATA=adr。 EN=0。 LCD_DATA=dat。 EN=0。}//清屏函數(shù)void LCD_CLR(void){ LCD_init()。 sh5=dat/10000。 sh1=dat%10。 case 2:row=0xc0。 delay(500)。 if(count=2) write_data(sh2+48)。 switch(row) { case 1:row=0x80。 default:break。i31。amp。 if(col+i==16amp。 }}附2總電路圖41
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1