![智能密碼鎖設(shè)計(jì)_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/1/fd2c2557-93e5-4fb6-9427-9a569079a70d/fd2c2557-93e5-4fb6-9427-9a569079a70d1.gif)
![智能密碼鎖設(shè)計(jì)_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/1/fd2c2557-93e5-4fb6-9427-9a569079a70d/fd2c2557-93e5-4fb6-9427-9a569079a70d2.gif)
![智能密碼鎖設(shè)計(jì)_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/1/fd2c2557-93e5-4fb6-9427-9a569079a70d/fd2c2557-93e5-4fb6-9427-9a569079a70d3.gif)
![智能密碼鎖設(shè)計(jì)_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/1/fd2c2557-93e5-4fb6-9427-9a569079a70d/fd2c2557-93e5-4fb6-9427-9a569079a70d4.gif)
![智能密碼鎖設(shè)計(jì)_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-11/1/fd2c2557-93e5-4fb6-9427-9a569079a70d/fd2c2557-93e5-4fb6-9427-9a569079a70d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、湖南工程學(xué)院等級(jí):課 程 設(shè) 計(jì)課程名稱 單片機(jī)原理及應(yīng)用 課題名稱 智能密碼鎖設(shè)計(jì) 專 業(yè) 自動(dòng)化 班 級(jí) 1291 學(xué) 號(hào) 姓 名 指導(dǎo)教師 2014 年 12 月15 日湖南工程學(xué)院課 程 設(shè) 計(jì) 任 務(wù) 書課程名稱 單片機(jī)原理及應(yīng)用 課 題 智能密碼鎖設(shè)計(jì) 專業(yè)班級(jí) 自動(dòng)化1291 學(xué)生姓名 聶利峰 學(xué) 號(hào) 201201029135 指導(dǎo)老師 王迎旭 李曉秀 審 批 任務(wù)書下達(dá)日期 2014 年 12 月 1 日任務(wù)完成日期 2014 年 12 月 15 日設(shè)計(jì)內(nèi)容與設(shè)計(jì)要求設(shè)計(jì)內(nèi)容:本課題是要發(fā)設(shè)計(jì)一種基于單片機(jī)控制的智能電子密碼鎖,主要功能有:按用戶使用要求可設(shè)置、修改密碼,遙控或
2、按鍵開鎖,錯(cuò)誤報(bào)警、顯示等輔助功能。設(shè)計(jì)要求:1)根據(jù)課題要求,確定智能電子密碼鎖的硬件; 2)進(jìn)行系統(tǒng)的硬件設(shè)計(jì);3)完成必要的參數(shù)計(jì)算與元器件選擇;4)完成應(yīng)用程序設(shè)計(jì);5)進(jìn)行單元電路及應(yīng)用程序的調(diào)試;主 要 設(shè) 計(jì) 條 件1. 密碼可設(shè)48位,并可在線修改并存儲(chǔ);2.密碼輸錯(cuò)3次應(yīng)有報(bào)警信號(hào)提示,并有特殊密碼解除;3.出開鎖時(shí)外的時(shí)候,要求顯示的是北京時(shí)間;4.開鎖信號(hào)可以通過繼電器輸出。說 明 書 格 式封面課程設(shè)計(jì)任務(wù)書目錄第1章 概述(課題設(shè)計(jì)的要求、目的及意義)第2章 系統(tǒng)總體方案選擇與說明(系統(tǒng)硬件電路設(shè)計(jì)框圖與工作原理)第3章 硬件電路設(shè)計(jì)(各部分電路設(shè)計(jì)、原理、參數(shù)計(jì)算、
3、I/O分配等)第4章 應(yīng)用軟件設(shè)計(jì)(流程圖、算法等)*第5章 系統(tǒng)仿真調(diào)試第6章 硬件調(diào)試與結(jié)果分析(開發(fā)板焊接、性能測(cè)試、結(jié)果、操作說明)第7章 小結(jié)(已完成的工作、效果、特色、不足與展望)致謝參考文獻(xiàn) 附錄A 系統(tǒng)硬件電路原理圖附錄B 程序清單評(píng)分表進(jìn) 度 安 排設(shè)計(jì)時(shí)間為兩周第一周星期一、上午:布置課題任務(wù),講課及課題介紹 下午:借閱有關(guān)資料,總體方案討論星期二、確定總體設(shè)計(jì)方案星期三、硬件模塊方案設(shè)計(jì)星期四、軟件模塊方案設(shè)計(jì)星期五 小系統(tǒng)焊接與調(diào)試;第二周星期一、各硬件模塊設(shè)計(jì)星期二、各軟件模塊設(shè)計(jì)星期三、各軟件模塊設(shè)計(jì)星期四、寫說明書星期五、上午:寫說明書,整理資料下午:交設(shè)計(jì)資料,
4、答辯參 考 文 獻(xiàn)參考文獻(xiàn)1 王迎旭等.單片機(jī)原理及及應(yīng)用M.機(jī)械工業(yè)出版社.2012年2 胡漢才,單片機(jī)原理及其接口技術(shù) M. 3版. 北京:高等教育出版社,2004. 3 陳海宴. 51單片機(jī)原理及應(yīng)用基于keil C與proteus M. 北京:北京航空航天大學(xué)出版社,2010.4 鄧亞平. 微型計(jì)算機(jī)接口技術(shù) M. 北京:清華大學(xué)出版社, 2001 目 錄第1章 概述 .11.1 設(shè)計(jì)要求.11.2 目的及意義. 1第2章 系統(tǒng)總體方案選擇與說明.2 2.1系統(tǒng)硬件電路設(shè)計(jì)框圖. 22.2 工作原理. 2第3章 硬件電路設(shè)計(jì).43.1 時(shí)鐘電路設(shè)
5、計(jì).43.2 開鎖電路設(shè)計(jì).43.3 復(fù)位電路設(shè)計(jì). .53.4 報(bào)警電路設(shè)計(jì).53.5 鍵盤電路設(shè)計(jì).53.6 LED數(shù)碼管顯示電路設(shè)計(jì).63.7 密碼存儲(chǔ)電路設(shè)計(jì).7第4章 應(yīng)用軟件設(shè)計(jì).94.1軟件設(shè)計(jì)思路.94.2各子程序設(shè)計(jì).9 4.2.1 鍵盤掃描子程序設(shè)計(jì).9 4.2.2 LED顯示子程序設(shè)計(jì). 11 4.2.3 開鎖子程序設(shè)計(jì).114.2.3 EEPROM閃存子程序設(shè)計(jì).11第5章 硬件調(diào)試與結(jié)果分析.13第6章 小結(jié).致 謝.參考文獻(xiàn).附 錄.附錄A:系統(tǒng)硬件電路原理圖.附錄B:
6、源程序清單.電氣與信息工程系課程設(shè)計(jì)評(píng)分表. 第1章 概 述1.1 設(shè)計(jì)要求本設(shè)計(jì)是基于單片機(jī)控制的智能電子密碼鎖,根據(jù)要求,給出了該單片機(jī)密碼鎖的硬件電路和軟件程序,同時(shí)給出了單片機(jī)型號(hào)的選擇、硬件設(shè)計(jì)、軟件流程圖、單片機(jī)存儲(chǔ)單元的分配、匯編語(yǔ)言源程序及詳細(xì)注釋等內(nèi)容。 主要功能有:按用戶使用要求可設(shè)置、修改密碼,遙控或按鍵開鎖,錯(cuò)誤報(bào)警、顯示等輔助功能。列如:(1) 密碼可設(shè)4位,并可在線修改并存儲(chǔ);(2)密碼輸錯(cuò)3次應(yīng)有報(bào)警信號(hào)提示,并有特殊密碼解除;(3)出開鎖時(shí)外的時(shí)候,要求顯示的是北京時(shí)間;(4)開鎖信號(hào)可以通過繼電器輸出。1.2 目的及
7、意義在安全技術(shù)防范領(lǐng)域,具有防盜報(bào)警功能的電子密碼控制系統(tǒng)逐漸代替?zhèn)鹘y(tǒng)的機(jī)械式密碼控制系統(tǒng),克服了機(jī)械式密碼控制的密碼量少、安全性能差的缺點(diǎn),使電子密碼控制系統(tǒng)無(wú)論在技術(shù)上還是在性能上都大大提高了一步。隨著大規(guī)模集成電路技術(shù)的發(fā)展,特別是單片機(jī)的問世,出現(xiàn)了帶微處理器的智能密碼控制系統(tǒng),它除具有傳統(tǒng)電子密碼控制系統(tǒng)的功能外,還引入了智能化管理、專家分析系統(tǒng)等功能,從而使密碼控制系統(tǒng)具有很高的安全性、可靠性,應(yīng)用日益廣泛。 第2章 系統(tǒng)總體方案選擇與說明2.1系統(tǒng)硬件電路設(shè)計(jì)框圖本方案采用一種是用以89C51為核心的單片機(jī)控制方案。利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的I/O端口,及其控制的準(zhǔn)確性,實(shí)
8、現(xiàn)基本的密碼鎖功能。 根據(jù)設(shè)計(jì)要求與設(shè)計(jì)思路,確定系統(tǒng)的設(shè)計(jì)方案,圖2.1為系統(tǒng)組成原理框圖。硬件有以下幾部分組成:?jiǎn)纹瑱C(jī)、時(shí)鐘電路、復(fù)位電路、鍵輸入電路、串行EEPROM擴(kuò)展電路、LED數(shù)碼管顯示電路、LED指示燈電路、蜂鳴器電路、繼電器電路等。鍵盤輸入電路系統(tǒng)復(fù)位電路時(shí)鐘電路EEPROM閃存LED數(shù)碼顯示LED、蜂鳴器、繼電器電路單片機(jī)圖2.1系統(tǒng)硬件電路設(shè)計(jì)方案框圖 2.2 工作原理(1)系統(tǒng)的原始密碼放在RAM區(qū),在運(yùn)行過程中可以實(shí)時(shí)更改系統(tǒng)密碼。(2)利用串行EEPROM存儲(chǔ)芯片,可以隨時(shí)讀取新密碼,且具有掉電保護(hù)功能。(3)人機(jī)交互通過鍵盤輸入,系統(tǒng)根據(jù)鍵值做出相應(yīng)的處理
9、,完成具體的功能。(4)LED數(shù)碼管通過驅(qū)動(dòng)電路,顯示相應(yīng)的狀態(tài)。位選由P2口高四位產(chǎn)生,段碼由P1口輸入。 (5)系統(tǒng)還擴(kuò)展了LED指示燈、蜂鳴器、繼電器等一些其本外圍電路。(6)此系統(tǒng)共設(shè)計(jì)了3個(gè)基本功能鍵:密碼設(shè)置鍵、確認(rèn)鍵、復(fù)位鍵。 密碼設(shè)置鍵:當(dāng)用戶需更改密碼時(shí),可通過此功能鍵方便地修改原先的舊密碼。 確認(rèn)鍵:當(dāng)完成密碼輸入后,可按此功能鍵即可實(shí)現(xiàn)密碼的比較和處理。 復(fù)位鍵:當(dāng)密碼三次輸入錯(cuò)誤時(shí),系統(tǒng)進(jìn)入死鎖狀態(tài),可按此功能鍵跳出此狀態(tài)。 第3章 硬件電路設(shè)計(jì)3.1 時(shí)鐘電路設(shè)計(jì)單片機(jī)工作的時(shí)間基準(zhǔn)是由時(shí)鐘電路提供的,在單片機(jī)的XTAL1和XTAL2兩個(gè)引腳間,接一只晶振及兩只電容就
10、構(gòu)成了單片機(jī)的時(shí)鐘電路,如圖3.1所示。 圖3.1 時(shí)鐘電路 電路中器件選擇可以通過計(jì)算和實(shí)驗(yàn)確定,也可以參考一些典型電路參數(shù)。電路中,電容器C1和C2對(duì)振蕩頻率有微調(diào)作用,同時(shí)幫助晶振起振,通常取值范圍在22±0.1PF,一般晶振為12MHZ,電容取2PF。石英晶體選擇12MHZ。3.2開鎖電路設(shè)計(jì)本次智能電子密碼鎖設(shè)計(jì)中,基于節(jié)省材料的原則,暫時(shí)用發(fā)光二極管代替電磁鎖,發(fā)光管亮,表示開鎖;滅,表示沒有開鎖。電路圖如3.2所示。當(dāng)P2.0口輸出低電平時(shí),二極管發(fā)光,表示開鎖。 圖3.2開鎖電路3.3復(fù)位電路設(shè)計(jì)在接通電源瞬間,電
11、容C3上的電壓很小, RST為高電平,在電容充電的過程中RST端電壓逐漸下降,當(dāng)RST端的電壓小于某一數(shù)值后,CPU脫離復(fù)位狀態(tài),當(dāng)復(fù)位按鍵按下后電容C3通過R5放電,當(dāng)電容C3放電結(jié)束后,RST端的電位由R5與R6分壓比決定,由于R5R6,所以RST為高電平,CPU處于復(fù)位狀態(tài),松手后,電容C3充電,RST端電位下降,CPU脫離復(fù)位狀態(tài),R5的作用在于限制按鍵按下瞬間電容C3的放電電流,避免產(chǎn)生火花以保護(hù)按鍵觸電,其電路如圖3.3圖3.3復(fù)位電路3.4 報(bào)警電路設(shè)計(jì)圖3.4 報(bào)警電路 報(bào)警模塊由蜂鳴器和單片機(jī)組成。選擇一只壓電式蜂鳴器,壓電式蜂鳴器工作時(shí)約需要100mA驅(qū)動(dòng)電流。蜂
12、鳴器電路如圖3.4所示。當(dāng)89C51的P2.1口輸出為低電平時(shí),蜂鳴器產(chǎn)生蜂鳴音,89C51輸出為高電平時(shí),蜂鳴器不發(fā)聲。3.5鍵盤電路設(shè)計(jì) 此次課程設(shè)計(jì)采用4*4矩陣鍵盤,與P2口相連,采用掃描法。設(shè)有09十個(gè)數(shù)字密碼,和幾個(gè)功能鍵。開機(jī)顯示- - - -,等待密碼輸入,輸入4個(gè)密碼,按確認(rèn)鍵后,密碼比較。P0口送示數(shù)據(jù),P2口顯示掃描,每一個(gè)鍵對(duì)應(yīng)一個(gè)鍵碼,以便將鍵碼轉(zhuǎn)到相應(yīng)的的鍵處理子程序,進(jìn)一步實(shí)現(xiàn)數(shù)據(jù)輸入和命令處理的功能,根據(jù)按鍵次數(shù),第一位顯示器顯示第一次按的密碼,第二位顯示器顯示第二次按的密碼,第三位顯示器顯示第三次按的密碼,依此第
13、四位顯示器顯示第四次按的密碼,密碼對(duì)則執(zhí)行相關(guān)動(dòng)作,不同則顯示器清零,等待重新輸入。 使用矩陣鍵盤,所以本設(shè)計(jì)就采用行列式鍵盤,同時(shí)也能減少鍵盤與單片機(jī)接口時(shí)所占用的I/O線的數(shù)目,在按鍵比較多的時(shí)候,通常采用這樣方法。其原理如圖3.5 圖3.5矩陣鍵盤 掃描P2.4P2.7,輸出全為0,讀P2.0P2.3,若P2.0P2.3全為1,則鍵盤上沒有閉合鍵,若P2.0P2.3不全為1,則有鍵處于閉合狀態(tài)。再鍵盤去抖確認(rèn)有鍵閉合計(jì)算鍵號(hào),判斷鍵盤中哪一個(gè)鍵被按下使通過將列線逐列置低電平后,檢查行輸入狀態(tài)來(lái)實(shí)現(xiàn)的。方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為1,則所按下的鍵不在此
14、列;如果不全為1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點(diǎn)上的那個(gè)鍵。鍵值N=行首鍵號(hào)+列號(hào) 表3.1 按鍵功能表 按鍵 鍵名 功能說明 1-9鍵 數(shù)字鍵 輸入密碼 D鍵 確定鍵 密碼比較 C鍵清除鍵 使顯示清零 R鍵 密碼重設(shè)鍵 設(shè)定新密碼3.6 LED數(shù)碼管顯示電路設(shè)計(jì)LED顯示器顯示控制方法有兩種,即動(dòng)態(tài)顯示和靜態(tài)顯示。靜態(tài)顯示亮度一般比動(dòng)態(tài)顯示效果好,但本次設(shè)計(jì)中,采用了動(dòng)態(tài)顯示。為了方便編寫程序,通常在內(nèi)部RAM中設(shè)置顯示緩沖區(qū),存放顯示的數(shù)字或字符,顯示緩沖區(qū)單元個(gè)數(shù)與LED顯示器位數(shù)相同。此次基于單片機(jī)的電子密碼鎖,我選用動(dòng)態(tài)顯示,通過與軟件配合,每輸入一個(gè)密碼,進(jìn)行
15、顯示一次,掃描,4個(gè)密碼輸入完后,進(jìn)行比較,密碼正確則開鎖,密碼錯(cuò)誤,可重新輸入三次,三次后仍然錯(cuò)誤,報(bào)警!。用P0.0P0.7通過上拉電阻接數(shù)碼管七段顯示,P2.4P2.7接LED位顯示,通過軟件實(shí)現(xiàn)數(shù)字和位控制,顯示電路原理圖如圖3.6所示 圖3.6 LED數(shù)碼顯示電路3.7 密碼存儲(chǔ)電路設(shè)計(jì)電路中單片機(jī)的P3.4引腳作為串行時(shí)鐘線SCL,P3.5引腳作為串行數(shù)據(jù)線SDA,A0、A1、A2接地,從第0頁(yè)開始存,單片機(jī)I/O口模擬串行總線與AT24C02的接口電路如圖3.7所示 圖3.7 密碼存儲(chǔ)電路設(shè)計(jì)第4章 應(yīng)用軟件設(shè)計(jì)4.1軟件設(shè)計(jì)思路電子密碼鎖工作的主要過程是LED數(shù)碼管沒鍵按下時(shí)顯
16、示時(shí)間,有鍵按下,通過鍵盤輸入密碼,同時(shí)LED顯示密碼輸入情況,按下確認(rèn)鍵后判斷密碼的正確性,作出開鎖或報(bào)警處理。當(dāng)輸入密碼連續(xù)輸入錯(cuò)誤3次時(shí),系統(tǒng)報(bào)警,一段時(shí)間內(nèi)沒鍵按下返回時(shí)間顯示。軟件設(shè)計(jì)總流程圖如圖4.1固定密碼動(dòng)態(tài)密碼顯示開鎖3次錯(cuò)誤報(bào)警開始有無(wú)鍵按下?密碼對(duì)錯(cuò)?時(shí)間顯示NYNY 圖4.1軟件設(shè)計(jì)總流程圖4.2各子程序設(shè)計(jì)4.2.1 鍵盤掃描子程序 輸入鍵號(hào)到A返回有鍵閉合?有鍵閉合?調(diào)用顯示子程序延時(shí)開始兩次調(diào)用顯示子程序延時(shí)調(diào)用顯示子程序延時(shí)鍵釋放?YNYNYN圖4.2 鍵盤子程序流程圖鍵盤子程序如下KEY: LCALL KS ;調(diào)用檢測(cè)按鍵子程序 JNZ K1 ;有鍵
17、按下繼續(xù) LCALL DISP LCALL DELAY2 INC 6AH MOV A,6AHCJNE A,#250,KEY RET K1: LCALL DELAY2 LCALL DELAY2 ;有鍵按下繼續(xù)延時(shí)去抖動(dòng) LCALL KS ;再一次調(diào)用檢測(cè)按鍵程序 JNZ K2 ;確認(rèn)有按下進(jìn)行下一步 AJMP KEY ;返回繼續(xù)檢測(cè)有無(wú)按鍵按下 K2: MOV R2,#0EFH ;將掃描值送入 R2暫存 MOV R4,#00H ;將第一列的列值00H送入R4暫存,R4用于存放列值。K3: MOV P2,R2 ;將R2的值送入P2口L6: JB P2.0,L1 ;P2.0等于1跳轉(zhuǎn)到L1 MOV
18、A,#00H ;將第一行的行值00H送入ACC LJMP LK ;跳轉(zhuǎn)到鍵值處理程序L1: JB P2.1,L2 ;P2.1等于1跳轉(zhuǎn)到L2 MOV A,#04H ;將第二行的行值送入ACC LJMP LK ;跳轉(zhuǎn)到鍵值理程序進(jìn)行鍵值處理L2: JB P2.2,L3 ;P1.2等于1跳轉(zhuǎn)到L3 MOV A,#08H ;將第三行的行值送入ACC LJMP LK ;跳轉(zhuǎn)到鍵值處理程序L3: JB P2.3,NEXT ;P2.3等于1跳轉(zhuǎn)到NEXT處 MOV A,#0cH ;將第四行的行值送入ACCLK: ADD A,R4 ;行值與列值相加后的鍵值送入A PUSH ACC ;將A中的值送入堆棧暫存
19、MOV R2,A MOV 6AH,#00H INC 48H ;按鍵次數(shù)加一 CJNE A,#10,K5 MOV 48H,#00H LCALL K4 LJMP judge ;轉(zhuǎn)判斷4.2.2 LED顯示子程序采用LED動(dòng)態(tài)顯示,由單片機(jī)P0口進(jìn)行輸出顯示,P2口掃描, LED數(shù)碼管顯示程序流程圖如圖4.3開始密碼對(duì)錯(cuò)處理按鍵數(shù)值存R2比較MOV P0,A按鍵值入AINC R1,位控右移取顯示表頭地址顯示單元從EFH開始入R1按鍵數(shù)是否為4?一段時(shí)間內(nèi)有鍵按下?MOVC A,A+DPTRNY返回時(shí)間顯示NY 圖 4 .3 LED顯示子程序流程圖 LED顯示子程序如下 DISP0: MOV
20、 7AH,#11 ;顯示清- MOV 7BH,#11 MOV 7CH,#11 MOV 7DH,#11 RET;子程序返回 DISPLAY: MOV R3,48H ;按鍵次數(shù)放R3 MOV A,51H ; 修改新密碼次數(shù) CJNE A,#1,N4 ;新密碼輸入次數(shù) 不等轉(zhuǎn)N4 N9: MOV A,R2 ;按鍵值存A N5: CJNE R3,#1,N6 ;判斷按鍵次數(shù) MOV 74H,A ;按鍵值存緩存單元 MOV 7aH,A AJMP DISP N6: CJNE R3,#2,N7 MOV 75H,A MOV 7BH,A AJMP DISP N7: CJNE R3,#3,N8 MOV 76H,A
21、MOV 7CH,A AJMP DISP N8: CJNE R3,#4,DISP MOV 77H,A MOV 7DH,A AJMP DISP N4: MOV A,R2 ; 重復(fù)輸入新密碼轉(zhuǎn)N4 N0: CJNE R3,#1,N1;判斷按鍵次數(shù) MOV 7aH,A ;存緩存 AJMP DISP N1: CJNE R3,#2,N2 MOV 7BH,A AJMP DISP N2: CJNE R3,#3,N3 MOV 7CH,A AJMP DISP N3: CJNE R3,#4,DISP MOV 7DH,A DISP: MOV R1,#0EFH ;顯示的位控 MOV R0,#7aH ;從7a開始顯示 D
22、ISPLAY2:MOV A,R0 ;顯示緩存單元放AMOVC A,A+DPTR ;轉(zhuǎn)換成段碼MOV P0,A ;顯示MOV A,R1 ;位控MOV P2,A ;位控LCALL DELAY2INC R0RL AMOV R1,ACJNE R1,#0FEH,DISPLAY2RET ;子程序返回4.2.3 開鎖子程序設(shè)計(jì)如圖4.4為開鎖流程圖,輸入密碼,如果密碼正確,則開鎖成功,如果輸入錯(cuò)誤累計(jì)達(dá)到三次,則執(zhí)行報(bào)警程序。開始初始化輸入密碼報(bào)警輸入次數(shù)加1開鎖密碼正確?返回次數(shù)>3YNNY 圖4.4開鎖子程序流程圖4.2.3 EEPROM閃存子程序設(shè)計(jì)圖4.5為實(shí)現(xiàn)單片機(jī)通過串行總線對(duì)AT24C0
23、2的數(shù)據(jù)讀寫。單片機(jī)的P3.4引腳作為串行時(shí)鐘線SCL,P3.5引腳作為串行數(shù)據(jù)線SDA,開機(jī)從24C02讀取上次保存的密碼,修改密碼后又重新存入新的密碼。從24C02讀密碼開始新密碼存入24C02修改密碼成功返回圖4.5 EEPROM閃存子程序設(shè)計(jì)第5章 硬件調(diào)試與結(jié)果分析開機(jī)初始界面LED數(shù)碼管顯示時(shí)間0時(shí)0分,LED燈不亮表示未開鎖,圖5.1所示。 圖5.1輸入第一位密碼0,LED數(shù)碼管第一位顯示0其余三位顯示,LED燈不亮表示未開鎖,顯示如圖5.2 圖5.2密碼輸入錯(cuò)誤,LED數(shù)碼管顯示表示待重新輸入密碼,LED燈不亮表示開鎖不成功,如圖5.3圖5.3 密碼輸入完成且正確,LED燈亮表
24、示開鎖成功,顯示如圖5.4圖5.4 一段時(shí)間內(nèi)無(wú)按鍵輸入返回時(shí)間顯示0時(shí)3分,如圖5.5 圖5.5密碼連續(xù)三次輸入錯(cuò)誤LED數(shù)碼管顯示最后一次輸入值1,前面三位數(shù)碼管不顯示,如圖5.6 圖5.6第6章 小結(jié)通過老師的悉心指導(dǎo),團(tuán)隊(duì)小組的團(tuán)結(jié)協(xié)作,在為期兩周的課程設(shè)計(jì)里,我們應(yīng)該說還是比較順利的完成了這次智能密碼鎖的單片機(jī)課程設(shè)計(jì)的按用戶使用要求可設(shè)置、修改密碼、遙控或按鍵開鎖,錯(cuò)誤報(bào)警、顯示等輔助功能等要求。通過這次設(shè)計(jì),我懂得了學(xué)習(xí)的重要性,了解到理論知識(shí)與實(shí)踐相結(jié)合的重要意義,開闊了眼界,提高了單片機(jī)知識(shí)的理解和水平。學(xué)會(huì)了堅(jiān)持、耐心和努力;發(fā)現(xiàn)、提出、分析、解決問題和實(shí)踐能力的提高都會(huì)受
25、益于我在以后的學(xué)習(xí)、工作和生活中。設(shè)計(jì)過程,首先要有一個(gè)清晰的思路和一個(gè)完整的的軟件流程圖;在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路。課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn)、提出、分析和解決實(shí)際問題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過程.通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。通過這次課程設(shè)計(jì)我也發(fā)現(xiàn)了自身存在的不足之處,雖然感覺理論上已經(jīng)掌握,但在運(yùn)用到實(shí)踐的過
26、程中仍有意想不到的困惑,以至于還有一些功能不能主動(dòng)完成。對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,對(duì)單片機(jī)匯編語(yǔ)言掌握得不好,但通過學(xué)習(xí)這一次實(shí)踐,增強(qiáng)了我們的動(dòng)手能力,提高和鞏固了單片機(jī)方面的知識(shí),特別是軟件方面。從中增強(qiáng)了我們的團(tuán)隊(duì)合作精神,并讓我們認(rèn)識(shí)到把理論應(yīng)用到實(shí)踐中去是多么重要。隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說得是無(wú)處不在。因此作為二十一世紀(jì)的大學(xué)來(lái)說掌握單片機(jī)的開發(fā)技術(shù)是非常重要的。 致 謝在這次課程設(shè)計(jì)順利完成的過程中,首先我要感謝王迎旭老師在課程設(shè)計(jì)上給予我的悉心指導(dǎo)、提供給我的支持和幫助,王老師多次幫助我分析
27、思路,開拓視角,這是我能順利完成這次課程設(shè)計(jì)的主要原因,其次我要感謝我的團(tuán)隊(duì)在這兩周的相互幫助,相互學(xué)習(xí),一起把設(shè)計(jì)順利的做好,在此期間,我不僅學(xué)到了許多新的知識(shí),而且也開闊了視野,掌握了基本的研究方法,提高了自己的設(shè)計(jì)能力。同時(shí)也感謝學(xué)院為我提供良好的做課程設(shè)計(jì)的環(huán)境。最后再一次感謝所有在設(shè)計(jì)中曾經(jīng)幫助過我的良師益友和同學(xué)。參考文獻(xiàn) 1 王迎旭. 單片機(jī)原理與應(yīng)用 M. 北京: 機(jī)械工業(yè)出版社,2004.2 胡漢才,單片機(jī)原理及其接口技術(shù) M. 3版. 北京:高等教育出版社,2004. 3 陳海宴. 51單片機(jī)原理及應(yīng)用基于keil C與proteus M. 北京:北京航空航天大學(xué)出版社,2
28、010.4 鄧亞平. 微型計(jì)算機(jī)接口技術(shù) M. 北京:清華大學(xué)出版社, 2001 5 周航慈. 單片機(jī)應(yīng)用程序設(shè)計(jì)技術(shù) M. 北京: 北京航空航天大學(xué)出版社, 2002 6 謝宜仁. 單片機(jī)實(shí)用技術(shù)問答 M. 北京: 人民郵電出版社, 2002附 錄附錄A:系統(tǒng)硬件電路原理圖附錄B 程序清單 SCL EQU P3.4 SDA EQU P3.5MIAO1 EQU 68HMIAO2 EQU 67HFEN1 EQU 66H FEN2 EQU 65HSHI1 EQU 64HSHI2 EQU 63HMIAO EQU 60HFEN EQU 61HSHI EQU 62HORG 0000hLCALL read
29、 SJMP START1ORG 000BHAJMP TIMER0 ORG 0030hSTART1: MOV 7AH,#11 ;初始顯示 MOV 7BH,#11 MOV 7CH,#11 MOV 7DH,#11 MOV DPTR,#TAB ;將表頭放入DPTR MOV SP, #80HMOV 52H, #00H ; 定時(shí)中斷次數(shù)清零MOV MIAO,#0MOV FEN,#0MOV SHI,#0MOV TMOD, #01HMOV TH0 ,#3CHMOV TL0 ,#0B0H SETB TR0 SETB ET0SETB EAMAIN0: LCALL KS ;JNZ MAIN CALL shijian
30、MOV R1,#0EFH MOV R0,#63HCALL DISPLAY2 ;時(shí)間顯示SJMP MAIN0TIMER0: PUSH ACCINC 52H ;定時(shí)中斷次數(shù)加一MOV A ,52HCJNE A ,#20 ,backMOV 52H ,#0INC MIAOMOV A,MIAOCJNE A,#60,backMOV MIAO,#0INC FENMOV A ,FENCJNE A,#60 ,backMOV FEN ,#0 INC SHIMOV A , SHICJNE A,#24, backMOV SHI ,#0back: POP ACC MOV TH0,#3CH MOV TL0,#0B0H R
31、ETIshijian: MOV A ,MIAOMOV B,#10DIV ABMOV MIAO2 ,AMOV MIAO1 , BMOV A,FENMOV B, #10DIV ABMOV FEN2 , AMOV FEN1 , BMOV A,SHIMOV B ,#10DIV ABMOV SHI2,AMOV SHI1 ,BRETMAIN: LCALL KEY ;調(diào)用鍵盤掃描程序 MOV A,6AH CJNE A,#250, D2 AJMP MAIN0D2: LCALL DISPLAY ;數(shù)字鍵顯示 MOV A,R3 ;判斷按了幾次 CJNE A,#4,MAIN MOV 48H,#0 MOV A,50H
32、 CJNE A,#11,judge MOV A,51H CJNE A,#0,L10 LJMP judgejudge:MOV A,7AH CJNE A,70H,ERROR MOV A,7BH CJNE A,71H,ERROR MOV A,7CH CJNE A,72H,ERROR MOV A,7DH CJNE A,73H,ERRORL10: MOV A,50H;修改值放A CJNE A,#11,L4 INC 51H;修改新密碼次數(shù) AJMP L5L4: CLR P1.0 ;開鎖L5: MOV A,51H CJNE A,#3,L11 LCALL XGBIJIAOL11: LCALL DISP0 MO
33、V 49H,#00H MOV 48H,#0 LJMP MAINXGBIJIAO:MOV A,7AH ;修改密碼確認(rèn)比較 CJNE A,74H,ERROR MOV A,7BH CJNE A,75H,ERROR MOV A,7CH CJNE A,76H,ERROR MOV A,7DH CJNE A,77H,ERROR MOV 51H,#00H MOV A,74H;修改成功保存密碼 MOV 70H,A MOV A,75H MOV 71H,A MOV A,76H MOV 72H,A MOV A,77H MOV 73H,A CLR P0.4 MOV 50H,#00H MOV 51H,#00H LCALL
34、 write RETERROR: LCALL DISP0 SETB P1.0 SETB P0.4 MOV 50H,#00H MOV 51H,#00H INC 49H ;每錯(cuò)一次加一 MOV A,49H CJNE A,#3,LOOP0 ;錯(cuò)三次報(bào)警 MOV 49H,#00HALARM: CLR P3.7 SJMP ALARMLOOP0:LJMP MAINKEY: LCALL KS ;調(diào)用檢測(cè)按鍵子程序 JNZ K1 ;有鍵按下繼續(xù) LCALL DISP LCALL DELAY2 INC 6AH MOV A,6AHCJNE A,#250,KEY RET K1: LCALL DELAY2 LCALL
35、 DELAY2 ;有鍵按下繼續(xù)延時(shí)去抖動(dòng) LCALL KS ;再一次調(diào)用檢測(cè)按鍵程序 JNZ K2 ;確認(rèn)有按下進(jìn)行下一步 AJMP KEY ;返回繼續(xù)檢測(cè)有無(wú)按鍵按下 K2: MOV R2,#0EFH ;將掃描值送入 R2暫存 MOV R4,#00H ;將第一列的列值00H送入R4暫存,R4用于存放列值。K3: MOV P2,R2 ;將R2的值送入P2口L6: JB P2.0,L1 ;P2.0等于1跳轉(zhuǎn)到L1 MOV A,#00H ;將第一行的行值00H送入ACC LJMP LK ;跳轉(zhuǎn)到鍵值處理程序L1: JB P2.1,L2 ;P2.1等于1跳轉(zhuǎn)到L2 MOV A,#04H ;將第二行的
36、行值送入ACC LJMP LK ;跳轉(zhuǎn)到鍵值理程序進(jìn)行鍵值處理L2: JB P2.2,L3 ;P1.2等于1跳轉(zhuǎn)到L3 MOV A,#08H ;將第三行的行值送入ACC LJMP LK ;跳轉(zhuǎn)到鍵值處理程序L3: JB P2.3,NEXT ;P2.3等于1跳轉(zhuǎn)到NEXT處 MOV A,#0cH ;將第四行的行值送入ACCLK: ADD A,R4 ;行值與列值相加后的鍵值送入A PUSH ACC ;將A中的值送入堆棧暫存 MOV R2,A MOV 6AH,#00H INC 48H ;按鍵次數(shù)加一 CJNE A,#10,K5 MOV 48H,#00H LCALL K4 LJMP judgeK5:
37、JC K4 CJNE A,#11,L12 ;修改密碼功能鍵A MOV 50H,AL12: MOV 48H,#00H LCALL DISP0K4: LCALL DISP LCALL DISP ;調(diào)用延時(shí)去抖動(dòng)程序 LCALL KS ;調(diào)用按鍵檢測(cè)程序 JNZ K4 ;按鍵沒有松開繼續(xù)返回檢測(cè) POP ACC ;將堆棧的值送入ACC RET ;子程序返回NEXT: INC R4 ;將列值加一 MOV A,R2 ;將R2的值送入A JNB ACC.7,KEY ;掃描完成跳至KEY處進(jìn)行下一回合的掃描 RL A ;掃描未完成將A中的值右移一位進(jìn)行下一列的掃描 MOV R2,A ;將ACC的值送入R2暫
38、存 LJMP K3 ;跳轉(zhuǎn)到K3繼續(xù)KS: MOV P2,#0FH ;將P2口高四位置0低四位值1 MOV A,P2 ;讀P2口 XRL A,#0FH ;將A中的值與A中的值相異或 RET ;子程序返回;* ;讀24C02的數(shù)據(jù)的程序 read: ACALL START ;開始信號(hào) MOV A,#0A0H ;發(fā)從機(jī)的地址 ACALL SEND ;發(fā)送控制字 ACALL ACKI;接收應(yīng)答 JC OUTEND ;不響應(yīng),轉(zhuǎn)結(jié)束 MOV A,#00H;設(shè)置要讀取從器件的片內(nèi)地址 ACALL SEND ACALL ACKI JC OUTEND ACALL START ;開始信號(hào) ORL A,#0A1
39、H;設(shè)置控制字,準(zhǔn)備接收 ACALL SEND ;發(fā)送控制字 ACALL ACKI JC OUTEND MOV R2,#4 ;準(zhǔn)備接收數(shù)據(jù)的字節(jié)數(shù) MOV R1,#70H ;接收字節(jié)存放在主器件中的地址60H IN0: ACALL REV ;接收一個(gè)字節(jié) ACALL ACKO;主機(jī)向24C02發(fā)送應(yīng)答信號(hào) MOV R1,A ;把接收到數(shù)據(jù)存放到存儲(chǔ)單元中 INC R1 DEC R2 CJNE R2,#1,IN0 ;判斷是否為最后一個(gè)接收字節(jié) ACALL REV ;接收最后一個(gè)字節(jié) ACALL ACKN; MOV R1,A ;把接收到數(shù)據(jù)存放到存儲(chǔ)單元中 OUTEND: ACALL STOP ;停止信號(hào) ret ;* ;寫24C02的數(shù)據(jù)的程序 write: LCALL START ;開始信號(hào) MOV A,#0A0H ;定控制字,準(zhǔn)備發(fā)送 ACALL SEND ;發(fā)送控制字 ACALL ACKI ;接收應(yīng)答 JC WRITEEND ;從器件不響應(yīng),轉(zhuǎn)結(jié)束 MOV A,#00H ;設(shè)置從器件片內(nèi)地址 ACALL SEND ;發(fā)送片內(nèi)地址 ACALL ACKI JC WRITEEND MOV
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年煤氣表雙插接頭帶開關(guān)項(xiàng)目投資可行性研究分析報(bào)告
- 2025年P(guān)VC朱古力吸塑托行業(yè)深度研究分析報(bào)告
- 2020-2025年中國(guó)熱飲料包裝行業(yè)市場(chǎng)深度分析及投資規(guī)劃研究報(bào)告
- 2025年中國(guó)兒童智能手表行業(yè)發(fā)展前景預(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 2025年雙位自動(dòng)溫度控制器行業(yè)深度研究分析報(bào)告
- 2025年度建筑工程涂料市場(chǎng)推廣與宣傳合同
- 2025年度股權(quán)激勵(lì)計(jì)劃實(shí)施與股權(quán)轉(zhuǎn)讓協(xié)議-@-1
- 2025年度教育信息化產(chǎn)品銷售合作協(xié)議合同范本
- 2025年度合法民間借貸合同標(biāo)準(zhǔn)版
- 2025年度綠色生態(tài)紅棗種植基地承包合同
- 2022注冊(cè)電氣工程師專業(yè)考試規(guī)范清單匯總
- 一年級(jí)寫字下學(xué)期課件(PPT 38頁(yè))
- 怎樣處理課堂突發(fā)事件
- 桂花-作文ppt-PPT課件(共14張)
- 高一數(shù)學(xué)概率部分知識(shí)點(diǎn)總結(jié)及典型例題解析 新課標(biāo) 人教版 必修
- 鐵路運(yùn)費(fèi)計(jì)算方法
- 《小腦梗死護(hù)理查房》
- 免疫及炎癥相關(guān)信號(hào)通路
- 某風(fēng)電場(chǎng)設(shè)備材料設(shè)備清單
- —橋梁專業(yè)施工圖設(shè)計(jì)審查要(終)
- 德龍自卸車合格證掃描件(原圖)
評(píng)論
0/150
提交評(píng)論