版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、學(xué)號(hào) 微型計(jì)算機(jī)原理與接口技術(shù)微型計(jì)算機(jī)原理與接口技術(shù) 課程設(shè)計(jì)課程設(shè)計(jì) ( 2008 級(jí)本科)級(jí)本科) 題題 目:目:一一種種由由微微機(jī)機(jī)實(shí)實(shí)現(xiàn)現(xiàn)的的多多功功能能密密碼碼鎖鎖設(shè)設(shè)計(jì)計(jì) 系(部)院:系(部)院: 物理與機(jī)電工程學(xué)院物理與機(jī)電工程學(xué)院 專專 業(yè):業(yè): 電電氣氣工工程程及及其其自自動(dòng)動(dòng)化化 作者姓名:作者姓名: 指導(dǎo)教師:指導(dǎo)教師: 職稱:職稱: 副教授副教授 完成日期:完成日期: 2011 年年 6 月月 29 日日 河西學(xué)院本科生課程設(shè)計(jì)任務(wù)書 2011_學(xué)年第_2_學(xué)期 目錄 學(xué)生姓名學(xué)號(hào) 專業(yè)方向自動(dòng)化班級(jí)08 級(jí) 1 班 題目名稱一種由微機(jī)實(shí)現(xiàn)的多功能密碼鎖 一、設(shè)計(jì)內(nèi)容
2、及技術(shù)要求:一、設(shè)計(jì)內(nèi)容及技術(shù)要求: 1密碼鎖在輸入密碼正確時(shí)輸出開鎖電平,控制電控鎖開啟,同時(shí)顯示 00 字樣; 2當(dāng)輸入密碼錯(cuò)誤時(shí),發(fā)出錯(cuò)誤警告聲音,同時(shí)顯示 FF 字樣; 3當(dāng)六次誤碼輸入的條件下,產(chǎn)生報(bào)警電平報(bào)警; 4還可以實(shí)現(xiàn)對(duì)密碼的修改,修改成功后,蜂鳴器發(fā)出確認(rèn)音。 二、課程設(shè)計(jì)總結(jié)報(bào)告要求:二、課程設(shè)計(jì)總結(jié)報(bào)告要求: 1選用 8086 和適當(dāng)?shù)拇鎯?chǔ)器及接口芯片完成相應(yīng)的功能。 2用 LED 顯示器顯示電子鎖的當(dāng)前狀態(tài)。 3畫出詳細(xì)的硬件連接圖。 4給出程序設(shè)計(jì)思路、畫出軟件流程圖。 5給出所有程序清單并加上必要注釋。 6完成設(shè)計(jì)說明書(包括封面、目錄、設(shè)計(jì)任務(wù)書、硬件設(shè)計(jì)思路、
3、硬件 原理圖、軟件設(shè)計(jì)思路、程序流程框圖、程序清單、所用器件型號(hào)、總結(jié)體 會(huì)、參考文獻(xiàn)等) 。 三、設(shè)計(jì)進(jìn)度三、設(shè)計(jì)進(jìn)度 第一周: 星期一上午 討論設(shè)計(jì)題目 星期一下午 查資料 星期二至星期五 完成對(duì)硬件電路的基本設(shè)計(jì) 第二周: 星期一至星期二 完成軟件流程圖及軟件設(shè)計(jì) 星期三至星期四 軟硬件統(tǒng)調(diào),寫說明書,畫圖 星期五 答辯 指導(dǎo)教師簽字: 一、設(shè)計(jì)目的 1 二、設(shè)計(jì)任務(wù)與要求 1 三、整體功能描述 1 四、總體設(shè)計(jì)方案論證 1 4.1 方案一 1 4.2 方案二 2 五、硬件設(shè)計(jì) 2 5.1 鍵盤 3 5.2 中斷控制 3 5.3 計(jì)時(shí) 4 5.4 輸入輸出接口 4 5.5 儲(chǔ)存器及片選
4、5 5.6 整機(jī)電路圖 5 六、軟件設(shè)計(jì) 6 6.1 程序流程圖 6 6.2 程序清單 7 6.3 程序調(diào)試運(yùn)行 7 七、設(shè)計(jì)總結(jié) 9 八、參考資料 10 九、附錄 11 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)成績(jī)?cè)u(píng)定表 21 一、設(shè)計(jì)目的一、設(shè)計(jì)目的 通過課程設(shè)計(jì)掌握控制系統(tǒng)設(shè)計(jì)的一般步驟,掌握系統(tǒng)總體控制方案的 設(shè)計(jì)方法、8086 微型計(jì)算機(jī)的應(yīng)用方法、控制算法的設(shè)計(jì)及硬件設(shè)計(jì)方法。復(fù) 習(xí)并學(xué)習(xí)用軟件編程控制硬件。了解和掌握 8086 微機(jī)應(yīng)用系統(tǒng)的軟硬件設(shè)計(jì)過 程、方法及實(shí)現(xiàn),為以后設(shè)計(jì)實(shí)現(xiàn) 8086 微機(jī)應(yīng)用系統(tǒng)打下良好的基礎(chǔ)。 二、設(shè)計(jì)任務(wù)與要求二、設(shè)計(jì)任務(wù)與要求 (1) 密碼鎖在輸入密碼正確時(shí)
5、控制電控鎖開啟,同時(shí)顯示 00 字樣;當(dāng)輸入密 碼錯(cuò)誤時(shí),發(fā)出錯(cuò)誤警告,并顯示 FF 字樣;當(dāng)六次誤碼輸入時(shí),產(chǎn)生報(bào)警;具 有密碼修改的功能。 (2) 選用 8086 和適當(dāng)?shù)拇鎯?chǔ)器及接口芯片完成相應(yīng)的功能,用 LED 顯示器顯 示電子鎖的當(dāng)前狀態(tài);畫出詳細(xì)的硬件連接圖;給出程序設(shè)計(jì)思路、畫出軟件 流程圖;給出所有程序清單并加上必要注釋;完成設(shè)計(jì)說明書(包括封面、目 錄、設(shè)計(jì)任務(wù)書、硬件設(shè)計(jì)思路、硬件原理圖、軟件設(shè)計(jì)思路、程序流程框圖、 程序清單、所用器件型號(hào)、總結(jié)體會(huì)、參考文獻(xiàn)等) 。 三、三、 整體功能描述整體功能描述 本設(shè)計(jì)為多功能密碼鎖,使用存儲(chǔ)器保存密碼防止斷電后密碼丟失。工作 時(shí)按
6、下按鍵蜂鳴器會(huì)發(fā)出聲音提示按鍵有效并在數(shù)碼管有“- -”閃爍字樣,若 相隔 1 分鐘無按鍵按下,則清零。在輸入密碼正確的條件下輸出開鎖電平,控 制電控鎖開啟,同時(shí)顯示 OPEN 字樣。開鎖后可按下“復(fù)位/修改密碼鍵”實(shí)現(xiàn) 修改密碼功能的轉(zhuǎn)入,之后先輸入密碼再輸入同樣的密碼確認(rèn)才可成功修改, 修改成功后蜂鳴器會(huì)發(fā)出三聲,數(shù)碼管“00”閃爍三次提示修改密碼成功。當(dāng) 輸入密碼錯(cuò)誤時(shí),發(fā)出錯(cuò)誤警告聲音,同時(shí)顯示 CLOSE 字樣,當(dāng)輸入密碼錯(cuò)誤 次數(shù)累積夠 6 次后,蜂鳴器會(huì)產(chǎn)生 90 秒的報(bào)警聲響進(jìn)行報(bào)警。 四、總體設(shè)計(jì)方案四、總體設(shè)計(jì)方案 根據(jù)本次設(shè)計(jì)的設(shè)計(jì)目的及設(shè)計(jì)要求,可有下列兩種方案: 4.
7、14.1 方案一方案一 在本次設(shè)計(jì)中,因?yàn)槊艽a鎖的基本功能使可以判斷密碼是否正確,以及完 成對(duì)密碼的修改,所以需要用到輸入設(shè)備以及 CPU 的接口電路以及相關(guān)存儲(chǔ)設(shè) 備;因?yàn)橛袌?bào)警提示功能,所以要用到相關(guān)的輸出設(shè)備以及接口電路。因?yàn)橐?完成邏輯運(yùn)算功能,所以必須要有 CPU,CPU 就選用我們最常用也最熟悉的 8086,考慮到 8255 的端口兼具輸入輸出功能,靈活方便,所以選用一片 8255 作為輸入輸出設(shè)備與 8086 間的借口;采用 0 到 9 數(shù)字按鍵以及相關(guān)功能選擇的 輸入;輸出設(shè)備方面,采用兩位數(shù)碼管實(shí)現(xiàn)題目的狀態(tài)提示要求,用一個(gè)蜂鳴 器作為相關(guān)的警報(bào),提示的聲音輸出。另外,為簡(jiǎn)化
8、編程,采用 8259 中斷控制 器來觸發(fā)中斷實(shí)現(xiàn)密碼鎖工作模式的轉(zhuǎn)換,其中的密碼輸入及判斷功能與密碼 修改功能分別用兩個(gè)外部中斷來觸發(fā)中斷服務(wù)程序來實(shí)現(xiàn)。本設(shè)計(jì)的密碼位數(shù) 為 6 位。 4.24.2 方案二方案二 用匯編語言編寫程序?qū)崿F(xiàn)應(yīng)用程序的功能,從而實(shí)現(xiàn)簡(jiǎn)易計(jì)算器匯編程序 的設(shè)計(jì)與實(shí)現(xiàn)。 4.2.1 使用設(shè)備 含有 Windows 匯編編譯環(huán)境的 MASM 軟件及 Office 2003 軟件的計(jì)算機(jī)一臺(tái)。 4.2.2 匯編程序編寫 匯編程序編寫,根據(jù)設(shè)計(jì)要求編寫實(shí)現(xiàn)該功能的源程序代碼。 4.2.3 使用方法 在 masm 環(huán)境下運(yùn)行本程序,按提示輸入正確密碼,則在屏幕上顯示 00 字
9、樣,否則顯示 FF 字樣。 五、硬件設(shè)計(jì)五、硬件設(shè)計(jì) 本設(shè)計(jì)使用了 8086、8259A、8255、8253、2764、74LS138、74LS148、地 址鎖存器、數(shù)碼管以及 74 系列邏輯門、蜂鳴器、開關(guān)等芯片與元器件,實(shí)現(xiàn)了 鍵盤輸入、中斷控制、計(jì)時(shí)、按鍵響應(yīng)、開鎖及報(bào)警等功能模塊,其硬件連接框 圖如圖 1 所示。 圖圖 1 1 硬件連接框圖硬件連接框圖 5.15.1 鍵盤鍵盤 本設(shè)計(jì) 8255A 的 A 口與兩片級(jí)聯(lián)的 74LS148 組合接用于輸入鍵盤,實(shí)現(xiàn)對(duì) 輸入鍵號(hào)的讀入。工作時(shí),8086 通過程序掃描鍵盤,當(dāng)無鍵盤按下時(shí), 74LS148 工作于無輸入狀態(tài),GS 口輸出高電平,
10、接到 PA4 作為識(shí)別有無按鍵按 下信號(hào),PA 口輸入為 10H;當(dāng)有按鍵輸入時(shí),74LS148 輸入口接到低電平,輸 入有效,經(jīng)編碼后鍵號(hào)轉(zhuǎn)換為相應(yīng)二進(jìn)制編碼送到 PA 口,成為能為 CPU 識(shí)別的 代表鍵值的有效信號(hào)。讀入的按鍵信號(hào)經(jīng) 8086 判斷后,根據(jù)不同的功能,輸出 不同的按鍵響應(yīng),并轉(zhuǎn)移到相對(duì)應(yīng)的功能服務(wù)程序。 本設(shè)計(jì)總共用到 11 位按鍵,包括 10 位數(shù)碼輸入按鍵及一位“復(fù)位/修改密 碼”按鍵,電路設(shè)計(jì)總共可用按鍵有 16 位,供升級(jí)功能使用。鍵盤電路如下圖 2 所示: 5.25.2 中斷控制中斷控制 用一片 8259A 芯片作為中斷控制接口電路。其中 IR0 與 IR1 中
11、斷開放,單片 工作于非緩沖方式,電平觸發(fā),優(yōu)先級(jí)是普通全嵌套方式??赏ㄟ^編程開中斷, 通過編程或者 8253 計(jì)時(shí)器關(guān)中斷。電路連接如圖 3 所示: 圖圖 2 2 鍵盤連接圖鍵盤連接圖 5.35.3 計(jì)時(shí)計(jì)時(shí) 采用 8253 計(jì)時(shí)器控制中斷的關(guān)斷,實(shí)現(xiàn)單次輸入密碼超時(shí)則退出輸入密碼 中斷子程序、報(bào)警器響鈴時(shí)間控制等功能。電路如圖 3 所示。 圖圖 3 3 中斷控制器連接圖中斷控制器連接圖 5.45.4 輸入輸出接口輸入輸出接口 輸入輸出接口采用可編程的 8255A,8255A 是 Intel 系列的并行接口芯片, 常作為微機(jī)系統(tǒng)與外部設(shè)備接口。在連接電路時(shí) 8255 的 PC0、PC1 接到數(shù)
12、碼管 片選,電路連接如圖 3 所示。同時(shí)用 8255A 的 B 口控制數(shù)碼管的顯示,C 口片 PC0、PC1 選數(shù)碼管,PC2 用來驅(qū)動(dòng) SPEAK 發(fā)出報(bào)警電路如圖 4 所示。 圖圖 4 4 按鍵響應(yīng)、報(bào)警、開鎖功能電路按鍵響應(yīng)、報(bào)警、開鎖功能電路 5.55.5儲(chǔ)存器及片選電路儲(chǔ)存器及片選電路 存儲(chǔ)器及片選電路采用一片 2764 存儲(chǔ)器和一片 74LS138,連接電路如圖 5 所示: 圖圖 5 5 片選及存儲(chǔ)器電路片選及存儲(chǔ)器電路 5.65.6 整機(jī)電路圖:見附錄一整機(jī)電路圖:見附錄一 六、軟件設(shè)計(jì)六、軟件設(shè)計(jì) 6.16.1 程序流程圖程序流程圖 開始 程序初始化 8255.8259初始化
13、從RAM存儲(chǔ)器中讀出密碼 定義DI.SI指針 開中斷 data2與data3數(shù)據(jù)串比較 相等? 開鎖,并顯示00 掃描鍵盤,有修改密碼鍵? 定義SI,DI指針 開中斷,實(shí)現(xiàn)密碼輸入 轉(zhuǎn)存到data2 有修改密碼鍵輸入? 開中斷,重新輸入密碼 比較是否為首次輸入密碼? 轉(zhuǎn)存密碼到RAM 鈴聲確認(rèn)修改密碼成功 掃描鍵盤是否有修改密碼鍵輸入 保持開鎖狀態(tài) 結(jié)束 錯(cuò)誤計(jì)數(shù)器加1 錯(cuò)誤累積超過6次? 保持關(guān)鎖 結(jié)束 N N 報(bào)警響鈴, 輸出顯示FF Y Y N Y N Y 圖圖 6 程序流程圖程序流程圖 6.26.2 程序清單:見附錄二程序清單:見附錄二 6.36.3 程序調(diào)試運(yùn)行程序調(diào)試運(yùn)行 63.1
14、 程序編寫 第一步:對(duì)要實(shí)現(xiàn)的功能進(jìn)行大體分析,畫出程序的總流程圖,如圖 6 所示: 第二步:將這些功能的實(shí)現(xiàn)分別編寫程序來實(shí)現(xiàn)。 第三步;編寫代碼,上機(jī)調(diào)試和運(yùn)行程序。 6.3.2 上機(jī)編譯與調(diào)試 第一步:編輯源程序:即建立.ASM 文件。 第二步:匯編源程序。源文件建立后,要用匯編程序?qū)υ次募M(jìn)行匯編,以便 產(chǎn)生二進(jìn)制的目標(biāo)文件(.OBJ 文件),如圖 7 所示: 第三步: 用 LINK 程序產(chǎn)生.EXE 文件。匯編程序已產(chǎn)生出二進(jìn)制的代碼文件 (.OBJ),但.OBJ 文件并不是可執(zhí)行文件,還必須使用(LINK)把.OBJ 文件轉(zhuǎn)換為 可執(zhí)行的.EXE 文件。用 LINK.EXE 連接為
15、可執(zhí)行文件界面如圖 8 所示。 第四步: 程序的調(diào)試及運(yùn)行 圖圖 7 7 程序匯編程序匯編 圖圖 8 8 生成可執(zhí)行文件生成可執(zhí)行文件 圖圖 9 9 程序運(yùn)行程序運(yùn)行 七、設(shè)計(jì)總結(jié)與體會(huì)七、設(shè)計(jì)總結(jié)與體會(huì) 通過本次課程設(shè)計(jì),我對(duì) 8255,8253,8259等芯片的各引腳的功能、名稱、 工作方式、內(nèi)部結(jié)構(gòu)有了更深層次的掌握,對(duì)這三種芯片的編程從陌生轉(zhuǎn)向熟練。 通過這次的微機(jī)課程設(shè)計(jì),對(duì)書本所學(xué)的知識(shí)有了進(jìn)一步的鞏固,并且對(duì)三種 芯片各自的功能、工作方式有了明確性的區(qū)分。在設(shè)計(jì)過程中遇到問題時(shí),遇 到含糊不清或者看不懂的地方及時(shí)翻閱相關(guān)課本知識(shí)。有時(shí)看課本也沒有結(jié)果 時(shí)就和組員互相探討。在設(shè)計(jì)過
16、程中,才發(fā)現(xiàn)自己遺漏許多課本的相關(guān)知識(shí), 對(duì)各芯片的功能及其工作方式掌握的不夠清楚。這說明在實(shí)踐中才能真正的掌 握從課本中所學(xué)的知識(shí)。這次的課程設(shè)計(jì)讓我為一年后的畢業(yè)設(shè)計(jì)打下了基礎(chǔ)。 八、參考資料八、參考資料 1 馮博琴,吳寧. 微型計(jì)算機(jī)原理與接口技術(shù). 北京 清華大學(xué)出版社(第二 版) ,2007. 2 趙國相等. 微型計(jì)算機(jī)原理與匯編語言程序設(shè)計(jì). 北京 科學(xué)出版社, 2004. 3 吳榮光,呂鈞星.微型計(jì)算機(jī)原理及應(yīng)用廣州 華南理工大學(xué)出版社,2006. 4 張睿,趙艷華,劉志剛. 精通 Protel DXP 2004 電路設(shè)計(jì). 北京 電子工業(yè)出 版社 2005. 5耿丹,梁佑斌32
17、 位微型計(jì)算機(jī)原理及應(yīng)用實(shí)驗(yàn)指導(dǎo)書廣州 華南理工大 學(xué)教材供應(yīng)中心,2001. 6王爽.匯編語言(第 2 版).北京 清華大學(xué)出版社,2008. 7康華光等 .電子技術(shù)基礎(chǔ)(數(shù)字部分)第五版. 華中科技大學(xué)電子技術(shù)課程 組編. 北京 高等教育出版社,2006 九、附錄九、附錄 附錄一:電路基本連接圖 附錄二:程序清單(一) DATA SEGMENT ;以下代碼寫入 RAM CODEIN DB 6 DUP(?) ;輸入的密碼保存的地址 CODECH DB 6 DUP(?) ;修改后的密碼的保存地址 CODEOR DB 0,0,0,0,0,0 ;初始密碼 ORG 01000H ;下面的代碼寫入 R
18、OM DTABLE DB 80H,02H,10H,3FH,79H,71H,60H,5BH DATA ENDS STACKS SEGMENT STA DB 20 DUP(?) STACKS ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKS START: MOV SI,OFFSET CODEIN MOV DI,OFFSET CODEOR MOV BP,OFFSET DTABLE MOV AL,09H ;(鍵盤輸入中斷)設(shè)定密碼輸入的中斷向量(即 IR0 的中斷向量) MOV AH,25H INT 21H PUSH BX PUSH DS MOV D
19、X,SEG INPUT MOV DS,DX MOV DX,OFFSET INPUT INT 21H MOV AL,09H ;(鍵盤輸入中斷)設(shè)定密碼修改的中斷向量(即 IR1 的中斷向量) MOV AH,25H INT 21H PUSH BX PUSH DS MOV DX,SEG CHANGE MOV DS,DX MOV DX,OFFSET CHANGE INT 21H MOV AL,1BH ;初始化 8259 OUT 10H,AL ;單片工作,高電平有效 MOV AL,08H OUT 11H,AL MOV AL,03H OUT 11H,AL MOV AL,0FCH OUT 11H,AL ;開
20、放 IR0,IR1 MOV AL,20H OUT 10H,AL MOV AL,68H OUT 10H,AL MOV AL,82H ;初始化 8255 A 口方式 0 輸出,B 口方式 0 輸入,C 口輸 出 OUT 06H,AL AA: STI MOV AL,00H OUT 04H,AL ;輸出低電平使數(shù)碼管熄滅 INPUT: ;密碼輸入程序 CLI MOV DL,00H IN1: CMP DL,06H ;判斷是否連續(xù) 6 次輸入錯(cuò)誤密碼 JNZ IN2 ;若不是這繼續(xù)輸入 MOV CX,03FFH ;使蜂鳴器長(zhǎng)鳴報(bào)警(通過延時(shí)實(shí)現(xiàn)) R1: MOV DH,3FH MOV AL,02H OUT
21、 00H,AL ;輸出高電平使蜂鳴器發(fā)聲 R2: DEC DH CMP DH,00H JNZ R2 LOOP R1 JMP IN4 ;報(bào)警完畢,跳至中斷返回 IN2: ;輸入密碼 MOV AL,BP+4 OUT 04H,AL ;數(shù)碼管顯示-提示輸入密碼 MOV BX,0H MOV CX,03H ;設(shè)置循環(huán)次數(shù) IN3: MOV BP,OFFSET DTABLE MOV AL,BP OUT 04H,AL ;數(shù)碼管提示輸入位數(shù) CALL CCSCAN ;調(diào)用鍵盤掃描程序 CMP AL,0BH ;判斷是否按下返回鍵 JZ IN4 MOV BX+SI,AL ;保存輸入密碼 INC BX INC BP
22、LOOP IN3 MOV BP,OFFSET DTABLE ;判斷密碼是否正確 CLD MOV CX,03 MOV SI,OFFSET CODEIN MOV DI,OFFSET CODEOR REPZ CMPSB ;判斷密碼是否正確 JNZ WRO ;若錯(cuò)誤就報(bào)警 MOV AL,BP+3 OUT 04H,AL ;若正確數(shù)碼管就顯示00 MOV AL,04H OUT 00H,AL ;且給 LED 高電平使其點(diǎn)亮 XOR DL,AL JMP IN4 WRO: ;出錯(cuò)報(bào)警部分 INC DL MOV AL,BP+5 ;數(shù)碼管顯示FF提示錯(cuò)誤 OUT 04H,AL MOV CX,03H ;設(shè)定蜂鳴器響的
23、次數(shù) W1: MOV AL,02H ;使蜂鳴器發(fā)聲 OUT 00H,AL W2: ;延時(shí) MOV BL,3FH DEC BL CMP BL,00H JNZ W2 XOR AL,AL ;輸出低電平關(guān)蜂鳴器 OUT 00H,AL W3: ;延時(shí) MOV BL,3FH DEC BL CMP BL,00H JNZ W3 LOOP W1 JMP IN1 ;中斷返回 IN4: STI IRET CHANGE: ;密碼修改程序 CLI MOV DL,00H INP1: CMP DL,06H JNZ INP2 MOV CX,03FFH RR1: MOV DH,3FH MOV AL,02H OUT 00H,AL
24、 RR2: DEC DH CMP DH,00H JNZ RR2 LOOP RR1 JMP C4 INP2: MOV AL,BP+4 OUT 04H,AL MOV BX,0000H MOV CX,03H INP3: MOV BP,OFFSET DTABLE MOV AL,BP OUT 04H,AL CALL CCSCAN CMP AL,0BH JZ IN4 MOV BX+SI,AL INC BX INC BP LOOP INP3 MOV BP,OFFSET DTABLE CLD MOV CX,03 MOV SI,OFFSET CODEIN MOV DI,OFFSET CODEOR REPZ CM
25、PSB JNZ WRRO MOV AL,BP+3 OUT 04H,AL XOR DL,DL JMP CHANGE WRRO: INC DL MOV AL,BP+5 OUT 04H,AL MOV CX,03H WW1: MOV AL,02H OUT 00H,AL WW2: MOV BL,3FH DEC BL CMP BL,00H JNZ WW2 XOR AL,AL OUT 00H,AL WW3: MOV BL,3FH DEC BL CMP BL,00H JNZ WW3 LOOP WW1 JMP INP1 ;當(dāng)密碼輸入正確時(shí),轉(zhuǎn)入密碼修改部 分 CHAN: ;修改密碼部分 MOV SI,OFFSE
26、T CODEIN MOV DI,OFFSET CODECH MOV AL,BP+6 ;數(shù)碼管提示第一次輸入 OUT 04H,AL MOV CX,03FFH Y1: LOOP Y1 MOV BP,OFFSET DTABLE MOV BX,0H MOV CX,03H C1: MOV AL,BP OUT 04H,AL CALL CCSCAN CMP AL,0BH JZ C4 MOV BX+SI,AL ;存放在輸入密碼緩沖區(qū) INC BX INC BP LOOP C1 MOV BP,OFFSET DTABLE MOV AL,BP+7 OUT 04H,AL ;數(shù)碼管提示第二次輸入 MOV CX,03FF
27、H Y2: LOOP Y2 MOV BP,OFFSET DTABLE MOV BX,0H MOV CX,03H C2: MOV AL,BP OUT 04H,AL CALL CCSCAN CMP AL,0BH JZ C4 MOV BX+DI,AL ;存放在修改密碼緩沖區(qū) INC BX INC BP LOOP C2 MOV BP,OFFSET DTABLE REPZ CMPSB JNZ CHAN ;判斷兩次輸入的密碼是否一致 MOV DI,OFFSET CODEOR MOV CX,03H CLD REP MOVSB ; 若是相等那就保存密碼 MOV AL,02H ;且蜂鳴器響一下提示修改成功 OU
28、T 00H,AL MOV CX,03FFH C3: LOOP C3 XOR AL,AL OUT 00H,AL ;中斷返回 C4: STI IRET CCSCAN PROC NEAR ;鍵盤掃描子程序 MOV AL,00H OUT 00H,AL IN AL,02H NOT AL AND AL,0FH CMP AL,00H ;判斷是否有鍵按下 JNZ K1 JMP CCSCAN K1: MOV CX,0EFFH ;延時(shí) LOOP K1 IN AL,02H CMP AL,00H JZ CCSCAN MOV AH,60H ;掃描第一列 K2: MOV AL,AH OUT 00H,AL IN AL,02
29、H NOT AL AND AL,0FH CMP AL,00H ;判斷是否有鍵按下 JNZ K3 OR AH,01H ROR AH,1 ;掃描下一列 AND AH,0FH JMP K2 K3: ADD AL,AH RET CCSCAN ENDP CODE ENDS END START 程序清單(二)利用 DOS 調(diào)用顯示 DATA SEGMENT TABLE DB 888 STRING1 DB Please enter a passward:,0DH,0AH,$ STRING2 DB Wrong!,0DH,0AH,$ STRING3 DB OPEN!,$ STRING4 DB CLOSE!,$ BUFFER DB 40,?,40 DUP(0) TAB_LEN EQU 26 DATA ENDS ; STACK SEGMENT DB 100 DUP(0) STACK ENDS ; CODE
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度民辦學(xué)校教師職稱評(píng)定與晉升合同3篇
- 2025版高端住宅門窗定制與施工一體化合同3篇
- 二零二五年度新能源出租車司機(jī)聘用合同樣本
- 二零二五年度出租車公司司機(jī)外包管理合同法律意見
- 2025知識(shí)產(chǎn)權(quán)勞動(dòng)合同補(bǔ)充協(xié)議范本:企業(yè)知識(shí)產(chǎn)權(quán)布局與戰(zhàn)略規(guī)劃3篇
- 二零二五年度土地承包經(jīng)營(yíng)權(quán)轉(zhuǎn)讓合同
- 2025年度智能化農(nóng)業(yè)大棚建設(shè)與土地租賃合同
- 2025年度木托盤生產(chǎn)原料供應(yīng)鏈金融合同4篇
- 二零二五年度牛羊肉產(chǎn)業(yè)鏈投資合作合同4篇
- 2025年度農(nóng)業(yè)種植與農(nóng)產(chǎn)品溯源技術(shù)服務(wù)合同4篇
- 2024年安全教育培訓(xùn)試題附完整答案(奪冠系列)
- 神農(nóng)架研學(xué)課程設(shè)計(jì)
- 文化資本與民族認(rèn)同建構(gòu)-洞察分析
- 2025新譯林版英語七年級(jí)下單詞默寫表
- 【超星學(xué)習(xí)通】馬克思主義基本原理(南開大學(xué))爾雅章節(jié)測(cè)試網(wǎng)課答案
- 《錫膏培訓(xùn)教材》課件
- 斷絕父子關(guān)系協(xié)議書
- 福建省公路水運(yùn)工程試驗(yàn)檢測(cè)費(fèi)用參考指標(biāo)
- 2024年中國工業(yè)涂料行業(yè)發(fā)展現(xiàn)狀、市場(chǎng)前景、投資方向分析報(bào)告(智研咨詢發(fā)布)
- 自然科學(xué)基礎(chǔ)(小學(xué)教育專業(yè))全套教學(xué)課件
- 《工程勘察資質(zhì)分級(jí)標(biāo)準(zhǔn)和工程設(shè)計(jì)資質(zhì)分級(jí)標(biāo)準(zhǔn)》
評(píng)論
0/150
提交評(píng)論