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

正文內(nèi)容

基于單片機的數(shù)字密碼鎖設(shè)計畢業(yè)設(shè)計(文件)

2025-07-30 19:05 上一頁面

下一頁面
 

【正文】 清屏 光標定位回初始 根據(jù)內(nèi)容定光標 顯示內(nèi)容 返回 兩行是否? 否 是 陜西理工學(xué)院 畢業(yè)設(shè)計 第 12 頁 共 24 頁 圖 基于單片機數(shù)字密碼鎖主程序結(jié)構(gòu)流程圖 5 系統(tǒng)調(diào)試 否 報警十秒 是 是 否 否 獲取按鍵值 識別按鍵 按完 8 位? 比較密碼是否正確? 開鎖,啟動報警 密 碼次數(shù) 3? 初始化 清屏 調(diào)用顯示 鍵盤掃描 初始化 鍵被按下? 是 否 否 陜西理工學(xué)院 畢業(yè)設(shè)計 第 13 頁 共 24 頁 此次設(shè)計主要有硬件調(diào)試和軟件調(diào)試兩部分組成,硬件調(diào)試主要是檢測整個電路是否正確, 電路板的連線是否正確,焊接是否正確等,軟件調(diào)試主要是根據(jù)要求調(diào)試軟件是否能到功能完整,最后還有個總體調(diào)試,總體調(diào)試是把程序?qū)胗布娐分械恼{(diào)試。 根據(jù)原理圖的設(shè)計我做出了實物,在焊接實物之前,我對原理圖有了一定的分析,對實物的高低電平的接線口很謹慎,一旦接反,都有可能造成芯片的燒壞,在焊接板子之前對按鍵進行了測試,用萬用表測試了按鍵的閉合狀態(tài),檢查了每個按鍵都是好的情況下再焊接板子,在焊接板子過程中遇到很多問題,我這次設(shè)計的時候應(yīng)用的是萬用版,萬用版所有的焊孔都沒有連接起來,而且兩個孔之間離的很近,這樣造成焊接的時 候有很大的麻煩,這樣我花了一個星期左右完成了硬件板子的焊接。 基于單片機數(shù)字密碼鎖的軟件調(diào)試 軟件編程是個漫長的過程,本次我應(yīng)用的程序是 C 語言,為了能順利完成這次設(shè)計,我專門看了些關(guān)于單片機的 C 語言編程視頻和資料書,之前我們所學(xué)習的單片機編程都是應(yīng)用的匯編語言,在匯編語言的學(xué)習時,由于自身能力不足,認為用匯編編程復(fù)雜繁瑣,于是采用了 C 語言來編程。 2) 在運行程序時,仿真時左下角顯示的 CPU 占用達到了 100%,無法運行程序, 最后在硬件電路中減少些線路和電阻進行調(diào)試,最后能夠正常的運行。 通過多次的 Proteus 仿真 調(diào)試,最后實現(xiàn)了數(shù)字密碼鎖仿真的一些基本功能,實現(xiàn)的效果如附錄 陜西理工學(xué)院 畢業(yè)設(shè)計 第 14 頁 共 24 頁 B 所示。 3) 在進行每個按鍵的調(diào)試時,按鍵數(shù)字 5 和 按鍵數(shù)字 6 都無法輸入,我將每個按鍵按下,用萬用表檢測它們的連線電平狀態(tài),最后檢測到按鍵 5 和按鍵 6 處的行線連接虛焊了。 此次設(shè)計的數(shù)字密碼鎖還可以進行密碼的修改,當你輸入了正確密 碼后,你想對自己的密碼進行修改,你此時可以按“修改”鍵,但必須在再次輸入密碼正確的前提下,最后顯示的是“ Set ok!”,表示你的密碼修改成功,然而這次設(shè)計的密碼鎖修改的密碼過大就可能出現(xiàn)存儲不進去的情況,不太穩(wěn)定這是這次設(shè)計的不完美之處,需要改進。 致謝 四年的大學(xué)如白駒過隙,在這四年期間我學(xué)會了很多東西,我學(xué)會了怎么去做一個大學(xué)生,怎么去適應(yīng)社會的發(fā)展,我學(xué)會了專業(yè)知識,學(xué)會了知識的重要性,學(xué)會了感恩,我要感謝我的父母,是他們從小就教育我要好好讀書,是他們給了我機會來上大學(xué),他們在家里忙 碌辛苦就是為了我能夠完成學(xué)業(yè)。 陜西理工學(xué)院 畢業(yè)設(shè)計 第 15 頁 共 24 頁 此次設(shè)計能夠順利完成我還要感謝的是陪我一起走過來的室友,在論文設(shè)計這段時間,他們也給我了些寶貴意見,讓我受益匪淺。 code uchar table[]={Enter Passw:}。 code uchar table4[]={ Warning!!! }。 code uchar newmima[8]={0}。 //每次 MCU 采集到的密碼輸入 uchar address。 //修改密碼標志位 long int password,password_memory=12345678。 //密碼輸入正確標志位 uchar Passw_right,Passw_wrong。 uchar Clr_Screen_Flag=1。k12。 for(k=0。 write_(0x80+0x40+0)。 } void display_table3() //輸入錯誤 { data uchar k。k++) write_data(table3[k])。k15。 write_(0x80+1)。 write_(0x80+0x40)。 陜西理工學(xué)院 畢業(yè)設(shè)計 第 18 頁 共 24 頁 } void display_table6() //輸入正確 { uchar k。k++) write_data(tableempty[k])。k16。 //按鍵掃描 delay_us(3)。 //輸入 8 個數(shù)字 每次顯示 password=password*10+keynum。 //輸入完成標志位 置 1 } } } void Passw_save(long int p_s) { write_add(0x12,p_s/16777216)。 // write_add(0x12,p_s/1000000)。 } long int Passw_read(void) { long int save_num。 save_n3=read_add(0x14)。 } void Enter_password_memory() { keynum=16。amp。 //輸入 8 個數(shù)字 每次顯。 write_data(0x30+keynum)。 //按鍵掃描 delay_us(3)。 save_num=save_n1*16777216+save_n2*65536+save_n3*256+save_n4。 save_n1=read_add(0x12)。 // write_add(0x14,p_s%10000/100)。 陜西理工學(xué)院 畢業(yè)設(shè)計 第 19 頁 共 24 頁 write_add(0x14,p_s%65536/256)。 // display_table1()。 write_data(0x30+keynum)。 } void Enter_password_try() { keynum=16。 write_(0x80+0x40)。 for(k=0。k16。k13。 } void display_table5() //設(shè)置密碼 { uchar k。 write_(0x80+0x40+1)。 for(k=0。k16。k++) write_data(table1[k])。 陜西理工學(xué)院 畢業(yè)設(shè)計 第 17 頁 共 24 頁 } void display_table1() { data uchar k。 write_(0x80+1)。 uchar Passw_Finish_Flag。 extern char waring_time_flag。//密碼輸入完成標志位 uchar warning_passw_flag,warning_flag。 uchar old1,old2,old3,old4,old5,old6,old7,old8。 code uchar table6[]={ Set OK!!! }。 code uchar table2[]={Passw is rignt!}。 sbit relay=P3^5。 此次畢業(yè)設(shè)計我以基于單片機的數(shù)字密碼鎖的設(shè)計為題,設(shè)計過程中我以單片機為主腦,以 C語言為驅(qū)動程序,將所學(xué)的知識用在了這次設(shè)計上,此次設(shè)計離不開我的論文指導(dǎo)老師 — 周平和老師,他多次詢問我的論文進程,并且他為我指點迷津,幫助我開拓設(shè)計思路,屢次為我提供基礎(chǔ)知識和資料,多次督促我去 完成任務(wù)。 總體而言,此次設(shè)計的數(shù)字密碼基本功能還是實現(xiàn)了,像密碼的輸入, 密碼輸入過程的聲、光提示,密碼的修改,密碼輸入正確失敗的報警等功能都能實現(xiàn),最重要的是通過此次設(shè)計,我學(xué)到了很多東西,對單片機也更進一步了解,也學(xué)會了 Proteus 仿真,也學(xué)會了應(yīng)用 C 語言來驅(qū)動單片機等知識。 通過整整一段時間的總體調(diào)試,期間我克服了很多困難,最后終于實現(xiàn)了數(shù)字密碼鎖的基本功能。 1) 顯示的很不穩(wěn)定,于是我在單片機的 40 引腳加了個 的濾波電容,加了以后顯示穩(wěn)定些。 4) 將程序調(diào)進原理圖后,在運行的情況下,紅綠燈一直都沒有反應(yīng),最后查出了在仿真的時候他們的高電平不應(yīng)該同時接在一起,而應(yīng)該分開接在高電平上。 基于單片機數(shù)字密碼鎖的總體調(diào)試 Proteus 仿真調(diào)試 硬件電路和軟件都調(diào)試好了,剩下來的就是總統(tǒng)設(shè)計,將已經(jīng)調(diào)試好的程序下載到調(diào)試好的硬件電路中,我為了安全起見,首先將已經(jīng)調(diào)好的程序下載到之前用 Proteus 畫好的仿真電路中仿真,在仿真過程中遇到了很多問題。在測試 LCD1602 時,我就把接低電平和高電平的引腳接在電源上, LCD1602 上電正確后就會第一行出方格,第二行沒有 。 我采用 Proteus 仿真硬件電路主要是因為仿真安全,在硬件調(diào)試之前的最好的選擇方法,這樣讓我們更能發(fā)現(xiàn)原理圖的正確與否,改進原理圖達到最好的效果。 主程序是首先進行整個程序的初始化及清屏,調(diào)用顯示程序,讀取鍵盤程序,當有按鍵按下時,程序判斷是哪個鍵被按下,然后執(zhí)行相應(yīng)的按鍵功能,并調(diào)用顯示程序中的顯示功能,當沒有鍵按下時,返回鍵盤掃描,再判斷是否有鍵被按下,當輸入的密碼達到了八位,將會與單片 機內(nèi)設(shè)置好的密碼進行比較,密碼正確鎖開,并報警提示電路啟動,密碼錯誤,可以有三次輸入密碼的機會。 顯示流程圖如圖 所示,顯示部分是分屏顯示數(shù)據(jù)的,因此顯示子程序為關(guān)閉狀態(tài)顯示子程序、密碼輸入及密碼修改狀態(tài)顯示子程序、密碼輸入后錯誤提示程序 。如果沒有,則轉(zhuǎn)回鍵盤掃描,看下次是否有鍵被按下;如果有鍵被按下,則先對鍵進行去抖動,然后算出是哪個鍵被按下,再延時等待鍵釋放。如果有鍵按下,就得到相應(yīng)的鍵值。如果在發(fā)送一個指令時前沒有檢查 D7 標志,那么在前一 個指令和這個指令中間必須延長一段較長的時間,即等待前一個指令確實執(zhí)行完成。 4 軟件設(shè)計 軟件設(shè)計思路 對于基于單片機的數(shù)字密碼鎖的設(shè)計,我們需要解決三個問題:鍵盤的輸入 、 液晶顯示 、 單片機電路以及密碼比較與處理的有關(guān)程序設(shè)計。電容 C2,C4 直接接地,起到抗干擾的作用,能使電壓穩(wěn)定在 +5V。 陜西理工學(xué)院 畢業(yè)設(shè)計 第 9 頁 共 24 頁 指示燈來代替了機械部分,設(shè)計簡化了。 圖 LCD160
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1