版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、鄭州航空工業(yè)管理學(xué)院微機(jī)原理課程設(shè)計說明書 2013 級 電氣工程及其自動化 專業(yè) 1306971 班級題 目 判斷某一年是否為閏年 姓 名 李曉孟 學(xué)號 130697112 指導(dǎo)教師 王義琴 職稱 二一三 年 十二月 十二 日11 判斷某一年是否為閏年摘要:微機(jī)原理及接口技術(shù)是一門應(yīng)用性、綜合性、實踐性較強(qiáng)的課程,沒有實際的有針對性的設(shè)計環(huán)節(jié),我們就不能很好的理解和掌握所學(xué)的技術(shù)知識,更缺乏解決實際問題的能力。所以通過有針對性的課程設(shè)計,會使我們學(xué)會系統(tǒng)地綜合運用所學(xué)的理論知識,提高我們在微機(jī)應(yīng)用方面的開發(fā)與設(shè)計本領(lǐng),系統(tǒng)的掌握微機(jī)硬軟件設(shè)計方法。通過設(shè)計過程,要求我們熟悉掌握微機(jī)系統(tǒng)的軟件
2、、硬件設(shè)計的方法、設(shè)計步驟,使我們得到微機(jī)開發(fā)應(yīng)用方面的初步訓(xùn)練。關(guān)鍵詞:緩沖區(qū)、字符轉(zhuǎn)換、判斷閏年1、 判斷某一年是否為閏年的基本原理本設(shè)計是根據(jù)閏年的計算方法,利用匯編語言編寫的一個簡單的判斷閏年的程序。根據(jù)判斷閏年規(guī)則:如果某年能被4整除但不能被100整除或者該年能被400整除,則該年為閏年,否則不是閏年。在本程序運行后,只要從鍵盤輸入年份,通過程序計算后,觀察8255A并行接口發(fā)外設(shè)光二極管,亮表示為閏年,不亮表示不是閏年。2、 設(shè)計方案本設(shè)計中,我們利用DOS 21H中斷類型的10號鍵盤功能調(diào)用,將從鍵盤接收的年份數(shù)值型字符串按字節(jié)存入緩沖區(qū)。將字符串中的每個字符轉(zhuǎn)換為對應(yīng)的十進(jìn)制數(shù)
3、值(利用0-9這10個數(shù)的ASCII碼值比其本身大30H的關(guān)系),通過判斷某年是否為閏年的表達(dá)式,從8255A并行接口來控制LED發(fā)光二級管的亮滅。判斷某年是否為閏年的匯編語言的表達(dá)式為:(AX) MOD 4 EQ 0)AND(AX)MOD 100 NE 0))OR(AX)MOD 400 EQ 0)其中,(AX)中存放的是從鍵盤輸入的年份值。3、 硬件設(shè)計本課程設(shè)計中,設(shè)計采用的是8086CPU與外設(shè)之間通過8255A并行接口連接,通過控制外設(shè)發(fā)光二極管的亮與滅來判斷用戶輸入的年份是否為閏年。 8255A的引線結(jié)構(gòu)8255的引線結(jié)構(gòu)如圖2所示。共有40個引腳,其功能分別如下:D0D7:三態(tài)雙向
4、數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道,當(dāng)CPU 執(zhí)行輸入輸出指令時,通過它實現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。 RD:讀信號線,當(dāng)這個輸入引腳為低電平時,即RD=0且CS=0時,允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。CS:芯片選擇信號線,當(dāng)這個輸入引腳為低電平時,即CS=0時,表示芯片被選中,允許8255與CPU進(jìn)行通訊;CS=1時,8255無法與CPU做數(shù)據(jù)傳輸。PA0PA7:端口A輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個8位的數(shù)據(jù)輸入鎖存器。 PB0PB7:端口B輸入輸出線,一個8位的I/O鎖存器,
5、一個8位的輸入輸出緩沖器。 PC0PC7:端口C輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個8位的數(shù)據(jù)輸入緩沖器。端口C可以通過工作方式設(shè)定而分成2個4位的端口, 每個4位的端口包含一個4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號輸出或狀態(tài)信號輸入端口。RESET:復(fù)位輸入線,當(dāng)該輸入端處于高電平時,所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。 A1,A0:地址選擇線,用來選擇8255的PA口,PB口,PC口和控制寄存器。 當(dāng)A1=0,A0=0時,PA口被選擇; 當(dāng)A1=0,A0=1時,PB口被選擇; 當(dāng)A1=1,A0=0時,PC口被選擇; 當(dāng)
6、A1=1,A0=1時,控制寄存器被選擇;在本次課程設(shè)計當(dāng)中,設(shè)計采用的是8255A并行接口(即通過匯編指令)實現(xiàn)的。而LED的亮與滅是用8255A的A口控制的,工作在方式0,A口和B口均為輸出。端口地址為2A8H2ABH。并行接口是以數(shù)據(jù)的字節(jié)為單位與I/O設(shè)備或被控制對象之間傳遞信息。CPU和接口之間的數(shù)據(jù)傳送總是并行的,即可以同時傳遞8位、16位、32位等。8255可編程外圍接口芯片是Intel公司生產(chǎn)的通用并行I/O接口芯片,它具有A、B、C三個并行接口,用+5V單電源供電,能在以下三種方式下工作:方式0-基本輸入/出方式、方式1-選通輸入/出方式、方式2-雙向選通工作方式。8086與8
7、255A的系統(tǒng)連接圖如圖1所示,8255的內(nèi)部結(jié)構(gòu)及引腳如圖2所示,8255工作方式控制字和C口按位置位/復(fù)位控制字格式如圖3所示。 圖1 8086CPU與8255A的連線圖 圖2 8255的內(nèi)部結(jié)構(gòu)及引腳 76543210控制C口低4位1:輸入0:輸出控制B口8位1:輸入0:輸出方式選擇0:方式01:方式1控制C口高4位0:輸出1:輸入控制A口8位0:輸出1:輸入方式選擇00:方式001:方式11X:方式2 功能控制0:位操作1:方式選擇0XXXD3D2D1D0置位/復(fù)位 0:復(fù)位 1:置置端口C的位選擇 PC0 0 0 0 PC1 0 0 0 PC2 0 0 0 PC3 0 0 0 PC4
8、 0 0 0 PC5 0 0 0 PC6 0 0 0 PC7 0 0 0標(biāo)志位 無關(guān) 圖3 8255工作方式控制字和C口按位置位/復(fù)位控制字格式4、 軟件設(shè)計 1. 設(shè)計方案閏年計算程序流程圖所示,程序開始運行以后,首先屏幕輸出提示語,提示用戶輸入一個年份。用戶輸入年份后,程序?qū)⑤斎氲淖址D(zhuǎn)換為數(shù)值。設(shè)計利用乘法的操作,實現(xiàn)字符之間的10倍數(shù)值轉(zhuǎn)換關(guān)系。將年份字符轉(zhuǎn)換成數(shù)值后,則進(jìn)行是否是閏年的判斷。首先將年份除以4,若不能整除,則判斷為不是閏年,通過8255A并行接口連接的外設(shè),讓LED不亮,并提示用戶是否繼續(xù)下一個年份的判斷,如果用戶輸入n則表示不需要繼續(xù),程序?qū)⑼顺?,否則繼續(xù)下一個年份的
9、判斷;若能整除4,則該年份將繼續(xù)除以100,若不能整除,則判斷為是閏年,通過8255A并行接口連接的外設(shè),讓LED亮,并提示用戶是否繼續(xù)下一個年份的判斷,若不需要繼續(xù),程序?qū)⑼顺?,否則繼續(xù)下一個年份的判斷;若能整除100,則該年份將繼續(xù)除以400,若能整除,則判斷為是閏年,通過8255A并行接口連接的外設(shè),讓LED亮,并提示用戶是否繼續(xù)下一個年份的判斷,若不需要繼續(xù),程序?qū)⑼顺?,否則繼續(xù)下一個年份的判斷;若不能整除400,則判斷為不是閏年,通過8255A并行接口連接的外設(shè),讓LED不亮,并提示用戶是否繼續(xù)下一個年份的判斷,若不需要繼續(xù),程序?qū)⑼顺?,否則繼續(xù)下一個年份的判斷。2. 設(shè)計流程圖 開
10、始 輸入年份年份除以4是否整除 否 是年份除以100 是否整除 否 年份除以400 是是否整除 否 是 不是閏年 是閏年 LED滅 LED亮 3.代碼段定義:代碼段需要定義欲顯示的字符串,且字符串以$作為結(jié)束標(biāo)志,還需定義欲輸入字符串的緩沖區(qū),緩沖區(qū)的第一個字節(jié)存放能保存的最大字符數(shù),第二個字節(jié)存放實際輸入的字符數(shù),用戶從鍵盤輸入的字符從第三個字節(jié)開始存放,直到用戶輸入回車鍵為止。 本設(shè)計代碼段定義如下: DATAS SEGMENT MAXLEN DB 5 ACTLEN DB ? YEAR DB 4 DUP(?) YEARALL DW 0 NUM400 DW 400 NUM100 DW 100
11、 NUM4 DW 4 NUMMUL DW 1000,100,10,1 MESSAGE1 DB 'please input the year',13,10,'$' DATAS ENDS4. 8255A初始化:MOV AL,80HMOV DX,2ABHOUT DX,AL5.提示語顯示:利用DOS 21H中斷類型09號鍵盤功能調(diào)用,在屏幕輸出提示用戶輸入年份的提示。首先,將要顯示的字符串放在內(nèi)存數(shù)據(jù)區(qū)中,本設(shè)計提示語顯示程序代碼如下:MOV AH,09H ;輸出MOV DX,OFFSET MESSAGE1INT 21H 6.字符串輸入:利用DOS 21H中斷類型的10
12、號鍵盤功能調(diào)用,將從鍵盤接收的表示年份數(shù)值的字符串按字節(jié)存儲緩沖區(qū)。首先,應(yīng)在內(nèi)存中建立一個輸入緩沖區(qū),如inbuff db 5,?,5 dup(?)。本設(shè)計字符串輸入程序代碼如下: MOV AH,0AH ;字符串輸入 LEA DX,MAXLEN INT 21H7.數(shù)制轉(zhuǎn)換:利用0-9這10個數(shù)的ASCII碼值比其本身大30H的關(guān)系,將字符串中的每個字符轉(zhuǎn)換為對應(yīng)的十進(jìn)制數(shù)值。本設(shè)計數(shù)制轉(zhuǎn)換程序代碼如下: MOV CX,4 MOV SI,0 MOV DI,0 MOV YEARALL,0 NEXT: MOV AL,YEARSI SUB AL,30H CBW MUL NUMMULDI ADD YE
13、ARALL,AX INC SI ADD DI,2 LOOP NEXT8.是否為閏年的判斷:利用判斷某年是否為閏年的表達(dá)式,輸出該年是否為閏年的信息。 MOV DX,0 MOV AX,YEARALL DIV NUM4 CMP DX,0 JNZ NOCONTINUE: MOV DX,0 MOV AX,YEARALL DIV NUM100 CMP DX,0 JNZ YES MOV DX,0 MOV AX,YEARALL DIV NUM400 CMP DX,0 JZ YES9.8255A外設(shè)LED控制:利用8255A并行接口,外接LED發(fā)光二極管,通過8255輸出,在LED接口地址上,讓其在1的時候亮
14、,在0的時候滅。YES: MOV AH,1 OUT 2ABH,AL JMP DONE NO: MOV AH,0 OUT 2ABH,AL JMP DONE 10.源程序: DATAS SEGMENT MAXLEN DB 5 ACTLEN DB ? YEAR DB 4 DUP(?) YEARALL DW 0 NUM400 DW 400 NUM100 DW 100 NUM4 DW 4 NUMMUL DW 1000,100,10,1 MESSAGE1 DB 'please input the year',13,10,'$' DATAS ENDS STACKS SEGME
15、NT ;此處輸入堆棧段代碼 STACKS ENDS CODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS MAIN PROC FAR START: PUSH DS SUB AX,AX PUSH AX MOV AX,DATAS MOV DS,AX MOV AL,80H ;8255A初始化 MOV DX,2ABH OUT DX,AL POP DX POP AX MOV AH,09H ;輸出 MOV DX,OFFSET MESSAGE1 INT 21H MOV AH,0AH ;字符串輸入 LEA DX,MAXLEN INT 21H MOV CX,4 MOV
16、 SI,0 MOV DI,0 MOV YEARALL,0 NEXT: MOV AL,YEARSI SUB AL,30H CBW MUL NUMMULDI ADD YEARALL,AX INC SI ADD DI,2 LOOP NEXT MOV DX,0 MOV AX,YEARALL DIV NUM4 CMP DX,0 JNZ NO CONTINUE: MOV DX,0 MOV AX,YEARALL DIV NUM100 CMP DX,0 JNZ YES MOV DX,0 MOV AX,YEARALL DIV NUM400 CMP DX,0 JZ YES YES: MOV AL,1 OUT 2A
17、BH,AL ;LED亮 JMP DONE NO: MOV AL,0 OUT 2ABH,AL ;LED滅 JMP DONE DONE: MOV AH,4CH INT 21H MAIN ENDP CODES ENDS END START五、結(jié)論通過這兩周的微機(jī)原理與接口技術(shù)課程設(shè)計實驗,我對這學(xué)期微機(jī)原理與接口技術(shù)原理的知識有了更進(jìn)一步的認(rèn)識,經(jīng)過這次課程設(shè)計的學(xué)習(xí),我們才通過各方面途徑去查取相關(guān)資料,去自學(xué)相關(guān)知識,去一個個逐步消解我們學(xué)習(xí)上的盲點,使我受益匪淺,收獲頗多,但從中也發(fā)現(xiàn)了自己許多的不足和需要改進(jìn)的地方。首先,就要把握整個的設(shè)計的大概的流程,然后再對每一個分快進(jìn)行設(shè)計,本次設(shè)計這一
18、點沒有做好,在設(shè)計當(dāng)中做了不少無用功,其次在設(shè)計的過程中,很重要的一點是要熟悉可編程并行通信接口芯片8255的初始化及其端口的使用。通過本次課程設(shè)計,我的實際操作能力和設(shè)計能力都得到了一定的提高,但理論與實踐之間永遠(yuǎn)是存在著一定差距的,要把理論知識充分靈活地運用于實踐是需要一定的實踐經(jīng)驗和牢固的理論基礎(chǔ),希望以后能有更多這樣的實踐的機(jī)會,讓自己不斷完善和進(jìn)步。 六、參考文獻(xiàn)1 余春暄.80x86/Pentium微機(jī)原理及接口技術(shù).北京:機(jī)械工程出版 社,20082 張榮標(biāo).微型計算機(jī)原理與接口技術(shù).北京:機(jī)械工業(yè)出版社,20083 王爽.匯編語言.北京:清華大學(xué)出版社,20084 楊季文.80x86匯編語言程序設(shè)計教程.北京:清華大學(xué)出版社,2006 5 李敬兆, 8086/8088和arm核匯編語言程序設(shè)計 中國科技大學(xué)出版社, 2008 6 張光長,匯編語言程序設(shè)計:北京大學(xué)出版社,2009.7設(shè)計總結(jié):兩個星期的課程設(shè)計結(jié)束了,在這段時間里,我們做這個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度學(xué)生公寓租賃合同張紙
- 二零二五年度企業(yè)電子版就業(yè)協(xié)議書-高校畢業(yè)生入職服務(wù)合同
- 2025年度黃金回收與貴金屬投資咨詢合同
- 2025年度化妝品銷售提成及渠道建設(shè)合同
- 二零二五年度特色農(nóng)家樂經(jīng)營權(quán)轉(zhuǎn)讓合同2篇
- 二零二五版存單質(zhì)押擔(dān)保股權(quán)投資基金合同4篇
- 二零二五電商快遞智能分揀系統(tǒng)采購合同4篇
- 二零二五年度梅州房產(chǎn)買賣風(fēng)險評估合同
- 二零二五年度電子商務(wù)平臺運營維護(hù)居間合同范本3篇
- 二零二五年度私人房產(chǎn)買賣合同產(chǎn)權(quán)過戶流程
- 股權(quán)架構(gòu)完整
- 山東省泰安市2022年初中學(xué)業(yè)水平考試生物試題
- 注塑部質(zhì)量控制標(biāo)準(zhǔn)全套
- 人教A版高中數(shù)學(xué)選擇性必修第一冊第二章直線和圓的方程-經(jīng)典例題及配套練習(xí)題含答案解析
- 畢業(yè)設(shè)計(論文)-液體藥品灌裝機(jī)的設(shè)計與制造
- 銀行網(wǎng)點服務(wù)禮儀標(biāo)準(zhǔn)培訓(xùn)課件
- 二年級下冊數(shù)學(xué)教案 -《數(shù)一數(shù)(二)》 北師大版
- 晶體三極管資料
- 銀行內(nèi)部舉報管理規(guī)定
- 石群邱關(guān)源電路(第1至7單元)白底課件
- 平面幾何強(qiáng)化訓(xùn)練題集:初中分冊數(shù)學(xué)練習(xí)題
評論
0/150
提交評論