【正文】
。1 數(shù)字密碼鎖功能要求本次設(shè)計(jì)的數(shù)字密碼鎖有密碼的輸入、有密碼的修改功能,并且密碼是八位,在輸入密碼的過(guò)程中有顯示提示,讓用戶更好的操作密碼鎖,而在密碼輸入正確與否(鎖的開(kāi)否)也需要顯示提示,此次設(shè)計(jì)的時(shí)候沒(méi)有把機(jī)械部分設(shè)計(jì)出來(lái),因此引用了紅綠燈的顯示(報(bào)警提示),來(lái)代表機(jī)械部分的,即表示鎖的開(kāi)閉狀態(tài)。但電子密碼鎖在我國(guó)的應(yīng)用還不廣泛,成本還很高,希望通過(guò)不斷地努力使電子密碼鎖能夠在我國(guó)及居民日常生活中得到廣泛應(yīng)用,這也是一個(gè)國(guó)家生活水平的一種表現(xiàn)。傳統(tǒng)的門(mén)鎖既要備有大量的鑰匙,以及承受鑰匙丟失后的麻煩和風(fēng)險(xiǎn)?,F(xiàn)在的用戶都追求具有簡(jiǎn)潔方便、高安全,易操作等特點(diǎn)的安全鎖。[關(guān)鍵詞]AT89S51單片機(jī);LCD1602;電子密碼鎖;44矩陣鍵盤(pán)The No. three soft landing trajectory design and control strategyLi Suxi(Grade11, Class1102, Electronic Information Science and Technology, School of Physics and Telemunication Engineering, Shaanxi University of Technology, Hanzhong 723000, Shaanxi)Tutor: Zhou Pinghe Abstract:With the improvement of our living standards, the electronic digital lock slowly replaces the ordinary mechanical lock, the electronic password lock is better than the ordinary mechanical lock on the safety factor, the institution of ordinary mechanical lock is very simple, so that it can not guarantee the safety, and electronic lock makes us more confidence on safety, and the electronic lock has an advantage that without a key, keyhole, mechanical transmission, which is difficult to damage, wearing, and can not easily be deciphered, Many users want to go out simple, the electronic lock can meet their needs. The system consists of MCU system, matrix keyboard, the showing of circuit and alarm system ponents. passwordprotected and the showing of password whether it is correct or not. The design uses the C language as the main chips control procedures, which is proved that the design of rational design method is simple, safe and practical. Key words:MCU AT89S51。 陜西理工學(xué)院畢業(yè)設(shè)計(jì) 畢業(yè)設(shè)計(jì)論文題目 基于單片機(jī)的數(shù)字密碼鎖設(shè)計(jì) 基于單片機(jī)的數(shù)字密碼鎖[摘要]伴隨我們生活水平的提高,電子數(shù)字密碼鎖慢慢取代了普通的鎖具,電子密碼鎖在安全性能上比普通鎖具更好,普通的機(jī)械鎖其機(jī)構(gòu)非常的簡(jiǎn)單,從而在安全性能方面得不到保障,電子密碼鎖使得我們?cè)诎踩U戏矫娓凶孕?,并且電子密碼鎖還有不用鑰匙、無(wú)鎖孔、無(wú)機(jī)械傳動(dòng)、不易損壞、不磨損等優(yōu)點(diǎn),很多用戶都想簡(jiǎn)單出門(mén),電子密碼鎖就能滿足他們。設(shè)計(jì)采用C語(yǔ)言作為主片控制程序,因其具有方法合理、簡(jiǎn)單易行、成本低、實(shí)用等特點(diǎn)。 4x4 Matrix keyboard目錄引言 11 數(shù)字密碼鎖功能要求 12 總體方案 1 方案選擇 2 方案實(shí)現(xiàn) 2 方案結(jié)構(gòu)框圖 23 硬件電路的設(shè)計(jì) 3 單片機(jī)及單片機(jī)最小系統(tǒng) 3 鍵盤(pán)電路 5 鍵盤(pán)接口 5 鍵盤(pán)的識(shí)別方式 6 按鍵去抖動(dòng) 6 44行列式鍵盤(pán)電路 6 LCD1602顯示電路 6 LCD1602的介紹 6 LCD1602顯示的外圍電路 8 報(bào)警提示電路 8 電源輸入及電源指示電路 94 軟件設(shè)計(jì) 10 軟件設(shè)計(jì)思路 10 軟件設(shè)計(jì)的流程圖 105 系統(tǒng)調(diào)試 12 基于單片機(jī)的數(shù)字密碼鎖硬件調(diào)試 13 基于單片機(jī)數(shù)字密碼鎖的軟件調(diào)試 13 基于單片機(jī)數(shù)字密碼鎖的總體調(diào)試 13 Proteus仿真調(diào)試 13 軟硬聯(lián)合調(diào)試 146 結(jié)論與展望 14致謝 14參考文獻(xiàn) 15附錄A 16附錄B 23附錄C 24引言在我們?nèi)粘5纳詈凸ぷ髦校踩辣I已成為社會(huì)不可避免的問(wèn)題。而鎖自古以來(lái)就是把守門(mén)的鐵將軍,人們對(duì)它要求甚高,即要求可靠地防盜,又要使用方便,這也是制鎖者長(zhǎng)期以來(lái)研制的主題。目前西方發(fā)達(dá)國(guó)家已經(jīng)大量應(yīng)用智能門(mén)禁系統(tǒng),可以通過(guò)多種的更加安全更加方便可靠的方法來(lái)實(shí)現(xiàn)大門(mén)的管理。因此,設(shè)計(jì)數(shù)字密碼鎖的市場(chǎng)發(fā)展前景極為廣闊。3) 輸入密碼過(guò)程中,如果不小心出現(xiàn)了輸入錯(cuò)誤,可按“復(fù)位”鍵清除屏幕,取消此次輸入,再次輸入需要重新輸入所有密碼。2 總體方案 方案選擇設(shè)計(jì)本次畢業(yè)設(shè)計(jì)之前構(gòu)思了兩種方案:一種是用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路控制方案;另一種是用以單片機(jī)為核心的電子密碼鎖。單片機(jī)作為本設(shè)計(jì)的核心元件,利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的I/O端口,及其控制的準(zhǔn)確性,實(shí)現(xiàn)基本的密碼鎖功能。單片機(jī)控制系統(tǒng)包括晶振電路和復(fù)位電路。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。上電復(fù)位后P1口為弱上拉型IO口,用戶可以通過(guò)軟件設(shè)置將8路中的任何一路設(shè)置為A/D轉(zhuǎn)換,不須作為A/D使用的口可繼續(xù)作為IO口使用。在給出地址“1”時(shí),它利用內(nèi)部上拉的優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P3口也可作為AT89C51的一些特殊功能口: RXD(串行輸入口) TXD(串行輸出口) INT0(外部中斷0) INT1(外部中斷1) T0(記時(shí)器0外部輸入) T1(記時(shí)器1外部輸入) WR (外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通) RD (外部數(shù)據(jù)存儲(chǔ)器讀選通)同時(shí)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。在FLASH編程期間,此引腳用于輸入編程脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。PSEN:外部程序存儲(chǔ)器的選通信號(hào)。注意加密方式1時(shí),EA將內(nèi)部鎖定為RESET。,其中由復(fù)位電路和晶振震蕩電路組成。晶振振蕩電路:XTAL1腳和XTAL2腳分別構(gòu)成片內(nèi)振蕩器的反相放大器的輸入端和輸出端,外接石英晶體或陶瓷振蕩器以及補(bǔ)償電容CC2構(gòu)成并聯(lián)振蕩電路。外接電容CC2的大小會(huì)影響振蕩器的高低、振蕩頻率的穩(wěn)定度、起振時(shí)間及溫度穩(wěn)定性。 單片機(jī)最小系統(tǒng)圖 鍵盤(pán)電路 鍵盤(pán)接口常用的鍵盤(pán)接口分為獨(dú)立鍵盤(pán)和行列式鍵盤(pán)兩種。矩陣式鍵盤(pán)的掃描原理主要是分為兩個(gè)步驟:首先是確定是否有鍵閉合,然后逐一掃描以步確定哪一鍵閉合。各列線的一端接單片機(jī)的輸出口線,另一端懸空。 按鍵去抖動(dòng)當(dāng)掃描表明有鍵被按下之后,緊接著應(yīng)進(jìn)行去抖動(dòng)處理。鍵按下前沿抖動(dòng)后沿抖動(dòng)x = 0x = 0x = 0x = 0x = 0x = 0x = 0x = 0x = 0x = 0x = 0x = 0x = 0x = 0x = 0x = 0 44行列式鍵盤(pán)電路此次設(shè)計(jì)為44行列式鍵盤(pán),由16個(gè)按鍵組成的行列式鍵盤(pán),主要作為用戶輸入數(shù)字密碼及確認(rèn)、取消、修改等功能鍵,此次設(shè)計(jì)按鍵掃描方法采用的是掃描法。) LCD1602顯示電路 LCD1602的介紹LCD1602是一種專門(mén)用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型的液晶模塊,它由若干個(gè)57或者511等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用。第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。第15~16腳:空腳或背光電源腳。000001NSN=1 當(dāng)讀或?qū)懸粋€(gè)字符后地址指針加一,且光標(biāo)加一;N=0當(dāng)讀或?qū)懸粋€(gè)字符后地址指針減一,且光標(biāo)減一;S=1 當(dāng)寫(xiě)一個(gè)字符,整屏顯示左移(N=1)。而在實(shí)際應(yīng)用中應(yīng)該接密碼鎖的機(jī)械部分,這些引腳將會(huì)接繼電器線圈,只要在線圈兩端加上一定的電壓,線圈中就會(huì)流過(guò)一定的電流,從而產(chǎn)生電磁效應(yīng),銜鐵就會(huì)在電磁力吸引的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動(dòng)銜鐵的動(dòng)觸點(diǎn)與靜觸點(diǎn)(常開(kāi)觸點(diǎn))吸合用來(lái)啟動(dòng)密碼鎖的開(kāi)或關(guān)的狀態(tài),此次設(shè)計(jì)用紅綠指示燈來(lái)代替了機(jī)械部分,設(shè)計(jì)簡(jiǎn)化了。電容C2,C4直接接地,起到抗干擾的作用,能使電壓穩(wěn)定在+5V。鍵盤(pán)的輸入通過(guò)行列鍵盤(pán)掃描程序獲取所按鍵的行、列號(hào),而鍵值編碼規(guī)則如下:將字節(jié)的高四位(DDDD4)表示列號(hào)(1),低四位(DDDD0)表示行號(hào)(1),比如11H(00010001)表示第1行第1列,21H(00100001)表示第1行第2列,以此類(lèi)推,可得其他鍵值的編碼。液晶顯示的操作主要由初始化程序、寫(xiě)命令和寫(xiě)數(shù)據(jù)程序等組成。結(jié)合當(dāng)前系統(tǒng)所處的狀態(tài),調(diào)用不同的操作模塊,實(shí)現(xiàn)相應(yīng)的功能。因?yàn)閿?shù)字鍵和功能鍵都對(duì)應(yīng)不同的處理子程序,得到閉合鍵的鍵碼后,就可以根據(jù)鍵碼,轉(zhuǎn)相應(yīng)的鍵處理子程序,進(jìn)行字符、數(shù)據(jù)的輸入或命令的處理。密碼在規(guī)定的時(shí)間內(nèi)輸入的錯(cuò)誤次數(shù)超過(guò)3次的鎖定狀態(tài)顯示子程序。本次設(shè)計(jì)的主程序結(jié)構(gòu)流程圖。h1h1我采用Proteus仿真硬件電路主要是因?yàn)榉抡姘踩谟布{(diào)試之前的最好的選擇方法,這樣讓我們更能發(fā)現(xiàn)原理圖的正確與否,改進(jìn)原理圖達(dá)到最好的效果。在測(cè)試LCD1602時(shí),我就把接低電平和高電平的引腳接在電源上,LCD1602上電正確后就會(huì)第一行出方格,第二行沒(méi)有。 基于單片機(jī)數(shù)字密碼鎖的總體調(diào)試 Proteus仿真調(diào)試硬件電路和軟件都調(diào)試好了,剩下來(lái)的就是總統(tǒng)設(shè)計(jì),將已經(jīng)調(diào)試好的程序下載到調(diào)試好的硬件電路中,我為了安全起見(jiàn),首先將已經(jīng)調(diào)好的程序下載到之前用Proteus畫(huà)好的仿真電路中仿真,在仿真過(guò)程中遇到了很多問(wèn)題。4) 將程序調(diào)進(jìn)原理圖后,在運(yùn)行的情況下,紅綠燈一直都沒(méi)有反應(yīng),最后查出了在仿真的時(shí)候他們的高電平不應(yīng)該同時(shí)接在一起,而應(yīng)該分開(kāi)接在高電平上。 1) 顯示的很不穩(wěn)定,加了以后顯示穩(wěn)定些。通過(guò)整整一段時(shí)間的總體調(diào)試,期間我克服了很多困難,最后終于實(shí)現(xiàn)了數(shù)字密碼鎖的基本功能??傮w而言,此次設(shè)計(jì)的數(shù)字密碼基本功能還是實(shí)現(xiàn)了,像密碼的輸入,密碼輸入過(guò)程的聲、光提示,密碼的修改,密碼輸入正確失敗的報(bào)警等功能都能實(shí)現(xiàn),最重要的是通過(guò)此次設(shè)計(jì),我學(xué)到了很多東西,對(duì)單片機(jī)也更進(jìn)一步了解,也學(xué)會(huì)了Proteus仿真,也學(xué)會(huì)了應(yīng)用C語(yǔ)言來(lái)驅(qū)動(dòng)單片機(jī)等知識(shí)。此次畢業(yè)設(shè)計(jì)我以基于單片機(jī)的數(shù)字密碼鎖的設(shè)計(jì)為題,設(shè)計(jì)過(guò)程中我以單片機(jī)為主腦,以C語(yǔ)言為驅(qū)動(dòng)程序,將所學(xué)的知識(shí)用在了這次設(shè)計(jì)上,此次設(shè)計(jì)離不開(kāi)我的論文指導(dǎo)老師—周平和老師,他多次詢問(wèn)我的論文進(jìn)程,并且他為我指點(diǎn)迷津,幫助我開(kāi)拓設(shè)計(jì)思路,屢次為我提供基礎(chǔ)知識(shí)和資料,多次督促我去完成任務(wù)。sbit relay=P3^5。code uchar table2[]={Passw is rignt!}。code uchar table6[]={ Set OK!!! }。uchar old1,old2,old3,old4,old5,old6,old7,old8。 //密碼輸入完成標(biāo)志位uchar warning_passw_flag,warning_flag。extern char waring_time_flag。uchar Passw_Finish_Flag。 write_(0x80+1)。 }void display_table1(){ data uchar k。k++) write_data(table1[k])。k16。 for(k=0。 write_(0x80+0x40+1)。 }vo