2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  摘 要</b></p><p>  在PROTEUS模擬仿真軟件上,以AT89C51單片機(jī)為核心器件,結(jié)合按鍵電路、LED數(shù)碼管顯示電路、報(bào)警指示電路設(shè)計(jì)了一款保密性好、編碼量多、隨機(jī)開(kāi)鎖成功率幾乎為零的電子密碼。利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的I/O端口,及其控制的準(zhǔn)確性通過(guò)軟件程序來(lái)控制整個(gè)系統(tǒng)實(shí)現(xiàn)電子密碼鎖的基本功能。系統(tǒng)能實(shí)現(xiàn)密碼的輸入、清除、顯示、密碼

2、正確開(kāi)鎖,密碼錯(cuò)誤報(bào)警,系統(tǒng)設(shè)定初始密碼。同時(shí)也顯示了PROTEUS軟件在硬件設(shè)計(jì)和軟件調(diào)試方面的高效性。</p><p>  關(guān)鍵詞:計(jì)算機(jī)應(yīng)用,電子密碼鎖,AT89C51單片機(jī),PROTEUS軟件,系統(tǒng)仿真</p><p><b>  ABSTRACT</b></p><p>  Abstract: By using AT89C51 mic

3、rocontroller, an advanced electronic password lock circuit is designed. The hardware circuit diagram and some software flowchart are given in this paper. As the software of PROTEUS has the function of simulation, the fun

4、ction of 0-9 number keys, confirmation keys and the delete keys are realized by a 4×3 array. And the circuit composed of tips is displayed by 8-bit digital tube. When a password is entered, only“-”can be displayed.

5、After the entering of password-digi</p><p>  KEY WORDS: computer application, electronic password, AT89C51 microcontroller, </p><p>  PROTEUS software, system simulation</p><p><

6、b>  目 錄</b></p><p><b>  前言1</b></p><p><b>  第1章 單片機(jī)3</b></p><p>  1.1 單片機(jī)簡(jiǎn)介3</p><p>  1.2 單片機(jī)的硬件特性3</p><p>  1.3 單片機(jī)的特

7、點(diǎn)3</p><p>  1.4 單片機(jī)的應(yīng)用范圍4</p><p>  第2章 電子密碼鎖的設(shè)計(jì)6</p><p>  2.1 設(shè)計(jì)方案的選擇6</p><p>  2.1.1 采用數(shù)字電路控制6</p><p>  2.1.2 采用以單片機(jī)為核心的控制6</p><p>  2.

8、2 本設(shè)計(jì)所要實(shí)現(xiàn)的目標(biāo)7</p><p>  2.3 電子密碼鎖的程序設(shè)計(jì)7</p><p>  第3章 主要元器介紹9</p><p>  3.1 主控芯片AT89C51簡(jiǎn)介9</p><p>  3.2 AT89C51的主要性能9</p><p>  3.3 AT89C51引腳功能說(shuō)明10</p

9、><p>  3.4 AT89C51的振蕩器與時(shí)鐘電路12</p><p>  3.5 AT89C51的復(fù)位方式13</p><p>  3.5.1復(fù)位原理13</p><p>  3.5.2常用復(fù)位電路14</p><p>  3.6 AT89C51的程序執(zhí)行方式14</p><p> 

10、 3.7 AT89C51的省電方式14</p><p>  3.8 AT89C51的芯片擦除15</p><p>  3.9 鎖存器74LS24515</p><p>  3.10 4×3矩陣鍵盤16</p><p>  第4章 用PROTEUS模擬電子密碼鎖18</p><p>  4.1 PRO

11、TEUS簡(jiǎn)介18</p><p>  4.2 PROTEUS仿真過(guò)程18</p><p>  4.2.1 啟動(dòng)PROTEUS ISIS 編輯環(huán)境18</p><p>  4.2.2 選取放置仿真元件19</p><p>  4.2.3 布線21</p><p>  4.2.4 在PROTEUS ISIS中進(jìn)行

12、軟件編程22</p><p>  4.3 系統(tǒng)調(diào)試35</p><p>  4.3.1 將目標(biāo)代碼添加到電路35</p><p>  4.3.2 電路調(diào)試36</p><p>  第5章 調(diào)試過(guò)程與分析39</p><p><b>  結(jié) 論40</b></p><

13、p><b>  謝 辭41</b></p><p><b>  參考文獻(xiàn)42</b></p><p><b>  前言</b></p><p>  在日常的生活和工作中, 住宅與部門的安全防范、單位的文件檔案、財(cái)務(wù)報(bào)表以及一些個(gè)人資料的保存多以加鎖的辦法來(lái)解決。若使用傳統(tǒng)的機(jī)械式鑰匙開(kāi)鎖,人

14、們常需攜帶多把鑰匙, 使用極不方便, 且鑰匙丟失后安全性即大打折扣。隨著科學(xué)技術(shù)的不斷發(fā)展,人們對(duì)日常生活中的安全保險(xiǎn)器件的要求越來(lái)越高。為滿足人們對(duì)鎖的使用要求,增加其安全性,用密碼代替鑰匙的電子密碼鎖應(yīng)運(yùn)而生。</p><p>  電子密碼鎖是一種通過(guò)密碼輸入來(lái)控制電路或是芯片工作,從而控制機(jī)械開(kāi)關(guān)的閉合,完成開(kāi)鎖、閉鎖任務(wù)的電子產(chǎn)品。它的種類很多,有簡(jiǎn)易的電路產(chǎn)品,也有基于芯片的性價(jià)比較高的產(chǎn)品。現(xiàn)在應(yīng)用較

15、廣的電子密碼鎖是以芯片為核心,通過(guò)編程來(lái)實(shí)現(xiàn)的。其性能和安全性已大大超過(guò)了機(jī)械鎖。其特點(diǎn)如下:</p><p>  1、保密性好,編碼量多,遠(yuǎn)遠(yuǎn)大于彈子鎖。隨機(jī)開(kāi)鎖成功率幾乎為零。</p><p>  2、誤碼輸入保護(hù),當(dāng)輸入密碼多次錯(cuò)誤時(shí),報(bào)警系統(tǒng)自動(dòng)啟動(dòng)。</p><p>  3、無(wú)活動(dòng)零件,不會(huì)磨損,壽命長(zhǎng)。</p><p>  4、使

16、用靈活性好,不像機(jī)械鎖必須佩帶鑰匙才能開(kāi)鎖。</p><p>  5、電子密碼鎖操作簡(jiǎn)單易行,一學(xué)即會(huì)。</p><p>  基于以上思路,本次設(shè)計(jì)使用ATMEL公司的AT89C51實(shí)現(xiàn)基于單片機(jī)的電子密碼鎖的設(shè)計(jì),其主要具有如下功能:</p><p>  1、設(shè)置6位密碼,密碼通過(guò)鍵盤輸入,若密碼正確,則鎖開(kāi)。</p><p>  2、報(bào)警

17、、鎖定鍵盤功能。密碼輸入錯(cuò)誤,禁止按鍵輸入3秒,同時(shí)發(fā)出“滴、滴”報(bào)警聲。</p><p>  3、密碼可由程序初始設(shè)定。</p><p>  電子密碼鎖設(shè)計(jì)的關(guān)鍵問(wèn)題是實(shí)現(xiàn)密碼的輸入、清除、開(kāi)鎖等功能。</p><p>  1、密碼輸入功能:按下一個(gè)數(shù)字鍵,數(shù)碼管就顯示一個(gè)“-”,同時(shí)將先前輸入的所有“-”向左移動(dòng)一位。</p><p> 

18、 2、密碼清除功能:當(dāng)按下“CRTL”鍵時(shí),清除前面剛才輸入的錯(cuò)誤的數(shù)字。</p><p>  3、開(kāi)鎖功能:當(dāng)按下“ENTER”鍵,系統(tǒng)將輸入的數(shù)字與密碼進(jìn)行檢查核對(duì),如果正確則鎖打開(kāi),否則則打不開(kāi)。</p><p>  由于科技的發(fā)展以及人們對(duì)保密程度的提高,許多電子密碼鎖已相繼問(wèn)世。但這類產(chǎn)品的特點(diǎn)是針對(duì)特定有效卡、指紋或聲音有效,且不能實(shí)現(xiàn)遠(yuǎn)程控制,只能適用于保密要求高且供個(gè)人使用

19、的箱、柜、房間等。因?yàn)閿?shù)字、字符、圖形圖像、人體生物特征和時(shí)間等要素均可成為鑰匙的電子信息,組合使用這些信息將能夠使電子防盜鎖獲得高度的保密性,如防范森嚴(yán)的金庫(kù)。組合使用信息也能夠使電子防盜鎖獲得無(wú)窮擴(kuò)展的可能,使產(chǎn)品多樣化,對(duì)用戶而言是“千挑百選、自得其所”??梢钥闯鼋M合使用電子信息是電子密碼鎖以后發(fā)展的趨勢(shì)。</p><p>  本次設(shè)計(jì)的主要任務(wù)是在proteus中用編程語(yǔ)言把電子密碼鎖的運(yùn)行過(guò)程模擬出來(lái)。

20、</p><p><b>  第1章 單片機(jī)</b></p><p><b>  1.1 單片機(jī)簡(jiǎn)介</b></p><p>  單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路

21、、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。單片機(jī)系統(tǒng)結(jié)構(gòu)示意圖如圖1-1所示:</p><p>  圖1-1 單片機(jī)系統(tǒng)結(jié)構(gòu)示意圖</p><p>  1.2 單片機(jī)的硬件特性</p><p>  1、單片機(jī)集成度高。單片機(jī)包括CPU、4KB容量的ROM(8031無(wú))、128 B容量的RAM、2個(gè)16位定時(shí)/

22、計(jì)數(shù)器、4個(gè)8位并行口、全雙工串口行口。</p><p>  2、系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,使用方便,實(shí)現(xiàn)模塊化。</p><p>  3、單片機(jī)可靠性高,可工作到10^6~10^7小時(shí)無(wú)故障。</p><p>  4、處理功能強(qiáng),速度快。</p><p>  1.3 單片機(jī)的特點(diǎn)</p><p>  單片機(jī)的特點(diǎn)主要有:高集成度

23、,體積小,高可靠性;控制功能強(qiáng);低電壓,低功耗,便于生產(chǎn)便攜式產(chǎn)品;易擴(kuò)展;優(yōu)異的性能價(jià)格比。單片機(jī)是以工業(yè)測(cè)控對(duì)象、環(huán)境、接口特點(diǎn)出發(fā)向著增強(qiáng)控制功能,提高工業(yè)環(huán)境下的可靠性方向發(fā)展。主要特點(diǎn)如下:</p><p>  1、種類多,型號(hào)全。很多單片機(jī)廠家逐年擴(kuò)大適應(yīng)各種需要,有針對(duì)性地推出一系列型號(hào)產(chǎn)品,使系統(tǒng)開(kāi)發(fā)工程師有很大的選擇余地。大部分產(chǎn)品有較好的兼容性,保證了已開(kāi)發(fā)產(chǎn)品能順利移植,較容易地使產(chǎn)品進(jìn)行升

24、級(jí)換代。</p><p>  2、提高性能,擴(kuò)大容量,性能價(jià)格比高。集成度已經(jīng)達(dá)到300萬(wàn)個(gè)晶體管以上,總線速度達(dá)到數(shù)十微妙到幾百納秒,指令執(zhí)行周期已經(jīng)達(dá)到幾微妙到數(shù)十納秒,以往片外XRAM現(xiàn)已在物理上存入片內(nèi),ROM容量已經(jīng)擴(kuò)充達(dá)32K,64K,128K以致更大的空間。價(jià)格從幾百到幾元不等。</p><p>  3、增加控制功能,向真正意義上的“單片”機(jī)發(fā)展。把原本是外圍接口芯片的功能集

25、成到一塊芯片內(nèi),在一片芯片中構(gòu)造了一個(gè)完整的功能強(qiáng)大的微處理應(yīng)用系統(tǒng)。</p><p>  4、低功耗?,F(xiàn)在新型單片機(jī)的功耗越來(lái)越小,供電電壓從5V降低到了3.2V,甚至1V,工作電流從mA降到µA級(jí),gz2頻率從十幾兆可編程到幾十千赫茲。特別是很多單片機(jī)都設(shè)置了多種工作方式,這些工作方式包括等待,暫停,睡眠,空閑,節(jié)電等。</p><p>  5、C語(yǔ)言開(kāi)發(fā)環(huán)境,友好的人機(jī)互交

26、環(huán)境。大多數(shù)單片機(jī)都提供基于C語(yǔ)言開(kāi)發(fā)平臺(tái),并提供大量的函數(shù)供使用,這使產(chǎn)品的開(kāi)發(fā)周期、代碼可讀性、可移植性都大為提高。</p><p>  1.4 單片機(jī)的應(yīng)用范圍</p><p>  1、在智能儀表中的應(yīng)用</p><p>  這是單片機(jī)應(yīng)用最多最活躍的領(lǐng)域之一。在各類儀器儀表中引入單片機(jī),使儀器儀表智能化,提高測(cè)試的自動(dòng)化程度和精度,簡(jiǎn)化儀器儀表的硬件結(jié)構(gòu),提

27、高其性能價(jià)格比。</p><p>  2、在機(jī)電一體化中的應(yīng)用</p><p>  機(jī)電一體化產(chǎn)品是指集機(jī)械技術(shù),微電子技術(shù),計(jì)算機(jī)技術(shù)于一體,使其產(chǎn)品具有智能化特征的電子產(chǎn)品。它是機(jī)械工業(yè)發(fā)展的方向。</p><p>  3、在實(shí)時(shí)控制系統(tǒng)中的應(yīng)用</p><p>  單片機(jī)廣泛用于各種實(shí)時(shí)過(guò)程控制系統(tǒng)中,例如工業(yè)過(guò)程控制、過(guò)程監(jiān)測(cè)、航空航

28、天、間斷武器、機(jī)器人系統(tǒng)等各種實(shí)時(shí)控制系統(tǒng)。用單片機(jī)進(jìn)行實(shí)時(shí)系統(tǒng)數(shù)據(jù)處理和控制,保證系統(tǒng)工作在最佳狀態(tài),有利于提高系統(tǒng)的工作效率和產(chǎn)品的質(zhì)量。</p><p>  4、在人們生活中的應(yīng)用</p><p>  目前國(guó)內(nèi)外各種家具已經(jīng)普遍用單片機(jī)代替?zhèn)鹘y(tǒng)的控制電路,例如,洗衣機(jī)、電冰箱、空調(diào)機(jī)、微波爐、電飯煲、收音機(jī)、音像、電風(fēng)扇及許多高級(jí)電子玩具都配上了單片機(jī)。</p><

29、;p>  5、在其他方面的應(yīng)用</p><p>  單片機(jī)還廣泛應(yīng)用于辦公自動(dòng)化領(lǐng)域、商業(yè)營(yíng)銷領(lǐng)域、安全防衛(wèi)、汽車及通信系統(tǒng)、計(jì)算機(jī)外部設(shè)備、模糊控制等領(lǐng)域。</p><p>  第2章 電子密碼鎖的設(shè)計(jì)</p><p>  2.1 設(shè)計(jì)方案的選擇</p><p>  2.1.1 采用數(shù)字電路控制</p><p>

30、;  用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設(shè)了9個(gè)用戶輸入鍵,其中只有4個(gè)是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤輸入電路自動(dòng)清零,原先輸入的密碼無(wú)效,需要重新輸入;如果用戶輸入密碼的時(shí)間超過(guò)10秒(一般情況下,用戶不會(huì)超過(guò)10秒,若用戶覺(jué)得不便,還可以修改)電路將報(bào)警20秒,若電路連續(xù)報(bào)警三次,電路將鎖定鍵盤2分鐘,防止他人的非法操作。采用數(shù)字電路設(shè)計(jì)的方案好處就是設(shè)計(jì)簡(jiǎn)單但控制的準(zhǔn)

31、確性和靈活性差。故不采用。</p><p>  2.1.2 采用以單片機(jī)為核心的控制</p><p>  由于單片機(jī)種類繁多,各種型號(hào)都有其一定的應(yīng)用環(huán)境,因此在選用時(shí)要多加比較,合理選擇,以期獲得最佳的性價(jià)比。一般來(lái)說(shuō)在選取單片機(jī)時(shí)從下面幾個(gè)方面考慮:性能、存儲(chǔ)器、運(yùn)行速度、I/O口、定時(shí)/計(jì)數(shù)器、串行接口、模擬電路功能、工作電壓、功耗、封裝形式、抗干擾性、保密性,除了以上的一些的還有一

32、些最基本的比如:中斷源的數(shù)量和優(yōu)先級(jí)、工作溫度范圍、有沒(méi)有低電壓檢測(cè)功能、單片機(jī)內(nèi)有無(wú)時(shí)鐘振蕩器、有無(wú)上電復(fù)位功能等。在開(kāi)發(fā)過(guò)程中單片機(jī)還受到:開(kāi)發(fā)工具、編程器、開(kāi)發(fā)成本、開(kāi)發(fā)人員的適應(yīng)性、技術(shù)支持</p><p><b>  和服務(wù)等等因素。</b></p><p>  基于以上因素本設(shè)計(jì)選用單片機(jī)AT89C51作為本設(shè)計(jì)的核心元件,利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的

33、I/O端口,及其控制的準(zhǔn)確性,實(shí)現(xiàn)基本的密碼鎖功能。在單片機(jī)的外圍電路外接輸入鍵盤用于密碼的輸入和一些功能的控制,外接7SEG-MPX8-CC-BLUE顯示器用于顯示作用。當(dāng)用戶需要開(kāi)鎖時(shí),先按鍵盤開(kāi)鎖鍵之后按鍵盤的數(shù)字鍵0-9輸入密碼。當(dāng)數(shù)字輸入超過(guò)6個(gè)時(shí),給出報(bào)警信息。在密碼輸入過(guò)程中,若輸入錯(cuò)誤,可以利用“CLR”鍵刪除剛才輸入的錯(cuò)誤的數(shù)字。</p><p>  可以看出方案二控制靈活準(zhǔn)確性好且保密性強(qiáng)還具

34、有擴(kuò)展功能,根據(jù)現(xiàn)實(shí)生活的需要此次設(shè)計(jì)采用此方案。</p><p>  2.2 本設(shè)計(jì)所要實(shí)現(xiàn)的目標(biāo)</p><p>  用4×3組成0~9數(shù)字鍵及確認(rèn)鍵、刪除鍵;用8位數(shù)碼管組成顯示電路提示信息,當(dāng)輸入密碼時(shí),只顯示“-”,當(dāng)密碼位數(shù)輸入完畢按下確認(rèn)鍵時(shí),對(duì)輸入的密碼與設(shè)定的密碼進(jìn)行比較,若密碼正確,則鎖開(kāi),此處用LED發(fā)光二極管亮一秒鐘作為提示;若密碼不正確,禁止按鍵輸入3秒

35、,同時(shí)發(fā)出“滴、滴”報(bào)警聲。</p><p>  2.3 電子密碼鎖的程序設(shè)計(jì)</p><p>  程序流程圖設(shè)計(jì)如圖2-1所示:</p><p><b>  圖2-1程序流程圖</b></p><p>  軟件流程圖設(shè)計(jì)如圖2-2所示:</p><p><b>  圖2-2軟件流程圖&

36、lt;/b></p><p>  第3章 主要元器介紹</p><p>  3.1 主控芯片AT89C51簡(jiǎn)介</p><p>  AT89C51是一種帶4K字節(jié)FLASH存儲(chǔ)器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低電壓、高性能CMOS 8位微處理器,俗稱單片機(jī)。AT89C2051

37、是一種帶2K字節(jié)閃存可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除1000次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡(jiǎn)版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。</p><p&

38、gt;  3.2 AT89C51的主要性能</p><p>  1、與MCS-51 兼容</p><p>  2、4K字節(jié)可編程FLASH存儲(chǔ)器</p><p>  3、壽命:1000寫/擦循環(huán)</p><p>  4、數(shù)據(jù)保留時(shí)間:10年</p><p>  5、全靜態(tài)工作:0Hz-24MHz</p>

39、<p>  6、三級(jí)程序存儲(chǔ)器鎖定</p><p>  7、128×8位內(nèi)部RAM</p><p>  8、32可編程I/O線</p><p>  9、兩個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b>  10、5個(gè)中斷源</b></p><p>  11、可編程串行通道<

40、;/p><p>  12、低功耗的閑置和掉電模式</p><p>  13、片內(nèi)振蕩器和時(shí)鐘電路</p><p>  3.3 AT89C51引腳功能說(shuō)明</p><p>  圖3-1AT89C51芯片引腳圖</p><p><b>  VCC:供電電壓。</b></p><p&g

41、t;<b>  GND:接地。</b></p><p>  P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。</p><p> 

42、 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。</p><p>  P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電

43、阻拉高,且作為輸入。并因此作為輸入時(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)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><p>  P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電

44、阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p>  P3口也可作為AT89C51的一些特殊功能口,如表3-1所示:</p><p>  表3-1 P3口的一些特殊功能</p><p>  P3口同時(shí)為閃爍編程和編程校

45、驗(yàn)接收一些控制信號(hào)。</p><p>  RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p>  ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。

46、然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。</p><p>  /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN

47、信號(hào)將不出現(xiàn)。</p><p>  /EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p>  XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。&l

48、t;/p><p>  XTAL2:來(lái)自反向振蕩器的輸出。</p><p>  3.4 AT89C51的振蕩器與時(shí)鐘電路</p><p>  單片機(jī)內(nèi)各部件之間有條不紊的協(xié)調(diào)工作,其控制信號(hào)是在一種基本節(jié)拍的指揮下按一定時(shí)間順序發(fā)出的,這些控制信號(hào)在時(shí)間上的相互關(guān)系就是CPU時(shí)序。而產(chǎn)生這種基本節(jié)拍的電路就是振蕩器和時(shí)鐘電路。</p><p>  

49、AT89C51單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的單級(jí)反相放大器,如圖3-2所示。</p><p>  圖3-2AT89C51內(nèi)部振蕩器電路圖</p><p>  引腳XTAL1為反相器輸入端,XTAL2為反相器輸出端。當(dāng)在放大器兩個(gè)引腳上外接一個(gè)晶體(或陶瓷振蕩器)和電容組成的并聯(lián)諧振電路作為反饋元件時(shí),便構(gòu)成一個(gè)自激振蕩器。</p><p>  單片機(jī)也可采用外部

50、振蕩器向內(nèi)部時(shí)鐘電路輸入一固定頻率的時(shí)鐘源信號(hào)。此時(shí),外部信號(hào)接至XTAL1端,輸入給內(nèi)部時(shí)鐘電路,而XTAL2端浮空即可。</p><p>  3.5 AT89C51的復(fù)位方式</p><p>  單片機(jī)在開(kāi)機(jī)時(shí)或在工作中因干擾而使程序失控或工作中程序處于某種死循環(huán)狀態(tài)等情況下都需要復(fù)位。復(fù)位的作用是使中央處理器CPU以及其他功能部件都恢復(fù)到一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作。&l

51、t;/p><p><b>  3.5.1復(fù)位原理</b></p><p>  AT89C51單片機(jī)的復(fù)位靠外部電路實(shí)現(xiàn),信號(hào)由RESET(RST)引腳輸入,高電平有效,在振蕩器工作時(shí),只要保持RST引腳高電平兩個(gè)機(jī)器周期,單片機(jī)即復(fù)位。復(fù)位后,PC程序計(jì)數(shù)器的內(nèi)容為0000H,其他特殊功能寄存器的復(fù)位狀態(tài)如表3-2所示。片內(nèi)RAM中內(nèi)容不變。</p><

52、;p>  表3-2特殊寄存器的復(fù)位狀態(tài)</p><p>  3.5.2常用復(fù)位電路</p><p>  一般有上電復(fù)位、手動(dòng)開(kāi)關(guān)復(fù)位和自動(dòng)復(fù)位電路三種,如圖3-3所示:</p><p>  圖3-3單片機(jī)復(fù)位電路圖</p><p> ?。╝)上電復(fù)位電路;(b)手動(dòng)復(fù)位電路;(c)自動(dòng)復(fù)位電路</p><p>

53、  3.6 AT89C51的程序執(zhí)行方式</p><p>  程序執(zhí)行方式是單片機(jī)的基本工作方式,即執(zhí)行用戶編寫好并存放在ROM中的程序。</p><p>  3.7 AT89C51的省電方式</p><p>  AT89系列單片機(jī)有兩種省電運(yùn)行方式,即空閑方式和掉電方式。省電方式可使單片機(jī)功耗最小。</p><p>  單片機(jī)正常工作時(shí)消耗

54、10~20 mA電流,空閑方式工作時(shí)消耗1.75 mA電流,掉電方式工作時(shí)消耗5~50 μA電流。</p><p>  在空閑和掉電方式下,單片機(jī)內(nèi)部硬件控制電路如圖3-4所示:</p><p>  3-4 空閑和掉電方式內(nèi)部電路圖</p><p>  3.8 AT89C51的芯片擦除</p><p>  整個(gè)PEROM陣列和三個(gè)鎖定位的電擦

55、除可通過(guò)正確的控制信號(hào)組合,并保持ALE管腳處于低電平10ms 來(lái)完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲(chǔ)字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。</p><p>  此外,AT89C51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時(shí)器,計(jì)數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內(nèi)容并且凍結(jié)振蕩器,禁止所用其

56、他芯片功能,直到下一個(gè)硬件復(fù)位為止。</p><p>  3.9 鎖存器74LS245</p><p>  圖3-574LS245引腳圖</p><p>  74LS245是我們常用的芯片,用來(lái)驅(qū)動(dòng)led或者其他的設(shè)備,它是8路同相三態(tài)雙向總線收發(fā)器,可雙向傳輸數(shù)據(jù)。</p><p>  74LS245還具有雙向三態(tài)功能,既可以輸出,也可以

57、輸入數(shù)據(jù)。</p><p>  當(dāng)8051單片機(jī)的P0口總線負(fù)載達(dá)到或超過(guò)P0最大負(fù)載能力時(shí),必須接入74LS245等總線驅(qū)動(dòng)器。</p><p>  當(dāng)片選端/CE低電平有效時(shí),DIR=“0”,信號(hào)由 B 向 A 傳輸;(接收)</p><p>  DIR=“1”,信號(hào)由 A 向 B 傳輸;(發(fā)送)當(dāng)CE為高電平時(shí),A、B均為高阻態(tài)。</p><

58、;p>  由于P2口始終輸出地址的高8位,接口時(shí)74LS245的三態(tài)控制端1G和2G接地,P2口與驅(qū)動(dòng)器輸入線對(duì)應(yīng)相連。P0口與74LS245輸入端相連,E端接地,保證數(shù)據(jù)線暢通。8051的/RD和/PSEN相與后接DIR,使得RD且PSEN有效時(shí),74LS245輸入(P0.1←D1),其它時(shí)間處于輸出(P0.1→D1)。</p><p>  3.10 4×3矩陣鍵盤</p><

59、;p>  如圖3-6所示,本系統(tǒng)采用4×3矩陣鍵盤,12個(gè)按鍵分為輸入數(shù)字鍵:0、1、2、3、4、5、6、7、8、9;功能鍵CRL、ENTER矩陣鍵盤。</p><p>  圖3-6 4×3矩陣鍵盤</p><p>  第4章 用PROTEUS模擬電子密碼鎖</p><p>  4.1 PROTEUS簡(jiǎn)介</p><p&

60、gt;  Proteus軟件是英國(guó)Labcenter electronics公司出版的EDA工具軟件(該軟件中國(guó)總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件。它是目前最好的仿真單片機(jī)及外圍器件的工具。雖然目前國(guó)內(nèi)推廣剛起步,但已受到單片機(jī)愛(ài)好者、從事單片機(jī)教學(xué)的教師、致力于單片機(jī)開(kāi)發(fā)應(yīng)用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到

61、單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計(jì),真正實(shí)現(xiàn)了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上唯一將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺(tái),其處理器模型支持8051、HC11、PIC10/12/16/18/24/30/-</p><p>  DsPIC33、AVR、ARM、8086和MSP430等,2010年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。在編譯方面,

62、它也支持IAR、Keil和MPLAB等多種編譯器。</p><p>  4.2 PROTEUS仿真過(guò)程</p><p>  4.2.1 啟動(dòng)PROTEUS ISIS 編輯環(huán)境</p><p>  點(diǎn)擊“開(kāi)始”菜單,選擇“Proteus 7 Professional”程序,在出現(xiàn)的子菜單中選擇“ISIS 7 Professional”選項(xiàng),系統(tǒng)啟動(dòng)界面如圖4-1所示。

63、</p><p><b>  圖4-1 啟動(dòng)界面</b></p><p>  運(yùn)行結(jié)果如圖4-2所示:</p><p><b>  圖4-2 運(yùn)行結(jié)果</b></p><p>  4.2.2 選取放置仿真元件</p><p>  按照需要的元件清單如表4-1所示添加元件<

64、;/p><p><b>  表4-1 元件清單</b></p><p>  在器件選擇按鈕中單擊“P”按鈕,或是執(zhí)行菜單命令“Library”-“Pick Device/Symbol”,分別添加AT89C51、74LS245、7SEG-MPX8-CC-BLUE、BUTTON、LED-YELLOW、RES、SOUNDER器件,如圖4-3所示:</p><

65、p><b>  圖4-3 添加元件</b></p><p>  在ISIS原理編輯窗口中放置元件,再單擊工具箱中的“元件終端圖標(biāo)”,在對(duì)象選擇器中單擊“POWER”和“GROUND”放置電源和地,如圖4-4所示:</p><p>  圖4-4放置電源和地</p><p><b>  4.2.3 布線</b><

66、/p><p>  放置好元件后,點(diǎn)擊總線圖標(biāo),先布總線,再連接其他各線。左鍵雙擊各元件。設(shè)置相應(yīng)元件參數(shù),完成電路圖設(shè)計(jì),如圖4-5所示:</p><p><b>  圖4-5 電路圖</b></p><p>  4.2.4 在PROTEUS ISIS中進(jìn)行軟件編程</p><p>  1、在PROTEUS ISIS中創(chuàng)建源

67、代碼文件</p><p>  選用Source→Add/Remove Source files 命令,如圖4-6所示:</p><p>  圖4-6選用Source→Add/Remove Source files 命令</p><p>  將彈出如圖4-7所示的Add/Remove Source Code Fils對(duì)話框</p><p> 

68、 圖4-7Add/Remove Source Code Fils對(duì)話框</p><p>  點(diǎn)擊code generation tool 下方的下拉式菜單,將列出系統(tǒng)提供的代碼生成工具,如圖4-7所示。在本例中微處理器為80C51,因此選擇“ASEM51”代碼生成工具。</p><p>  點(diǎn)選“NEW”按鈕,將出現(xiàn)圖4-8所示的新的源文件建立對(duì)話框。</p><p&

69、gt;  在文件名一欄中為源代碼鍵入文件名“AT89C51”,并在文件類型中指定新建源文件的類型為“ASM51 source files (*.asm),如圖4-8所示:</p><p>  圖4-8 新的源文件建立對(duì)話框</p><p>  點(diǎn)擊打開(kāi)按鈕,將出現(xiàn)如圖4-9所示的對(duì)話框,點(diǎn)選“是(Y)”按鈕,即可完成新源文件的創(chuàng)建和添加,如圖4-10所示。點(diǎn)擊“OK”按鈕關(guān)閉源代碼文件創(chuàng)建

70、對(duì)話框。</p><p>  圖4-9新建源文件對(duì)話框圖 4-10源代碼文件創(chuàng)建完成</p><p>  2、在PROTEUS ISIS 中編輯源代碼</p><p>  在PROTEUS ISIS 編輯環(huán)境中按動(dòng)ALT-S鍵,打開(kāi)Source菜單,如圖4-11所示。</p><p>  點(diǎn)選“1.AT89C51.ASM”

71、,即可打開(kāi)源文件編輯窗口,如圖4-12所示,在編輯環(huán)境中鍵入程序,并保存。</p><p>  圖4-11打開(kāi)Source菜單</p><p>  圖4-12源文件編輯窗口</p><p>  控制電路軟件源程序如下:</p><p>  ;**************************************************

72、***** ;以下8個(gè)字節(jié)存放8位數(shù)碼管的段碼 LED_BIT_1 EQU 30H </p><p>  LED_BIT_2 EQU 31H </p><p>  LED_BIT_3 EQU 32H </p><p>  LED_BIT_4 EQU 33H </p&g

73、t;<p>  LED_BIT_5 EQU 34H </p><p>  LED_BIT_6 EQU 35H </p><p>  LED_BIT_7 EQU 36H </p><p>  LED_BIT_8 EQU 37H </p><p>  ;

74、以下6個(gè)字節(jié)存放初始密碼 </p><p>  WORD_1 EQU 38H </p><p>  WORD_2 EQU 39H </p><p>  WORD_3 EQU 3AH </p><p>  WORD_4 EQU 3BH </p

75、><p>  WORD_5 EQU 3CH </p><p>  WORD_6 EQU 3DH </p><p>  ;以下6個(gè)字節(jié)存放用戶輸入的6位密碼 </p><p>  KEY_1 EQU 3EH </p><p>  KEY_2

76、EQU 3FH </p><p>  KEY_3 EQU 40H </p><p>  KEY_4 EQU 41H </p><p>  KEY_5 EQU 42H </p><p>  KEY_6 EQU 43H </p>&

77、lt;p>  ;****************************************************** </p><p>  CNT_A EQU 44H </p><p>  CNT_B EQU 45H </p><p>  KEY_CNT EQU 46H ;已輸出的

78、密碼位數(shù) </p><p>  LINE EQU 47H ;按鍵行號(hào) </p><p>  ROW EQU 48H ;按鍵列號(hào) </p><p>  VAL EQU 49H ;鍵值 </p><p>  ;*******************

79、*********************************** </p><p>  ;以下為初始化程序,包括數(shù)據(jù)存儲(chǔ)空間初始化,設(shè)置初始密碼 </p><p>  ORG00H </p><p>  SJMPSTART </p><p>  ORG0BH </p

80、><p>  LJMP INT_T0 </p><p>  START: MOV CNT_A,#00H ;程序初始化 </p><p>  MOV CNT_B,#00H </p><p>  MOV KEY_CNT,#00H </p><p>  MOV

81、LINE,#00H </p><p>  MOV ROW,#00H </p><p>  MOV VAL,#00H </p><p>  SETB P1.0 </p><p>  MOV LED_BIT_1,#00H ;段碼存儲(chǔ)區(qū)清0 </p><p&g

82、t;  MOV LED_BIT_2,#00H </p><p>  MOV LED_BIT_3,#00H </p><p>  MOV LED_BIT_4,#00H </p><p>  MOV LED_BIT_5,#00H </p><p>  MOV LED_BIT_6,#00H

83、 </p><p>  MOV LED_BIT_7,#79H </p><p>  MOV LED_BIT_8,#73H </p><p>  MOV KEY_1,#00H ;輸入密碼存儲(chǔ)區(qū)清0 </p><p>  MOV KEY_2,#00H </p>

84、<p>  MOV KEY_3,#00H </p><p>  MOV KEY_4,#00H </p><p>  MOV KEY_5,#00H </p><p>  MOV KEY_6,#00H </p><p>  MOV WORD_1,#6 ;設(shè)置初始密碼”

85、123456”</p><p>  MOV WORD_2,#5 </p><p>  MOV WORD_3,#4 </p><p>  MOV WORD_4,#3 </p><p>  MOVWORD_5,#2 </p><p>  MOV WORD_6,

86、#1 </p><p>  MOV TMOD,#01H </p><p>  MOV TH0,#(65536-700)/256 </p><p>  MOV TL0,#(65536-700)MOD 256 </p><p>  MOV IE,#82H </p><p&

87、gt;  A0: LCALL DISP </p><p>  ;***********************************************************</p><p>  ;以下為鍵盤掃描程序,計(jì)算鍵值并存入VAL </p><p>  LSCAN: MOV P3,#0F0H ;掃描行碼

88、60;</p><p>  L1: JNB P3.0,L2 </p><p>  LCALL DLY_S </p><p>  JNB P3.0,L2 </p><p>  MOV LINE,#00H </p><p>  LJMP RSCAN 

89、</p><p>  L2: JNB P3.1,L3 </p><p>  LCALL DLY_S </p><p>  JNB P3.1,L3 </p><p>  MOV LINE,#01H </p><p>  LJMP RSCAN <

90、;/p><p>  L3: JNB P3.2,L4 </p><p>  LCALL DLY_S </p><p>  JNB P3.2,L4 </p><p>  MOV LINE,#02H </p><p>  LJMP RSCAN </p&

91、gt;<p>  L4: JNB P3.3,A0 </p><p>  LCALL DLY_S </p><p>  JNB P3.3,A0 </p><p>  MOV LINE,#03H </p><p>  RSCAN: MOV P3,#0FH ;

92、掃描列碼 </p><p>  C1: JNB P3.4,C2 </p><p>  MOV ROW,#00H </p><p>  LJMP CALCU </p><p>  C2: JNB P3.5,C3 </p><p>  MOV

93、ROW,#01H </p><p>  LJMP CALCU </p><p>  C3: JNB P3.6,C1 </p><p>  MOV ROW,#02H </p><p>  CALCU:MOVA,LINE ;計(jì)算鍵值 </p>

94、<p>  MOVB,#03H </p><p><b>  MUL AB </b></p><p>  ADD A,ROW </p><p>  MOV VAL,A </p><p>  ;*****************************

95、********************* </p><p>  ;以下為按鍵處理程序,對(duì)不同的按鍵作出響應(yīng) </p><p>  CJNE A,#0AH,J1 ;是否為"CLR"鍵 </p><p>  MOV R1,KEY_CNT </p><p>  CJNE R1,#0

96、0H,J2 </p><p>  LCALL ALARM_1 </p><p>  LJMP START </p><p>  J2: LCALL SHIFTR </p><p>  DEC KEY_CNT </p><p>  W00:L

97、CALL DISP ;等待按鍵抬起 </p><p>  MOV A,P3 </p><p>  CJNE A,#0FH,W01 </p><p>  LJMP A0 </p><p>  W01:MOV A,P3 </p><p> 

98、 CJNE A,#0F0H,W02 </p><p>  LJMP A0 </p><p>  W02:SJMP W00 </p><p>  J1: MOV A,VAL </p><p>  CJNE A,#0BH,J3;判斷是否為"ENTER"鍵

99、60;</p><p>  MOV R1,KEY_CNT </p><p>  CJNE R1,#06H,J4</p><p>  MOV A,WORD_1 ;比較密碼 </p><p>  CJNE A,3EH,J5 </p><p>  MOV A,WORD

100、_2 </p><p>  CJNE A,3FH,J5</p><p>  MOV A,WORD_3 </p><p>  CJNE A,40H,J5 </p><p>  MOV A,WORD_4 </p><p>  JNE A,41H,J5 &

101、lt;/p><p>  MOV A,WORD_5 </p><p>  CJNE A,42H,J5 </p><p>  MOV A,WORD_6 </p><p>  CJNE A,43H,J5 </p><p>  CLR P1.0 </p&

102、gt;<p>  LCALL DLY_L </p><p>  LJMP FINI </p><p>  J5: LCALL ALARM_2 </p><p>  LJMP START </p><p>  J4: LCALL ALARM_1 &l

103、t;/p><p>  LJMP START </p><p>  J3: INC KEY_CNT ;按下數(shù)字鍵 </p><p>  MOV A,KEY_CNT </p><p>  CJNE A,#07H,K1 </p><p>  LCALL AL

104、ARM_1 </p><p>  W10:LCALL DISP ;等待按鍵抬起 </p><p>  MOV A,P3 </p><p>  CJNE A,#0FH,W11 </p><p>  LJMPSTART </p><p>  W

105、11:MOV A,P3 </p><p>  CJNE A,#0F0H,W12 </p><p>  LJMP START </p><p>  W12:SJMP W10 </p><p>  LJMP START</p><p>  LJMP STAR

106、T </p><p>  K1: LCALL SHIFTL </p><p>  W20:LCALL DISP ;等待按鍵抬起 </p><p>  MOV A,P3 </p><p>  CJNE A,#0FH,W21 </p><p

107、>  LJMP A0 </p><p>  W21:MOV A,P3 </p><p>  CJNE A,#0F0H,W22 </p><p>  LJMP A0 </p><p>  W22:SJMP W20 </p><p><b&

108、gt;  LJMP A0</b></p><p>  ALARM_1:SETB TR0 ;操作錯(cuò)誤報(bào)警 </p><p>  JB TR0,$ </p><p><b>  RET </b></p><p>  ALARM_2:SETB TR0

109、;密碼錯(cuò)誤報(bào)警 </p><p>  JB TR0,$ </p><p>  LCALL DLY_L </p><p><b>  RET </b></p><p>  ;**********************************************

110、**** </p><p>  ;定時(shí)器中斷服務(wù)程序,用于聲音報(bào)警 </p><p>  INT_T0: CPL P1.7 </p><p>  MOV TH0,#100</p><p>  MOV TL0,#253 </p><p>  INC CNT_A&

111、#160;</p><p>  MOV R1,CNT_A </p><p>  CJNE R1,#30,RETUNE </p><p>  MOV CNT_A,#00H </p><p>  INC CNT_B </p><p>  MOV R1,CNT_B&

112、#160;</p><p>  CJNE R1,#20,RETUNE </p><p>  MOV CNT_A,#00H </p><p>  MOV CNT_B,#00H </p><p>  CLR TR0 </p><p>  RETUNE: RETI&

113、#160;</p><p>  ;************************************************** </p><p>  ;段碼,輸入密碼左移子程序 </p><p>  SHIFTL: MOV LED_BIT_6,LED_BIT_5 </p><p>  MOV

114、LED_BIT_5,LED_BIT_4 </p><p>  MOV LED_BIT_4,LED_BIT_3 </p><p>  MOV LED_BIT_2,LED_BIT_1 </p><p>  MOV LED_BIT_1,#40H </p><p>  MOV KEY_6,KEY

115、_5 </p><p>  MOV KEY_5,KEY_4 </p><p>  MOV KEY_4,KEY_3 </p><p>  MOV KEY_3,KEY_2 </p><p>  MOV KEY_2,KEY_1 </p><p>  MOV

116、KEY_1,VAL </p><p><b>  RET </b></p><p>  ;************************************************** </p><p>  ;段碼,輸入密碼右移子程序 </p><p>  SHIFTR:

117、 MOV LED_BIT_1,LED_BIT_2 </p><p>  MOV LED_BIT_2,LED_BIT_3 </p><p>  MOV LED_BIT_3,LED_BIT_4 </p><p>  MOV LED_BIT_4,LED_BIT_5 </p><p>  M

118、OV LED_BIT_5,LED_BIT_6 </p><p>  MOV LED_BIT_6,#00H </p><p>  MOV KEY_1,KEY_2 </p><p>  MOV KEY_2,KEY_3 </p><p>  MOV KEY_3,KEY_4 <

119、;/p><p>  MOV KEY_4,KEY_5 </p><p>  MOV KEY_5,KEY_6 </p><p>  MOV KEY_6,#00H </p><p><b>  RET </b></p><p>  ;***********

120、*************************************** </p><p>  ;以下為數(shù)碼顯示子程序 </p><p>  DISP: CLR P2.7 </p><p>  MOV P0,LED_BIT_8 </p><p>  LCALL DLY_S 

121、;</p><p>  SETB P2.7 </p><p>  CLR P2.6 </p><p>  MOV P0,LED_BIT_7 </p><p>  LCALL DLY_S </p><p>  SETB P2.6 </p>

122、<p>  CLR P2.5 </p><p>  MOV P0,LED_BIT_6 </p><p>  LCALL DLY_S </p><p>  SETB P2.5 </p><p>  CLR P2.4 </p><p>  M

123、OV P0,LED_BIT_5 </p><p>  LCALL DLY_S </p><p>  SETB P2.4 </p><p>  CLR P2.3 </p><p>  MOV P0,LED_BIT_4 </p><p>  LCALL

124、DLY_S </p><p>  SETB P2.3 </p><p>  CLR P2.2 </p><p>  MOV P0,LED_BIT_3 </p><p>  LCALL DLY_S </p><p>  SETBP2.2 

125、</p><p>  CLR P2.1 </p><p>  MOV P0,LED_BIT_2 </p><p>  SETB P2.1 </p><p>  CLR P2.0 </p><p>  MOV P0,LED_BIT_1 </p&g

126、t;<p>  LCALL DLY_S </p><p>  SETB P2.0 </p><p><b>  RET </b></p><p>  ;********************************************** </p><p&g

溫馨提示

  • 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ù)僅提供信息存儲(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)論