基于單片機電子密碼鎖設(shè)計-作業(yè)_第1頁
基于單片機電子密碼鎖設(shè)計-作業(yè)_第2頁
基于單片機電子密碼鎖設(shè)計-作業(yè)_第3頁
基于單片機電子密碼鎖設(shè)計-作業(yè)_第4頁
基于單片機電子密碼鎖設(shè)計-作業(yè)_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

摘要在日常的生活和工作中,住宅與部門的平安防范、單位的文件檔案、財務報表以及一些個人資料的保存多以加鎖的方法來解決。假設(shè)使用傳統(tǒng)的機械式鑰匙開鎖,人們常需攜帶多把鑰匙,使用極不方便,且鑰匙喪失后平安性即大打折扣。具有防盜報警等功能的電子密碼鎖代替密碼量少、平安性差的機械式密碼鎖已是必然趨勢。隨著科學技術(shù)的不斷開展,人們對日常生活中的平安保險器件的要求越來越高。為滿足人們對鎖的使用要求,增加其平安性,用密碼代替鑰匙的密碼鎖應運而生。密碼鎖具有平安性高、本錢低、功耗低、易操作、記住密碼即可開鎖等優(yōu)點。 目前使用的電子密碼鎖大局部是基于單片機技術(shù),以單片機為主要器件,其編碼器與解碼器的生成為軟件方式。本系統(tǒng)由AT89S51單片機系統(tǒng)〔主要是AT89S51單片機最小系統(tǒng)〕、4×4矩陣鍵盤、LCD1602顯示和報警系統(tǒng)等組成,具有設(shè)置、修改六位用戶密碼、超次報警、超次鎖定、密碼錯誤報警等功能〔本設(shè)計由P0口控制LCD顯示,密碼正確顯示passwordok!密碼錯誤顯示passworderror!超過三次輸入錯誤自動鎖定。由P1口控制矩陣鍵盤含有0-9數(shù)字鍵和A-F功能鍵?!?。除上述根本的密碼鎖功能外,依據(jù)實際的情況還可以添加遙控功能。本系統(tǒng)本錢低廉,功能實用。關(guān)鍵詞AT89S51LCD1602電子密碼鎖4×4矩陣鍵盤目錄第一章緒論1、課題背景和意義1、電子密碼鎖開展趨勢2第二章總體設(shè)計方案確實定32.1電子密碼鎖設(shè)計的具體要求3總體設(shè)計方案選定3第三章系統(tǒng)硬件設(shè)計53.1單片機AT89S51簡介53.1.1主要特性53.1.2引腳功能說明689S51相對于89C51增加的新功能包括:7液晶顯示LCD1602的介紹83.2硬件電路的設(shè)計113.2.1最小系統(tǒng)的設(shè)計113.2.2芯片擦除133.2.3開鎖機構(gòu)143.2.4鍵盤設(shè)計15顯示電路設(shè)計163.3電路設(shè)計總圖17第四章系統(tǒng)軟件設(shè)計18主程序模塊184.2鍵盤掃描及識別子程序194.3系統(tǒng)模塊密碼設(shè)置子程序20程序調(diào)試21第五章系統(tǒng)制作及調(diào)試24焊接考前須知:24硬件調(diào)試問題及解決方法25第六章結(jié)論28第七章致謝29參考文獻30附錄Ⅰ電子密碼鎖整體設(shè)計圖31附錄Ⅱ電子密碼鎖程序源代碼32第一章緒論、課題背景和意義隨著電子技術(shù)和計算機技術(shù)的飛速開展,單片機性能不斷完善,性能價格比顯著提高,技術(shù)日趨完善。由于單片機具有體積小、重量輕、價格廉價、功耗低、控制功能強及運算速度快等特點,因而在國民經(jīng)濟建設(shè)、軍事及家用電器等各個領(lǐng)域均得到了廣泛的應用。本設(shè)計利用單片機及附加電子元器件實現(xiàn)數(shù)據(jù)采集和控制算法,來完成某一實際功能,檢驗并提高同學對整體電路設(shè)計和把握能力,了解單片機系統(tǒng)設(shè)計流程,以及電路板的實際制作和調(diào)試能力。同時也加強對數(shù)字電路、單片機和微機原理等課程知識的實際應用能力,也為同類產(chǎn)品的進一步開展奠定理論和實踐根底。隨著人們生活水平的提高和平安意識的加強,對平安的要求也就越來越高。鎖自古以來就是把守護門的鐵將軍,人們對它要求甚高,既要平安可靠的防盜,又要使用方便,這也是制鎖者長期以來研制的主題。隨著電子技術(shù)的開展,各類電子產(chǎn)品應運而生,電子密碼鎖就是其中之一。據(jù)有關(guān)資料介紹,電子密碼鎖的研究從20世紀30年代就開始了,在一些特殊場所早就有所應用。這種鎖是通過鍵盤輸入一組密碼完成開鎖過程。研究這種鎖的初衷,就是為提高鎖的平安性。由于電子鎖的密鑰量〔密碼量〕極大,可以與機械鎖配合使用,并且可以防止因鑰匙被仿制而留下平安隱患。電子鎖只需記住一組密碼,無需攜帶金屬鑰匙,免除了人們攜帶金屬鑰匙的煩惱,而被越來越多的人所欣賞。電子鎖的種類繁多,例如數(shù)碼鎖,指紋鎖,磁卡鎖,IC卡鎖,生物鎖等。但較實用的還是按鍵式電子密碼鎖。20世紀80年代后,隨著電子鎖專用集成電路的出現(xiàn),電子鎖的體積縮小,可靠性提高,本錢較高,是適合使用在平安性要求較高的場合,且需要有電源提供能量,使用還局限在一定范圍,難以普及,所以對它的研究一直沒有明顯進展。目前,在西方興旺國家,電子密碼鎖技術(shù)相對先進,種類齊全,電子密碼鎖已被廣泛應用于智能門禁系統(tǒng)中,通過多種更加平安,更加可靠的技術(shù)實現(xiàn)大門的管理。在我國電子鎖整體水平尚處于國際上70年代左右,電子密碼鎖的本錢還很高,市場上仍以按鍵電子鎖為主,按鍵式和卡片鑰匙式電子鎖已引進國際先進水平,現(xiàn)國內(nèi)有幾個廠生產(chǎn)供給市場。但國內(nèi)自行研制開發(fā)的電子鎖,其市場結(jié)構(gòu)尚未形成,應用還不廣泛。國內(nèi)的不少企業(yè)也引進了世界上先進的技術(shù),開展前景非常可觀。希望通過不斷的努力,使電子密碼鎖在我國也能得到廣泛應用1.2、電子密碼鎖開展趨勢電子密碼鎖應用于金融業(yè),其根本的作用是“授權(quán)〞,即被“授權(quán)〞的人才可以存取錢、物。廣義上講,金融業(yè)的“授權(quán)〞主要包括以下三種層次的內(nèi)容:1、授予保管權(quán),如使用保管箱、保險箱和保險柜;2、授予出入權(quán),如出入金庫、運鈔車和保管室;3、授予流通權(quán),如自動存取款。目前,金融行業(yè)電子密碼鎖的應用主要集中在前兩個層面上。下面將介紹幾種在金融行業(yè)中使用較多的電子密碼鎖以及它們的技術(shù)開展方向。當然,以上所說的授權(quán)技術(shù)再高超,都必須由精良的“鎖具〞擔當承載結(jié)構(gòu)部件,實現(xiàn)開啟、閉鎖的功能,而且承當實體防護作用,抵抗住或盡量延遲破壞行為,讓電子密碼鎖“軟、硬不吃〞。一般情況下,鎖具防盜的關(guān)鍵是鎖身外殼、閉鎖的部件的強度、鎖止型式、配合間隙和布局。提高電子密碼鎖之防護能力的必然途徑是報警,在金融業(yè)的許多場所有人值守、有電視監(jiān)控,具有報警功能,可以綜合物理防范和人力防范兩種作用。報警的前提是具備探測功能,根據(jù)電子密碼鎖的使用場所和防護要求,可選擇多種多樣的探測手段。在中國的城市金融業(yè)中,實現(xiàn)聯(lián)網(wǎng)報警已經(jīng)成為對各金融網(wǎng)點的根本要求。根據(jù)國內(nèi)外的實踐經(jīng)驗,金融業(yè)實行平安防范風險等級很有必要,即依據(jù)使用的防盜報警器材的性能、安裝布局和人員值守狀況等,可以評估被防護物或區(qū)域的防護能力,得出風險等級,其中,電子密碼鎖的性能至關(guān)重要。由于數(shù)字、字符、圖形圖像、人體生物特征和時間等要素均可成為鑰匙的電子信息,組合使用這些信息能夠使電子密碼鎖獲得高度的保密性,如防范森嚴的金庫,需要使用復合信息密碼的電子密碼鎖,這樣對盜賊而言是“道高一尺、魔高一丈〞。組合使用信息也能夠使電子密碼鎖獲得無窮擴展的可能,使產(chǎn)品多樣化,對用戶而言是“千挑百選、自得其所〞。第二章總體設(shè)計方案確實定2.1電子密碼鎖設(shè)計的具體要求〔1〕本設(shè)計為了防止密碼被竊取要求在輸入密碼時在LCD屏幕上顯示*號?!?〕設(shè)計開鎖密碼位六位密碼的電子密碼鎖?!?〕能夠LCD顯示在密碼正確時顯示PASSWORDOK,密碼錯誤時顯示PASSWORDERROR,輸入密碼時顯示INPUTPASSWORD?!?〕實現(xiàn)輸入密碼錯誤超過限定的三次電子密碼鎖定?!?〕4×4的矩陣鍵盤其中包括0-9的數(shù)字鍵和A-F的功能鍵〔6〕本產(chǎn)品具備報警功能,當輸入密碼錯誤時蜂鳴器響并且LED燈亮?!?〕密碼可以由用戶自己修改設(shè)定〔只支持6位密碼〕,修改密碼之前必須再次輸入密碼,在輸入新密碼時候需要二次確認,以防止誤操作。方案一:采用數(shù)字電路控制。用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設(shè)了9個用戶輸入鍵,其中只有4個是有效的密碼按鍵,其它的都是干擾按鍵,假設(shè)按下干擾鍵,鍵盤輸入電路自動清零,原先輸入的密碼無效,需要重新輸入;如果用戶輸入密碼的時間超過10秒〔一般情況下,用戶不會超過10秒,假設(shè)用戶覺得不便,還可以修改〕電路將報警20秒,假設(shè)電路連續(xù)報警三次,電路將鎖定鍵盤2分鐘,防止他人的非法操作。采用數(shù)字電路設(shè)計的方案好處就是設(shè)計簡單但控制的準確性和靈活性差。故不采用。方案二:采用一種是用以AT89S51為核心的單片機控制方案。選用單片機AT89S51作為本設(shè)計的核心元件,利用單片機靈活的編程設(shè)計和豐富的IO端口,及其控制的準確性,實現(xiàn)根本的密碼鎖功能。在單片機的外圍電路外接輸入鍵盤用于密碼的輸入和一些功能的控制,外接LCD1602顯示器用于顯示作用。其原理如以下圖所示:圖2.1單片機控制密碼鎖原理圖可以看出方案二控制靈活準確性好且保密性強還具有擴展功能,根據(jù)現(xiàn)實生活的需要此次設(shè)計采用此方案第三章系統(tǒng)硬件設(shè)計單片機AT89S51簡介AT89S51是美國ATMEL公司生產(chǎn)的低功耗,高性能CMOS8位單片機,片內(nèi)含4kbytes的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標準8051指令系統(tǒng)及引腳。它集Flash程序存儲器,既可在線編程〔ISP〕也可用傳統(tǒng)方法進行編程及通用8位微處理器于單片芯片中,ATMEL公司的功能強大,低價位AT89S51單片機可為您提供許多高性價比的應用場合,可靈活應用于各種控制領(lǐng)域。主要特性與MCS-51兼容4K字節(jié)可編程閃爍存儲器壽命:1000寫/擦循環(huán)數(shù)據(jù)保存時間:10年全靜態(tài)工作:0Hz-24Hz三級程序存儲器鎖定128*8位內(nèi)部RAM32可編程I/O線兩個16位定時器/計數(shù)器5個中斷源可編程串行通道低功耗的閑置和掉電模式片內(nèi)振蕩器和時鐘電路3.1.2引腳功能說明圖2.2單片機引腳圖Vcc:電源電壓GND:接地P0口:P0口是一組8位漏極開路型雙向I/0口,也即地址/數(shù)據(jù)總線復用口。作為輸出口用時,每位能驅(qū)動8個TTL邏輯門電路,對端口寫“1〞可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址〔低8位〕和數(shù)據(jù)總線復用,在訪問期間激活內(nèi)部上拉電阻。在F1ash編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。P1口:Pl是一個帶內(nèi)部上拉電阻的8位雙向I/O口,Pl的輸出緩沖級可驅(qū)動〔吸收或輸出電流〕4個TTL邏輯門電路。對端口寫“l(fā)〞,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流〔IIL〕,F(xiàn)lash編程和程序校驗期間,Pl接收低8位地址。P2口:P2是一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動〔吸收或輸出電流〕4個TTL邏輯門電路。對端口寫“1〞,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口,作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流〔IIL〕,在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器〔例如執(zhí)行MOVX@DPTR指令〕時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器〔如執(zhí)行MOVX@Ri指令〕時,P2口線上的內(nèi)容〔也即特殊功能存放器〔SFR〕區(qū)中P2存放器的內(nèi)容〕,在整個訪問期間不改變。Flash編程或校驗時,P2亦接收高位地址和其它控制信號。P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/0口。P3口輸出緩沖級可驅(qū)動〔吸收或輸出電流〕4個TTL邏輯門電路。P3口除了作為一般的I/0口線外,更重要的用途是它的第二功能,如下表所示:P3口還接收一些用于Flash閃速存儲器編程和程序校驗的控制信號RST:復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。WDT溢出將使該引腳輸出高電平,設(shè)置SFRAUXR的DISRT0位〔地址8EH〕可翻開或關(guān)閉該功能。DISRT0位缺省為RESET輸出高電平翻開狀態(tài)。ALE/PROG:當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE〔地址鎖存允許〕輸出脈沖用于鎖存地址的低8位字節(jié)。即使不訪問外部存儲器,ALE仍以時鐘振蕩頻率的1/6輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。PSEN:程序儲存允許〔PSEN〕輸出是外部程序存儲器的讀選通信號,當AT89S51由外部程序存儲器取指令〔或數(shù)據(jù)〕時,每個機器周期兩次PSEN有效,即輸出兩個脈沖。當訪問外部數(shù)據(jù)存儲器,沒有兩次有效的PSEN信號。EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器〔地址為0000H-FFFFH〕,EA端必須保持低電平〔接地〕。需注意的是:如果加密位LB1被編程,復位時內(nèi)部會鎖存EA端狀態(tài)。如EA端為高電平〔接Vcc端〕,CPU那么執(zhí)行內(nèi)部程序存儲器中的指令。F1ash存儲器編程時,該引腳加上+12V的編程電壓Vpp。XTALl:振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。89S51相對于89C51增加的新功能包括:〔1〕ISP在線編程功能,這個功能的優(yōu)勢在于改寫單片機存儲器內(nèi)的程序不需要把芯片從工作環(huán)境中剝離,是一個強大易用的功能?!?〕最高工作頻率為33MHz,89C51的極限工作頻率為24MHz,就是說S51具有更高的工作頻率,從而具有了更快的計算速度?!?〕具有雙工UART串行通道?!?〕內(nèi)部集成看門狗計時器,不再需要像C51那樣外接看門狗計時器單元電路?!?〕雙數(shù)據(jù)指示器?!?〕電源關(guān)閉標識?!?〕全新的加密算法,這使得對于89S51的解密變?yōu)椴豢赡?,程序的保密性大大加強,這樣就可以有效地保護知識產(chǎn)權(quán)不被侵犯?!?〕兼容性方面:向下完全兼容51全部字系列產(chǎn)品?!?〕程序存儲器寫入方式:二者的寫入程序的方式不同,89C51只支持并行寫入,同時需要VPP燒寫高壓。89S51那么支持Isp在線編程寫入技術(shù)。串行寫入、速度更快、穩(wěn)定性更好,燒寫電壓也僅僅需要4~5V即可。〔10〕電源范圍:89S51電源范圍寬達4~5.5V,而89C51在低于4.8V和高于5.3V的時候那么無法正常工作。〔11〕燒寫壽命更長:89S51標稱的1000次,實際最少是1000~10000次,這樣更有利于初學者反復燒寫,降低學習本錢。綜上所述本設(shè)計選定AT89S51。液晶顯示LCD1602的介紹1、LM1602字符型模塊的性能重量輕:<100g;體積?。?lt;11mm厚;功耗低:10—15mW;顯示內(nèi)容:192種字符〔5×7點字型〕;32種字符〔5×10點字型〕;可自編8〔5×7〕或許〔5×10〕種字符;指令功能強:可組合成各種輸入、顯示、移位方式以滿足不同的要求;接口簡單方便:可與8位微處理器或微控制器相聯(lián);工作溫度寬:0—50oC可靠性高:壽命為50,000小時〔25oC〕2、根本原理=1\*GB3①液晶體液晶板上排列著假設(shè)干5×7或5×10點陣的字符顯示位,每個顯示位可顯示1個字符,從規(guī)格上分為每行8、16、20、24、32、40位,有一行、兩行及四行三類。=2\*GB3②工作電路它由KS0066、KS0065及幾個電阻電容組成。KS0065是擴展顯示字符用的〔例如:16個字符×1行模塊就可不用KS0065,16個字符×2行模塊就要用1片KS0065〕接口方面,有8條數(shù)據(jù),三條控線??膳c微處理器或微控制相連,通過送入數(shù)據(jù)和指令,就可使模塊正常工作。=3\*GB3③LCD驅(qū)動器和控制器ALCD驅(qū)動器KS0065KS0065是用低功耗CMOS技術(shù)制造的大規(guī)模LCD驅(qū)動IC。它既可當行驅(qū)動用,也可以當列驅(qū)動用,由20×2Bin二進制移位存放器、20×2Bin數(shù)據(jù)鎖存器和20×2Bin驅(qū)動器組成功能:a40通道點陣LCD驅(qū)動;b可選擇當做行驅(qū)動或列驅(qū)動;c輸入/輸出信號:輸出,能產(chǎn)生20×2個LCD驅(qū)動波型;輸入,接受控制器送出的串行數(shù)據(jù)和控制信號,偏壓〔V1—V6〕;特性:a顯示驅(qū)動偏壓低:靜態(tài)~1/5;b電源電壓:+5V+10%;c顯示驅(qū)動電源:-5V;dCMOS處理;e60引腳、塑封;BLCD控制器KS0066見圖4,KS0066是用低功耗CMOS技術(shù)制造的大規(guī)模點陣LCD控制器〔兼帶驅(qū)動器〕,和4Bin/8Bin微處理器相連連,它能使點陣LCD顯示大小英文字母、符號。應用KS0066,用戶能有少量元件就可組成一個完整點陣LCD系統(tǒng)。特性:a容易和Bin/8BinMpu相連;b可選擇5×7或5×10點字符;c顯示數(shù)據(jù)RAM容量:80×8Bin〔80字符〕;d字符發(fā)生器ROM能提供戶所需字符庫或標準庫;字符容量:192個字符〔5×7點字符〕;32個字符〔5×10點字符〕;eDDRAM和CGRAM都能從Mpu讀取數(shù)據(jù);f輸出信號:16個行掃信號〔commonsingnal〕,40個列掃信號〔sengmentsingnal〕g電源復位電路;h顯示占空比:1/8duty〔1Line,5×7dots+Cursor〕;1/11duty〔1Line,5×10dote+Cuesor〕;1/16duty〔2Line,5×7dots+Cuesir〕;i振蕩電路;j指令:11種;k80引腳、塑封。=4\*GB3④技術(shù)參數(shù)a極限參數(shù)b電參數(shù)3.2硬件電路的設(shè)計本設(shè)計單片機硬件資源的分配:P0.0~P0.7用于LCD液晶顯示作用。P2.6、P2.7用于蜂鳴器和報警燈的控制。P2.0用于開鎖電路的控制。P1.0~P1.7用于鍵盤電路的控制。P3.3~P3.5用于LCD顯示模塊的控制端口的控制。3.2.1最小系統(tǒng)的設(shè)計當MCS-5l系列單片機的復位引腳RST(全稱RESET)出現(xiàn)2個機器周期以上的高電平時,單片機就執(zhí)行復位操作。如果RST持續(xù)為高電平,單片機就處于循環(huán)復位狀態(tài)。根據(jù)應用的要求,復位操作通常有兩種根本形式:上電復位和開關(guān)復位。圖3.3即為手動〔開關(guān)〕復位電路。圖3.3手動復位電路〔2〕復位后的狀態(tài)a、復位后PC值為0000H,說明復位后的程序從0000H開始執(zhí)行。b、SP值為07H,說明堆棧底部在07H,一般需要重新設(shè)置SP值。c、P0~P3口值為FFH。P0~P3口用作輸入口時,必須先寫入“1〞。單片機在復位后,已使P0~P3口每一端線為“1〞,為這些端線用作輸入口做好了準備?!?〕WDT溢出將使該引腳輸出高電平,所以本設(shè)計采用圖3.4的手動復位電路:圖3.4本設(shè)計手動復位電路AT89S51中有一個用于構(gòu)成內(nèi)部振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是該放大器的輸入端和輸出端。這個放大器與作為反響元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器,振蕩電路參見圖3.5。外接石英晶體〔或陶瓷諧振器〕及電容Cl、C2接在放大器的反響回路中構(gòu)成并聯(lián)振蕩電路。對外接電容Cl、C2雖然沒有十分嚴格的要求,但電容容量的大小會輕微影響振蕩頻率的上下、振蕩器工作的穩(wěn)定性、起振的難易程序及溫度穩(wěn)定性。如果使用石英晶體,我們推薦電容使用30pF±10pF,而如使用陶瓷諧振器建議選擇40pF±10F。用戶也可以采用外部時鐘。采用外部時鐘的電路如圖1所示。這種情況下,外部時鐘脈沖接到XTAL1端,即內(nèi)部時鐘發(fā)生器的輸入端,XTAL2那么懸空。由于外部時鐘信號是通過一個2分頻觸發(fā)器后作為內(nèi)部時鐘信號的,所以對外部時鐘信號的占空比沒有特殊要求,但最小高電平持續(xù)時間和最大的低電平持續(xù)時間應符合產(chǎn)品技術(shù)條件的要求。圖3.5單片機自激震蕩電路由于單片機有內(nèi)部振蕩器,所以本設(shè)計采用圖3.6的晶振電路:圖3.6晶振電路3.2.2芯片擦除整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms來完成。在芯片擦操作中,代碼陣列全被寫“1〞且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。此外,AT89S51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。3.2.3開鎖機構(gòu)用戶通過LCD提示信息,用鍵盤輸入正確密碼,從而到達開鎖的目的。當用戶輸入的密碼正確并且是在按下確定鍵的話,單片機便輸出開門信號,送到開鎖驅(qū)動電路,然后驅(qū)動電磁鎖,到達開門的目的。電路驅(qū)動和開鎖兩級組成。由D5、R1、T10組成驅(qū)動電路,其中T10可以選擇普通的小功率三極管如9014、9018都可以滿足要求。D5作為開鎖的提示;由D6、C24、T11組成。其中D6、C24是為了消除電磁鎖可能產(chǎn)生的反向高電壓以及可能產(chǎn)生的電磁干擾。T11可選用中功率的三極管如8050,電磁鎖的選用要視情況而定,但是吸合力要足夠且由一定的余量。在本次設(shè)計中,基于節(jié)省材料的原那么,暫時用發(fā)光二極管代替電磁鎖,發(fā)光管亮,表示開鎖;滅,表示沒有開鎖。圖3.7密碼鎖開鎖機構(gòu)電路圖3.2.4鍵盤設(shè)計本設(shè)計就采用行列式鍵盤,同時也能減少鍵盤與單片機接口時所占用的I/O線的數(shù)目,在按鍵比擬多的時候,通常采用這樣方法。每一條水平〔行線〕與垂直線〔列線〕的交叉處不相通,而是通過一個按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)只需要N條行線和M條列線,即可組成具有N×M個按鍵的鍵盤。在這種行列式矩陣鍵盤非鍵盤編碼的單片機系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認有無按鍵按下的程序段。4×4矩陣鍵盤的工作原理在鍵盤中按鍵數(shù)量較多時,為了減少I/O口的占用,通常將按鍵排列成矩陣形式,如圖5所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口〔如P1口〕就可以構(gòu)成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比方再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線那么只能多出一鍵〔9鍵〕。由此可見,在需要的鍵數(shù)比擬多時,采用矩陣法來做鍵盤是合理的。掃描原理把每個鍵都分成水平和垂直的兩端接入,比方說掃描碼是從垂直的入,那就代表那一行所接收到的掃描碼是同一個bit,而讀入掃描碼的那么是水平,掃描的動作是先輸入掃描碼,再去讀取輸入的值,經(jīng)過比對之后就可知道是哪個鍵被按下。比方說掃描碼送入01111111,前面的0111是代表此時掃描第一行列,而后面的1111是讓讀取的4行接腳先設(shè)為VDD,假設(shè)此時第一行的第三列按鍵被按下,那讀取的結(jié)果就會變成01111101〔注意1111變成1101〕,其中LSB的第三個bit會由1變成0,這是因為這個按鍵被按下之后,會被垂直的掃描碼電位short,而把讀取的LSB的bit電位拉到0,此即為掃描原理。由於這種按鍵是機械式的開關(guān),當按鍵被按下時,鍵會震動一小段時間才穩(wěn)定,為了防止讓8051誤判為屢次輸入同一按鍵,我們必須在偵測到有按鍵被按下,就Delay一小段時間,使鍵盤以達穩(wěn)定狀態(tài),再去判讀所按下的鍵,就可以讓鍵盤的輸入穩(wěn)定。圖3.8為鍵盤整體??驁D:圖3.8鍵盤整體??驁D顯示設(shè)計采用字符型液晶屏設(shè)計,由單片機的p0口控制顯示,由p3.3~p3.5控制lcd的控制端口。本設(shè)計采用以下液晶顯示設(shè)計:圖3.9LCD液晶顯示電路抓圖3.3電路設(shè)計總圖Proteus軟件是LabcenterElectronics公司的一款電路設(shè)計與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來完成PCB的設(shè)計,而ISIS模塊用來完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢就在于它能仿真大量的單片機芯片,比方MCS-51系列、PIC系列等等,以及單片機外圍電路,比方鍵盤、LED、LCD等等。通過Proteus軟件的使用我們能夠輕易地獲得一個功能齊全、實用方便的單片機實驗室。本密碼鎖采用proteus進行電路圖設(shè)計,經(jīng)過元件選型,用萬能實驗版進行硬件焊接,以實現(xiàn)硬件局部。以下圖為proteus設(shè)計的密碼鎖電路圖整體抓圖第四章系統(tǒng)軟件設(shè)計因設(shè)計主要是作用匯編語言來開發(fā)的51單片機工程程序,所以首先必須有一個可以在WindowsXP或Windowsvista操作系統(tǒng)下執(zhí)行的匯編語言編譯器,本設(shè)計采用Keil編譯器進行編程,因為它可以支持一系列的51單片機。開始開始初始化模式選擇識別按鍵密碼輸入手動去除密碼比擬開門舊密碼輸入新密碼輸入存入緩存區(qū)再次輸入密碼重新輸入設(shè)置完畢返回NANBY圖4.1主程序的流程圖主程序主要是完成系統(tǒng)初始化、設(shè)置中斷向量、檢查有無鍵按下、以及調(diào)用顯示等等。主程序局部如下所示:;;;displayequp0;將lcd的顯示端口連接到p0口上;;;returnbitbit20h.1;ORG0000h;程序開始地址LJMPstart;ORG000bh;LJMPintermit_t0;ORG001bh;LJMPintermit_t1;ORG0030h;start:MOVsp,#60h;lcallsys_initialization;調(diào)用子程序sys_initialization4.2鍵盤掃描及識別子程序鍵盤局部程序如下:key: ;鍵盤程序名稱callks;調(diào)用子程序ksjnzk1;判斷是否有鍵按下jmpkey;跳回鍵盤程序ks:movp1,#0f0h;mova,p1;xrla,#0f0h;ret;圖4.2鍵盤掃描程序流程圖4.3系統(tǒng)模塊密碼設(shè)置子程序由于設(shè)計是分模塊化進行,所以子程序是整體軟件系統(tǒng)的組成局部,子程序不但可以使程序化整為零,使其復雜簡單化,同時也方便閱讀,修改等,每個功能模塊都有它自己的子程序,在本設(shè)計中是用LCD顯示數(shù)據(jù),所以就要用到顯示子程序,設(shè)計中用的是矩陣鍵盤,所以就用到鍵盤掃描子程序,例如還有顯示初始化子程序、LCD忙檢測子程序、關(guān)閉狀態(tài)顯示子程序、開鎖狀態(tài)顯示子程序、密碼輸入及修改狀態(tài)顯示子程序、密碼輸入錯誤后的提示子程序等。如以下圖為密碼修改子程序流程圖選擇模式選擇模式舊密碼輸入新密碼輸入存入緩存再次輸入密碼比擬密碼重新輸入返回YN是否大于3次鎖定NY圖4.3設(shè)置密碼子程序程序調(diào)試在硬件支持的環(huán)境下,用proteus設(shè)計好的電路,Keil編好的程序編譯成芯片可識別的S51文件,利用PC機寫進proteus程序圖芯片內(nèi)進行仿真測試,并對其出現(xiàn)的錯誤進行修改,由可看出最終調(diào)試成功。圖4.4keil編譯程序成功圖4.5keil生成hex文件圖4.6proteus調(diào)用keil的hex文件進行仿真圖4.7仿真成功密碼正確圖4.8密碼正確綠燈亮第五章系統(tǒng)制作及調(diào)試5.1焊接考前須知:LCD的考前須知1.

采用焊接方法將金屬基PIN安裝于LCD時,從玻璃末端到PCB的焊接位置的長度至少5mm,焊接溫度必須在260℃以下,且焊接時間必須在10秒以內(nèi),以免焊接過程中對裝置的損壞,確保焊接性能。在230℃,30秒條件下,90%的焊料須緊密附著于PIN上。2.

對LCD基板或基PIN焊接位置的調(diào)整必須在安裝前完成。嚴禁猛烈移動基PIN,否那么會機械地破壞LCD屏與基PIN之間的連接點。焊接時平放LCD,盡量不讓LCD受力。3.

焊接LCD基板時,將其小心、平衡地插入PCB插槽,以防止損壞基PIN或LCD基板。4.

焊接時,LCD基板不應長時間置于焊錫蒸汽中,清洗PCB時,必須防止污染LCD基板,否那么可能損壞顯示器外表的偏光片及封口膠。5.

顯示器外表的保護膜直到焊接完成才可揭掉,禁止手指及其它硬物接觸偏光片,禁止水和其他化學物質(zhì)沾污裝置,因為這些物質(zhì)會污染顯示器外表。單片機焊接考前須知:80s51單片機與其它單片機,dsp,arm芯片相比擬而言是脆弱的,如果焊接時不小心就很可能把芯片損壞!建議用比擬好的恒溫可調(diào)的烙鐵,功率在30瓦左右,溫度控制在260到300度,建議采用點焊而不用拉焊,焊接時烙鐵放在每個引腳的時間不能太長〔最好低于3秒〕。上邊提到的方法還不能確保芯片完好,對芯片有危害的還有帶電烙鐵的靜電感應!烙鐵質(zhì)量不是太好的,焊接時可以把烙鐵電源插頭拔掉。其他的電子器件焊接須知:一般分四步驟進行。①準備焊接:清潔被焊元件處的積塵及油污,再將被焊元器件周圍的元器件左右掰一掰,讓電烙鐵頭可以觸到被焊元器件的焊錫處,以免烙鐵頭伸向焊接處時燙壞其他元器件。焊接新的元器件時,應對元器件的引線鍍錫。②加熱焊接:將沾有少許焊錫和松香的電烙鐵頭接觸被焊元器件約幾秒鐘。假設(shè)是要拆下印刷板上的元器件,那么待烙鐵頭加熱后,用手或銀子輕輕拉動元器件,看是否可以取下。③清理焊接面:假設(shè)所焊部位焊錫過多,可將烙鐵頭上的焊錫甩掉(注意不要燙傷皮膚,也不要甩到印刷電路板上!),用光烙錫頭"沾"些焊錫出來。假設(shè)焊點焊錫過少、不圓滑時,可以用電烙鐵頭"蘸"些焊錫對焊點進行補焊。④檢查焊點:看焊點是否圓潤、光亮、牢固,是否有與周圍元器件連焊的現(xiàn)象。焊接流程按照附錄=1\*ROMANI所示的電子密碼鎖的硬件聯(lián)接原理圖按以下順序依次焊接:〔1〕焊接單片機的晶振電路、復位電路等單片機的最小系統(tǒng)的外圍電路?!?〕焊接LCD的相應管腳并把LCD的管腳單片機相連接?!?〕焊接鍵盤的按鍵電路?!?〕焊接電子密碼鎖的密碼輸入錯誤的報警電路?!?〕焊接密碼鎖的開鎖機構(gòu)電路?!?〕焊接其他接口及輔助電路。〔7〕焊接接地及高電平。5.2、硬件調(diào)試問題及解決方法本設(shè)計在焊接調(diào)試時遇到的問題以及解決方法:單片機的最小系統(tǒng)問題:電源、晶振電路和復位電路都無異常。Lcd焊接時的問題:〔1〕接通電源后lcd無反響,各個引腳均屬正常。推斷可能是初始化程序出現(xiàn)問題。經(jīng)查找得知是lcd顯示器的15和16管腳控制背光功能,連接好之后還是不能顯示字符?!?〕接通電源開門燈和報警電路就會工作,分析原因是單片機剛開始各個管腳輸出高電平。以下為所做實物:AT89S51LCD液晶顯示復位電路4×4矩陣鍵盤AT89S51LCD液晶顯示復位電路4×4矩陣鍵盤密碼錯誤報警電路晶振電路參考文獻[01][02]楊西明,朱騏主編

.單片機編程與應用入門.北京:機械工業(yè)出版社

.2004.06[03]先鋒工作室編著.單片機程序設(shè)計實例.北京:清華大學出版社.2003.01[04]謝宜仁主編

.單片機實用技術(shù)問答.北京:人民郵電出版社

.2003.02[05]梁麗.電子密碼鎖的計算機仿真設(shè)計.計算機仿真,2005[06]房小翠,王金鳳編著.單片機實用系統(tǒng)設(shè)計技術(shù).北京:國防工業(yè)出版社

.1999.06[07]各種網(wǎng)絡教程及其他[08]王寬仁.可靠平安的智能密碼鎖.電子技術(shù)應用,2001[09]李捷,陳典濤,陳建華,等.一種基于單片機的電子密碼鎖的設(shè)計[J].農(nóng)機化研究,2004,5[10]董繼成.能防止屢次試探密碼的單片機密碼鎖.國外電子元器件,2004,3[11]趙益丹,徐曉林,周振峰編著.電子密碼鎖的系統(tǒng)原理、設(shè)計程序及流程圖.嘉興學院學報,2003,15[12]張培仁.基于C語言編程MCS-51單片機原理與應[13]李朝清.PC機及單片機數(shù)據(jù)通信技術(shù).北京:北京航空航天大學出版社,1999.[14]路而紅.專用集成電路設(shè)計與電子設(shè)計自動化.北京:清華大學出版社,2004[15]劉文濤.MCS-51單片機培訓教程〔C51〕版.電子工業(yè)出版社,2005.8[16]王為青程國鋼.單片機KeilCx51應用開發(fā)技術(shù).人民郵電出版社,2007.2[17]范風強蘭嬋麗.單片機語言C51應用實戰(zhàn)集錦.電子工業(yè)出版社,2003.3[18]龔運新.單片機C語言開發(fā)技術(shù).清華大學出版社[19]邵貝貝.單片機嵌入式應用的在線開發(fā)方法.清華大學出版社,2006.3[20]王宜懷.單片機原理及其嵌入式應用教程.北京希望電子出版社,2002.8附錄Ⅰ電子密碼鎖整體設(shè)計圖附錄Ⅱ電子密碼鎖程序源代碼enbitp3.5;rwbitp3.4;rsbitp3.3;displayequp0;speakerbitp2.6;ledbitp2.7;openbitp2.0;returnbitbit20h.1;ORG0000h;LJMPstart;ORG000bh;LJMPintermit_t0;ORG001bh;LJMPintermit_t1;ORG0030h;start:MOVsp,#60h;lcallsys_initialization;main0:lcallstrat_display;main:MOV52h,#0;52h;判斷輸入錯誤次數(shù)存儲地址setbled;setbtr0;lcallkey;cjnea,#'A',next1;LJMPset_password;next1:cjnea,#'B',next2;LJMPinput_password;next2:ajmpmain;sys_initialization:clrled;clropen;clrspeaker;MOV34h,#'1';MOV35h,#'1';MOV36h,#'1';MOV37h,#'1';MOV38h,#'1';MOV39h,#'1';;存放初始密碼MOVr7,#12;MOVr0,#40h;loop:MOV@r0,#10h;incr0;djnzr7,loop;;密碼鍵值存放區(qū)清零完畢lcalldelay0_1s;MOVp0,#03h;callwrite_instruction;;液晶軟復位MOVp0,#01h;callwrite_instruction;movp0,#3fh;callwrite_instruction;movp0,#0fh;callwrite_instruction;movp0,#06h;callwrite_instruction;;液晶初始化完畢movr4,#10;movtmod,#11h;movth0,#0b0h;setbea;ret;;系統(tǒng)初始化完畢intermit_t0:pushacc;pushpsw;movth0,#3ch;movtl0,#0b0h;djnzr4,return;cplled;movr4,#10;return:poppsw;popacc;reti;intermit_t1:pushacc;pushpsw;movth1,#9eh;movtl1,#58h;djnzr4,return_t1;cplled;cplspeaker;movr4,#10;return_t1:poppsw;popacc;reti;;;;;;;;;;;;;;;;;;鍵盤掃描key:callks;jnzk1;jmpkey;k1:calldelay;callks;jnzk2;jmpkey;k2:clrtr0;clrled;movr2,#0feh;movr6,#00h;k3:mova,r2;movp1,a;mova,p1;jbacc.4,l1;mova,#0;LJMPlk;l1: jbacc.5,l2;mova,#4;ljmplk;l2:jbacc.6,l3;mova,#8;ljmplk;l3: jbacc.7,next_key;mova,#12;lk: adda,r6;movr6,a;k4: callks;jnzk4;mova,r6;movdptr,#table0;movca,@a+dptr;mov50h,a;;查表取值存入50H,保護鍵值ret;next_key:incr6;mova,r2;jnbacc.7,key;rla;movr2,a;jmpk3;;;;;;;;;;;;;ks:movp1,#0f0h;mova,p1;xrla,#0f0h;ret;;;;;;;;;;;;;;;;;;設(shè)置密碼程序set_password:callclear_display;movdptr,#table4;callinput_hint;movr0,#40h;callpassword;jbcreturnbit,set_password;;先輸入原密碼完畢movr5,#6;movr0,#40h;movr1,#34h;input_compere:mova,@r0;xrla,@r1;jnzinput_error;incr0;incr1;nop;nop;djnzr5,input_compere;;驗證輸入密碼完畢jmpset_password0;input_error:setbled;callclear_display;movdptr,#table5;callinput_hint;calldelay1_5s;clrspeaker;clrled;inc52h;mova,52h;cjnea,#3,set_password;sjmp$;;輸入密碼錯誤次數(shù)超過3次,鎖死set_password0:callclear_display;movdptr,#table2;callinput_hint;movr0,#40h;callpassword;jbcreturnbit,set_password;;第一次輸入新密碼完畢callclear_display;movdptr,#table3;callinput_hint;calldelay1_5s;;顯示再次輸入新密碼完畢callclear_display;movdptr,#table4;callinput_hint;movr0,#46h;callpassword;jbcreturnbit,set_password;;第二次輸入新密碼完畢movr5,#6;movr0,#40h;movr1,#46h;set_compere:mova,@r0;xrla,@r1;jnzset_error;incr0;incr1;djnzr5,set_compere;mov34h,40h;mov35h,41h;mov36h,42h;mov37h,43h;mov38h,44h;mov39h,45h;;存入新密碼完畢jmpmain0;;設(shè)置新密碼成功,返回主程序set_error:setbspeaker;setbled;callclear_display;movdptr,#table5;callinput_hint;calldelay1_5s;clrspeaker;clrled;ljmpset_password0;;前后兩次輸入新密碼不一致,返回重設(shè);;;;;;;;;;;;;;;;;輸入密碼開鎖程序input_password:callclear_display;movdptr,#table4;callinput_hint;movr0,#40h;callpassword;jbcreturnbit,input_password;;輸入原密碼完畢movr5,#6;movr0,#40h;movr1,#34h;input_compere0:mova,@r0;xrla,@r1;jnzinput_error22;incr0;incr1;nop;nop;djnzr5,input_compere0;;驗證輸入密碼完畢jmpdisplay_right;input_error22:setbspeak

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論