版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程設(shè)計(jì)報(bào)告</b></p><p> 論文題目:基于單片機(jī)的密碼鎖設(shè)計(jì)</p><p> 學(xué)生姓名: </p><p> 學(xué)生學(xué)號(hào): </p><p> 系 別: 電氣信息工
2、程學(xué)院 </p><p> 專(zhuān) 業(yè): 自動(dòng)化 </p><p> 屆 別: </p><p> 指導(dǎo)教師: </p><p><b> 電氣信息工程學(xué)院制&l
3、t;/b></p><p> 基于單片機(jī)的密碼鎖設(shè)計(jì)</p><p><b> 摘 要</b></p><p> 隨著科技和人們的生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問(wèn)題也變的尤其的突出,傳統(tǒng)機(jī)械鎖由于構(gòu)造簡(jiǎn)單,被撬事件屢見(jiàn)不鮮;電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶(hù)的青睞。</p><
4、;p> 本設(shè)計(jì)以單片機(jī)AT89C51作為密碼鎖監(jiān)控裝置的檢測(cè)和控制核心,分為主機(jī)控制和從機(jī)執(zhí)行機(jī)構(gòu)(本設(shè)重點(diǎn)介紹主機(jī)設(shè)計(jì)),實(shí)現(xiàn)鑰匙信息在主機(jī)上的初步認(rèn)證注冊(cè)、密碼信息的加密、鑰匙丟失報(bào)廢等功能。根據(jù)51單片機(jī)之間的串行通信原理,這便于對(duì)密碼信息的隨機(jī)加密和保護(hù)。而且采用鍵盤(pán)輸入的電子密碼鎖具有較高的優(yōu)勢(shì)。采用數(shù)字信號(hào)編碼和二次調(diào)制方式,不僅可以實(shí)現(xiàn)多路信息的控制,提高信號(hào)傳輸?shù)目垢蓴_性,減少錯(cuò)誤動(dòng)作,而且功率消耗低;反應(yīng)速度快
5、、傳輸效率高、工作穩(wěn)定可靠等。軟件設(shè)計(jì)采用自上而下的模塊化設(shè)計(jì)思想,以使系統(tǒng)朝著分布式、小型化方向發(fā)展,增強(qiáng)系統(tǒng)的可擴(kuò)展性和運(yùn)行的穩(wěn)定性。測(cè)試結(jié)果表明,本系統(tǒng)各項(xiàng)功能已達(dá)到本設(shè)計(jì)的所有要求。</p><p> 關(guān)鍵詞:單片機(jī);密碼鎖;單片機(jī)設(shè)計(jì) ;電子鎖</p><p><b> 目錄Ⅰ</b></p><p><b> 目錄
6、Ⅰ</b></p><p><b> 1 緒論1</b></p><p><b> 1.1 引言1</b></p><p> 1.2 電子密碼鎖的背景1</p><p> 1.3 電子鎖設(shè)計(jì)的意義的本設(shè)計(jì)特點(diǎn)2</p><p><b>
7、 2 系統(tǒng)設(shè)計(jì)4</b></p><p> 2.1系統(tǒng)總設(shè)計(jì)結(jié)構(gòu)圖4</p><p> 2.2.開(kāi)鎖機(jī)構(gòu)設(shè)計(jì)4</p><p> 2.3主控芯片AT89C51單片機(jī)的簡(jiǎn)介5</p><p> 3 系統(tǒng)硬件設(shè)計(jì)8</p><p><b> 3.1鍵盤(pán)設(shè)計(jì)8</b>&
8、lt;/p><p> 3.2系統(tǒng)電路設(shè)計(jì):10</p><p> 3.2.1 晶振時(shí)鐘電路10</p><p> 3.2.2復(fù)位電路設(shè)計(jì)10</p><p> 3.2.3串口引腳功能介紹10</p><p> 3.2.4 其它引腳10</p><p> 3.2.5 顯示電路設(shè)計(jì)
9、13</p><p> 3.3電路圖的繪制14</p><p> 3.4元器件采購(gòu)14</p><p><b> 4 軟件設(shè)計(jì)14</b></p><p> 4.1 系統(tǒng)軟件設(shè)計(jì)整體思路16</p><p> 4.2系統(tǒng)軟件設(shè)計(jì)流程圖16</p><p&g
10、t;<b> 5 程序調(diào)試16</b></p><p> 5.1 程序調(diào)試用到的軟件及工具16</p><p> 5.2 KEIL C51簡(jiǎn)介17</p><p> 5.3 調(diào)試過(guò)程19</p><p> 6 設(shè)計(jì)總結(jié)與展望20</p><p><b> 參考文
11、獻(xiàn)22</b></p><p><b> 附錄23</b></p><p><b> 1 緒論</b></p><p><b> 1.1 引言</b></p><p> 隨著人們生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問(wèn)題也變的尤其的突出,傳統(tǒng)的機(jī)械鎖由于其
12、構(gòu)造的簡(jiǎn)單,被撬的事件屢見(jiàn)不鮮,電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶(hù)的喜愛(ài)。鎖是置于可啟閉的器物上,用以關(guān)住某個(gè)確定的空間范圍或某種器具的,必須以鑰匙或暗碼打開(kāi)的扣件。鎖具發(fā)展到現(xiàn)在已有若干年的歷史了,人們對(duì)它的結(jié)構(gòu)、機(jī)理也研究得很透徹,因此,不用鑰匙就能打開(kāi)的方法和工具也層出不窮?,F(xiàn)代人類(lèi)文明社會(huì)里,由于社會(huì)中各種矛盾沖突十分劇烈,人們的思想道德觀(guān)念,價(jià)值觀(guān)念,文化修養(yǎng)水平等差異,群眾中良莠不齊,善良的人們能
13、夠自覺(jué)規(guī)范自已的行為,“非禮不為”,雖無(wú)鑰匙亦不會(huì)亂闖。然而,那些毫無(wú)道德觀(guān)念的盜賊卻想方設(shè)法利用高科技手段撬門(mén)開(kāi)鎖,使廣大居民防不勝防。</p><p> 為什么會(huì)出現(xiàn)這種情況呢?因?yàn)閭鹘y(tǒng)鎖具都存在致命的弱點(diǎn): 第一、 鎖芯采用常見(jiàn)的銅、鋁、鋅等材料,抵抗不了強(qiáng)力破壞; 第二、 鎖具制作工藝,技術(shù)落后,無(wú)法阻止技術(shù)手段的開(kāi)啟。 目前,市場(chǎng)上很多國(guó)內(nèi)外的鎖具,實(shí)際上都不具備真正的防盜功能。在慣偷面前
14、,兩根鋼絲或幾件簡(jiǎn)單的工具就可以把這些鎖打開(kāi),有的慣偷甚至公開(kāi)揚(yáng)言:“沒(méi)有我打不開(kāi)的鎖?!逼鋵?shí),不是他們多高明,而是一般鎖具技術(shù)原理太過(guò)簡(jiǎn)單。面對(duì)這一殘酷的現(xiàn)狀,新時(shí)代提出了鎖具必須革命的迫切的要求。</p><p> 1.2 電子密碼鎖的背景</p><p> 隨著社會(huì)科技的進(jìn)步,鎖已發(fā)展到了密碼鎖、磁性鎖、電子鎖、激光鎖、聲控鎖等等。在傳統(tǒng)鑰匙的基礎(chǔ)上,加了一組或多組密碼,不同聲音
15、,不同磁場(chǎng),不同聲波,不同光束光波,不同圖像。(如指紋、眼底視網(wǎng)膜等)來(lái)控制鎖的開(kāi)啟。從而大大提高了鎖的安全性,使不法之徒無(wú)從下手,人們也就能對(duì)自身財(cái)產(chǎn)安全有了更多的保障。當(dāng)今安全信息系統(tǒng)應(yīng)用越來(lái)越廣泛,特別在保護(hù)機(jī)密、維護(hù)隱私和財(cái)產(chǎn)保護(hù)方面起到重大作用,而基于電子密碼鎖的安全系統(tǒng)是其中的組成部分,因此研究它具有重大的現(xiàn)實(shí)意義。</p><p> 1.3 電子鎖設(shè)計(jì)的意義的本設(shè)計(jì)特點(diǎn)</p>&l
16、t;p> 單片機(jī),亦稱(chēng)單片微電腦或單片微型計(jì)算機(jī)。它是把中央處理器(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、輸入/輸出端口 (I/0)等主要計(jì)算機(jī)功能部件都集成在一塊集成電路芯片上的微型計(jì)算機(jī)。 計(jì)算機(jī)的產(chǎn)生加快了人類(lèi)改造世界的步伐,但是它畢竟體積大。微計(jì)算機(jī)(單片機(jī))在這種情況下誕生了,它為我們改變了什么?縱觀(guān)我們現(xiàn)在生活的各個(gè)領(lǐng)域,從導(dǎo)彈的導(dǎo)航裝置,到飛機(jī)上各種儀表的控制,從計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,到工
17、業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,以及我們生活中廣泛使用的各種智能IC 卡、電子寵物等,這些都離不開(kāi)單片機(jī)。以前沒(méi)有單片機(jī)時(shí),這些東西也能做,但是只能使用復(fù)雜的模擬電路,然而這樣做出來(lái)的產(chǎn)品不僅體積大,而且成本高,并且由于長(zhǎng)期使用,元器件不斷老化,控制的精度自然也會(huì)達(dá)不到標(biāo)準(zhǔn)。在單片機(jī)產(chǎn)生后,我們就將控制這些東西變?yōu)橹悄芑耍覀冎恍枰趩纹瑱C(jī)外圍接一點(diǎn)簡(jiǎn)單的接口電路,核心部分只是由人為的寫(xiě)入程序來(lái)完成。這樣產(chǎn)品的體積變小了,成本也降低
18、了,長(zhǎng)期使用也不會(huì)擔(dān)心精度達(dá)不到了,且容易升級(jí)改善。</p><p> 電子鎖可以在日常生活和現(xiàn)代辦公中,住宅與辦公室的安全防范、單位的文件檔案、財(cái)務(wù)報(bào)表以及一些個(gè)人資料的保存等多種場(chǎng)合使用。大大提高了主人物資的安全性,安全可以代替老式機(jī)械鎖。目前使用的密碼鎖種類(lèi)繁多,各具特色。本文從經(jīng)濟(jì)實(shí)用的角度出發(fā),采用AT89C2051單機(jī),研制了一款具有防盜自動(dòng)報(bào)警功能的電子密碼鎖。該密碼鎖設(shè)計(jì)方法合理,簡(jiǎn)單易行,成本
19、低,符合住宅、辦公室用鎖要求,具有一定的推廣價(jià)值。</p><p> ?。?)系統(tǒng)設(shè)置4位密碼,密碼通過(guò)鍵盤(pán)輸入,若密碼正確,則將鎖打開(kāi)。</p><p> ?。?)密碼由用戶(hù)自己設(shè)定,在開(kāi)鎖狀態(tài)下,用戶(hù)可自行修改密碼。</p><p> ?。?)具有自動(dòng)報(bào)警功能。自動(dòng)報(bào)警分現(xiàn)場(chǎng)報(bào)警和遠(yuǎn)程報(bào)警兩種?,F(xiàn)場(chǎng)報(bào)警由揚(yáng)聲器發(fā)出報(bào)警聲。</p><p>
20、; ?。?)兩種情況下可報(bào)警:一是密碼輸入錯(cuò)誤3次,則報(bào)警;二是非正常開(kāi)門(mén),如破門(mén)而入的情況,可通過(guò)系統(tǒng)的紅外監(jiān)視裝置監(jiān)測(cè),同時(shí)報(bào)警,保證了系統(tǒng)的安全性。系統(tǒng)工作時(shí),用戶(hù)通過(guò)按鍵輸入4位密碼,單片機(jī)將輸入密碼與設(shè)定密碼進(jìn)行比較,若密碼正確,則發(fā)出開(kāi)鎖信號(hào),將門(mén)打開(kāi),系統(tǒng)不報(bào)警;若密碼不正確,則有相應(yīng)的指示燈閃動(dòng),并要求重新輸入密碼,重新輸入密碼的次數(shù)不能超過(guò)3次,若3次輸入的密碼都不正確,則發(fā)出報(bào)警信號(hào)。</p><
21、p><b> 2.系統(tǒng)設(shè)計(jì)</b></p><p> 2.1系統(tǒng)總設(shè)計(jì)結(jié)構(gòu)圖</p><p> 圖2-1系統(tǒng)總設(shè)計(jì)結(jié)構(gòu)圖</p><p> 本設(shè)計(jì)由主控芯片51單片機(jī),單片機(jī)時(shí)鐘電路,鍵盤(pán),和開(kāi)鎖電路組成。單片負(fù)責(zé)控制整個(gè)系統(tǒng)的執(zhí)行過(guò)程。</p><p> 2.2.開(kāi)鎖機(jī)構(gòu)設(shè)計(jì)</p>&l
22、t;p> 通過(guò)單片機(jī)送給開(kāi)鎖執(zhí)行機(jī)構(gòu),電路驅(qū)動(dòng)電磁鎖吸合,從而達(dá)到開(kāi)鎖的目的。本設(shè)計(jì)通過(guò)P3.0接一個(gè)3極管驅(qū)動(dòng)繼電器打開(kāi)電磁閥線(xiàn)圈實(shí)現(xiàn)開(kāi)關(guān)門(mén)。</p><p><b> 密碼正確</b></p><p> 圖2-2 密碼鎖開(kāi)鎖機(jī)構(gòu)示意圖</p><p> 當(dāng)用戶(hù)輸入的密碼正確而且是在規(guī)定的時(shí)間及次數(shù)輸入之內(nèi),單片機(jī)便輸出開(kāi)門(mén)信號(hào)
23、,送到開(kāi)鎖驅(qū)動(dòng)電路,然后驅(qū)動(dòng)電磁鎖,達(dá)到開(kāi)門(mén)的目的。</p><p> 2.3主控芯片AT89C51單片機(jī)的簡(jiǎn)介</p><p> AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低電壓,高性能CMOS8位微處理器,俗稱(chēng)單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除
24、100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器。</p><p><b> 主要特性:</b></p><p> ·與MCS-51 兼容 </p><p> ·
25、4K字節(jié)可編程閃爍存儲(chǔ)器 </p><p> ·壽命:1000寫(xiě)/擦循環(huán)</p><p> ·數(shù)據(jù)保留時(shí)間:10年</p><p> ·全靜態(tài)工作:0Hz-24MHz</p><p> ·三級(jí)程序存儲(chǔ)器鎖定</p><p> ·128×8位內(nèi)部RAM
26、</p><p> ·32可編程I/O線(xiàn)</p><p> ·兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b> ·5個(gè)中斷源 </b></p><p><b> ·可編程串行通道</b></p><p> ·低功耗
27、的閑置和掉電模式</p><p> ·片內(nèi)振蕩器和時(shí)鐘電路</p><p><b> 管腳說(shuō)明:</b></p><p><b> VCC:供電電壓。</b></p><p><b> GND:接地。</b></p><p> P0口
28、:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。</p><p> P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。 &
29、lt;/p><p> P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“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)行讀寫(xiě)時(shí)
30、,P2口輸出其特殊功能寄存器的內(nèi)容。</p><p> P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT89C51的一些特殊功能口,如下表所示:</p><p&
31、gt; P3.0 RXD(串行輸入口)</p><p> P3.1 TXD(串行輸出口)</p><p> P3.2 /INT0(外部中斷0)</p><p> P3.3 /INT1(外部中斷1)</p><p> P3.4 T0(記時(shí)器0外部輸入)</p><p> P3.5 T1(記時(shí)器1外部輸入)&l
32、t;/p><p> P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通)</p><p> P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)</p><p> P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> ALE/
33、PROG:當(dāng)訪(fǎng)問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。</p><p> /PSEN:外部
34、程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪(fǎng)問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。</p><p> /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)
35、鐘工作電路的輸入。</p><p> XTAL2:來(lái)自反向振蕩器的輸出。</p><p> 圖2-3 AT89C51芯片圖</p><p><b> 3 系統(tǒng)硬件設(shè)計(jì)</b></p><p><b> 3.1鍵盤(pán)設(shè)計(jì)</b></p><p> 為了使本電路更加簡(jiǎn)潔,
36、本電子鎖的密碼鎖采用簡(jiǎn)單易學(xué)但不為多數(shù)人知道的摩期碼作為電路的密碼輸入。</p><p> 關(guān)于摩斯碼的介紹如下:</p><p> 摩斯密碼是20世紀(jì)使用較為廣泛的電報(bào)傳輸使用的一種編碼。電報(bào)最早是由美國(guó)的摩爾斯在1844年發(fā)明的,故也被叫做摩爾斯電碼。它由一個(gè)輸入按鍵在輸入時(shí)按住的間隔時(shí)間長(zhǎng)短組成來(lái)決定你的輸入:短促的點(diǎn)信號(hào)" .",讀" 嘀 &quo
37、t;(Di);保持一定時(shí)間的長(zhǎng)信號(hào)"—",讀"嗒 "(Da)。間隔時(shí)間:"嘀"1t;"嗒"3t;"滴嗒"間1t;字母間3t;字間5t。</p><p> 表3-1字符—摩斯碼對(duì)照表</p><p> 本電路設(shè)計(jì)只取0~9數(shù)字作密碼有效數(shù)字,如果輸入其它字符則無(wú)效。</p>
38、<p> 表3-2 本設(shè)計(jì)用到的數(shù)字的摩斯碼和二進(jìn)制對(duì)照</p><p> 3.2系統(tǒng)電路設(shè)計(jì):</p><p> 本系統(tǒng)電路主芯片AT89C51,晶振和兩個(gè)電容組成的時(shí)鐘脈沖,一個(gè)電阻和一個(gè)電解電容和一個(gè)按鍵組成的復(fù)位電路,一個(gè)8段數(shù)碼管構(gòu)成的密碼顯示器,一個(gè)蜂鳴器,5個(gè)LED,一個(gè)NPN三極管加上一個(gè)繼電器組成的驅(qū)動(dòng)電路構(gòu)成了系統(tǒng)電路。</p><p
39、> 3.2.1 晶振時(shí)鐘電路</p><p> 單片機(jī)XIAL1和XIAL2分別接30PF的電容,中間再并個(gè)12MHZ的晶振,形成單片機(jī)的晶振電路。</p><p><b> 圖3-1 晶振電路</b></p><p> 3.2.2復(fù)位電路設(shè)計(jì)</p><p><b> 圖3-2 復(fù)位電路<
40、;/b></p><p> 3.2.3串口引腳功能介紹</p><p> 單片的P1口外接1位8段數(shù)碼管,作為密碼輸入顯示器;INT0外接蜂鳴器,當(dāng)INT0被置0時(shí),蜂鳴器發(fā)出聲音;P0口外接發(fā)光二極管用作系統(tǒng)工作狀態(tài)提示。</p><p> 3.2.4 其它引腳</p><p> ALE引腳懸空,復(fù)位引腳接到復(fù)位電路、VCC接
41、電源、VSS接地、EA接電源</p><p> 3.2.5 顯示電路設(shè)計(jì)</p><p> 八段數(shù)碼管顯示你的摩斯按鍵是否正確對(duì)應(yīng)你要輸入的數(shù)字密碼。由于采取上電設(shè)置密碼的編程方法復(fù)位鍵即密碼修改鍵設(shè)置在門(mén)后,要打開(kāi)門(mén)才能修改密碼。設(shè)置密碼后若輸入密碼不對(duì)的前兩次5秒報(bào)警,最后一次10分鐘報(bào)警,摩斯按發(fā)錯(cuò)誤除外(但有兩秒報(bào)警,并且須全部密碼重新輸入)。本電路設(shè)置四位密碼,由于每位數(shù)字鍵
42、均由五位摩斯碼構(gòu)成則要輸入20次摩斯碼鍵?。0.0(綠色)“滴”顯示,p0.2(黃色)“嗒”音顯示,p0.4(紅色)摩斯碼按法錯(cuò)誤或密碼錯(cuò)誤,p0.6(藍(lán)色)表示該電路已設(shè)置了密碼,等待輸入密碼進(jìn)行比較。</p><p><b> 3.3電路圖的繪制</b></p><p> 用PROTEL 99 SE繪制的完整電路圖如下:
43、 </p><p> 圖3-3 系統(tǒng)電路圖</p><p> PROTEL繪制的PCB板:</p><p> 圖3-4 系統(tǒng)PCB板</p><p><b> 3.4元器件采購(gòu)</b></p><p><b> 1.
44、元器件清單</b></p><p> 表3-3 元器件清單</p><p> 經(jīng)采購(gòu)繼電器沒(méi)有買(mǎi)到,所以原電路的輸出電路3極管的繼電器改為L(zhǎng)ED燈,只要電路IC經(jīng)密碼輸入后能點(diǎn)亮LED燈則電路設(shè)計(jì)要求達(dá)到。</p><p><b> 4 .軟件設(shè)計(jì)</b></p><p> 4.1 系統(tǒng)軟件設(shè)計(jì)整體思
45、路</p><p> 一個(gè)應(yīng)用系統(tǒng)要完成各項(xiàng)功能,首先必須有較完善的硬件作保證。同時(shí)還必須得到相應(yīng)設(shè)計(jì)合理的軟件的支持,尤其是微機(jī)應(yīng)用高速發(fā)展的今天,許多由硬件完成的工作,都可通過(guò)軟件編程而代替。甚至有些必須采用很復(fù)雜的硬件電路才能完成的工作,用軟件編程有時(shí)會(huì)變得很簡(jiǎn)單,如數(shù)字濾波,信號(hào)處理等。因此充分利用其內(nèi)部豐富的硬件資源和軟件資源,采用與C51系列單片機(jī)相對(duì)應(yīng)的51匯編語(yǔ)言和結(jié)構(gòu)化程序設(shè)計(jì)方法進(jìn)行軟件編程
46、。</p><p> 程序設(shè)計(jì)語(yǔ)言有三種:機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言。機(jī)器語(yǔ)言是機(jī)器唯一能“懂”的語(yǔ)言,用匯編語(yǔ)言或高級(jí)語(yǔ)言編寫(xiě)的程序(稱(chēng)為源程序)最終都必須翻譯成機(jī)器語(yǔ)言的程序(成為目標(biāo)程序),計(jì)算機(jī)才能“看懂”,然后逐一執(zhí)行。</p><p> 高級(jí)語(yǔ)言是面向問(wèn)題和計(jì)算過(guò)程的語(yǔ)言,它可通過(guò)于各種不同的計(jì)算機(jī),用戶(hù)編程時(shí)不必仔細(xì)了解所用的計(jì)算機(jī)的具體性能與指令系統(tǒng),而且語(yǔ)句的功能強(qiáng)
47、,常常一個(gè)語(yǔ)句已相當(dāng)于很多條計(jì)算機(jī)指令,于是用高級(jí)語(yǔ)言編制程序的速度比較快,也便于學(xué)習(xí)和交流,但是本系統(tǒng)卻選用了匯編語(yǔ)言。原因在于,本系統(tǒng)是編制程序工作量不大、規(guī)模較小的單片機(jī)微控制系統(tǒng),使用匯編語(yǔ)言可以不用像高級(jí)語(yǔ)言那樣占用較多的存儲(chǔ)空間,適合于存儲(chǔ)容量較小的系統(tǒng)。</p><p> 4.2系統(tǒng)軟件設(shè)計(jì)流程圖</p><p> 圖4-1 系統(tǒng)程序設(shè)計(jì)結(jié)構(gòu)圖 <
48、;/p><p><b> 5 程序調(diào)試</b></p><p> 把也寫(xiě)好的匯編語(yǔ)言程序的載入軟件調(diào)試工具,檢查軟件是否有設(shè)法錯(cuò)誤,再根據(jù)軟件提示對(duì)本程序進(jìn)行修改,直到?jīng)]有錯(cuò)誤再生成單片機(jī)能運(yùn)行的機(jī)器碼,再用51開(kāi)發(fā)板或其它單怎機(jī)寫(xiě)入工具把機(jī)器碼寫(xiě)入單片機(jī)進(jìn)行實(shí)際的程序調(diào)試,根據(jù)實(shí)際情況再對(duì)程序的不足加以修改,直到滿(mǎn)足設(shè)計(jì)要求。</p><p&g
49、t; 5.1 程序調(diào)試用到的軟件及工具</p><p> 調(diào)試本程序需要用到KEIL C51,及51開(kāi)發(fā)板一塊及其配套的下載燒錄軟件</p><p> 5.2 KEIL C51簡(jiǎn)介</p><p> Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯
50、的優(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ì)。</p><p> C51工具包的整體結(jié)構(gòu): uVision與Ishell分別
51、是C51 for Windows和for Dos的集成開(kāi)發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開(kāi)發(fā)流程。開(kāi)發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51及A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope51使用進(jìn)行源
52、代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫(xiě)入程序存貯器如EPROM中。</p><p><b> 5.3 調(diào)試過(guò)程</b></p><p> 首先打開(kāi)KEIL C51主程序,新建工程,新建文本框?qū)懭氤绦?,保存,檢查是否有語(yǔ)法錯(cuò)誤,經(jīng)反復(fù)檢查無(wú)誤后匯編,生成51單片機(jī)可執(zhí)行的HEX文件。然后用51開(kāi)發(fā)板相匹配的燒錄軟件把HEX文件寫(xiě)入單片機(jī)。&l
53、t;/p><p> 圖5-1 keil c51調(diào)試介面</p><p> 圖5-2 單片機(jī)燒錄軟件介面</p><p><b> 設(shè)計(jì)總結(jié)與展望</b></p><p> 實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),當(dāng)然也是檢驗(yàn)學(xué)習(xí)成果的標(biāo)準(zhǔn)。在經(jīng)過(guò)一段時(shí)間的學(xué)習(xí)之后,我們需要了解自己的所學(xué)應(yīng)該如何應(yīng)用在實(shí)踐中,因?yàn)槿魏沃R(shí)都源于
54、實(shí)踐,歸于實(shí)踐,所以要將所學(xué)的知識(shí)在實(shí)踐中來(lái)檢驗(yàn)。</p><p> 在做畢業(yè)設(shè)計(jì)期間,在老師的指導(dǎo)下,通過(guò)自身的不斷努力,無(wú)論是思想上,學(xué)習(xí)上,都取得了長(zhǎng)足的發(fā)展和巨大的收獲,現(xiàn)將工作總結(jié)如下:思想上,學(xué)會(huì)了用科學(xué)的精神去解決問(wèn)題。很多事情看起來(lái)是很簡(jiǎn)單的問(wèn)題,但實(shí)際做起來(lái)去會(huì)發(fā)現(xiàn)有許多奧妙!這是因?yàn)槠渲刑N(yùn)含著許多科學(xué)的問(wèn)題。運(yùn)用科學(xué)的方法去解決問(wèn)題,這是我這次實(shí)訓(xùn)給我?guī)?lái)的思想上的改變。學(xué)習(xí)上,使自已在大學(xué)
55、所以的知識(shí)在這次得到實(shí)踐,學(xué)到一些書(shū)本上無(wú)法學(xué)到的經(jīng)驗(yàn),對(duì)電子元件有了進(jìn)一步的認(rèn)識(shí)。</p><p> 電子鎖是信息化時(shí)代發(fā)展的產(chǎn)物,應(yīng)時(shí)而生,我相信隨著科技的不斷發(fā)展,將來(lái)的電子鎖一定更加完美,更加人性化,更加便宜,更加安全。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 李朝青.單片機(jī)原理及接口技術(shù)(簡(jiǎn)明修訂版
56、)[M].北京:北京航空航天大學(xué)出版社,1998</p><p> [2] 李全利.單片機(jī)原理及接口技術(shù)[M].高等教育出版社,2003</p><p> [3] PROTEL99 SE電路設(shè)計(jì)與制板[M].機(jī)械工業(yè)出版社,2007</p><p> [4] 楊將新,李華軍,劉到駿等.單片機(jī)程序設(shè)計(jì)及應(yīng)用(從基礎(chǔ)到實(shí)踐).電子工業(yè)出版社</p>
57、<p> [5] 魏立峰,王寶興.單片機(jī)原理與應(yīng)用技術(shù).北京:北京大學(xué)出版社,2006:11-13</p><p> [6] 劉鯤,孫春亮.單片機(jī)C語(yǔ)言入門(mén).北京:人民郵電出版社,2010:11-48</p><p> [7] 陳丹萍.基于AT89S51單片機(jī)的電子密碼鎖設(shè)計(jì).大眾科技,2010,Vol.130(No.6):45-46</p><p>
58、; [8]王慧軍.基于AT89S51單片機(jī)控制的電子密碼鎖設(shè)計(jì). </p><p> [9]李建波.STC89C52單片機(jī)的電子密碼鎖.現(xiàn)代電子技術(shù),2008, Vol.286</p><p> [10] 王為清,程國(guó)剛.單片機(jī)KeilCx51應(yīng)用開(kāi)發(fā)技術(shù).北京:人民郵電出版社,2007:11-70</p><p> [11] 張齊基于單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)
59、-基于C語(yǔ)言編程.北京:電子工業(yè)出版社,</p><p><b> 附錄</b></p><p><b> 本設(shè)計(jì)的程序:</b></p><p> hc0 equ 4ah ;延時(shí)緩存區(qū)</p><p> hc1 equ 4bh</p><p> hc2 eq
60、u 4ch</p><p> hc3 equ 4dh</p><p> hc4 equ 4eh</p><p> xs_0 equ 50h ;顯示緩存區(qū)</p><p> xs_1 equ 51h</p><p> xs_2 equ 52h</p><p> xs_3 equ 5
61、3h</p><p> xs_4 equ 54h</p><p> xs_5 equ 55h</p><p> xs_6 equ 56h</p><p> xs_7 equ 57h</p><p> xs_8 equ 58h</p><p> xs_9 equ 59h</p&g
62、t;<p> ps1 equ 5ah ;設(shè)置密碼緩存區(qū)</p><p> ps2 equ 5bh</p><p> ps3 equ 5ch</p><p> ps4 equ 5dh</p><p> mmbz equ 5fh ;密碼輸入次數(shù)</p><p> at1 equ 60h
63、 ;輸入密碼緩存區(qū)</p><p> at2 equ 61h</p><p> at3 equ 62h</p><p> at4 equ 63h ;初始化</p><p><b> org 00h</b></p><p> ajmp main1</p><p
64、><b> org 30h</b></p><p> main1: mov ps1 ,#00h</p><p> mov ps2 ,#00h</p><p> mov ps3 ,#00h</p><p> mov ps4 ,#00h</p><p> mov at1 ,#00h&
65、lt;/p><p> mov at2 ,#00h</p><p> mov at3 ,#00h</p><p> mov at4 ,#00h</p><p> main:mov xs_0 ,#1fh ;顯示0的摩斯值</p><p> mov xs_1 ,#0fh ;顯示1的摩斯值</p&g
66、t;<p> mov xs_2 ,#07h ;顯示2的摩斯值</p><p> mov xs_3 ,#03h ;顯示3的摩斯值</p><p> mov xs_4 ,#01h ;顯示4的摩斯值</p><p> mov xs_5 ,#00h ;顯示5的摩斯值</p><p> mov x
67、s_6 ,#10h ;顯示6的摩斯值</p><p> mov xs_7 ,#18h ;顯示7的摩斯值</p><p> mov xs_8 ,#1ch ;顯示8的摩斯值</p><p> mov xs_9 ,#1eh ;顯示9的摩斯值</p><p> clr p3.0 ;RXD置0</p
68、><p> mov a ,#00h ;密碼緩存</p><p> mov r2 ,#04h ;四位密碼</p><p> mov r1 ,#00h</p><p> mov r0 ,#ps1</p><p> mov r7 ,#05h ;摩斯次數(shù),由于數(shù)字為5次</p><p>
69、;<b> clr p2.7</b></p><p> start:mov p0 ,#0ffh</p><p> mov p1 ,#0ffh</p><p> setb p2.4 ;按鍵位</p><p> jb p2.4 ,start ;2.4為1轉(zhuǎn)start</p><p>
70、lcall delay500ms</p><p> jb p2.4 ,start</p><p> ok: ;嘀的音</p><p><b> clr p0.0</b></p><p> lcall delay500ms</p><p> jnb p2.4 ,da
71、a ;是否去嗒音</p><p> cun: ;</p><p><b> setb p0.2</b></p><p><b> setb p0.0</b></p><p><b> rl a</b></p><p>
72、 add a ,r1 ;存入一位摩斯碼</p><p> djnz r7 ,yanshi ;是否夠五位摩斯碼</p><p> ajmp xianshi</p><p> yanshi: ;輸入一位摩斯碼停頓1t</p><p> lcall delay500ms</p><p>
73、 jb p2.4 ,main</p><p><b> ajmp ok</b></p><p> daa: ;嗒的音</p><p> lcall delay500ms</p><p> jb p2.4 ,stop</p><p><b> setb
74、p0.0</b></p><p><b> clr p0.2</b></p><p> lcall delay500ms</p><p><b> setb p0.2</b></p><p> jnb p2.4 ,stop</p><p> mov r1
75、 ,#01h</p><p><b> ajmp cun</b></p><p> stop: ;摩斯輸入錯(cuò)誤</p><p><b> clr p0.4</b></p><p> lcall delay2s</p><p><b>
76、 setb p0.4</b></p><p><b> ajmp main</b></p><p> cunchu:mov @r0 ,a</p><p><b> inc r0</b></p><p> mov a ,#00h</p><p> mov
77、 r1 ,#00h</p><p> mov r7 ,#05h</p><p> djnz r2 ,yanshi</p><p><b> clr p0.6</b></p><p> lcall delay2s</p><p><b> setb p0.6</b>&
78、lt;/p><p> ajmp shuru</p><p> xianshi:cjne a ,xs_0 ,next1 ;夠五位摩斯碼顯示0</p><p> mov p1 ,#0c0h</p><p> clr p3.2 ;報(bào)警器</p><p> lcall delay1s</p>&l
79、t;p> setb p3.2 ;報(bào)警器</p><p> mov p1 ,#0ffh</p><p> ajmp cunchu</p><p> next1:cjne a ,xs_1 ,next2 ;夠五位摩斯碼顯示1</p><p> mov p1 ,#0f9h</p><p><b&
80、gt; clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p0 ,#0ffh</p><p> ajmp cunchu</p><p> next2:cjne a ,xs_
81、2 ,next3 ;夠五位摩斯碼顯示2</p><p> mov p1 ,#0a4h</p><p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov
82、p1 ,#0ffh</p><p> ajmp cunchu</p><p><b> next3:</b></p><p> cjne a ,xs_3 ,next4 ;夠五位摩斯碼顯示3</p><p> mov p1 ,#0b0h</p><p><b> clr p3.
83、2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu</p><p><b> next4:</b><
84、/p><p> cjne a ,xs_4 ,next5 ;夠五位摩斯碼顯示4</p><p> mov p1 ,#99h</p><p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b&g
85、t;</p><p> mov p1 ,#0ffh</p><p> ajmp cunchu</p><p><b> next5:</b></p><p> cjne a ,xs_5 ,next6 ;夠五位摩斯碼顯示5</p><p> mov p1 ,#92h</p>
86、<p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu</p><p><
87、;b> next6:</b></p><p> cjne a ,xs_6 ,next7 ;夠五位摩斯碼顯示6</p><p> mov p1 ,#7dh</p><p><b> clr p3.2</b></p><p> lcall delay1s</p><p>
88、<b> setb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu</p><p><b> next7:</b></p><p> cjne a ,xs_7 ,next8 ;夠五位摩斯碼顯示7</p><p&
89、gt; mov p1 ,#0f8h</p><p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp c
90、unchu</p><p><b> next8:</b></p><p> cjne a ,xs_8 ,next9 ;夠五位摩斯碼顯示8</p><p> mov p1 ,#080h</p><p><b> clr p3.2</b></p><p> lca
91、ll delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu</p><p><b> next9:</b></p><p> cjne a ,xs_9 ,cw
92、 ;夠五位摩斯碼顯示9</p><p> mov p1 ,#90h</p><p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ff
93、h</p><p> ajmp cunchu</p><p><b> cw:</b></p><p><b> clr p3.2</b></p><p><b> clr p0.4</b></p><p> lcall delay5s<
94、/p><p><b> clr p0.4</b></p><p><b> setb p3.2</b></p><p> ajmp main1</p><p> shuru: ;開(kāi)門(mén)復(fù)位</p><p> mov mmbz ,#03 ;錯(cuò)誤密碼次
95、數(shù)</p><p> mov at1 ,#00h</p><p> mov at2 ,#00h</p><p> mov at3 ,#00h</p><p> mov at4 ,#00h</p><p><b> shuru2:</b></p><p><b
96、> clr p0.6</b></p><p> mov a ,#00h ;密碼緩存</p><p> mov r2 ,#04h ;四位密碼</p><p> mov r1 ,#00h</p><p> mov r0 ,#at1</p><p> mov r7 ,#05h<
97、;/p><p><b> start1:</b></p><p> jb p2.4 ,start1</p><p> lcall delay500ms</p><p> jb p2.4 ,start1</p><p> ok1: ;滴音</p><
98、p> setb p3.0 ;開(kāi)門(mén)后再按鍵1t以上關(guān)門(mén)</p><p><b> setb p0.6</b></p><p><b> clr p0.0</b></p><p> lcall delay500ms</p><p> jnb p2.4 ,daaa</p
99、><p><b> cun1:</b></p><p><b> setb p0.2</b></p><p><b> setb p0.0</b></p><p><b> rl a</b></p><p><b>
100、 add a ,r1</b></p><p> djnz r7 ,yanshi1</p><p> ajmp xianshi1</p><p> yanshi1: ;每個(gè)摩斯碼之間延時(shí)1t</p><p> lcall delay500ms</p><p> jb p2.4
101、,stop1</p><p><b> ajmp ok1</b></p><p> daaa: ;嗒音</p><p> lcall delay500ms</p><p> jb p2.4 ,stop1</p><p><b> setb p0.0&l
102、t;/b></p><p><b> clr p0.2</b></p><p> lcall delay500ms</p><p><b> setb p0.2</b></p><p> jnb p2.4 ,stop1</p><p> mov r1 ,#01
103、h</p><p><b> ajmp cun1</b></p><p> stop1: ;摩斯碼錯(cuò)誤處理</p><p><b> clr p0.4</b></p><p> lcall delay2s</p><p><b> s
104、etb p0.4</b></p><p> ajmp shuru2</p><p><b> cunchu2:</b></p><p> mov @r0 ,a</p><p><b> inc r0</b></p><p> mov a ,#00h<
105、;/p><p> mov r1 ,#00h</p><p> mov r7 ,#05h</p><p> djnz r2 ,yanshi1</p><p> ajmp bijiao</p><p> xianshi1: ;顯示處理</p><p> cjne a ,xs_0 ,ne
106、xt1_1</p><p> mov p1 ,#0c0h</p><p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p
107、><p> ajmp cunchu2</p><p><b> next1_1:</b></p><p> cjne a ,xs_1 ,next2_2</p><p> mov p1 ,#0f9h</p><p><b> clr p3.2</b></p>
108、<p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu2</p><p><b> next2_2:</b></p><p>
109、cjne a ,xs_2 ,next3_3</p><p> mov p1 ,#0a4h</p><p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov
110、 p1 ,#0ffh</p><p> ajmp cunchu2</p><p><b> next3_3:</b></p><p> cjne a ,xs_3 ,next4_4</p><p> mov p1 ,#0b0h</p><p><b> clr p3.2</
111、b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu2</p><p><b> next4_4:</b></p&
112、gt;<p> cjne a ,xs_4 ,next5_5</p><p> mov p1 ,#99h</p><p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p>
113、<p> mov p1 ,#0ffh</p><p> ajmp cunchu2</p><p><b> next5_5:</b></p><p> cjne a ,xs_5 ,next6_6</p><p> mov p1 ,#92h</p><p><b>
114、 clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu2</p><p><b> next6_6:<
115、;/b></p><p> cjne a ,xs_6 ,next7_7</p><p> mov p1 ,#82h</p><p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b&
116、gt;</p><p> mov p1 ,#0ffh</p><p> ajmp cunchu2</p><p><b> next7_7:</b></p><p> cjne a ,xs_7 ,next8_8</p><p> mov p1 ,#0f8h</p><
117、p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu2</p><p><b&g
118、t; next8_8:</b></p><p> cjne a ,xs_8 ,next9_9</p><p> mov p1 ,#80h</p><p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> s
119、etb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu2</p><p><b> next9_9:</b></p><p> cjne a ,xs_9 ,cw2</p><p> mov p1 ,#90h</p
120、><p><b> clr p3.2</b></p><p> lcall delay1s</p><p><b> setb p3.2</b></p><p> mov p1 ,#0ffh</p><p> ajmp cunchu2</p><p&
121、gt; bijiao: ;比較密碼</p><p> mov r6 ,#04</p><p> mov r1 ,#ps1</p><p> mov r0 ,#at1</p><p><b> bj2:</b></p><p><b> clr c</b></
122、p><p> mov a ,@r0</p><p> subb a ,@r1</p><p> cjne a ,#00h ,cw2</p><p><b> inc r1</b></p><p><b> inc r0</b></p><p>
123、 djnz r6 ,bj2</p><p> clr p3.2 ;密碼正確</p><p><b> clr p3.0</b></p><p> lcall delay5s</p><p><b> setb p3.2</b></p><p> ajmp s
124、huru</p><p> cw2: ;密碼錯(cuò)誤處理</p><p> djnz mmbz ,bjd</p><p> mov p0 ,#00h</p><p><b> clr p3.2</b></p><p> lcall delay5min</p>&
125、lt;p><b> setb p3.2</b></p><p> mov p0 ,#0ffh</p><p> ajmp shuru2</p><p><b> bjd:</b></p><p> mov p0 ,#00h</p><p><b>
126、 clr p3.2</b></p><p> lcall delay5s</p><p><b> setb p3.2</b></p><p> mov p0 ,#0ffh</p><p> ajmp shuru2</p><p> delay500ms:</p>
127、<p> mov hc0 ,#05</p><p> ff1:mov hc1 ,#200</p><p> fff1:mov hc2,#250</p><p> djnz hc2 ,$</p><p> djnz hc1 ,fff1</p><p> djnz hc0 ,ff1</p&g
128、t;<p><b> ret</b></p><p><b> delay1s:</b></p><p> mov hc0 ,#10</p><p><b> ff2:</b></p><p> mov hc1 ,#200</p><
129、p><b> ff3:</b></p><p> mov hc2 ,#250</p><p> djnz hc2 ,$</p><p> djnz hc1 ,ff3</p><p> djnz hc0 ,ff2</p><p><b> ret</b><
130、;/p><p><b> delay2s:</b></p><p> mov hc0 ,#20</p><p><b> ff4:</b></p><p> mov hc1 ,#200</p><p><b> ff5:</b></p>
131、<p> mov hc2 ,#250</p><p> djnz hc2 ,$</p><p> djnz hc1 ,ff5</p><p> djnz hc0 ,ff4</p><p><b> ret</b></p><p><b> delay5s:<
132、;/b></p><p> mov hc0 ,#50</p><p><b> ff6:</b></p><p> mov hc1 ,#200</p><p><b> ff7:</b></p><p> mov hc2 ,#250</p>&l
133、t;p> djnz hc2 ,$</p><p> djnz hc1 ,ff7</p><p> djnz hc0 ,ff6</p><p><b> ret</b></p><p> delay5min:</p><p> mov hc0 ,#12</p><
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)電子密碼鎖課程設(shè)計(jì)
- 課程設(shè)計(jì)--單片機(jī)電子密碼鎖
- 單片機(jī)電子密碼鎖課程設(shè)計(jì)
- 基于單片機(jī)電子密碼鎖課程設(shè)計(jì)
- 基于單片機(jī)電子密碼鎖課程設(shè)計(jì)論文
- 單片機(jī)課程設(shè)計(jì)--電子密碼鎖
- 單片機(jī)課程設(shè)計(jì)--電子密碼鎖
- 單片機(jī)課程設(shè)計(jì)電子密碼鎖
- 單片機(jī)課程設(shè)計(jì)報(bào)告--電子密碼鎖
- 單片機(jī)課程設(shè)計(jì)--電子密碼鎖報(bào)告
- 單片機(jī)課程設(shè)計(jì)---電子密碼鎖報(bào)告
- 基于單片機(jī)的電子密碼鎖設(shè)計(jì) 單片機(jī)課程設(shè)計(jì)
- 基于單片機(jī)電子密碼鎖畢業(yè)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--門(mén)禁電子密碼鎖
- 單片機(jī)課程設(shè)計(jì)----電子密碼鎖報(bào)告
- 單片機(jī)課程設(shè)計(jì)---基于單片機(jī)的電子密碼鎖設(shè)計(jì)
- 51單片機(jī)電子密碼鎖設(shè)計(jì)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---基于單片機(jī)的電子密碼鎖設(shè)計(jì)
- 基于單片機(jī)密碼鎖課程設(shè)計(jì)
- 基于單片機(jī)控制的電子密碼鎖課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論