北京交大單片機課程設(shè)計電子密碼鎖設(shè)計報告_第1頁
北京交大單片機課程設(shè)計電子密碼鎖設(shè)計報告_第2頁
北京交大單片機課程設(shè)計電子密碼鎖設(shè)計報告_第3頁
北京交大單片機課程設(shè)計電子密碼鎖設(shè)計報告_第4頁
北京交大單片機課程設(shè)計電子密碼鎖設(shè)計報告_第5頁
免費預覽已結(jié)束,剩余15頁可下載查看

下載本文檔

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

文檔簡介

1、單片機原理與應(yīng)用 課程設(shè)計報告-電子密碼鎖目錄:I密碼鎖簡介:2系統(tǒng)硬件電路設(shè)計單片機電路圖顯示電路圖鍵盤電路圖3芯片介紹MAX7219的,管腳功能,操作指令,與單片機的連接 4程序設(shè)計框架5在課程設(shè)i|中遇到的困難及解決辦法打心得體會6程序1,電子密碼鎖簡介:我使用MCS51系列單片機設(shè)計電路,運用匯編語言編程,達到用鍵盤輸入密碼, 修改密碼,報警并即時顯示的U的。MCS5I系列單片機使用起來靈活,應(yīng)用廣泛。它的直接并行互連具有一定的實 用價值,能簡化許多應(yīng)用系統(tǒng)的硬件設(shè)計。它還具有性能穩(wěn)定、工作可鼎、價格 低廉等特點。我是利用MCS51單片機系列AT89S52為依托,利用一塊擴展4X 4鍵

2、盤輸入密碼,顯示器采用MAX7219控制共陰極四位數(shù)碼管和蜂鳴器。最終 使密碼鎖能夠?qū)崿F(xiàn)以下功能:1、密碼鎖上電或復位后初始密碼為0000,管理員密碼是1105:2、輸入密碼:按“輸入”鍵后可輸入4位密碼,按“確認”鍵后進行比較,當 與設(shè)定密碼或管理員密碼一致時綠燈亮,輸入正確;否則紅燈亮,輸入錯誤。當 連續(xù)3次輸入錯誤時,紅燈亮一段時間,期間發(fā)出報警的蜂鳴聲,且鍵盤在此期 間鎖定。10秒后退出報警系統(tǒng),返回初始狀態(tài)。3、修改密碼:按“修改"鍵后,要先輸入當前設(shè)定密碼或管理員密碼才可修改, 否則退出修改模塊。當輸入正確后,綠燈亮,可以修改密碼。首先輸入4位數(shù)字, 綠燈亮;然后再輸入4

3、位數(shù)字,當兩次輸入一致時,綠燈亮,修改成功。否則, 紅燈亮,修改未成功,需要繼續(xù)輸入4位數(shù)字9只有連續(xù)輸入的4位數(shù)字一致時, 綠燈亮,修改成功。退出修改密碼模塊。4、存在的問題:當復位或斷電后,修改后的密碼會丟失電路設(shè)計圖,包括電源,復位開關(guān),單片機,和LED蜂鳴器VCCVCC十C3 zhlOuFR4 iokL% 2 r4 佃 c Q 牝r13 MPS8599£LED10r J1Key: :-Space o b5V VCC11-II-22pF2QLiabJ15 MPS8599否 LED3._IC2VCCU3YBUFFERP130T2VCCP131T2E:-:PCSCADO?IB2PC

4、31AD1?I53PCS2AD2?I34PQ53AD3PIB5M05:PC34AD4PIB6MI5OPC35AD5?iB73CKPC5ADeR3T?QaZADPSBOKOpsBiroA1Z?RC>3?332:N7;力空P3B3IN71P237A15P334T0P236A14P33521P235A13PS5QSP234A12P3B7RDP233A11*TLT aP232A10:TALi?23iA9GNDP2B0ASU120AL VIRTUAL 阿2牝cQ2 >47OL> 18R3MP S859919顯示芯片與數(shù)碼管的電路設(shè)計圖注意,這里我采用的4聯(lián)共陰的數(shù)碼管,所以要去掉兩條線

5、rwT' ScI*:o-U)IS3ZQBkN <ca< Biffdjgart/UQ eU £*鍵盤連接圖,4X4其中0-9是數(shù)字輸入鍵,輸入的是相應(yīng)的數(shù)字,A為輸入鍵,B為修改密碼鍵 C為確認鍵。3x主要芯片介紹3. 1 MAX7219MAX7219是一種髙集成化的串行輸入/輸出的共陰極LED顯示驅(qū)動器。每片可驅(qū)動8位7段加小數(shù)點的共陰極數(shù)碼管,可以數(shù)片級聯(lián),而與微處理器的連接只需3根線O MAX7219內(nèi)部設(shè)有掃描電路,除了更新顯示數(shù)據(jù)時從單片機接收數(shù)據(jù)外平時獨立工作極大地節(jié)省了MCV有限的運行時間和程序資源。MAX7219芯片上包括BCD譯碼器、多位掃描電路、

6、段驅(qū)動器、位驅(qū)動器和用于存放每個數(shù)據(jù)位的8X8靜態(tài)RAM以及數(shù)個工作寄存器。通過指令設(shè)置這些工作寄存器,可以使MAX7219進入不同的工作狀態(tài)。SEG A-SEt P. DPDIG O'DIG I以下將從管腳功能、操作指令、與單片機的連接三個方而全面介紹MAX7219這個芯3管腳功能:(1) DIN為串行數(shù)據(jù)輸入端。當CLK為上升沿時,數(shù)據(jù)被載入16 b內(nèi)部移位寄存器。(2) CLK為串行時鐘輸入端。其最大工作頻率可達10 MHzOLOAD為片選端,當LOAD為低電平時芯片接收來自DIN的數(shù)據(jù),接收完畢,LOAD回到高電平時,接收的數(shù)據(jù)將DIGODIG7為吸收顯示器共陰極電流的位驅(qū)動線

7、0其最大值可達500 mA,關(guān)閉狀態(tài)時,輸出+VCC。ON ClWM叵i«w7 gsdQ UW6區(qū)DC)(7 ttwfZ groE ww應(yīng) 網(wǎng)憶 I(uol7MAXMAX«19SGCffll MAX7219VN彷$SEGASEGG. DP為驅(qū)動顯示器7段及小數(shù)點的輸出電流,一般為40 mA左右,可軟件調(diào)瓶 關(guān)閉狀態(tài)時,接入GND。(6) DOUT為串行數(shù)據(jù)輸出端,通常直接接入下片MAX7219的譯碼方式選擇操作代碼為“09H”,操作數(shù)為“0”或“0FFH"。選中“0”則不使用BCD譯碼器在 顯示數(shù)字或符號時,按每段點亮與否編排傳送碼。而選中“0FFH"時

8、,則按8421標準二進 制編碼來代表相應(yīng)的顯示數(shù)字,如下:顯示內(nèi)容0123456789操作數(shù)(使用BCD譯碼)00H01H02H03H04H05H06H07H08H09H操作數(shù)(不用BCD譯碼)7EH30H6DH79H33H5BH5FH70H7FH7BH表1譯碼與不譯碼的比較亮度調(diào)節(jié)選擇操作代碼為“OAH",這個指令可以用來調(diào)節(jié)顯示器的亮度,改變貝操作數(shù)可以改變MAX7219內(nèi)部掃描脈沖的寬度,從而使電流的平均值有所變化,這個電流平均值可以從報小的1/32至最大的31/32之間進行16級調(diào)恢 如表2所示。掃描位數(shù)設(shè)定操作代碼為“OBHS 如果所用的顯示器少于8位,則應(yīng)通過這條指令設(shè)置

9、相應(yīng)的位數(shù)。因為設(shè)置的位數(shù)如果比實際使用的位數(shù)大,就會形成“虛位X而一旦對“虛位”進行操作,將會引起整個顯示器的混亂,另外,掃描位數(shù)的設(shè)置,會影響到掃描頻率的變化,相應(yīng)地,顯示器亮度也會隨著變化,所以應(yīng)該先確世掃描位數(shù),再設(shè)置顯示器亮度.如表3所示操作數(shù)00H01H02H03H04H05H06H07H掃描位數(shù)(位)12345678表3掃描位數(shù)設(shè)定操作數(shù)待機開關(guān)操作代碼為“OCHS操作數(shù)為“0"或"1 操作數(shù)為“0"則顯示器不工作(滅燈),反之,顯示器正常工作。待機狀態(tài)下,7219的工作電流僅為150 P Ao顯示器檢測操作代碼為“0FHX操作數(shù)為“(T或"

10、;1 "c選擇操作數(shù)為r”時,可點亮整個顯示器,通常用來檢査數(shù)碼管及 連接電路是否存在故障。檢測時,不會改變齊位原有的顯示數(shù)據(jù),即檢 測完畢后,再送入不檢測指令“OS又可恢復顯示原數(shù)據(jù)。位操作指令位操作指令就是對8個數(shù)碼管顯示內(nèi)容的操作,也是2個字節(jié),第1個字節(jié)是位的代碼如表4所示,第2個字節(jié)則根據(jù)譯碼方式的選擇來使用表1中的編碼。操作代碼01H02H03H04H05H06H07H08H位12345678表4位的代碼上述所有指令的輸入,不分先后(但毎個指令2個字節(jié)的秩序不能顛倒)。通常,前5 條指令一般在上電初始化程序中加以設(shè)置,而在工作程序中,僅使用位操作指令即可。另外MAX721

11、9 ±電時.譯碼方式、亮度調(diào)節(jié)、掃描位數(shù)、待機開關(guān)、顯示檢測等5個控制寄存器全部歸零。3.1.3與單片機的連接MAX7219打51單片機的連接形式有2種:一種是將MAX7219的3個輸入端DIN, CLK和LOAD與51單片機的任意3個端口連接:一種則是直接與51單片機的串行接口相連。在此次實驗中,我們采用第一種連接方式以下將只介紹第一種方式。本實驗中的連接方式4、程序流程圖5.在課程設(shè)計中遇到的困難及解決辦法從設(shè)訃到焊板子過程中遇到了很多問題,最慘的是第一塊板子,用萬用表測電路一切 正常,可是數(shù)碼光就是死活不亮,不亮不亮不亮!查了兩個下午電路也沒差岀哪里錯誤, 估il是元器件的問題

12、,十分郁悶,結(jié)果以做快的速度重新焊了一個板子,結(jié)果一切正常,明 明是完全一樣的電路,可是一個好用一個不好用,!在上電復位后,我發(fā)現(xiàn)不論按什么鍵,數(shù)碼管都不能顯示數(shù)字.經(jīng)檢査后才發(fā)現(xiàn)沒有對MAX7219進行初始化,然后編了 MAX7219的初始化程序,經(jīng)調(diào)用后問題得到解決。在蜂鳴器模塊中,開始發(fā)現(xiàn)在程序沒問題的情況下出不來想要的結(jié)果,進行研究后才發(fā)現(xiàn)三極管在 功率放大的同時也起到了非門的作用,將蜂鳴器初值宜1后問題得到解決。做為指示的發(fā)光 二極管指示時不太亮,經(jīng)測量電壓后測得單片機輸出的電壓較低,加了三極管對英進行功率 放大后問題得到解決。我開始時編寫的程序只能進行密碼的輸入和修改,而且報警功能

13、也不 完善,后來經(jīng)過與同學討論后,加了一管理員密碼并對報警模塊進行了完善。總之,過程十分艱難,不但聯(lián)系了電工技巧編程經(jīng)驗,就是對中發(fā)電子市場也是越來 越熟悉絕對是一次全身心,大腦和身體的全而鍛煉和發(fā)展!!源程序淸單:ORG OOOOHDIN BIT P30CLK;泄義變量BIT P3.1LOADAJMPORGBIT P32MAIN0030HMAIN; MOVSETBSP#70HP35SETBSETBLCALLP36P37PROCESSM_Z:MOV Rk#40HMOV R2#3OHM Zl: MOV R1#OOHM START;LCALL SCAN;調(diào)用掃描程序INCRlDJNZR2M_Z1M

14、OVRl#60HLCALLDISPLAYMOV55H#O1HMOV56H#01HMOV57H#OOHMOV58H#05HLCALLMOVCJNEDELAYA.R1A#0EHM NEXTlAJMPM NEXTl:CJNE A.#0BH.M NEXT?AJMP INPUTM_NEXT2:CJNE A.#OCH.M_STARTMODIFY 1AJMP:MAX7219初始化子程序 PROCESS:MOV A#0BHSJMPMOVB#03H:B中存入操作數(shù)二位LCALLW-7219MOVA#09H:譯碼方式選擇MOVB.#OFFH:使用BCD譯碼器LCALLW-7219MOVA.#0AH:亮度調(diào)節(jié)MOV

15、B#09H:從最小的1/32至最大的(OOH-OFH)LCALLW_7219MOVA#0CH;待機開關(guān)MOVB#01H:顯示器正常工作LCALLW_7219RET:把操作代碼和操作數(shù)傳送給MAX7219W_7219:CLR LOADLCALLSD_72!9MOVA.BLCALLSD_72!9SETBLOADRET:將8位數(shù)據(jù)傳入MAX7219SD_7219:MOVR6#08HC_SD: NOPCLRCLKRLCAMOVDIN.CNOPSETBCLKDJNZR6.C-SDRET:MAX7219顯示子程序DISPLAY:MOV R4#Q4HMOVAR1:A中存入操作代碼-掃描位數(shù)設(shè)定31/32之間

16、進行16級調(diào)節(jié)MOVMOV21HR120HAADDMOVA.R1R0.AC DISP: MOV AR0MOV BAMOV A.R4LCALLW_7219DECRODECR1DJNZR4.CLDISPMOVR1.21HMOVA.20HMOVR1ARET;掃描程序SCAN:MOVRM#0F7H:掃描初始值MOVRb#OOH;取碼數(shù)值SCANl:MOVA.R3:開始掃描LCALLMOVP;將掃描值輸出到PLCALLMOVA;讀入P判斷是否有按下MOVR4.A;存到R4,判斷是否放開SETBC;C=JMOVR5#a4H:掃描列LI:RLCA:將按鍵值左移一位元JNCKEYIN:若C=0,有按,執(zhí)行KE

17、YINGO;INCR1;將指標值加1,繼續(xù)掃描下一行DJNZR5丄!;掃描四行MOVA.R3;載入掃描值SETBC:C=1RRCA;掃描下一行MOVR3.A;存回掃描值JCSCANl;C=L尚未完成掃描AJMPSCAN:結(jié)束鍵盤掃描,回到SCANKEYIN;MOVR7#10消除彈跳L2:MOVR6#248DJNZR6$DJNZR7L2LCALLMOVA:讀入PXRLA.R4GOJNZINC R1CJNE RL#0AHX3MOV RIJOOHL3: NOPRET:數(shù)值傳遞MOVA:RRCMOVC.P1.4RRCMOVCP 15RRCMOVCPL6RRCMOVCPL7RRCMOVC,P13RRCM

18、OVUP12RRCMOVCPLlRRCMOVCPLORRCMOVE:RRCRETMOVP14CRRCAMOVP1.5.CAMOVPl ACRRCAMOVPl/ACRRCAMOVP13CRRCAMOVP12CRRCAMOVPLLCRRCAMOVPl ACRRCARETARRC延時函數(shù)DELAY: MOVDELAY 1: MOV40H#2041H#100DELAY2: MOVDJNZDJNZ42H.#10042H.S41H.DELAY2DJNZ40H.DELAY1RET >INPUT: LCALL CONFIRM+ >»»»LCALL COMPlUMP M

19、 STARTCONFIRM;MOV 50H.#04HMOV 60H#00HMOV R0#61HLOOPl: LCALL SCANLCALLDELAYMOVA.R1MOVR0AINC ROINC 60HMOVRl#60HMOV6EH.roLCALLDISPLAYMOVR0.6EHDJNZ50HXOOP1LOOP2: LCALL SCANMOVA.R1CJNEA#ODHLOOP2MOV60H#00HMOVRb#60HLCALLDISPLAYRETCOMPl: MOV A.61HCJNE A.55HNOOMOVA.62HCJNEA.56H.NOOMOVA63HCJNEA.57H.NOOMOVA.64

20、HCJNEA.58H.NOOLCALLGREENUMPTURNlNOO:MOV A.61HCJNEA.51HNO1MOVA62HCJNEA.52H.NO1MOVA.63HCJNEA.53HNO1MOVA.64HCJNEA.54H.NO1LCALLGREENUMPTURNlNOl; LCALL REDINC 4FHMOVA.4FHCJNEA#O3HTURN1MOV4FH.#00HLCALLRINGTURNl; NOPRETMODIFY! :LCALLCONFIRMLCALL COMP3MODIFY2;LCALLCONFIRMLCALLGREENMOV6AH.61HMOV6BH.62HMOV6CH.63HMOV6DH.64HLCALLCONFIRMLCALLCOMP2UMPM-STARTCOMP2: MOV A.61HCJNE A.6AH

溫馨提示

  • 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

提交評論