基于單片機(jī)實(shí)現(xiàn)電子密碼鎖_第1頁
基于單片機(jī)實(shí)現(xiàn)電子密碼鎖_第2頁
基于單片機(jī)實(shí)現(xiàn)電子密碼鎖_第3頁
基于單片機(jī)實(shí)現(xiàn)電子密碼鎖_第4頁
基于單片機(jī)實(shí)現(xiàn)電子密碼鎖_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

/畢業(yè)設(shè)計(jì)論文題目基于單片機(jī)實(shí)現(xiàn)電子密碼鎖系xxxxxxxxxxxxxx專業(yè)xxxxxxxxxxxxxx姓名xxxxxx班級(jí)xxxxxxxxxx指導(dǎo)教師xxxxxxx職稱xxxxxxxxx指導(dǎo)教師xxxxxx職稱xxxxx設(shè)計(jì)時(shí)間20XX11月——20XX1月摘要本次設(shè)計(jì)的題目是基于單片機(jī)的電子密碼鎖的設(shè)計(jì),系統(tǒng)由AT89S52與低功耗CMOS型E2PROMAT24C02作為主控芯片與數(shù)據(jù)存儲(chǔ)器單元,結(jié)合外圍的鍵盤輸入、LCD顯示、報(bào)警、開鎖等電路模塊。它能完成以下功能:正確輸入密碼前提下,開鎖;錯(cuò)誤輸入密碼情況下,報(bào)警;密碼可以根據(jù)用戶需要更改。本密碼鎖具有設(shè)計(jì)方法合理,簡(jiǎn)單易行,成本低,安全實(shí)用等特點(diǎn),具有一定的推廣價(jià)值。關(guān)鍵詞:電子密碼鎖;報(bào)警;液晶顯示目錄1引言11.1課題背景11.2課題設(shè)計(jì)目標(biāo)12系統(tǒng)總體設(shè)計(jì)和主要芯片介紹22.1系統(tǒng)總體設(shè)計(jì)22.2主要芯片介紹22.2.1AT89S5222.2.2存儲(chǔ)芯片AT24C0233硬件設(shè)計(jì)53.1鍵盤輸入模塊53.2密碼存儲(chǔ)模塊53.3復(fù)位部分63.4晶振部分73.5顯示模塊73.6報(bào)警部分83.7開鎖部分84系統(tǒng)軟件設(shè)計(jì)94.1系統(tǒng)程序流程圖94.1.1主程序流程圖94.1.2鍵功能程序流程圖104.1.3開鎖程序流程圖114.2子程序舉例114.2.1開鎖子程序114.2.2按鍵掃描子程序154.2.3密修改碼子程序165實(shí)驗(yàn)結(jié)果與數(shù)據(jù)處理195.1測(cè)試步驟195.2實(shí)驗(yàn)現(xiàn)象196結(jié)語20參考文獻(xiàn)211引言1.1課題背景隨著人們生活水平的提高和安全意識(shí)的加強(qiáng),對(duì)安全的要求也就越來越高。鎖自古以來就是把守護(hù)門的鐵將軍,人們對(duì)它要求甚高,既要安全可靠的防盜,又要使用方便,這也是制鎖者長(zhǎng)期以來研制的主題。隨著電子技術(shù)的發(fā)展,各類電子產(chǎn)品應(yīng)運(yùn)而生,電子密碼鎖就是其中之一。據(jù)有關(guān)資料介紹,電子密碼鎖的研究從20世紀(jì)30年代就開始了,在一些特殊場(chǎng)所早就有所應(yīng)用。這種鎖是通過鍵盤輸入一組密碼完成開鎖過程。研究這種鎖的初衷,就是為提高鎖的安全性。20世紀(jì)80年代后,隨著電子鎖專用集成電路的出現(xiàn),電子鎖的體積縮小,可靠性提高,成本較高,是適合使用在安全性要求較高的場(chǎng)合,且需要有電源提供能量,使用還局限在一定范圍,難以普及,所以對(duì)它的研究一直沒有明顯進(jìn)展。

目前,在西方發(fā)達(dá)國家,密碼鎖技術(shù)相對(duì)先進(jìn),種類齊全,電子密碼鎖已被廣泛應(yīng)用于智能門禁系統(tǒng)中,通過多種更加安全,更加可靠的技術(shù)實(shí)現(xiàn)大門的管理。在我國密碼鎖整體水平尚處于國際上70年代左右,電子密碼鎖的成本還很高,市場(chǎng)上仍以按鍵電子鎖為主,按鍵式和卡片鑰匙式電子鎖已引進(jìn)國際先進(jìn)水平,現(xiàn)國內(nèi)有幾個(gè)廠生產(chǎn)供應(yīng)市場(chǎng)。但國內(nèi)自行研制開發(fā)的電子鎖,其市場(chǎng)結(jié)構(gòu)尚未形成,應(yīng)用還不廣泛。國內(nèi)的不少企業(yè)也引進(jìn)了世界上先進(jìn)的技術(shù),發(fā)展前景非常可觀。希望通過不斷的努力,使電子密碼鎖在我國也能得到廣泛應(yīng)用。1.2課題設(shè)計(jì)目標(biāo)本設(shè)計(jì)采用AT89S52單片機(jī)為主控芯片,結(jié)合外圍電路,通過軟件程序組成電子密碼鎖系統(tǒng),能夠?qū)崿F(xiàn):1.正確輸入密碼前提下,開鎖提示;2.錯(cuò)誤輸入密碼情況下,蜂鳴器報(bào)警;3.密碼可以根據(jù)用戶需要更改。2系統(tǒng)總體設(shè)計(jì)和主要芯片介紹2.1系統(tǒng)總體設(shè)計(jì)本設(shè)計(jì)主要由單片機(jī)、矩陣鍵盤、液晶顯示器和密碼存儲(chǔ)等部分組成。其中矩陣鍵盤用于輸入數(shù)字密碼和進(jìn)行各種功能的實(shí)現(xiàn)。由用戶通過連接單片機(jī)的矩陣鍵盤輸入密碼,后經(jīng)過單片機(jī)對(duì)用戶輸入的密碼與自己保存的密碼進(jìn)行對(duì)比,從而判斷密碼是否正確,然后控制引腳的高低電平傳到開鎖電路或者報(bào)警電路控制開鎖還是報(bào)警,實(shí)際使用時(shí)只要將單片機(jī)的負(fù)載由繼電器換成電子密碼鎖的電磁鐵吸合線圈即可。系統(tǒng)整體框圖如圖2-1所示。顯示模塊鍵盤輸入模塊AT89S52顯示模塊鍵盤輸入模塊AT89S52報(bào)警電路復(fù)位電路報(bào)警電路復(fù)位電路開鎖電路密碼存儲(chǔ)模塊開鎖電路密碼存儲(chǔ)模塊圖2-1系統(tǒng)結(jié)構(gòu)框圖各模塊功能如下:1.鍵盤輸入模塊:分為密碼輸入按鍵與幾個(gè)功能按鍵,用于完成密碼鎖輸入功能。2.顯示模塊:用于完成對(duì)系統(tǒng)狀態(tài)顯示及操作提示功能。3.復(fù)位電路:完成系統(tǒng)的復(fù)位。4.報(bào)警電路:用于完成輸錯(cuò)密碼時(shí)候的警報(bào)功能。5.密碼存儲(chǔ)模塊:用于完成掉電存儲(chǔ)功能,使修改的密碼斷電后仍能保存。6.開鎖電路:應(yīng)用繼電器及發(fā)光二極管模擬開鎖,完成開鎖及開鎖提示。2.2主要芯片介紹2.2.1AT89S52AT89S52單片機(jī)是一個(gè)低功耗,高性能CMOS8位單片機(jī),片內(nèi)含8KBytesISP<In-systemprogrammable>的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISPFlash存儲(chǔ)單元,功能強(qiáng)大的微型計(jì)算機(jī)的AT89S52可為許多嵌入式控制應(yīng)用系統(tǒng)提供高性價(jià)比的解決方案[10]。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。AT89S52的管腳分布如圖2-2所示。圖2-2AT89S52芯片管腳P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫"1"時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址"1"時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P3口作為AT89S52的一些特殊功能管腳備選功能,P3.0RXD〔串行輸入口P3.1TXD〔串行輸出口P3.2/INT0〔外部中斷0P3.3/INT1〔外部中斷1P3.4T0〔記時(shí)器0外部輸入P3.5T1〔記時(shí)器1外部輸入P3.6/WR〔外部數(shù)據(jù)存儲(chǔ)器寫選通P3.7/RD〔外部數(shù)據(jù)存儲(chǔ)器讀選通2.2.2存儲(chǔ)芯片AT24C02AT24C02是美國Atmel公司的低功耗CMOS型E2PROM,內(nèi)含256×8位存儲(chǔ)空間,具有工作電壓寬<2.5~5.5V>、擦寫次數(shù)多<大于10000次>、寫入速度快<小于10ms>、抗干擾能力強(qiáng)、數(shù)據(jù)不易丟失、體積小等特點(diǎn)。而且他是采用了I2C總線式進(jìn)行數(shù)據(jù)讀寫的串行器件,占用很少的資源和I/O線,并且支持在線編程,進(jìn)行數(shù)據(jù)實(shí)時(shí)的存取十分方便。AT24C02中帶有的片內(nèi)地址寄存器。每寫入或讀出一個(gè)數(shù)據(jù)字節(jié)后,該地址寄存器自動(dòng)加1,以實(shí)現(xiàn)對(duì)下一個(gè)存儲(chǔ)單元的讀寫。所有字節(jié)均以單一操作方式讀取。為降低總的寫入時(shí)間,一次操作可寫入多達(dá)8個(gè)字節(jié)的數(shù)據(jù)。I2C總線是一種用于IC器件之間連接的二線制總線。他通過SDA<串行數(shù)據(jù)線>及SCL<串行時(shí)鐘線>兩根線在連到總線上的器件之間傳送信息,并根據(jù)地址識(shí)別每個(gè)器件。AT24C02正是運(yùn)用了I2C規(guī)程,使用主/從機(jī)雙向通信,主機(jī)<通常為單片機(jī)>和從機(jī)<AT24C02>均可工作于接收器和發(fā)送器狀態(tài)。主機(jī)產(chǎn)生串行時(shí)鐘信號(hào)<通過SCL引腳>并發(fā)出控制字,控制總線的傳送方向,并產(chǎn)生開始和停止的條件。無論是主機(jī)還是從機(jī),接收到一個(gè)字節(jié)后必須發(fā)出一個(gè)確認(rèn)信號(hào)ACK。AT24C02的控制字由8位二進(jìn)制數(shù)構(gòu)成,在開始信號(hào)發(fā)出以后,主機(jī)便會(huì)發(fā)出控制字,以選擇從機(jī)并控制總線傳送的方向。管腳描述:SCL為串行時(shí)鐘:串行時(shí)鐘輸入管腳用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘這是一個(gè)輸入管腳。SDL為串行數(shù)據(jù)/地址:雙向串行數(shù)據(jù)/地址管腳用于器件所有數(shù)據(jù)的發(fā)送或接收SDL,是一個(gè)開漏輸出管腳可與其它開漏輸出或集電極開路輸出進(jìn)行線或。A0、A1、A2為器件地址輸入端:當(dāng)使用24C02時(shí)最大可級(jí)聯(lián)8個(gè)器件,如果只有一個(gè)24C02被總線尋址,這三個(gè)地址輸入腳A0、A1、A2可懸空或連接到Vss。WP為寫保護(hù):如果WP管腳連接到Vcc所有的內(nèi)容都被寫保護(hù)只能讀當(dāng)WP,管腳連接到Vss或懸空,允許器件進(jìn)行正常的讀/寫操作。管腳圖如圖2-3所示。圖2-3AT24C02引腳圖3硬件設(shè)計(jì)本系統(tǒng)外圍電路包括鍵盤輸入部分、密碼存儲(chǔ)部分、復(fù)位部分、顯示部分、報(bào)警部分、開鎖部分組成,根據(jù)實(shí)際情況鍵盤輸入部分選擇4×4矩陣鍵盤,顯示部分選擇字符型液晶顯示LCD1602,密碼存儲(chǔ)部分選用AT24C02芯片來完成。其原理圖如圖3-1所示。圖3-1電路原理圖3.1鍵盤輸入模塊由于本設(shè)計(jì)所用到的按鍵數(shù)量較多而不適合用獨(dú)立按鍵式鍵盤。采用的是矩陣式按鍵鍵盤,它由行和列組成,也稱行列式鍵盤,按鍵位于行列的交叉點(diǎn)上,密碼鎖的密碼由鍵盤輸入完成,與獨(dú)立式按鍵鍵盤相比,要節(jié)省很多I/O口。本設(shè)計(jì)中使用的這個(gè)4×4鍵盤不但能完成密碼的輸入還能作特別功能鍵使用。鍵盤的每個(gè)按鍵功能在程序設(shè)計(jì)中設(shè)置。它與單片機(jī)的連接如圖3-2所示。圖3-2鍵盤輸入模塊3.2密碼存儲(chǔ)模塊圖3-3所示AT24C02的1、2、3腳是三條地址線,用于確定芯片的硬件地址。在AT89S51試驗(yàn)開發(fā)板上它們都接地,第5腳和第8腳分別為正、負(fù)電源。第8腳SDL為串行數(shù)據(jù)輸入/輸出,數(shù)據(jù)通過這條雙向I2C總線串行傳送,在AT89S52試驗(yàn)開發(fā)板上和單片機(jī)的P3.6連接。第6腳SCL為串行時(shí)鐘輸入線,在AT89S52試驗(yàn)開發(fā)板上和單片機(jī)的P3.7連接。SDL和SCL都需要和正電源間各接一個(gè)5.1K的電阻上拉。第6腳接P3.5。AT24C02中帶有片內(nèi)地址寄存器。每寫入或讀出一個(gè)數(shù)據(jù)字節(jié)后,該地址寄存器自動(dòng)加1,以實(shí)現(xiàn)對(duì)下一個(gè)存儲(chǔ)單元的讀寫。所有字節(jié)均以單一操作方式讀取。為降低總的寫入時(shí)間,一次操作可寫入多達(dá)8個(gè)字節(jié)的數(shù)據(jù)。圖3-3密碼存儲(chǔ)電路3.3復(fù)位部分單片機(jī)復(fù)位是使CPU和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開始工作。該電路在最簡(jiǎn)單的復(fù)位電路下增加了手動(dòng)復(fù)位按鍵,在接通電源瞬間,電容C1上的電壓很小,復(fù)位下拉電阻上的電壓接近電源電壓,即RST為高電平,在電容充電的過程中RST端電壓逐漸下降,當(dāng)RST端的電壓小于某一數(shù)值后,CPU脫離復(fù)位狀態(tài),由于電容C1足夠大,可以保證RST高電平有效時(shí)間大于24個(gè)振蕩周期,CPU能夠可靠復(fù)位。增加手動(dòng)復(fù)位按鍵是為了避免死機(jī)時(shí)無法可靠復(fù)位。當(dāng)復(fù)位按鍵按下后電容C1通過R5放電。當(dāng)電容C1放電結(jié)束后,RST端的電位由R5與R6分壓比決定。由于R5<<R6因此RST為高電平,CPU處于復(fù)位狀態(tài),松手后,電容C1充電,RST端電位下降,CPU脫離復(fù)位狀態(tài)。R5的作用在于限制按鍵按下瞬間電容C1的放電電流,避免產(chǎn)生火花,以保護(hù)按鍵觸電。其電路如圖3-4所示。圖3-4復(fù)位電路3.4晶振部分AT89S52引腳XTAL1和XTAL2與晶體振蕩器及電容C2、C3按圖4-5所示方式連接。晶振、電容C2/C3及片內(nèi)與非門〔作為反饋、放大元件構(gòu)成了電容三點(diǎn)式振蕩器,振蕩信號(hào)頻率與晶振頻率及電容C2、C3的容量有關(guān),但主要由晶振頻率決定,范圍在0~33MHz之間,電容C2、C3取值范圍在5~30pF之間。根據(jù)實(shí)際情況,本設(shè)計(jì)中采用12MHZ作為系統(tǒng)的外部晶振。電容取值為10pF。其電路圖如圖3-5所示。圖3-5晶振電路3.5顯示模塊顯示部分由液晶顯示器LCD1602取代普通的數(shù)碼管完成。開鎖時(shí),按下鍵盤上的開鎖按鍵后,利用鍵盤上的數(shù)字鍵0-9輸入密碼,每按下一個(gè)數(shù)字鍵后在顯示器上顯示一個(gè)*,輸入多少位就顯示多少個(gè)*。當(dāng)密碼輸入完成時(shí),按下確認(rèn)鍵,如果輸入的密碼正確的話,LCD顯示"DOOROPEN",單片機(jī)其中P2.0引腳會(huì)輸出低電平,使三極管T2導(dǎo)通,電磁鐵吸合,繼電器開關(guān)跳轉(zhuǎn),電子密碼鎖被打開,如果密碼不正確,LCD顯示屏?xí)@示"CODEWRONG",P2.0輸出的是高電平,電子密碼鎖不能打開。通過LCD顯示屏,可以清楚地判斷出密碼鎖所處的狀態(tài)。電路圖如圖3-6所示。圖3-6顯示電路3.6報(bào)警部分報(bào)警部分由陶瓷壓電發(fā)聲裝置及外圍電路組成,加電后不發(fā)聲,當(dāng)有鍵按下時(shí),"叮"聲,每按一下,發(fā)聲一次,密碼正確時(shí),不發(fā)聲直接開鎖,當(dāng)密碼輸入錯(cuò)誤時(shí),單片機(jī)的P2.1引腳為低電平,三極管T3導(dǎo)通蜂鳴器發(fā)出噪聲報(bào)警。如圖3-7所示。圖3-7報(bào)警電路3.7開鎖部分開鎖控制電路的功能是當(dāng)輸入正確的密碼后將鎖打開。系統(tǒng)使用單片機(jī)其中一引腳線發(fā)出信號(hào),經(jīng)三極管放大后,由繼電器驅(qū)動(dòng)電磁閥動(dòng)作將鎖打開。用戶通過鍵盤任意設(shè)置密碼,并儲(chǔ)存在E2PROM中作為鎖碼指令。只有用戶操作鍵盤時(shí),單片機(jī)的電源端才能得到3V電源,否則,單片機(jī)處于節(jié)電工作方式。開鎖步驟如下:首先按下鍵盤上的開鎖按鍵,然后利用鍵盤上的數(shù)字鍵0-9輸入密碼,最后按下確認(rèn)鍵。當(dāng)用戶輸入密碼后,單片機(jī)自動(dòng)識(shí)別密碼,如果密碼不符,則報(bào)警。只有當(dāng)密碼正確,單片機(jī)才能使繼電器處于開鎖狀態(tài)。具體電路如圖3-8所示。圖3-8開鎖電路4系統(tǒng)軟件設(shè)計(jì)4.1系統(tǒng)程序流程圖4.1.1主程序流程圖主程序設(shè)計(jì)流程圖如圖4-1所示。開始開始初始化開鎖修改密碼正確輸入舊密碼開鎖出錯(cuò)報(bào)警原密碼相同返回設(shè)新密碼圖4-1主程序流程圖4.1.2鍵功能程序流程圖鍵功能程序流程圖如圖4-2所示。鍵功能程序鍵功能程序鍵值=0~9?鍵值=開鎖?鍵值=確認(rèn)?鍵值=設(shè)置?返回密碼輸入程序確認(rèn)程序設(shè)置程序開鎖程序 Y N Y N Y N Y N圖4-2鍵功能流程圖4.1.3開鎖程序流程圖開鎖程序流程圖如圖4-3所示。LCD初始化LCD初始化按開鎖鍵按開鎖鍵輸入密碼輸入密碼確認(rèn)程序開鎖確認(rèn)程序開鎖N輸入密碼正確?N輸入密碼正確?報(bào)警程序報(bào)警程序開鎖成功返回 Y開鎖成功返回圖4-3開鎖流程圖4.2子程序舉例4.2.1開鎖子程序CL:NOPSETBL3MOVBUFF,#00H;消密碼緩沖MOVTIMERS,#00HLCALLINITPS;消除AT緩沖,加調(diào)電存儲(chǔ)后一定要加上LCALLXSCLCALLBPLCALLBPLCALLT100MSDLCALLBPCLRFLAG1AJMPCH_KEYFU4:NOPLCALLBPLCALLT100MSDLCALLBPLCALLT100MSDLCALLBPLCALLT100MSDLCALLBPLCALLT100MSDLCALLBPCLRFLAG1AJMPCH_KEYFU3:NOPLCALLBPLCALLT100MSDLCALLBPLCALLKILLXS;關(guān)閉顯示CLRFLAG1AJMPCH_KEYFU1:NOPLCALLXSCJBF_F1,NEXT_F1CLRL1LCALLBPSETBF_F1AJMPCH_KEYNEXT_F1:SETBL1LCALLBPCLRF_F1LCALLCH_STATE;查看現(xiàn)在的狀態(tài)以防誤按SETBTR1;報(bào)警限制暫時(shí)不開INCF_F1CLRFLAG1AJMPCH_KEYFU2:NOPJBF_F2,NEXT_F2CLRL2LCALLBPSETBF_F2AJMPCH_KEYNEXT_F2:SETBL2LCALLBPCLRF_F2CLRFLAG1AJMPCH_KEY;***************按鍵的功能描述*************************EN:NOPJBBUF_FULL,GOONAJMPEXITGOON:CLRBUF_FULLJBF_F2,AT_WRON;F2按鍵標(biāo)志,若為1,則調(diào)用修改密碼子程序。LCALLAT_RADELCALLC_PSW;比較密碼子程序JBPSW_F,OPEN;密碼比較正確,則調(diào)用開鎖子程序LCALLXSDINCTIMERS2MOVR7,TIMERS2;密碼錯(cuò)誤,調(diào)入輸入密碼輸入次數(shù),準(zhǔn)備鎖定鍵盤CJNER7,#03H,D0D0:JCNEXT1;錯(cuò)誤次數(shù)小3次LCALLXSE;鎖定5分鐘LCALLWARN2SLCALLLOCK_1MNEXT1:LCALLWARN2S;報(bào)警2分鐘LCALLXSAEXIT:LCALLINITPSMOVBUFF,#00HCLRFLAG1MOVTIMERS,#00HAJMPCH_KEY;跳出AT_WRON:LCALLAT_WRLCALLXSFLCALLBPLCALLT100MSDLCALLBPLCALLT500MSDLCALLKILLXSLCALLT500MSDLCALLXSFLCALLT500MSDLCALLKILLXSLCALLT500MSDLCALLXSFLCALLT500MSDNOPNOPLCALLXSAAJMPEXITOPEN:MOVA,TIMERS1CJNEA,#09H,CLT1CLT1:JCGOON1MOVTIMERS1,#00HGOON1:INCTIMERS1;輸入回車的次數(shù)MOVTIMERS2,#00HSETBL3CLRPSW_FLCALLXSBCLRJDQ;開門LCALLBPLCALLBPLCALLBPLCALLBPLCALLSECLCALLSECLCALLSECLCALLSECLCALLSECLCALLSECLCALLSECLCALLSECSETBJDQLCALLXSANOPAJMPEXITCLR_BUF:MOVR7,#06HMOVR0,#6FHLOOP1:MOVA,#00HMOV@R0,ADECR0DJNZR7,LOOP1RET4.2.2按鍵掃描子程序SBIE:MOVR2,#0EFH;識(shí)別按鍵子程序,數(shù)據(jù)送A保存MOVR4,#00HLK4:MOVA,R2MOVP0,ANOPMOVA,P0JBACC.0,LONEMOVA,#00HAJMPLKPLONE:JBACC.1,LTWOMOVA,#08HAJMPLKPLTWO:JBACC.2,LTHRMOVA,#10HAJMPLKPLTHR:JBACC.3,NEXTT;判斷下一列MOVA,#18HLKP:ADDA,R4PUSHACCLK3:ACALLKSJNZLK3POPACCRETNEXTT:INCR4MOVA,R2JNBACC.7,KNDRLAMOVR2,AAJMPLK4KND:AJMPCH_KEYKS:MOVP0,#0FHNOPMOVA,P0CPLAANLA,#0FHNOPRETCH_KF:CLRCMOVA,BUFF;判斷是數(shù)字按鍵還是功能按鍵,為1表示功能鍵CJNEA,#17H,KYKY:JCSET_CH;假若是數(shù)字按鍵則標(biāo)志置為0SETBFLAG1;假若是功能按鍵則標(biāo)志置為1AJMPCHKE_ENDSET_CH:CLRCMOVA,BUFFSUBBA,#00HJNZEN_CHSETBFLAG1AJMPCH_ENDEN_CH:MOVA,BUFFSUBBA,#03HJNZDIGSETBFLAG1AJMPCH_ENDDIG:CLRFLAG1CH_END:NOPCHKE_END:RETT12MS:MOVR7,#18HTM1:MOVR6,#0FFHTM66:DJNZR6,TM66DJNZR7,TM1RET4.2.3密修改碼子程序XSC:PUSHACCPUSHPSWLCALLKILLXSSETBRS1;切換到第三組寄存器。防止操作數(shù)讀取錯(cuò)誤。MOVR6,TIMERSMOVA,R6SUBBA,#01HJNCSC0JZSC1SC0:MOVSBUF,#0FEHJNBTI,$CLRTISC1:MOVA,R6SUBBA,#02HJNCSC11JNZSC2SC11:MOVSBUF,#0FEHJNBTI,$CLRTISC2:MOVA,R6SUBBA,#03HJNCSC22JNZSC3SC22:MOVSBUF,#0FEHJNBTI,$CLRTISC3:MOVA,R6SUBBA,#04HJNCSC33JNZSC4SC33:MOVSBUF,#0FEHJNBTI,$CLRTISC4:MOVA,R6SUBBA,#05HJNCSC44JNZSC5SC44:MOVSBUF,#0FEHJNBTI,$CLRTISC5:MOVA,R6SUBBA,#06HJNCSC55JNZSC6SC55:MOVSBUF,#0FEHJNBTI,$CLRTISC6:MOVA,R6SUBBA,#07HJNCSC66JNZEXIT_CSC66:MOVSBUF,#0FEHJNBTI,$CLRTINOPNOPEXIT_C:NOPCLRRS1POPPSWPOPACCNOPRET;密碼輸入錯(cuò)誤的提示XSD:PUSHACCPUSHPSWMOVSBUF,#98HJNBTI,$CLRTIMOVSBUF,#79HJNBTI,$CLRTIMOVSBUF,#11HJNBTI,$CLRTIMOVSBUF,#79HJNBTI,$CLRTIMOVSBUF,#79HJNBTI,$CLRTIMOVSBUF,#38HJNBTI,$CLRTIPOPPSWPOPACCRET5實(shí)驗(yàn)結(jié)果與數(shù)據(jù)處理5.1測(cè)試步驟1、按照要求將設(shè)計(jì)好的電路圖,利用QUARTUSII軟件,建立工程,添加文件,將電路圖正確地畫出來。2、畫好電路圖后進(jìn)行編譯,如果編譯不成功,仔細(xì)查錯(cuò)。3、編譯成功后,進(jìn)入定義管腳階段

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論