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

正文內(nèi)容

基于stc89c52單片機(jī)的電子密碼鎖附仿真圖原理(編輯修改稿)

2025-07-24 18:52 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 以及返回鍵值。鍵盤掃描時(shí)循環(huán)的,程序編寫是會(huì)使其進(jìn)入是循環(huán),這樣可以檢驗(yàn)出是否有按鍵按下,如果無按鍵按下就會(huì)進(jìn)入等待有按鍵按下的狀態(tài),如果有按鍵按下的話就進(jìn)入延時(shí)去抖的步驟,這樣可以肯定的確定掃描到的按鍵是否被按下。經(jīng)過去抖之后就是確定按鍵的位置即是第幾行和第幾列,找到按鍵后,就是確定鍵值并返回按鍵值,每一次掃描到有鍵按下后,最后都要有釋放閉合按鍵的步驟,這是為了避免影響下一次鍵盤的掃描和按鍵值的讀取。鍵盤掃描返回鍵值閉合鍵釋放計(jì)算鍵值找到閉合鍵延時(shí)去抖有鍵閉合?YN 鍵盤掃描流程圖按鍵的消抖子程序所示: if(press_on!=0XF0)//按鍵消抖(時(shí)間自定) { delay(50)。 press_on=KEY_IO。 }確定鍵值的子程序如下所示: switch(row) { case 0xe0:row=0。break。 case 0xd0:row=1。break。 case 0xb0:row=2。break。 case 0x70:row=3。break。 } switch(col) { case 0x07:col=0。break。 case 0x0b:col=1。break。 case 0x0d:col=2。break。 case 0x0e:col=3。break。 } recieve=key_value[row][col]。 } LCD顯示模塊的軟件設(shè)計(jì)主要包含開始、初始化LCD、清除LCD、寫LCD四個(gè)過程。其中寫包含寫數(shù)據(jù)和寫字符。寫數(shù)據(jù)的部分程序://寫數(shù) (5位數(shù)據(jù))void printf_data(uchar row,uchar col,uchar count,uint dat){ uchar sh1,sh2,sh3,sh4,sh5。 sh5=dat/10000。 sh4=dat%10000/1000。 sh3=dat%1000/100。 sh2=dat%100/10。 sh1=dat%10。 write_adr(0x0c)。 switch(row) { case 1:row=0x80。break。 case 2:row=0xc0。break。 default:break。 } write_adr(row+col1)。 delay(500)。 if(count=5) write_data(sh5+48)。 if(count=4) write_data(sh4+48)。 if(count=3) write_data(sh3+48)。 if(count=2) write_data(sh2+48)。 if(count=1) write_data(sh1+48)。寫字符的小程序?yàn)椋?/寫一段字符void printf_char(uchar row,uchar col,uchar Inbuffer[31]){ uchar i。 write_adr(0x0c)。 switch(row) { case 1:row=0x80。break。:初始化LCD開始清除LCD寫LCD結(jié)束 LCD顯示流程圖修改密碼模塊主要是在輸入密碼正確之后,按下14鍵即是修改密碼鍵就能進(jìn)入修改密碼界面,其流程分為四個(gè)步驟,分別為按下14鍵并啟動(dòng)定時(shí)、輸入修改的密碼、按下確認(rèn)鍵11鍵、LCD的顯示。修改密碼的部分程序如下://改密碼void ch_word(void){ unsigned char recieve=0xff,b[10],j=0。 LCD_CLR()。 printf_char(1,1,new_password%d)。 while(recieve!=11) { recieve=keypad()。 delay(10000)。 if(recieve=9amp。amp。recieve=0) { b[j]=recieve。 printf_data(2,j+1,1,recieve)。 j++。 } else if(recieve==12) { if(j!=0) { a[j]=39。\039。 printf_char(2,j, %d)。 j。 } } :按下14鍵啟動(dòng)定時(shí)輸入密碼存入緩沖按下確認(rèn)1111鍵比較密碼調(diào)用LED調(diào)用顯示 修改密碼流程圖開鎖和報(bào)警模塊主要任務(wù)是把從鍵盤輸入到單片機(jī)的密碼和本身保存在單片機(jī)中的密碼進(jìn)行對(duì)比,如果正確就開鎖,如果錯(cuò)誤的話就進(jìn)行計(jì)數(shù)并顯示在LCD液晶顯示屏上,當(dāng)輸入密碼的錯(cuò)誤次數(shù)達(dá)到3次就進(jìn)入報(bào)警模式,啟動(dòng)蜂鳴器報(bào)警。 報(bào)警流程圖5電子密碼鎖的系統(tǒng)調(diào)試及分析硬件調(diào)試首先檢查電路板焊接是否有誤,檢查有是否出現(xiàn)虛焊、漏焊、線路短接、元器件引腳是否錯(cuò)誤焊接等等問題,然后檢查電路中某些元器件是否起作用,最后利用一些小程序測(cè)試LCD1602是否完好無損。檢測(cè)單片機(jī)是否工作可通過觀察示波器顯示的波形是否衰減,或者利用萬(wàn)用表測(cè)一下18,19腳的電壓,應(yīng)該有個(gè)23V就說明起振了,另外,ALE如果有信號(hào)或者有電壓也說明單片機(jī)工作了。我采用利用萬(wàn)用表側(cè)119腳的電壓。檢測(cè)電路有無虛焊可用萬(wàn)用表的二極管檔來檢測(cè),當(dāng)把萬(wàn)用表的紅黑兩表筆接觸在焊接線路的兩端后,萬(wàn)用表發(fā)出聲音,則說明沒有虛焊。檢查電路是否短路也是利用同一原理。軟件調(diào)試即是把已經(jīng)寫好的C語(yǔ)言程序載入到軟件調(diào)試工具,檢查軟件是否有設(shè)法錯(cuò)誤,再根據(jù)軟件提示對(duì)本程序進(jìn)行修改,直到?jīng)]有錯(cuò)誤再生成單片機(jī)能運(yùn)行的機(jī)器碼,再用51開發(fā)板或其它單片機(jī)寫入工具把機(jī)器碼寫入單片機(jī)進(jìn)行實(shí)際的程序調(diào)試,根據(jù)實(shí)際情況再對(duì)程序的不足加以修改,直到滿足設(shè)計(jì)要求。本設(shè)計(jì)采用Proteus和KEIL軟件進(jìn)行仿真、調(diào)試,首先在在Proteus軟件上進(jìn)行硬件電路的描繪,其次在KEIL軟件編寫電子密碼鎖的源程序,源程序經(jīng)過匯編后產(chǎn)生Hex文件,最后將生成的目標(biāo)文件添加到單片機(jī)中仿真調(diào)試。首先打開KEIL C51主程序,新建工程,新建文本框?qū)懭氤绦?,保存,檢查是否有語(yǔ)法錯(cuò)誤,經(jīng)反復(fù)檢查無誤后匯編,生成51單片機(jī)可執(zhí)行的HEX文件。然后用與51開發(fā)板相匹配的寫入軟件把HEX文件寫入單片機(jī)。 KEIL c51調(diào)試介面 程序?qū)懭虢缑娈?dāng)系統(tǒng)通電進(jìn)入初始化狀態(tài)后,LCD顯示屏?xí)@示W(wǎng)ele。 系統(tǒng)初始化當(dāng)進(jìn)入輸入密碼階段時(shí),依次按下按鍵上的數(shù)字鍵1,2,3,4,5,6后。 輸入密碼階段仿真圖當(dāng)按下確定鍵11鍵后,顯示屏上顯示正確且二極管燈亮,表示密碼正確開門。 輸入密碼正確時(shí)仿真圖按下確認(rèn)鍵后,二極管不亮且顯示屏上顯示Error,表示密碼輸入錯(cuò)誤,門的鎖不會(huì)打開。 輸入密碼錯(cuò)誤仿真圖當(dāng)需要修改密碼時(shí),只需按下14鍵即可進(jìn)入到修改密碼界面,修改成功后顯示success,修改錯(cuò)誤后顯示屏?xí)@示fail。 修改密碼仿真圖 修改失敗仿真圖系統(tǒng)調(diào)試即是將源程序在KEIL軟件里運(yùn)行產(chǎn)生的可執(zhí)行文件HEX寫入到單片機(jī)中,然后通電初始化,檢查是否能實(shí)現(xiàn)仿真中達(dá)到的效果。如果都無誤寫入程序后還是有問題就要檢查程序是否有問題。其結(jié)果分析如下所示:?jiǎn)纹瑱C(jī)寫入程序后并通電初始化后。 初始化硬件電路當(dāng)通過4*4矩陣鍵盤輸入密碼且密碼正確后。 密碼正確界面當(dāng)通過4*4矩陣鍵盤輸入密碼且密碼錯(cuò)誤后,LCD顯示屏顯示error以及輸入錯(cuò)誤的次數(shù)。 密碼錯(cuò)誤界面當(dāng)用戶需要修改密碼時(shí),按下14鍵即可進(jìn)入修改密碼界面。 修改密碼界面6結(jié)論及展望本次設(shè)計(jì)通過硬件電路設(shè)計(jì)、軟件編程、硬件調(diào)試、軟件調(diào)試以及系統(tǒng)調(diào)試完成了設(shè)計(jì)要求,達(dá)到了設(shè)計(jì)目的。本次設(shè)計(jì)最終的結(jié)果如下:n 電子密碼鎖通過鍵盤能成功進(jìn)行輸入密碼;n LCD液晶顯示屏上能顯示輸入的密碼;n 能判斷輸入的密碼是否正確并且能顯示判斷結(jié)果;n 能在密碼輸入正確后開門;n 能在密碼輸入錯(cuò)誤次數(shù)達(dá)到三次以上后進(jìn)行報(bào)警;n 能在開門后通過一按鍵對(duì)原有密碼進(jìn)行更改;n 能用*代替顯示輸入的密碼數(shù)字,隱藏了密碼,這實(shí)現(xiàn)了密碼保護(hù)。但是在實(shí)現(xiàn)上述功能時(shí),也存在許多不足。第一,在密碼輸入正確時(shí)除了要使代表電磁吸合器的發(fā)光二極管發(fā)光以外,還應(yīng)該加上語(yǔ)音模塊,提示門開,這樣更人性化一些。第二,密碼輸入錯(cuò)誤次數(shù)小于三次時(shí),也應(yīng)該采取措施提醒。第三,密碼修改部分,本次設(shè)計(jì)實(shí)現(xiàn)的不是很好,密碼能進(jìn)行修改但是只能修改第一個(gè)密碼。第四,本次設(shè)計(jì)的電子密碼鎖,安全方面還可以提高進(jìn)步。本設(shè)計(jì)中的報(bào)警系統(tǒng)只是一個(gè)簡(jiǎn)單的系統(tǒng),要應(yīng)用于實(shí)際生活還需要進(jìn)一步改進(jìn)。電子鎖是信息化時(shí)代發(fā)展的產(chǎn)物,應(yīng)時(shí)而生,我相信隨著科技的不斷發(fā)展,將來的電子鎖一定更加完美,更加人性化,更加便宜,更加安全。本次設(shè)計(jì)中還有待完善的地方還很
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1