版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 本 科 畢 業(yè) 設(shè) 計(jì)(論文) 題目 基于單片機(jī)的電子密碼鎖設(shè)計(jì) 院(系部) 河北大學(xué) 專(zhuān)業(yè)名稱(chēng) 電子信息工程 年級(jí)班級(jí) 學(xué)生姓名 指導(dǎo)教師 2011年 月 日河北大學(xué)本科畢業(yè)論文摘要本課題設(shè)計(jì)了一種基于單片機(jī)的數(shù)字電子密碼鎖,這種數(shù)字電子密碼鎖以單片機(jī)作為數(shù)據(jù)處理主控芯片。電子密碼鎖的設(shè)計(jì)主要由四部分組成:44矩陣鍵盤(pán)接口電路、以at89s52芯片為核心的密碼鎖的數(shù)據(jù)處理及控制電路、掉電情況下依然能保存密碼的eeprom存儲(chǔ)器芯片,輸出七段顯示電路。另外系統(tǒng)還有l(wèi)ed提示燈,報(bào)警蜂鳴器,單片機(jī)復(fù)位電路等。電子密碼鎖設(shè)計(jì)的關(guān)鍵問(wèn)題是實(shí)現(xiàn)密碼的輸入、清除、開(kāi)鎖、更改等功能。同時(shí)該密碼鎖具有設(shè)計(jì)
2、方法合理,簡(jiǎn)單易行,成本低,安全實(shí)用等特點(diǎn),符合住宅,辦公室等場(chǎng)所的用鎖要求,具有推廣價(jià)值。關(guān)鍵詞 單片機(jī) 密碼鎖 4*4矩陣鍵盤(pán) eeprom存儲(chǔ)芯片 實(shí)用經(jīng)濟(jì)abstractthis project designed a digital electronic lock which used a mcu as data process and control chip. the main functions digital electronic lock are as follows:the design of the electronic password lock is mainly m
3、ade up of four parts: 44 matrix keyboard interface circuit, data processing and control circuit, eeprom memory chip that is used to keep password when the lock loses power and display circuit. in addition the system also consists of led lights, alarm buzzers, single-chip reset circuit and so on.the
4、key question of the electronic lock designing is the realization of functions, such as the input password, clear password, unlock, change password and other functions.and the designed cipher lock is characterized by its reasonable designing methods, simple operation, low cost and property of safety
5、and practicalitybesides,it works well as a residence lock and has great potential for commercial development. key words: scm cipher lock 4*4matrix keyboard eeprom practical economy iii目錄1 緒論11.1國(guó)內(nèi)外研究綜述11.2選題的目的和意義21.3本論文的任務(wù)32電子密碼鎖總體設(shè)計(jì)42.1系統(tǒng)總體設(shè)計(jì)42.2單片機(jī)52.3密碼存儲(chǔ)芯片選擇62.4鍵盤(pán)輸入方案比較82.5顯示方案比較103電子密碼鎖的硬件設(shè)計(jì)12
6、3.1系統(tǒng)結(jié)構(gòu)框圖123.2主控部分133.3顯示部分133.4鍵盤(pán)輸入部分143.5密碼存儲(chǔ)部分153.6電源部分163.7其它功能部分183.8 電子密碼鎖的電路原理圖214電子密碼鎖的軟件組成224.1系統(tǒng)軟件設(shè)計(jì)流程224.2 keil uvision2軟件介紹234.3各主要部分的功能實(shí)現(xiàn)程序設(shè)計(jì)244.3.1初始化程序設(shè)計(jì)244.3.2按鍵處理程序設(shè)計(jì)274.3.3密碼更改程序設(shè)計(jì)315系統(tǒng)仿真345.1系統(tǒng)仿真過(guò)程345.2仿真調(diào)試中遇到的問(wèn)題及解決辦法35總結(jié)36致謝37參考文獻(xiàn)38附錄39i1 緒論1.1國(guó)內(nèi)外研究綜述在電子鎖出現(xiàn)以前人們廣泛的使用機(jī)械鎖,但是隨著時(shí)間的推移機(jī)
7、械鎖已不能滿足人們的要求,于是電子鎖應(yīng)用而生。以前由于電子器件所限,開(kāi)發(fā)的電子密碼鎖種類(lèi)不多,保密性差,最基本的就是只依靠最簡(jiǎn)單的模擬電子開(kāi)關(guān)來(lái)實(shí)現(xiàn)的,制作雖簡(jiǎn)單但很不安全。 現(xiàn)在電子鎖的技術(shù)可以說(shuō)是時(shí)時(shí)的在進(jìn)步,出現(xiàn)了很多性能強(qiáng),安全可靠的新型電子鎖。如:遙控式電子密碼鎖,卡式電子鎖,生物特征電子鎖等。但是應(yīng)用廣泛的還是鍵盤(pán)式電子密碼鎖。遙控式電子密碼鎖:優(yōu)點(diǎn)是傳輸信息量可以很大、速度極快、人眼識(shí)別不出來(lái),又無(wú)法在光路徑上用儀器捕獲信號(hào)進(jìn)行復(fù)制,因此保密性極高。缺點(diǎn)是需要隨身保管遙控器即鑰匙,對(duì)于某些方面來(lái)說(shuō)不是很實(shí)用??ㄊ矫艽a鎖:能夠在卡中存儲(chǔ)大量的個(gè)人信息,即容量非常的大,并且可以實(shí)現(xiàn)一
8、卡多用。但是卡式密碼鎖也有很大的缺陷,開(kāi)鎖用的卡很可能受到一些電子產(chǎn)品的磁干擾,出現(xiàn)“失效”; 同時(shí)卡也很容易被丟失,丟失了卡就需要盡快的取消卡的授權(quán),一面?zhèn)€人的重要信息丟失,這個(gè)過(guò)程也是相當(dāng)麻煩的。生物特征電子鎖:人的某些與生俱來(lái)的個(gè)性特征(如手、眼睛、聲音的特征)幾乎不可重復(fù),作為“鑰匙”就是唯一的。但是生物特征電子鎖需要大量的個(gè)人身體上的信息,這就使其處理上會(huì)變得復(fù)雜,這也確定了生物特征電子鎖目前僅適用于極個(gè)別的行業(yè)。鍵盤(pán)式電子鎖:主要依靠的是鍵盤(pán)輸入密碼驗(yàn)證,不需要攜帶專(zhuān)一的“鑰匙”,只需要記住密碼即可。鍵盤(pán)式電子鎖有采用數(shù)字電路控制的,但控制的準(zhǔn)確性和靈活性比較的差;有以單片機(jī)為核心
9、的鍵盤(pán)式電子鎖,它的性能比較的穩(wěn)定,而且性價(jià)比也比較的高,受到了廣泛的關(guān)注。盡管新式電子防盜鎖層出不窮,但鍵盤(pán)式電子密碼鎖仍然“老樹(shù)發(fā)新芽”,在市場(chǎng)上居于主流地位。伴隨著科學(xué)技術(shù)的發(fā)展,電子的應(yīng)用技術(shù)的提高,又出現(xiàn)了一些帶有微型處理器的智能電子鎖,它除了具有電子密碼鎖的功能外,還引入了智能化管理的功能,從而使電子密碼鎖具有更高的安全性和可靠性。目前發(fā)達(dá)國(guó)家大規(guī)模使用的智能門(mén)禁系統(tǒng),就是一種使用多種更加安全,可靠方法來(lái)實(shí)現(xiàn)大門(mén)管理的新型電子密碼鎖。發(fā)達(dá)國(guó)家的電子密碼鎖技術(shù)已經(jīng)相當(dāng)?shù)某墒?,智能化、集成化程度很高。而我?guó)的應(yīng)用還不是很廣泛,一般應(yīng)用在一些高級(jí)的場(chǎng)所之中,例如銀行的保險(xiǎn)柜、保險(xiǎn)箱、高級(jí)
10、酒店等,家居應(yīng)用很少。我國(guó)的電子密碼鎖的技術(shù)也是比較落后的,不是很成熟。開(kāi)發(fā)的密碼鎖大多采用的是普通的數(shù)字電路設(shè)計(jì)生產(chǎn)的,與機(jī)械鎖相比較的確存在著很多的優(yōu)點(diǎn),但智能化的程度不高,編碼的組合很少。1.2選題的目的和意義在我們的日常生活中,經(jīng)常會(huì)遇到一些地方需要進(jìn)行防護(hù),而這些地方的防護(hù)多是以使用各種各樣的鎖來(lái)進(jìn)行的。常見(jiàn)的大致有兩個(gè)大的方面,一種是機(jī)械鎖,一種是電子密碼鎖鎖。傳統(tǒng)簡(jiǎn)單的機(jī)械鎖一般是結(jié)構(gòu)比較的簡(jiǎn)單,很容易遭到外部的破壞,而機(jī)密復(fù)雜的大型機(jī)械鎖又比較的笨重,不適合大眾的需要。在科學(xué)技術(shù)不斷發(fā)展的今天,電子密碼鎖已經(jīng)受到了越來(lái)越多的關(guān)注。電子密碼鎖具有保密性高,無(wú)靈活零件,不會(huì)磨損,壽
11、命長(zhǎng),靈活性好等特點(diǎn)。它的種類(lèi)很多,有簡(jiǎn)易的電路產(chǎn)品,也有基于芯片的性價(jià)比較高的產(chǎn)品。但是電子密碼鎖也存在著缺陷1.價(jià)格比較的昂貴;2推廣性不強(qiáng)?,F(xiàn)在采用單片機(jī)制作的電子鎖就克服了這些缺陷。單片機(jī)具有體積小、功能強(qiáng),性價(jià)比高等特點(diǎn),廣泛應(yīng)用于電子產(chǎn)品。基于單片機(jī)的電子密碼鎖是一種通過(guò)密碼輸入來(lái)控制電路或是芯片工作,從而控制機(jī)械開(kāi)關(guān)的閉合,完成開(kāi)鎖、閉鎖任務(wù)的電子產(chǎn)品。本次選題的就是設(shè)計(jì)一種基于單片機(jī)控制的具有本機(jī)開(kāi)鎖和報(bào)警功能的電子密碼鎖,在電子密碼鎖的顯示和鍵盤(pán)輸入有方案的比較,使電子密碼鎖更加的實(shí)用經(jīng)濟(jì),能夠?qū)嶋H生活中得到廣泛的應(yīng)用。用單片機(jī)制作的電子鎖有以下的特點(diǎn):1.保密性好,采用的是
12、多位密碼輸入。2.破解保護(hù),能夠及時(shí)的鎖定鍵盤(pán)報(bào)警。3.界面簡(jiǎn)潔,密碼操作也非常簡(jiǎn)單。1.3 本論文的任務(wù)本設(shè)計(jì)的電子密碼鎖的實(shí)現(xiàn)是基于單片機(jī)的,任務(wù)及工作如下:1、在proteus軟件環(huán)境中進(jìn)行硬件電路圖的設(shè)計(jì)。2、在keil軟件環(huán)境中進(jìn)行系統(tǒng)的軟件編程,并進(jìn)行程序源文件的編譯和調(diào)試,最后生成.hex文件。此.hex文件是硬件電路運(yùn)行實(shí)現(xiàn)的源代碼來(lái)源。3、把.hex文件加載到單片機(jī)芯片,然后在proteus軟件環(huán)境中運(yùn)行硬件電路。2 電子密碼鎖總體設(shè)計(jì)2.1系統(tǒng)總體設(shè)計(jì)本設(shè)計(jì)主要由單片機(jī)、矩陣鍵盤(pán)、led數(shù)碼管顯示和密碼存儲(chǔ)等部分組成。其中矩陣鍵盤(pán)用于輸入數(shù)字密碼和進(jìn)行各種功能的實(shí)現(xiàn)。由用戶
13、通過(guò)連接單片機(jī)的矩陣鍵盤(pán)輸入密碼,后經(jīng)過(guò)單片機(jī)對(duì)用戶輸入的密碼與自己保存的密碼進(jìn)行對(duì)比,從而判斷密碼是否正確,然后控制引腳的高低電平傳到開(kāi)鎖電路或者報(bào)警電路控制開(kāi)鎖還是報(bào)警,實(shí)際使用時(shí)只要將單片機(jī)的負(fù)載由繼電器換成電子密碼鎖的電磁鐵吸合線圈即可,當(dāng)然也可以用繼電器的常開(kāi)觸點(diǎn)去控制電磁鐵吸合線圈。其設(shè)計(jì)原理框圖如圖2.1所示:?jiǎn)纹瑱C(jī)顯示 部分其它 部分鍵盤(pán)輸入部分密碼存儲(chǔ)部分圖2.1 原理框圖單片機(jī):本部分的功能包括寫(xiě)入和讀取各種控制命令及數(shù)據(jù)處理,同時(shí)還要對(duì)各執(zhí)行單元進(jìn)行控制。單片機(jī)是整個(gè)系統(tǒng)的控制核心及數(shù)據(jù)處理核心。鍵盤(pán)部分:本部分由用戶通過(guò)鍵盤(pán)輸入各種信息送入到單片機(jī)進(jìn)行處理。顯示部分:本
14、部分完成的是單片機(jī)處理后的數(shù)據(jù)和信息的顯示以及系統(tǒng)提示信息的顯示。密碼存儲(chǔ)部分:本部分完成存儲(chǔ)原始密碼和用戶更改密碼數(shù)據(jù)的功能。其它部分:本部分的目的是為了提高系統(tǒng)的可用性和實(shí)用性。主要包括電源部分、復(fù)位部分、晶振部分、開(kāi)鎖部分和報(bào)警部分。電源部分主要的功能是為單片機(jī)提供適當(dāng)?shù)墓ぷ麟娫?,同時(shí)也為其它的部分提供電源。復(fù)位部分功能是使單片機(jī)在出現(xiàn)故障時(shí)進(jìn)行成功的復(fù)位。晶振部分功能是給單片機(jī)提供時(shí)鐘。開(kāi)鎖部分主要是根據(jù)單片機(jī)數(shù)據(jù)處理的結(jié)果驅(qū)動(dòng)繼電器控制開(kāi)鎖的操作。報(bào)警部分主要的功能就是在錯(cuò)誤操作下實(shí)現(xiàn)報(bào)警提示。2.2單片機(jī)選擇單片機(jī)的種類(lèi)繁多,各種型號(hào)都有其一定的應(yīng)用環(huán)境,因此在選用時(shí)要多加比較,合
15、理選擇,以期獲得最佳的性價(jià)比。在多數(shù)的電子設(shè)計(jì)中,基于性價(jià)比的考慮,8位單片機(jī)為首選。8位單片機(jī)中以mcs-51系列單片機(jī)及其兼容機(jī)所占的份額最大。mcs-51的硬件結(jié)構(gòu)決定了其指令系統(tǒng)不會(huì)發(fā)生變化。因此在對(duì)不同公司的單片機(jī)進(jìn)行選型時(shí),只需要比較芯片內(nèi)部資源即可。在以前的電子設(shè)計(jì)中,應(yīng)用比較廣泛的是at89c51單片機(jī),但是該單片機(jī)存在著致命的缺陷不支持isp功能。atmel公司現(xiàn)在已停止了at89c51的生產(chǎn),而加上了isp功能的at89s51、at89s52誕生了。at89s系列單片機(jī)在工藝上進(jìn)行了改進(jìn),采用了0.35mm的新工藝,不但降低了成本,而且增加了功能,提升了單片機(jī)的性能,提高了
16、市場(chǎng)競(jìng)爭(zhēng)力。at89s系列單片機(jī)新增了許多功能,性能也有了較大的提升,但是價(jià)格仍舊與at89c系列的價(jià)格相差不大。新增的功能之中最具影響力的就是isp在線編程功能,這個(gè)功能的優(yōu)勢(shì)在于,改寫(xiě)單片機(jī)flash存儲(chǔ)器內(nèi)的程序時(shí)不需要把芯片從工作環(huán)境中剝離,是一個(gè)強(qiáng)大易用的功能。顯然,at89s系列單片機(jī)在性能上要比at89c系列的單片機(jī)優(yōu)良的多,而且價(jià)格也沒(méi)有什么提高。所以選擇at89s系列作為本系統(tǒng)的的主控部分。而at89s系列中的89s51和89s52在實(shí)際應(yīng)用中最多,本設(shè)計(jì)中軟件部分需要大量的程序編程,89s51內(nèi)的程序存儲(chǔ)器太小,不能滿足要求,因此選擇at89s系列的at89s52作為本設(shè)計(jì)
17、的主控部分。at89s52是一種低功耗、高性能cmos8位微控制器,具有8k 在系統(tǒng)可編程flash 存儲(chǔ)器。使用atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80c51 產(chǎn)品指令和引腳完全兼容。片上flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位cpu 和在系統(tǒng)可編程flash,使得at89s52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。at89s52具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)flash,256字節(jié)ram,32 位i/o 口線,看門(mén)狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘
18、電路。另外,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.2 at89s52引腳圖at89s52引腳功能說(shuō)明如下:vcc:電源電壓gnd:地p0 口:p0口是一個(gè)8位漏極開(kāi)路的雙向i/o口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)ttl邏 輯電平。對(duì)p0端口寫(xiě)“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),p0口也被作為低8位地址
19、/數(shù)據(jù)復(fù)用。在這種模式下,p0內(nèi)部上拉電阻被激活。 在flash編程時(shí),p0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。 p1 口:p1 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向i/o 口,p1 輸出緩沖器能驅(qū)動(dòng)(吸收或輸出電流)4 個(gè) ttl 邏輯門(mén)電平。對(duì)p1 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(ttl)。 此外,p1.0和p1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(p1.0/t2)和時(shí)器/計(jì)數(shù)器2 的觸發(fā)輸入(p1.1/t2ex),在flash編程和校驗(yàn)時(shí),p1口
20、接收低8位地址字節(jié)。p1端口引腳的第二功能如表1所示表1 p1端口引腳的第二功能端口引腳第二功能p1.0 t2(定時(shí)器/計(jì)數(shù)器t2的外部計(jì)數(shù)輸入),時(shí)鐘輸出p1.1 t2ex(定時(shí)器/計(jì)數(shù)器t2的捕捉/重載觸發(fā)信號(hào)和方向控制)p1.5 mosi(在系統(tǒng)編程用)p1.6 miso(在系統(tǒng)編程用)p1.7 sck(在系統(tǒng)編程用)p2 口:p2 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向i/o 口,p2 輸出緩沖器能驅(qū)動(dòng)4 個(gè) ttl 邏輯電平。對(duì)p2 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入 口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(iil)。在訪問(wèn)外部程序
21、存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行movx dptr)時(shí),p2 口送出高八位地址。在這種應(yīng)用中,p2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如movx ri)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),p2口輸出p2鎖存器的內(nèi)容。 在flash編程和校驗(yàn)時(shí),p2口也接收高8位地址字節(jié)和一些控制信號(hào)。 p3 口:p3 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向i/o 口,p3 輸出緩沖器能驅(qū)動(dòng)4 個(gè) ttl 邏輯電平。對(duì)p3 端口寫(xiě)“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入 口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(ttl)。p3口除了作為一般的i/o口線外,更重要
22、的用途是它的第二功能。如表2所示:表2端口引腳第二功能端口引腳第二功能p3.0 rxd(串行輸入口)p3.4to(定時(shí)/計(jì)數(shù)器0)p3.1txd(串行輸出口)p3.5t1(定時(shí)/計(jì)數(shù)器1)p3.2 into(外中斷0)p3.6wr(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)p3.3 int1(外中斷1)p3.7rd(外部數(shù)據(jù)存儲(chǔ)器讀選通)此外,p3口還接收一些用于flash閃存編程和程序校驗(yàn)的控制信號(hào)。rst復(fù)位輸入。當(dāng)振蕩器工作時(shí),rst引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。wdt溢出將使該引腳輸出高電平,設(shè)置sfr auxr的disrto位(地址8eh)可打開(kāi)或關(guān)閉該功能。disrto位缺省為rese
23、t輸出高電平打開(kāi)狀態(tài)。ale/prog當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ale(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ale仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ale脈沖。如有必要,可通過(guò)對(duì)特殊功能寄存器(sfr)區(qū)中的8eh單元的d0位置位,可禁止ale操作。該位置位后,只有一條movx和movc指令才能將ale激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ale禁止位無(wú)效。psen程序儲(chǔ)存允許(psen)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)at89s52由外部程序
24、存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次psen有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將有兩次有效的psen信號(hào)。ea/vpp外部訪問(wèn)允許,欲使cpu僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000h-ffffh),ea端必須保持低電平(接地)。需注意的是:如果加密位lb1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存ea端狀態(tài)。如ea端為高電平(接vcc端),cpu則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。xtal1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。xtal2:振蕩器反相放大器的輸出端。2.3密碼存儲(chǔ)芯片選擇本部分主要是論證密碼存儲(chǔ)芯片的選型。存儲(chǔ)器的類(lèi)型按功能分只讀存儲(chǔ)器(read-only memory,簡(jiǎn)
25、稱(chēng)rom)和隨機(jī)存取存儲(chǔ)器(random access memory,簡(jiǎn)稱(chēng)ram)。隨機(jī)存取存儲(chǔ)器與只讀存儲(chǔ)器的根本區(qū)別在于:隨機(jī)存儲(chǔ)器在正常工作狀態(tài)時(shí)可隨時(shí)向存儲(chǔ)器里寫(xiě)入數(shù)據(jù)或從中讀出數(shù)據(jù),在存儲(chǔ)器斷電后信息全部丟失。只讀存儲(chǔ)器又分為固定掩膜存儲(chǔ)器和可編程存儲(chǔ)器。固定掩膜存儲(chǔ)器在生產(chǎn)時(shí)就根據(jù)用戶的要求把數(shù)據(jù)和程序固化其中,其中的內(nèi)容用戶不可以再修改,只能讀出。而可編程存儲(chǔ)器便于用戶根據(jù)自己的需要來(lái)寫(xiě)入特定的信息,根據(jù)存儲(chǔ)矩陣中存儲(chǔ)單元電路的結(jié)構(gòu)不同,可編程的rom有prom、eprom和eeprom等三種。prom的編程是由用戶而不是生產(chǎn)廠家完成,增加了靈活性,但編程是一次性的,且可靠性較差
26、,目前已很少使用。eprom作為一種可以多次擦除和重寫(xiě)的rom,克服了掩膜式rom和prom只能一次性寫(xiě)入的缺點(diǎn),滿足了實(shí)際工作中需要多次修改程序或數(shù)據(jù)的可能,前提條件是存儲(chǔ)矩陣中現(xiàn)有的程序或數(shù)據(jù)必須首先擦除。eprom的擦除和編程寫(xiě)入是采用專(zhuān)門(mén)的編程器設(shè)備完成的,并且擦除的周期比較的長(zhǎng)。電可擦除可編程只讀存儲(chǔ)器eeprom也稱(chēng)e2prom。與eprom擦除時(shí)把整個(gè)芯片的內(nèi)容全變成“1”不同,eeprom的擦除可以按字節(jié)分別進(jìn)行,且字節(jié)的編程和擦除都只需10ms,并且不需要將芯片從機(jī)器上拔下以及諸如用紫外線光源照射等特殊操作,可以在線進(jìn)行擦除和編程寫(xiě)入。因此根據(jù)設(shè)計(jì)的要求,采用的是eeprom
27、。常見(jiàn)的eeprom芯片有28256、at24c系列,28256的eeprom引腳比較多,功能比較的多,且容量太大,而本設(shè)計(jì)的存儲(chǔ)器只是存儲(chǔ)密碼數(shù)據(jù),不需要很多的功能和很大的容量,因而選用的是at24c系列的eeprom。常用的at24c系列如下表3所示:表3 at24c系列eeprom對(duì)比表eeprom型號(hào)at24c02at24c08at24c16容量(bytes)2k8k16k頁(yè)大小(bytes)81616總頁(yè)面數(shù) 3264128地址位(bits)888本設(shè)計(jì)中存儲(chǔ)的數(shù)據(jù)不多,因此選用at24c02即可滿足要求。at24c02是美國(guó)atmel公司的低功耗cmos型eeprom,內(nèi)含2568
28、位存儲(chǔ)空間,具有工作電壓寬(2.55.5 v)、擦寫(xiě)次數(shù)多(大于10000次)、寫(xiě)入速度快(小于10 ms)、抗干擾能力強(qiáng)、數(shù)據(jù)不易丟失、體積小、掉電情況下可以繼續(xù)保存數(shù)據(jù)等特點(diǎn)。at24c02芯片作為系統(tǒng)的從器件,它與主器件之間的通信遵循ic總線協(xié)議,ic總線協(xié)議規(guī)定,任何將數(shù)據(jù)傳送到總線的器件作為發(fā)送器。任何從總線接受數(shù)據(jù)的器件為接收器。數(shù)據(jù)傳送是由產(chǎn)生串行時(shí)鐘和所有起始停止信號(hào)的主器件控制的。主器件和從器件都可以作為發(fā)送器或者是接收器。at24c02的引腳如圖2.3所示: 圖2.3 at24c02的引腳引腳的功能:串行時(shí)鐘(scl):用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘。串行數(shù)據(jù)/地址(
29、sda):用于器件所有數(shù)據(jù)的發(fā)送或接收,sda是一個(gè)開(kāi)漏輸出管腳,可與其它開(kāi)漏輸出或集電極開(kāi)路輸出進(jìn)行線。器件地址輸入端(a0、a1和a2):用于多個(gè)器件級(jí)聯(lián)時(shí)設(shè)置器件地址,當(dāng)有多個(gè)從器件連接在ic總線上時(shí),此端口用于選擇不同的從器件。本次設(shè)計(jì)中三個(gè)引腳全部接地。寫(xiě)保護(hù)(wp):如果wp管腳連接到vcc,所有的內(nèi)容都被寫(xiě)保護(hù)(只能讀)。當(dāng)wp管腳連接地線或懸空,允許器件進(jìn)行正常的讀/寫(xiě)操作。2.4鍵盤(pán)輸入方案比較鍵盤(pán)輸入是現(xiàn)階段電子設(shè)計(jì)中最常用、最實(shí)用的輸入設(shè)備。設(shè)計(jì)中常用的鍵盤(pán)輸入方案有兩種:獨(dú)立式鍵盤(pán)、矩陣式鍵盤(pán)。獨(dú)立式鍵盤(pán)獨(dú)立式按鍵是指直接用i/o口線構(gòu)成的單個(gè)按鍵的電路。每個(gè)獨(dú)立式按鍵
30、單獨(dú)占有一根i/o口線,每個(gè)按鍵的工作狀態(tài)都是獨(dú)立的不會(huì)影響到其他的按鍵的工作狀態(tài)。獨(dú)立式按鍵的電路如圖2.4所示:圖2.4 獨(dú)立式按鍵電路原理圖通常獨(dú)立式鍵盤(pán)的按鍵輸入都采用低電平有效,上拉電阻保證了按鍵的斷開(kāi),i/o口線有確定的高電平。獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但是每個(gè)按鍵都需要獨(dú)立的i/o口,如果按鍵的數(shù)量較多的時(shí)候,i/o就會(huì)造成極大的浪費(fèi)。矩陣式鍵盤(pán)行列式鍵盤(pán)又叫矩陣式鍵盤(pán)。用i/o口線組成行列結(jié)構(gòu),按鍵位于行列的交點(diǎn)位置上。矩陣式鍵盤(pán)電路原理如圖2.5所示:圖2.5 矩陣式鍵盤(pán)電路原理圖本次設(shè)計(jì)中電子密碼鎖的鍵盤(pán)中,出去0-9的數(shù)字鍵外,還需要一些輔助的功能鍵,總體上來(lái)
31、說(shuō)按鍵的數(shù)量是相當(dāng)?shù)亩嗟?。采用?dú)立式按鍵的方案,會(huì)對(duì)單片機(jī)的i/o口造成很大的浪費(fèi);采用矩陣式的按鍵方案就比較的適用于本次設(shè)計(jì)。2.5顯示方案比較 設(shè)計(jì)中常用的輸出顯示設(shè)備有兩種:數(shù)碼管和lcdlcd顯示方案lcd是一種被動(dòng)式的顯示器,利用液晶能改變光線通過(guò)方向的特性,來(lái)達(dá)到顯示的目的。lcd顯示清晰美觀,具有功能低、抗干擾能力強(qiáng)的優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表、控制系統(tǒng)等。液晶顯示器的驅(qū)動(dòng)方式由電極引線的選擇方式確定,選擇了液晶顯示器之后便無(wú)法改變驅(qū)動(dòng)的方式。當(dāng)lcd顯示筆端上兩個(gè)電極電壓相位相同時(shí),兩電極之間的電位差為0,該字段就不顯示;當(dāng)兩個(gè)電極電壓的相位相反時(shí),兩電極之間的電位差為兩倍的方波
32、電壓,該字段顯示。其原理電路如圖2.6所示:圖2.6 原理電路數(shù)碼管顯示方案七段數(shù)碼管顯示器是有8個(gè)發(fā)光二極管組成的(a,b,c,d,e,f,g),led七段數(shù)碼管的顯示即相應(yīng)的發(fā)光二極管導(dǎo)通或者是截?cái)?不同的組合等到的字符顯示不一樣的。數(shù)碼管顯示的數(shù)據(jù)內(nèi)容比較的直觀,一個(gè)數(shù)碼管可以顯示一位,多個(gè)數(shù)碼管就可以顯示多位,且程序設(shè)計(jì)和外圍電路設(shè)計(jì)都十分的簡(jiǎn)單。數(shù)碼管顯示的每一位都需要有一個(gè)8位輸出口控制,當(dāng)需要較多的數(shù)碼管顯示的時(shí)候,單片機(jī)如果要直接控制各個(gè)數(shù)碼管的顯示是不可能的,因?yàn)闆](méi)有足夠的i/o口線進(jìn)行控制。通常采用串口發(fā)送數(shù)據(jù),然后用串行輸入并行輸出的移位寄存器來(lái)驅(qū)動(dòng)數(shù)碼顯示器。實(shí)際應(yīng)用中
33、,簡(jiǎn)單的可以使用三極管來(lái)驅(qū)動(dòng),但是本設(shè)計(jì)為了使顯示更加的穩(wěn)定,采用的是74hc164串行移位寄存器來(lái)驅(qū)動(dòng)。本次設(shè)計(jì),顯示的東西不需要很復(fù)雜,信息也較少,用數(shù)碼管顯示完全可以滿足要求,而使用lcd顯示成本可能會(huì)比較的高,所以采用數(shù)碼管顯示。233電子密碼鎖的硬件設(shè)計(jì)本部分主要介紹基于at89s52單片機(jī)的電子密碼鎖的硬件設(shè)計(jì)。系統(tǒng)的硬件部分由鍵盤(pán)輸入部分、密碼存儲(chǔ)部分、顯示部分、電源輸入部分、復(fù)位部分、晶振部分、報(bào)警部分、開(kāi)鎖部分組成。3.1系統(tǒng)結(jié)構(gòu)框圖 系統(tǒng)以at89s52單片機(jī)作為數(shù)據(jù)和控制部分;以矩陣鍵盤(pán)輸入作為鍵盤(pán)輸入部分的方式;數(shù)碼管顯示作為數(shù)據(jù)輸出顯示部分;由繼電器控制電磁閥動(dòng)作的開(kāi)
34、鎖電路作為開(kāi)鎖部分;蜂鳴器作為報(bào)警部分,系統(tǒng)的硬件結(jié)構(gòu)框圖如圖3.1所示:at89s52鍵盤(pán)輸入復(fù)位電路密碼存儲(chǔ)電路晶振電路電源輸入顯示電路報(bào)警電路開(kāi)鎖電路圖3.1 系統(tǒng)的硬件結(jié)構(gòu)圖3.2主控部分本次設(shè)計(jì)中,選用ateml公司的51系列單片機(jī)at89s52芯片作為電子密碼鎖的數(shù)據(jù)處理及操作控制芯片。只有單片機(jī)芯片是無(wú)法完成數(shù)據(jù)處理及控制功能的,必須有附加的電路,使單片機(jī)芯片組成一個(gè)可運(yùn)行的系統(tǒng)才能實(shí)現(xiàn)其功能。本次設(shè)計(jì),由at89s52單片機(jī)連同附加電路構(gòu)成的單片機(jī)最小系統(tǒng)作為主控。電路圖如圖3.2所示:圖3.2 最小系統(tǒng)3.3顯示部分電子密碼鎖采用數(shù)碼管進(jìn)行顯示,經(jīng)過(guò)單片機(jī)處理過(guò)的數(shù)據(jù)信息都由
35、數(shù)碼管進(jìn)行顯示。單片機(jī)數(shù)據(jù)傳輸采用串行方式,數(shù)據(jù)通過(guò)單片機(jī)的串行數(shù)據(jù)口p3.0(rxd)進(jìn)行發(fā)送,接著應(yīng)用74hc164串行移位寄存器把串行的數(shù)據(jù)轉(zhuǎn)換成8位的并行數(shù)據(jù),驅(qū)動(dòng)led 數(shù)碼管。74hc164芯片中,沒(méi)有數(shù)據(jù)鎖存器,使串行數(shù)據(jù)每到達(dá)一位,直接就被送到數(shù)碼管中,造成數(shù)據(jù)顯示不穩(wěn)定。為了使數(shù)據(jù)顯示穩(wěn)定,在移位寄存器和數(shù)碼管之間加入數(shù)據(jù)鎖存器,來(lái)穩(wěn)定數(shù)碼管的數(shù)據(jù)顯示。顯示部分如圖3.3所示:圖3.3 顯示部分電路圖3.4鍵盤(pán)輸入部分在電子密碼鎖中各種信息的輸入都是通過(guò)鍵盤(pán)輸入部分完成的。把單個(gè)按鍵按照4*4組成鍵盤(pán),四條行線連接到單片機(jī)的p1.0-p1.3四條i/o口線上, 四條列線連接到
36、單片機(jī)的p1.4-p1.7四條i/o口線上,運(yùn)行的時(shí)候,單片機(jī)通過(guò)控制p1口得高低電平,然后根據(jù)變化進(jìn)行判斷。單片機(jī)向行線輸入高電平,向列線輸入低電平,按鍵未被按下之前保持電平給定不變,按鍵按下,行線的高電平變成低電平。同樣對(duì)列線進(jìn)行判定,即可判斷所輸入的信息。鍵盤(pán)部分的電路連接如圖3.4所示:圖3.4 鍵盤(pán)部分電路圖3.5密碼存儲(chǔ)部分在電子密碼鎖中,存入的密碼是需要永久的保存的。在設(shè)計(jì)中采用了在掉電的情況下依然能夠保存數(shù)據(jù)的eeprom存儲(chǔ)芯片24c02存儲(chǔ)密碼。設(shè)計(jì)的密碼鎖因?yàn)橹恍枰鎯?chǔ)6位密碼,數(shù)據(jù)量很小,所以24c02的地址選擇端口直接接地,時(shí)鐘輸入端口(sck)和數(shù)據(jù)輸入端口(sda
37、)和單片機(jī)的相連即可。電路連接如圖3.5所示: 圖3.5 密碼存儲(chǔ)部分電路圖3.6電源部分密碼鎖主控制部分電源需要用5v直流電源供電,把頻率為50hz、有效值為220v的單相交流電壓轉(zhuǎn)換為幅值穩(wěn)定的5v直流電壓。其主要原理是把交流電經(jīng)過(guò)電源變壓器、整流電路、濾波電路、穩(wěn)壓電路轉(zhuǎn)換成穩(wěn)定的直流電壓。 由于輸入電壓為電網(wǎng)電壓,一般情況下所需直流電壓的數(shù)值和電網(wǎng)電壓的有效值相差較大,因而電源變壓器的作用顯現(xiàn)出來(lái)起到降壓作用。降壓后還是交流電壓,所以需要整流電路把交流電壓轉(zhuǎn)換成直流電壓。由于經(jīng)整流電路整流后的電壓含有較大的交流分量,會(huì)影響到負(fù)載電路的正常工作。需通過(guò)低通濾波電路濾波,使輸出電壓平滑。穩(wěn)
38、壓電路的功能是使輸出直流電壓基本不受電網(wǎng)電壓波動(dòng)和負(fù)載電阻變化的影響,從而獲得穩(wěn)定性足夠高的直流電壓。為了防止停電情況的發(fā)生,本電路后備了ups電源,它包括市電供電電路,停電檢測(cè)電路,電子開(kāi)關(guān)切換電路,蓄電池充電電路和蓄電池組成。主電源如圖3.6所示:圖3.6 主電路圖220v市電通過(guò)變壓器降壓成12v的交流電,再經(jīng)過(guò)整流橋整流,7805穩(wěn)壓到5v送往電子切換電路,由于本電路功耗較少,所以選用10w的小型變壓器。由r2,r3,r4,r5及j1構(gòu)成電壓比較器,正常情況下,v+v- j6時(shí),由q1,q2構(gòu)成的達(dá)林頓管使繼電器k1開(kāi)啟,將其常開(kāi)觸電將蓄電池和電路相連,實(shí)現(xiàn)市電和蓄電池供電的切換,保證
39、電子密碼鎖的正常工作(視電池容量而定持續(xù)時(shí)間)。q3,q4構(gòu)成的蓄電池自動(dòng)充電電路,它在電池充滿后自動(dòng)停止充電,其中d5亮為正在充電,d7為工作指示。由r8,r11,q4構(gòu)成電壓檢測(cè)電路,蓄電池電壓低,則q3,q4導(dǎo)通,實(shí)現(xiàn)對(duì)其充電;充滿后,q3,q4截止,停止充電,同時(shí)d5熄滅,電路中c6的作用是濾除干擾信號(hào)。如圖3.7、3.8所示:圖3.7 停電檢測(cè)及電子開(kāi)關(guān)切換電路圖3.8 蓄電池自動(dòng)充放電電路3.7其它功能部分密碼鎖系統(tǒng)中主要的為以上的幾個(gè)部分,但是為了使系統(tǒng)更加的完善,還需要一些附加的部分。復(fù)位部分單片機(jī)復(fù)位是使cpu和系統(tǒng)中的其它功能部件都處在一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工
40、作,單片機(jī)剛開(kāi)始接上電源,斷電或者是發(fā)生故障時(shí)都需要復(fù)位。單片機(jī)的復(fù)位輸入rst腳持續(xù)兩個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位。復(fù)位部分如圖3.9所示:圖3.9 復(fù)位部分電路報(bào)警部分報(bào)警部分是由陶瓷壓電發(fā)聲裝置及外圍電路組成。當(dāng)密碼輸入不正確是會(huì)發(fā)出警報(bào)。報(bào)警電路如圖3.10所示:圖3.10 報(bào)警電路 晶振部分本部分是為單片機(jī)提供時(shí)鐘控制信號(hào),采用的電路是外接晶振和電容組成的并聯(lián)諧振回路。at89s52引腳xtal1和xtal2與晶體振蕩器及電容c2、c1按圖4-7所示方式連接。晶振、電容c1、c2及片內(nèi)與非門(mén)(作為反饋、放大元件)構(gòu)成了電容三點(diǎn)式振蕩器,振蕩信號(hào)頻率與晶振頻率及電容c1、c2的容量有
41、關(guān),但主要由晶振頻率決定,范圍在033mhz之間,電容c1、c2取值范圍在530pf之間。根據(jù)實(shí)際情況,本設(shè)計(jì)中采用12mhz做為系統(tǒng)的外部晶振。電容取值為20pf。如圖3.11所示: 圖3.11 晶振部分電路開(kāi)鎖部分當(dāng)輸入正確的密碼的時(shí)候,單片機(jī)的其中一個(gè)引腳線發(fā)出信號(hào),經(jīng)過(guò)三極管放大后,由繼電器驅(qū)動(dòng)電磁閥動(dòng)作將鎖打開(kāi)。同時(shí)綠色的指示燈將會(huì)點(diǎn)亮。開(kāi)鎖電路如圖3.12所示:圖3.12 開(kāi)鎖電路3.8 電子密碼鎖的電路原理圖根據(jù)系統(tǒng)所需要實(shí)現(xiàn)的功能,進(jìn)行的原理圖設(shè)計(jì)如圖3.13所示:圖3.13 電子密碼鎖的電路原理圖4電子密碼鎖的軟件組成4.1系統(tǒng)軟件設(shè)計(jì)流程 本設(shè)計(jì)的軟件程序設(shè)計(jì)主要有(1)初
42、始化程序(2)按鍵功能實(shí)現(xiàn)程序 (3)密碼修改程序(4)報(bào)警程序等組成。系統(tǒng)的總體流程圖如圖4.1所示: 開(kāi)始初始化,設(shè)置密碼等待輸入計(jì)算鍵值是clr?是否是確認(rèn)鍵?否存鍵值首次按鍵?已輸6位?是否否密碼右移是計(jì)數(shù)值減1報(bào)警是是否比較密碼正確?開(kāi)鎖密碼左移計(jì)數(shù)值加1圖4.1 系統(tǒng)的總體流程圖4.2 keil uvision2軟件介紹單片機(jī)開(kāi)發(fā)中除必要的硬件外,同樣離不開(kāi)軟件,本系統(tǒng)的軟件編程設(shè)計(jì)是在keil軟件環(huán)境中完成的。我們寫(xiě)的c語(yǔ)言、匯編語(yǔ)言源程序要變?yōu)閏pu可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)
43、器碼,用于mcs-51單片機(jī)的匯編軟件有早期的a51,隨著單片機(jī)開(kāi)發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開(kāi)發(fā),單片機(jī)的開(kāi)發(fā)軟件也在不斷發(fā)展,keil軟件是目前最流行開(kāi)發(fā)51系列單片機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支持keil即可看出。keil提供了包括c編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uvision)將這些部份組合在一起。掌握這一軟件的使用對(duì)于使用51系列單片機(jī)的愛(ài)好者來(lái)說(shuō)是十分必要的,如果使用c語(yǔ)言編程,那么keil幾乎就是不二之選。即使不使用c語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的
44、軟件仿真調(diào)試工具也會(huì)令人事半功倍。keil c51是美國(guó)keil software公司出品的51系列兼容單片機(jī)c語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,c語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用c來(lái)開(kāi)發(fā),體會(huì)更加深刻。keil c51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到keil c51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。4.3各主要部分的功能實(shí)現(xiàn)程序設(shè)計(jì)4.3.1初始化程序設(shè)計(jì)電子密碼鎖系統(tǒng)在
45、接通電源后,首先要對(duì)系統(tǒng)進(jìn)行初始化。初始化過(guò)程包括密碼鎖上鎖,密碼的讀入,led數(shù)碼管的顯示內(nèi)容初始化,設(shè)定系統(tǒng)狀態(tài)指示等。流程圖如圖4.2所示:初始化開(kāi)始載入預(yù)設(shè)密碼至系統(tǒng)內(nèi)存系統(tǒng)上鎖并設(shè)定狀態(tài)指示燈設(shè)定顯示器為等待輸入狀態(tài)用戶輸入密碼區(qū)清零初始化定時(shí)器0圖4.2 初始化程序設(shè)計(jì)流程圖初始化程序如下:org0000hljmpfirstorg000bhljmpint_t0org0100hfirst:movset_times,#0;新密碼輸入次數(shù)清零從24c01c中讀數(shù)據(jù),數(shù)據(jù)送at89c51中38h開(kāi)始的16個(gè)字節(jié)中movsla,#0a0h;寫(xiě)入控制字movsuba,#00h;目標(biāo)地址movn
46、umbyte,#6;寫(xiě)入的字節(jié)數(shù)lcallirdnbyte;開(kāi)始寫(xiě)數(shù)據(jù)begin:movcnt_error,#00h;密碼錯(cuò)誤次數(shù)清零start:clr led_yellow;上鎖指示燈setbled_green;開(kāi)鎖指示燈滅setbled_red;密碼錯(cuò)誤指示燈滅movkey_cnt_set,#00hmovcnt_a,#00hmovcnt_b,#00hmovkey_cnt,#00hmovline,#00hmovrow,#00hmovval,#00hmovword_adress,#4chmovled_bit_1,#0ah ;數(shù)碼管全-movled_bit_2,#0ahmovled_bit_3,
47、#0ahmovled_bit_4,#0ahmovled_bit_5,#0ahmovled_bit_6,#0ahmovkey_1,#00h ;輸入密碼存儲(chǔ)區(qū)清0movkey_2,#00hmovkey_3,#00hmovkey_4,#00hmovkey_5,#00hmovkey_6,#00hmovtmod,#01h ;初始化定時(shí)器t0movth0,#(65536-700)/256movtl0,#(65536-700)mod256movie,#82h4.3.2按鍵處理程序設(shè)計(jì)(介紹)鍵功能程序鍵值09?鍵值開(kāi)鎖?鍵值清除?鍵值設(shè)置?鍵值確認(rèn)?密碼輸入程序設(shè)置程序清除程序開(kāi)鎖程序確認(rèn)程序是是是是是否否
48、否否返回否圖4.3 按鍵處理程序流程圖按鍵處理程序如下:a0: noplscan:movp1,#0f0h ;掃描行碼,把四條“行”線置成低電平 l1:jnbp1.0,l2 ;檢測(cè)第一行是否有鍵按下 lcalldly_s ;消除鍵盤(pán)抖動(dòng)jnbp1.0,l2 ;確認(rèn)第一行有鍵按下movline,#00h ;把值送到指定內(nèi)存,等待計(jì)算ljmprscan ;跳轉(zhuǎn)到鍵值計(jì)算部分l2:jnbp1.1,l3lcalldly_sjnbp1.1,l3movline,#01hljmprscanl3:jnbp1.2,l4lcalldly_sjnbp1.2,l4movline,#02hljmprscanl4:jnbp1.3,a0lcalldly_sjnbp1.3,a0movli
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公空間色彩搭配藝術(shù)匯報(bào)-營(yíng)造高效工作環(huán)境
- 2025安哥拉勞務(wù)人員合同(勞務(wù)人員)
- 2019-2025年中國(guó)垃圾焚燒煙氣處理行業(yè)發(fā)展趨勢(shì)預(yù)測(cè)及投資戰(zhàn)略咨詢報(bào)告
- 撫州南廣220kV變電站工程竣工驗(yàn)收?qǐng)?bào)告
- 2024-2030年中國(guó)需外接電源的口授記錄機(jī)行業(yè)市場(chǎng)深度分析及投資戰(zhàn)略規(guī)劃建議報(bào)告
- 2024年中國(guó)工程塑料行業(yè)市場(chǎng)運(yùn)營(yíng)態(tài)勢(shì)與投資前景咨詢報(bào)告
- 2025集裝箱板房租賃合同協(xié)議書(shū)
- 從智能到智慧探討家居空間中智能系統(tǒng)的未來(lái)發(fā)展
- 創(chuàng)新教育培養(yǎng)具有全球視野的人才
- 從辦公室到創(chuàng)業(yè)中心的轉(zhuǎn)型之路
- 2025年九年級(jí)中考數(shù)學(xué)一輪復(fù)習(xí)考點(diǎn)突破課件:第28講 概率
- 2024年大學(xué)試題(法學(xué))-知識(shí)產(chǎn)權(quán)法考試近5年真題集錦(頻考類(lèi)試題)帶答案
- 2025屆天津市重點(diǎn)中學(xué)數(shù)學(xué)高一上期末復(fù)習(xí)檢測(cè)試題含解析
- 2024北京海淀區(qū)高三二模語(yǔ)文試題及答案
- 2024年客運(yùn)值班員(技師)職業(yè)鑒定理論考試題庫(kù)(含答案)
- 中華民族現(xiàn)代文明有哪些鮮明特質(zhì)?建設(shè)中華民族現(xiàn)代文明的路徑是什么?參考答案
- 2024-2030年中國(guó)脫毛膏市場(chǎng)消費(fèi)模式預(yù)測(cè)與未來(lái)銷(xiāo)售規(guī)模調(diào)研報(bào)告
- 關(guān)于加強(qiáng)中小學(xué)生欺凌綜合治理方案的實(shí)施辦法
- 教材解讀-2023-2024學(xué)年統(tǒng)編版語(yǔ)文四年級(jí)下冊(cè)
- 湖北省十堰市2023-2024學(xué)年高三上學(xué)期元月調(diào)考考試歷史試卷
- 牧業(yè)司肉牛養(yǎng)殖屠宰加工一體化建設(shè)項(xiàng)目組織機(jī)構(gòu)勞動(dòng)定員與招投標(biāo)方案
評(píng)論
0/150
提交評(píng)論