




下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、單片機(jī)原理與應(yīng)用 課程設(shè)計(jì)報(bào)告-電子密碼鎖目錄:I密碼鎖簡(jiǎn)介:2系統(tǒng)硬件電路設(shè)計(jì)單片機(jī)電路圖顯示電路圖鍵盤電路圖3芯片介紹MAX7219的,管腳功能,操作指令,與單片機(jī)的連接 4程序設(shè)計(jì)框架5在課程設(shè)i|中遇到的困難及解決辦法打心得體會(huì)6程序1,電子密碼鎖簡(jiǎn)介:我使用MCS51系列單片機(jī)設(shè)計(jì)電路,運(yùn)用匯編語言編程,達(dá)到用鍵盤輸入密碼, 修改密碼,報(bào)警并即時(shí)顯示的U的。MCS5I系列單片機(jī)使用起來靈活,應(yīng)用廣泛。它的直接并行互連具有一定的實(shí) 用價(jià)值,能簡(jiǎn)化許多應(yīng)用系統(tǒng)的硬件設(shè)計(jì)。它還具有性能穩(wěn)定、工作可鼎、價(jià)格 低廉等特點(diǎn)。我是利用MCS51單片機(jī)系列AT89S52為依托,利用一塊擴(kuò)展4X 4鍵
2、盤輸入密碼,顯示器采用MAX7219控制共陰極四位數(shù)碼管和蜂鳴器。最終 使密碼鎖能夠?qū)崿F(xiàn)以下功能:1、密碼鎖上電或復(fù)位后初始密碼為0000,管理員密碼是1105:2、輸入密碼:按“輸入”鍵后可輸入4位密碼,按“確認(rèn)”鍵后進(jìn)行比較,當(dāng) 與設(shè)定密碼或管理員密碼一致時(shí)綠燈亮,輸入正確;否則紅燈亮,輸入錯(cuò)誤。當(dāng) 連續(xù)3次輸入錯(cuò)誤時(shí),紅燈亮一段時(shí)間,期間發(fā)出報(bào)警的蜂鳴聲,且鍵盤在此期 間鎖定。10秒后退出報(bào)警系統(tǒng),返回初始狀態(tài)。3、修改密碼:按“修改"鍵后,要先輸入當(dāng)前設(shè)定密碼或管理員密碼才可修改, 否則退出修改模塊。當(dāng)輸入正確后,綠燈亮,可以修改密碼。首先輸入4位數(shù)字, 綠燈亮;然后再輸入4
3、位數(shù)字,當(dāng)兩次輸入一致時(shí),綠燈亮,修改成功。否則, 紅燈亮,修改未成功,需要繼續(xù)輸入4位數(shù)字9只有連續(xù)輸入的4位數(shù)字一致時(shí), 綠燈亮,修改成功。退出修改密碼模塊。4、存在的問題:當(dāng)復(fù)位或斷電后,修改后的密碼會(huì)丟失電路設(shè)計(jì)圖,包括電源,復(fù)位開關(guān),單片機(jī),和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è)計(jì)圖注意,這里我采用的4聯(lián)共陰的數(shù)碼管,所以要去掉兩條線
5、rwT' ScI*:o-U)IS3ZQBkN <ca< Biffdjgart/UQ eU £*鍵盤連接圖,4X4其中0-9是數(shù)字輸入鍵,輸入的是相應(yīng)的數(shù)字,A為輸入鍵,B為修改密碼鍵 C為確認(rèn)鍵。3x主要芯片介紹3. 1 MAX7219MAX7219是一種髙集成化的串行輸入/輸出的共陰極LED顯示驅(qū)動(dòng)器。每片可驅(qū)動(dòng)8位7段加小數(shù)點(diǎn)的共陰極數(shù)碼管,可以數(shù)片級(jí)聯(lián),而與微處理器的連接只需3根線O MAX7219內(nèi)部設(shè)有掃描電路,除了更新顯示數(shù)據(jù)時(shí)從單片機(jī)接收數(shù)據(jù)外平時(shí)獨(dú)立工作極大地節(jié)省了MCV有限的運(yùn)行時(shí)間和程序資源。MAX7219芯片上包括BCD譯碼器、多位掃描電路、
6、段驅(qū)動(dòng)器、位驅(qū)動(dòng)器和用于存放每個(gè)數(shù)據(jù)位的8X8靜態(tài)RAM以及數(shù)個(gè)工作寄存器。通過指令設(shè)置這些工作寄存器,可以使MAX7219進(jìn)入不同的工作狀態(tài)。SEG A-SEt P. DPDIG O'DIG I以下將從管腳功能、操作指令、與單片機(jī)的連接三個(gè)方而全面介紹MAX7219這個(gè)芯3管腳功能:(1) DIN為串行數(shù)據(jù)輸入端。當(dāng)CLK為上升沿時(shí),數(shù)據(jù)被載入16 b內(nèi)部移位寄存器。(2) CLK為串行時(shí)鐘輸入端。其最大工作頻率可達(dá)10 MHzOLOAD為片選端,當(dāng)LOAD為低電平時(shí)芯片接收來自DIN的數(shù)據(jù),接收完畢,LOAD回到高電平時(shí),接收的數(shù)據(jù)將DIGODIG7為吸收顯示器共陰極電流的位驅(qū)動(dòng)線
7、0其最大值可達(dá)500 mA,關(guān)閉狀態(tài)時(shí),輸出+VCC。ON ClWM叵i«w7 gsdQ UW6區(qū)DC)(7 ttwfZ groE ww應(yīng) 網(wǎng)憶 I(uol7MAXMAX«19SGCffll MAX7219VN彷$SEGASEGG. DP為驅(qū)動(dòng)顯示器7段及小數(shù)點(diǎn)的輸出電流,一般為40 mA左右,可軟件調(diào)瓶 關(guān)閉狀態(tài)時(shí),接入GND。(6) DOUT為串行數(shù)據(jù)輸出端,通常直接接入下片MAX7219的譯碼方式選擇操作代碼為“09H”,操作數(shù)為“0”或“0FFH"。選中“0”則不使用BCD譯碼器在 顯示數(shù)字或符號(hào)時(shí),按每段點(diǎn)亮與否編排傳送碼。而選中“0FFH"時(shí)
8、,則按8421標(biāo)準(zhǔn)二進(jìn) 制編碼來代表相應(yīng)的顯示數(shù)字,如下:顯示內(nèi)容0123456789操作數(shù)(使用BCD譯碼)00H01H02H03H04H05H06H07H08H09H操作數(shù)(不用BCD譯碼)7EH30H6DH79H33H5BH5FH70H7FH7BH表1譯碼與不譯碼的比較亮度調(diào)節(jié)選擇操作代碼為“OAH",這個(gè)指令可以用來調(diào)節(jié)顯示器的亮度,改變貝操作數(shù)可以改變MAX7219內(nèi)部掃描脈沖的寬度,從而使電流的平均值有所變化,這個(gè)電流平均值可以從報(bào)小的1/32至最大的31/32之間進(jìn)行16級(jí)調(diào)恢 如表2所示。掃描位數(shù)設(shè)定操作代碼為“OBHS 如果所用的顯示器少于8位,則應(yīng)通過這條指令設(shè)置
9、相應(yīng)的位數(shù)。因?yàn)樵O(shè)置的位數(shù)如果比實(shí)際使用的位數(shù)大,就會(huì)形成“虛位X而一旦對(duì)“虛位”進(jìn)行操作,將會(huì)引起整個(gè)顯示器的混亂,另外,掃描位數(shù)的設(shè)置,會(huì)影響到掃描頻率的變化,相應(yīng)地,顯示器亮度也會(huì)隨著變化,所以應(yīng)該先確世掃描位數(shù),再設(shè)置顯示器亮度.如表3所示操作數(shù)00H01H02H03H04H05H06H07H掃描位數(shù)(位)12345678表3掃描位數(shù)設(shè)定操作數(shù)待機(jī)開關(guān)操作代碼為“OCHS操作數(shù)為“0"或"1 操作數(shù)為“0"則顯示器不工作(滅燈),反之,顯示器正常工作。待機(jī)狀態(tài)下,7219的工作電流僅為150 P Ao顯示器檢測(cè)操作代碼為“0FHX操作數(shù)為“(T或"
10、;1 "c選擇操作數(shù)為r”時(shí),可點(diǎn)亮整個(gè)顯示器,通常用來檢査數(shù)碼管及 連接電路是否存在故障。檢測(cè)時(shí),不會(huì)改變齊位原有的顯示數(shù)據(jù),即檢 測(cè)完畢后,再送入不檢測(cè)指令“OS又可恢復(fù)顯示原數(shù)據(jù)。位操作指令位操作指令就是對(duì)8個(gè)數(shù)碼管顯示內(nèi)容的操作,也是2個(gè)字節(jié),第1個(gè)字節(jié)是位的代碼如表4所示,第2個(gè)字節(jié)則根據(jù)譯碼方式的選擇來使用表1中的編碼。操作代碼01H02H03H04H05H06H07H08H位12345678表4位的代碼上述所有指令的輸入,不分先后(但毎個(gè)指令2個(gè)字節(jié)的秩序不能顛倒)。通常,前5 條指令一般在上電初始化程序中加以設(shè)置,而在工作程序中,僅使用位操作指令即可。另外MAX721
11、9 ±電時(shí).譯碼方式、亮度調(diào)節(jié)、掃描位數(shù)、待機(jī)開關(guān)、顯示檢測(cè)等5個(gè)控制寄存器全部歸零。3.1.3與單片機(jī)的連接MAX7219打51單片機(jī)的連接形式有2種:一種是將MAX7219的3個(gè)輸入端DIN, CLK和LOAD與51單片機(jī)的任意3個(gè)端口連接:一種則是直接與51單片機(jī)的串行接口相連。在此次實(shí)驗(yàn)中,我們采用第一種連接方式以下將只介紹第一種方式。本實(shí)驗(yàn)中的連接方式4、程序流程圖5.在課程設(shè)計(jì)中遇到的困難及解決辦法從設(shè)訃到焊板子過程中遇到了很多問題,最慘的是第一塊板子,用萬用表測(cè)電路一切 正常,可是數(shù)碼光就是死活不亮,不亮不亮不亮!查了兩個(gè)下午電路也沒差岀哪里錯(cuò)誤, 估il是元器件的問題
12、,十分郁悶,結(jié)果以做快的速度重新焊了一個(gè)板子,結(jié)果一切正常,明 明是完全一樣的電路,可是一個(gè)好用一個(gè)不好用,!在上電復(fù)位后,我發(fā)現(xiàn)不論按什么鍵,數(shù)碼管都不能顯示數(shù)字.經(jīng)檢査后才發(fā)現(xiàn)沒有對(duì)MAX7219進(jìn)行初始化,然后編了 MAX7219的初始化程序,經(jīng)調(diào)用后問題得到解決。在蜂鳴器模塊中,開始發(fā)現(xiàn)在程序沒問題的情況下出不來想要的結(jié)果,進(jìn)行研究后才發(fā)現(xiàn)三極管在 功率放大的同時(shí)也起到了非門的作用,將蜂鳴器初值宜1后問題得到解決。做為指示的發(fā)光 二極管指示時(shí)不太亮,經(jīng)測(cè)量電壓后測(cè)得單片機(jī)輸出的電壓較低,加了三極管對(duì)英進(jìn)行功率 放大后問題得到解決。我開始時(shí)編寫的程序只能進(jìn)行密碼的輸入和修改,而且報(bào)警功能
13、也不 完善,后來經(jīng)過與同學(xué)討論后,加了一管理員密碼并對(duì)報(bào)警模塊進(jìn)行了完善。總之,過程十分艱難,不但聯(lián)系了電工技巧編程經(jīng)驗(yàn),就是對(duì)中發(fā)電子市場(chǎng)也是越來 越熟悉絕對(duì)是一次全身心,大腦和身體的全而鍛煉和發(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;待機(jī)開關(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、進(jìn)行16級(jí)調(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;將指標(biāo)值加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í)函數(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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江蘇生物小高考復(fù)習(xí)計(jì)劃
- 語文五年級(jí)下冊(cè)刷子李第2課時(shí)教學(xué)設(shè)計(jì)及反思
- 印江縣年產(chǎn)500噸白酒生產(chǎn)項(xiàng)目環(huán)評(píng)資料環(huán)境影響
- 團(tuán)隊(duì)建設(shè)管理培訓(xùn)
- 深化改革推動(dòng)教育評(píng)價(jià)體系創(chuàng)新與發(fā)展
- 綠色科技驅(qū)動(dòng)未來園區(qū)建設(shè)可行性研究報(bào)告
- 金融資產(chǎn)投資公司股權(quán)投資試點(diǎn)推進(jìn)方案
- 表面活性劑市場(chǎng)需求增長(zhǎng)與行業(yè)發(fā)展趨勢(shì)
- 四大內(nèi)推招聘流程
- 醫(yī)院藥房章程范本
- 2024無人機(jī)測(cè)評(píng)規(guī)范
- 魯班造橋課件
- 結(jié)腸鏡檢查的護(hù)理
- 危重癥患者護(hù)理
- 2025年山東省春季高考語文模擬試卷試題(含答案解析)
- 2024版《糖尿病健康宣教》課件
- DB11∕T 686-2023 透水磚路面施工與驗(yàn)收規(guī)范
- 山東虛擬電廠商業(yè)模式介紹
- 醫(yī)療技術(shù)臨床應(yīng)用管理培訓(xùn)課件
- 敏捷開發(fā)管理咨詢合同
- 病區(qū)安全管理新護(hù)士上崗前培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論