微機(jī)原理課程設(shè)計(jì).doc_第1頁(yè)
微機(jī)原理課程設(shè)計(jì).doc_第2頁(yè)
微機(jī)原理課程設(shè)計(jì).doc_第3頁(yè)
微機(jī)原理課程設(shè)計(jì).doc_第4頁(yè)
微機(jī)原理課程設(shè)計(jì).doc_第5頁(yè)
已閱讀5頁(yè),還剩20頁(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)介

北京科技大學(xué)微機(jī)原理及接口技術(shù)課程設(shè)計(jì)說(shuō)明書(shū)前言微機(jī)原理與接口技術(shù)是計(jì)算機(jī)、電子類專業(yè)的專業(yè)基礎(chǔ)課。在課程體系種占有重要的位置。課程設(shè)計(jì)的目的是配合平時(shí)的教學(xué)和實(shí)驗(yàn),以達(dá)到鞏固和消化課堂教學(xué)內(nèi)容,進(jìn)一步加強(qiáng)綜合應(yīng)用能力,啟發(fā)創(chuàng)新思維的目的。是培養(yǎng)學(xué)生綜合素質(zhì),提高動(dòng)手能力,提高發(fā)現(xiàn)問(wèn)題和解決問(wèn)題能力的重要階段。本次微機(jī)原理與接口技術(shù)課程設(shè)計(jì)報(bào)告共分為三章。第一章總體設(shè)計(jì)思路,根據(jù)設(shè)計(jì)目的與要求提出設(shè)計(jì)思路;第二章硬件設(shè)計(jì),對(duì)所用芯片及連接方法進(jìn)行介紹;第三章軟件設(shè)計(jì),畫(huà)出程序流程圖,并用8086/8088匯編語(yǔ)言進(jìn)行編程實(shí)現(xiàn)功能,列出帶有注釋的代碼清單,完成全部設(shè)計(jì)。作為學(xué)生,由于經(jīng)驗(yàn)水平有限,在進(jìn)行設(shè)計(jì)以及完成報(bào)告的過(guò)程中難免會(huì)不足和錯(cuò)漏之處,還懇請(qǐng)指導(dǎo)老師給予批評(píng)和指正。- 2 -目錄前言1課程設(shè)計(jì)任務(wù)書(shū)11 總體設(shè)計(jì)21.1基本工作原理21.2硬件總體設(shè)計(jì)21.2.1系統(tǒng)總成方案21.2.2 內(nèi)存單元編址21.2.3鍵盤(pán)及顯示功能的定義21.3軟件總體設(shè)計(jì)21.3.1存儲(chǔ)單元的分配、標(biāo)志位的含義21.3.2主程序框圖32 硬件設(shè)計(jì)42.1系統(tǒng)所選用各芯片的介紹52.1.1中斷優(yōu)先級(jí)管理器8259A52.1.2可編程并行接口接口芯片8255A72.1.3可編程定時(shí)器/計(jì)數(shù)器825382.2系統(tǒng)所選用各芯片的工作方式3592.2.1中斷優(yōu)先級(jí)管理器8259A的工作方式92.2.2可編程并行接口接口芯片8255A的工作方式102.2.3可編程定時(shí)器計(jì)數(shù)器8253的工作方式102.3系統(tǒng)所選用各芯片的連接102.3.1各芯片與CPU的連接102.3.2各芯片之間的連接和與外設(shè)的連接113 軟件設(shè)計(jì)123.1子程序的流程圖123.2子程序清單(帶有注釋)13小 結(jié)15參 考 文 獻(xiàn)16課 程 設(shè) 計(jì) 圖 紙17程 序 清 單18北京科技大學(xué)微機(jī)原理及接口技術(shù)課程設(shè)計(jì)說(shuō)明書(shū)課程設(shè)計(jì)任務(wù)書(shū)課程設(shè)計(jì)內(nèi)容:設(shè)計(jì)一個(gè)具有8路搶答的搶答器,利用并行接口和開(kāi)關(guān)鍵。邏輯開(kāi)關(guān)K0K7代表?yè)尨鸢粹o,當(dāng)某個(gè)邏輯開(kāi)關(guān)閉合時(shí),相當(dāng)于搶答按鈕按下,此時(shí)在七段數(shù)碼管上將其號(hào)碼顯示出來(lái),并使喇叭響一聲。課程設(shè)計(jì)目標(biāo):?jiǎn)?dòng)計(jì)算機(jī),計(jì)算機(jī)自動(dòng)為系統(tǒng)各芯片進(jìn)行初始化,搶答器開(kāi)始工作。比賽開(kāi)始,在主持人按下開(kāi)始鍵,綠燈亮后,選手才可開(kāi)始搶答,否則違規(guī)。若選手搶答成功,LED顯示器顯示選手號(hào)碼,揚(yáng)聲器鳴叫。若選手搶答違規(guī)(主持人未按開(kāi)始鍵),LED顯示器顯示違規(guī)選手號(hào)碼,紅燈亮,揚(yáng)聲器報(bào)警,并根據(jù)比賽規(guī)則進(jìn)行對(duì)該選手進(jìn)行扣分。若系統(tǒng)提示某號(hào)選手搶答違規(guī),主持人仍未按開(kāi)始鍵,此時(shí)該號(hào)選手又按下?lián)尨疰I,LED顯示器顯示該選手的號(hào)碼。本系統(tǒng)開(kāi)機(jī)后,若主持人既未按復(fù)位鍵又未按開(kāi)始鍵,此時(shí)有選手按下?lián)尨疰I,系統(tǒng)提示紅燈亮,并報(bào)警。注:1)搶答成功,揚(yáng)聲器的鳴叫聲音頻率為1KHz(1.5KHz)。2)搶答失敗,揚(yáng)聲器的鳴叫聲音頻率為0.5KHz(1KHz)。3)揚(yáng)聲器鳴叫或報(bào)警的時(shí)間為12s(10s)。進(jìn)度安排:2012年8月13日至2012年8月16日 明確課程設(shè)計(jì)要求及內(nèi)容,準(zhǔn)備相關(guān)資料2012年8月17日至2012年8月19日 設(shè)計(jì)總體思路,熟悉芯片的相關(guān)知識(shí),完成硬件設(shè)計(jì)并撰寫(xiě)課程設(shè)計(jì)說(shuō)明書(shū)2012年8月20日至2012年8月22日 在完成硬件設(shè)計(jì)的基礎(chǔ)上使用匯編語(yǔ)言來(lái)實(shí)現(xiàn)相應(yīng)的功能并撰寫(xiě)課程設(shè)計(jì)說(shuō)明書(shū)2012年8月22日至2012年8月24日 完成整個(gè)課程設(shè)計(jì)任務(wù)及課程設(shè)計(jì)說(shuō)明書(shū),實(shí)現(xiàn)相關(guān)功能1總體設(shè)計(jì)1.1基本工作原理主持人按開(kāi)始鍵,綠燈這后,選手才可搶答,否則違規(guī)。若搶答成功,LED顯示器顯示選手號(hào)碼,黃燈亮,揚(yáng)聲器鳴叫;若搶答違規(guī)(主持人示按開(kāi)始鍵),LED顯示器顯示違規(guī)選手號(hào)碼,紅燈亮,揚(yáng)聲器報(bào)警。1.2硬件總體設(shè)計(jì)1.2.1系統(tǒng)總成方案該競(jìng)賽搶答器所要器件:中斷優(yōu)先級(jí)管理器8259A、可編程并行接口接口芯片8255、可編程定時(shí)器計(jì)數(shù)器8253,三個(gè)一樣的驅(qū)動(dòng)器,黃、紅、綠三個(gè)發(fā)光二極管,十三個(gè)電阻,一個(gè)8輸入與非門(mén),一個(gè)非門(mén),一個(gè)揚(yáng)聲器,一個(gè)LED顯示器,10個(gè)按鍵。1.2.2 內(nèi)存單元編址(1)中斷優(yōu)先級(jí)管理器8259A的端口地址為20H、21H(2)可編程并行接口接口芯片8255A的端口地址為80H、81H、82H、83H(3)可編程定時(shí)器計(jì)數(shù)器8253的端口地址為40H、41H、42H、43H1.2.3鍵盤(pán)及顯示功能的定義10個(gè)按鍵中,一個(gè)開(kāi)始鍵一個(gè)復(fù)位鍵,另外8個(gè)用做8位選手的搶答按鍵。揚(yáng)聲器用與黃、紅、綠三個(gè)發(fā)光二極管配合使用,黃燈亮揚(yáng)聲器鳴叫表示搶答成功,紅燈亮揚(yáng)聲報(bào)警表示搶答違規(guī)報(bào)警,綠燈亮揚(yáng)聲器不鳴則表示主持人已按下開(kāi)始鍵。LED顯示器顯示的內(nèi)容與選手號(hào)對(duì)應(yīng),搶答成功或違規(guī)都要顯示。1.3軟件總體設(shè)計(jì)1.3.1存儲(chǔ)單元的分配、標(biāo)志位的含義(1)定義一個(gè)TAB變量用來(lái)存儲(chǔ)19的字形碼信息,如下表LED的管腳對(duì)應(yīng)的字形對(duì)應(yīng)存放在內(nèi)存單元的字形碼dp、g、f、e 、d、c、b、a0 0 0 0 0 1 1 00 1 0 1 1 0 1 10 1 0 0 1 1 1 10 1 1 0 0 1 1 00 1 1 0 1 1 0 10 1 1 1 1 1 0 00 0 0 0 0 1 1 10 1 1 1 1 1 1 10 1 1 0 1 1 1 112345678906H5BH4FH66H6DH7CH07H7FH6FH表1.1 19的字形碼信息(2)、定義一個(gè)BZ變量作為標(biāo)志位,用來(lái)選手搶答是否違規(guī),BZ=0FFH時(shí)表示主持人已經(jīng)按下開(kāi)始鍵選手可以搶答,BZ=00H表示主持人未按下開(kāi)始按鍵,選手不可以搶答。1.3.2主程序框圖2 硬件設(shè)計(jì)2.1系統(tǒng)所選用各芯片的介紹2.1.1中斷優(yōu)先級(jí)管理器8259A(1)8259A內(nèi)部結(jié)構(gòu)1:8259A采用NMOS工藝制成,有28根引腳,所有輸入、輸出端與TTL電平兼容,單一電源(Vcc=+5V)供電。8259的內(nèi)部主要組成部分,包括處理部件(中斷請(qǐng)求寄存器IRR、優(yōu)先級(jí)鑒別器PR及現(xiàn)行服務(wù)寄存器ISR)、控制部件(控制邏輯及中斷屏蔽寄存器IMR)、數(shù)據(jù)總路線緩沖器、讀/寫(xiě)邏輯以及級(jí)聯(lián)緩沖器/比較器等5個(gè)部分。(2)8259A主要的外部引腳:D0D7:雙向數(shù)據(jù)線,CPU與8259間利用這個(gè)數(shù)據(jù)總路線傳送數(shù)據(jù)及命令。:寫(xiě)控制輸入信號(hào),同控制總路線上的 信號(hào)相連。:讀控制輸入信號(hào),同控制總路線上的信號(hào)相連。A0:地址選擇信號(hào),用來(lái)對(duì)8259A內(nèi)部的兩個(gè)可編程寄存器進(jìn)行選擇。:片選輸入信號(hào),低電平有效。有郊時(shí)可通過(guò)數(shù)據(jù)總路線設(shè)置命令并對(duì)內(nèi)部寄存器進(jìn)行讀出。當(dāng)進(jìn)入中斷響應(yīng)時(shí)序時(shí),該引腳狀態(tài)與進(jìn)行的處理無(wú)關(guān)。INT:由8259A向CPU發(fā)出的中斷請(qǐng)求信號(hào)。:輸入信號(hào),接收CPU送來(lái)的中斷響應(yīng)信號(hào)INTA。IR0IR7:8個(gè)中斷請(qǐng)求輸入信號(hào),高電平或上升沿有效。用于接收外設(shè)接口來(lái)的中斷請(qǐng)求。(3)8259A工作方式優(yōu)先級(jí)設(shè)置方式:全嵌套方式(固定優(yōu)先級(jí)方式)、特殊全嵌套方式(可響應(yīng)同級(jí)中斷方式)、輪轉(zhuǎn)優(yōu)先級(jí)方式、特殊輪轉(zhuǎn)優(yōu)先級(jí)方式。中斷源屏蔽方式:普通屏蔽方式、特殊屏蔽方式。中斷結(jié)束方式:中斷自動(dòng)結(jié)束方式、中斷非自動(dòng)結(jié)束方式(包括一般中斷結(jié)束方式、特殊中斷結(jié)束方式)。系統(tǒng)總路線連接方式:緩沖方式、非緩沖方式。中斷請(qǐng)求信號(hào)觸發(fā)方式:邊沿觸發(fā)方式、電平觸發(fā)方式。(4)8259A初始化控制字格式2ICW1(芯片控制字)D7 D6 D5D4D3D2D1D00 0 0特征位1觸發(fā)方式0 邊沿觸發(fā)1 電平觸發(fā)0單片選擇信號(hào)0 多片8259級(jí)聯(lián)1 單片8259是不要ICW40 不要(8080/8085)1 要(80X86)ICW2(中斷類型碼控制字,D7D3設(shè)置中斷類型碼)D7D6D5D4D3D2D1D0000ICW3(主片,級(jí)聯(lián)時(shí)才用設(shè)置,各位為1則表示接有從片)D7D6D5D4D3D2D1D0IR7IR6IR5IR4IR3IR2IR1IR0表2.1 8259A初始化控制字格式ICW3(從片,級(jí)聯(lián)時(shí)才用設(shè)置)D7D6D5D4D3D2 D1 D000000ID2 ID1 ID0 從片INT接于主片 的引腳0 0 0 IR00 0 1 IR1 1 1 1 IR7ICW4(方式控制字)D7 D6 D5D4D3D2D1D00 0 0嵌套方式0 全嵌套方式1特殊全嵌套方式緩沖方式0非緩沖方式1緩沖方式緩沖方式下0本片為從片1本片為主片中斷結(jié)束方式0中斷非自動(dòng)結(jié)束1中斷自動(dòng)結(jié)束系統(tǒng)類型0 8080/80851 80X86表2.2 8259A初始化控制字格式(5)8259A操作命令字格式OCW0(中斷屏蔽字,各位為1則被屏蔽)D7D6D5D4D3D2D1D0IR7IR6IR5IR4IR3IR2IR1IR0OCW1(輪轉(zhuǎn)優(yōu)先級(jí)和中斷結(jié)束字)D7D6D5D4 D3D2 D1 D0輪轉(zhuǎn)位0 非輪轉(zhuǎn)1 輪轉(zhuǎn)選擇標(biāo)志位0 L2L0無(wú)效1 L2L0有效中斷結(jié)束位0 非中斷結(jié)束1 中斷結(jié)束特征位00標(biāo)志位000 IR0 優(yōu)先級(jí)最低001 IR1 優(yōu)先級(jí)最低OCW2(特殊屏蔽、查詢和狀態(tài)讀取字)D7D6D5D4 D3D2D1D00特殊屏蔽方式允許位0 禁止特殊屏蔽方式1 允許特殊屏蔽方式特殊屏蔽方式位0 非特殊屏蔽方式1 特殊屏蔽方式特征位01中斷查詢位0非中斷查詢1中斷查詢讀寄存器0 禁止讀1 允許讀0讀IRR1讀ISR表2.3 8259A操作命令字格式2.1.2可編程并行接口接口芯片8255A(1)8255A內(nèi)部結(jié)構(gòu)1:8255A芯片是一個(gè)采用NMOS工藝制造的40引腳雙列直插式(DIP)封裝組件。8255A有3個(gè)8位數(shù)據(jù)端口,即A口、B口及C口,它們都可以分別作為輸入口或輸出口使用;A組控制與B組控制;讀/寫(xiě)控制邏輯;數(shù)據(jù)總路線緩沖器。(2)8255A主要的外部引腳PA7PA0:A口的8條I/O線。8條線只能同時(shí)作為輸入或輸出,不能分開(kāi)使用,可設(shè)置成雙向口,也只有A口允許這樣做。PB7PB0:B口的8條I/O線。不可以設(shè)置成雙向口,其它和A口一樣。PC7PC0:C口的8條I/O線。不可以設(shè)置成雙向口,但它可以分拆為兩組即高4位和低4位,這兩組可以任意設(shè)置為輸入或輸出。除了作為獨(dú)立的I/O線外,C口還經(jīng)常為A口、B口服務(wù),配合A口、B口作聯(lián)絡(luò)線使用。A1、A0:端口地址選擇信號(hào)。用于選擇8255A的3個(gè)數(shù)據(jù)端口和一個(gè)控制口。當(dāng)A1A0=00時(shí),選擇端口A;為01時(shí),選擇端口B;為10,選擇端口C;為11時(shí),選擇控制口。(3)8255A工作方式方式0:基本的輸入/輸出方式。A口、B口、C口都可以工作在些方式下。方式1:選通輸入/輸出方式(應(yīng)答方式)。A口、B口工作在此方式下。方式2:雙向傳輸方式。只有A口可以工作在此方式下。(4)8255A方式控制字格式2 D7D6、D5D4D3D2D1D01A口A口C口高4位B口B口C口低4位00 方式001 方式11x 方式20 輸出1 輸入0 輸出1 輸入0方式01方式10 輸出1 輸入0 輸出1 輸入表2.4 8255A方式控制字格式2.1.3可編程定時(shí)器/計(jì)數(shù)器8253(1)8253的內(nèi)部結(jié)構(gòu)1:8253采用NMOS工藝制成,有24個(gè)引腳,所有輸入、輸出端均TTL電平兼容,單一電源(Vcc=+5V)供電,最高計(jì)數(shù)速率為2.6MHz。它包括3個(gè)計(jì)數(shù)器(即計(jì)數(shù)器0、1、2)、數(shù)據(jù)總路線緩沖器、讀寫(xiě)邏輯以及控制寄存器等4個(gè)部分。(2)8253的外部引腳A1、A0:地址輸入線,用來(lái)址8253內(nèi)部的4個(gè)端口,即3個(gè)計(jì)數(shù)器和1個(gè)控制字寄存器與CPU系統(tǒng)地址線相連。CLK0、CLK1、CLK2:時(shí)鐘脈沖輸入端,用于輸入定時(shí)脈沖或計(jì)數(shù)脈沖信號(hào)。CLK可以是系統(tǒng)的時(shí)鐘脈沖,也可以由系統(tǒng)時(shí)鐘分頻或者其他脈沖源提供。當(dāng)用于定時(shí)時(shí),這個(gè)脈沖必須是均勻的、連續(xù)的、周期精確的,而用于計(jì)數(shù)時(shí),這個(gè)脈沖可以是不均勻的、斷續(xù)的、周期不定的。GATE0、GATE1、GATE3:門(mén)控輸入端,用于外部控制計(jì)數(shù)器的啟動(dòng)計(jì)數(shù)和停止計(jì)數(shù)的操作。兩個(gè)或兩個(gè)以上計(jì)數(shù)器連用時(shí),可用此信號(hào)同步,也可用于與外部某信號(hào)的同步。OUT0、OUT1、OUT2:計(jì)數(shù)輸出,當(dāng)計(jì)數(shù)器從初值開(kāi)始完成計(jì)數(shù)操作進(jìn),OUT引腳輸出相應(yīng)的信號(hào)。(3)8253的工作方式方式0:減1計(jì)數(shù)到0,產(chǎn)生中斷請(qǐng)求信號(hào)。方式1:減1計(jì)數(shù)到0,產(chǎn)生可重復(fù)觸發(fā)的單穩(wěn)態(tài)負(fù)脈沖信號(hào)。方式2:減1計(jì)數(shù)到1,分頻器(速率信號(hào)發(fā)生器)。方式3:減1計(jì)數(shù)到初值的1/2,方波發(fā)生器。方式4:減1計(jì)數(shù)到0,軟件觸發(fā)產(chǎn)生選通負(fù)脈沖信號(hào)。方式5:減1計(jì)數(shù)到0,硬件觸發(fā)產(chǎn)生選通負(fù)脈沖信號(hào)。(4)8253方式控制字格式2表2.5 8253方式控制字格式D7 D6D5 D4D3 D2 D1D000 選計(jì)數(shù)器001 選計(jì)數(shù)器110 選計(jì)數(shù)器200 計(jì)數(shù)器鎖存01 只讀寫(xiě)低8位10 先讀寫(xiě)高8位11 先讀寫(xiě)低8位再讀寫(xiě)高8位000 方式0001 方式1X10 方式2X11 方式3100 方式4101 方式50 二進(jìn)制計(jì)數(shù)1 BCD計(jì)數(shù)2.2系統(tǒng)所選用各芯片的工作方式352.2.1中斷優(yōu)先級(jí)管理器8259A的工作方式(1)、芯片控制ICW1:采用邊沿觸發(fā),單片8259,要寫(xiě)入ICW4控制字(2)、中斷類型碼ICW2:設(shè)置IR0IR7的中斷類型碼依次為08H、09H、0FH(3)、方式控制ICW4:優(yōu)先級(jí)設(shè)置方式為全嵌套方式即固定優(yōu)先級(jí)方式,系統(tǒng)總線連接方式為主片工作在緩沖方式下,中斷結(jié)束方式采用中斷非自動(dòng)結(jié)束方式,8259工作在80X86系統(tǒng)上。2.2.2可編程并行接口接口芯片8255A的工作方式(1)、A口工作在方式0,做為輸入端口用于連接選手按鍵(PA7PA0依次對(duì)應(yīng)按鍵18);(2)、B口工作在方式0,做為輸出端口,經(jīng)驅(qū)動(dòng)器1連接LED顯示器(PB7PB0依次對(duì)應(yīng)連接LED顯示器的dp、g、f、e、d、c、b、a七段數(shù)碼管管腳);(3)、C口也必須工作在方式0,高4 位做輸入端口(本次設(shè)計(jì)中只用PC4、PC5,分別用于連接復(fù)位鍵和開(kāi)始鍵),低4位做輸出端口(PC3PC0,經(jīng)驅(qū)動(dòng)器2后PC1、PC2、PC3分別用于連接黃、紅、綠三個(gè)發(fā)光二極管,PC0連接到8253的GATE1端,以控制通道1的計(jì)數(shù))。2.2.3可編程定時(shí)器計(jì)數(shù)器8253的工作方式(1)、通道0:操作類型為先讀寫(xiě)低字節(jié)再讀寫(xiě)高字節(jié),工作在方式3即方波發(fā)生器,計(jì)數(shù)格式為BCD碼,計(jì)數(shù)初值為0。(2)、通道1:操作類型為先讀寫(xiě)低字節(jié)再讀寫(xiě)高字節(jié),工作在方式1即可重觸發(fā)的單穩(wěn)態(tài)觸發(fā)器,計(jì)數(shù)格式為BCD碼,計(jì)數(shù)初值為0。(3)、通道2:操作類型為先讀寫(xiě)低字節(jié)再讀寫(xiě)高字節(jié),工作在方式3即方波發(fā)生器,計(jì)數(shù)格式為BCD碼,計(jì)數(shù)初值為0。2.3系統(tǒng)所選用各芯片的連接2.3.1各芯片與CPU的連接8259A、8255A、8253的數(shù)據(jù)總線D7D0端、端、端、端、端、INT端分別與CPU的D7D0數(shù)據(jù)總線、片選端、端、端、端、INTR端。8255A、8253的A1、A0端分別接入CPU地址線的A1、A0端,8259的A0端接到CPU地址線的A0端;2.3.2各芯片之間的連接和與外設(shè)的連接8259A的IR2端接選手按鍵信息輸出端;8255A的A口的PA7PA0依次接“按鍵1”“按鍵8”,B口的PB7PB0通過(guò)驅(qū)動(dòng)器1接到LED顯示器,C口的PC4、PC5分別接復(fù)位鍵和開(kāi)始鍵,PC3、PC2、PC1經(jīng)驅(qū)動(dòng)器2分別接綠燈發(fā)光二極管、紅燈發(fā)光二極管、黃燈發(fā)光二極管,PC0接到8253的GATE1端;8253的GATE0端接+5V電壓,OUT0的輸出接入CLK1端,OUT1的輸出經(jīng)反相器后接入GATE2端,CLK0和CLK1接入1MHz的頻率發(fā)生器,CLK2經(jīng)驅(qū)動(dòng)器3接揚(yáng)聲器。3 軟件設(shè)計(jì)3.1子程序的流程圖開(kāi)始保護(hù)現(xiàn)場(chǎng),將各寄存器值壓入堆棧本次中斷壓入堆棧中,并置IF=0關(guān)閉中斷設(shè)置循環(huán)次數(shù)為8次將AL中的值邏輯右移1位從8255的A端口獲取選手按鍵信息,并將其值取反判斷CX是否為0或ZF是否為1獲取選手號(hào)碼,并將值傳給AX通過(guò)XLAT指令將選手號(hào)轉(zhuǎn)換成LED顯示相應(yīng)的字形碼將轉(zhuǎn)換好的字形碼值傳給8255的B端口判斷標(biāo)志位是否為FFH置8253 通道2計(jì)數(shù)值將黃燈點(diǎn)亮,搶答成功,揚(yáng)聲器鳴叫置8253 通道2計(jì)數(shù)值將紅燈點(diǎn)亮,搶答違規(guī),揚(yáng)聲器報(bào)警給8259發(fā)中斷結(jié)束命令中斷返回NYYN圖3.1 子程序流程圖3.2子程序清單(帶有注釋)45;中斷服務(wù)子程序KEYINTPROCFARPUSHAX ;保護(hù)現(xiàn)場(chǎng)PUSHBXPUSH DXPUSHDSCLI;并使本次中斷壓入堆棧中的IF=0;(關(guān)中斷)INAL,80H;從8255的A口獲取選手按鍵信息NOTAL ;將按鍵字節(jié)信息取反MOVCX,8 ;計(jì)數(shù)8次LOP4:SHRAL , 1;獲取選手號(hào)碼LOOPNZ LOP4MOVAX,CX ;把選手號(hào)傳給AXMOVBX,OFFSETTAB;查段碼(字形碼)XLAT ;將選手號(hào)轉(zhuǎn)換成TAB中對(duì)應(yīng)的LED ;字形碼OUT81H,ALTESTBZ,OFFH ;判斷標(biāo)志位是否為FFHJZLOP5MOVAL,00H;置8253通道2計(jì)數(shù)值OUT42H,ALMOVAL,10HOUT42H,ALMOVAL,03H;黃燈亮,搶答成功OUT 82H,ALJMPKKKLOP5:MOV AL,00H;置8253通道2計(jì)數(shù)值OUT42H,ALMOV AL,20HOUT 42H,ALMOVAL,05H;紅燈亮,搶答違規(guī)OUT82H,ALKKK:MOVAL,20H;給8259發(fā)中斷結(jié)束命令,寫(xiě)OCW2OUT20H,ALPOPAX;恢復(fù)現(xiàn)場(chǎng)POPBXPOPDXPOPDSIRETKEYINTENDP小 結(jié)通過(guò)本次微機(jī)原理課程設(shè)計(jì),我又在學(xué)習(xí)過(guò)一遍微機(jī)原理及接口技術(shù)之后,再一次鞏固了知識(shí)。更加深入的認(rèn)識(shí)了8259A、8255A、8253三種芯片的用法,以及匯編語(yǔ)言的知識(shí)和設(shè)計(jì)方法。這次課程設(shè)計(jì),我學(xué)會(huì)了許多課本上學(xué)不到的東西,思考和解決問(wèn)題的能力,受益匪淺。課程設(shè)計(jì)過(guò)程中,我覺(jué)得是對(duì)課本知識(shí)的鞏固和加強(qiáng),由于課本上的知識(shí)太多,同時(shí)平時(shí)又沒(méi)有好好的運(yùn)用和理解個(gè)芯片的功能,而且考試的內(nèi)容有限,所以在這次課程設(shè)計(jì)過(guò)程中,我們了解很多元件的功能,對(duì)其在電路中的使用有更多的認(rèn)識(shí)。經(jīng)過(guò)了近兩個(gè)星期的努力,終于完成了小學(xué)期微機(jī)原理的課程設(shè)計(jì),這其中雖然遇到了不少的困難,但是通過(guò)查看書(shū)籍、搜索網(wǎng)絡(luò)、請(qǐng)教同學(xué),最終還是解決了所遇到的問(wèn)題,課程設(shè)計(jì)的任務(wù)提高了我們發(fā)現(xiàn)問(wèn)題,解決問(wèn)題的能力。但是在整個(gè)報(bào)告中可能還存在著這樣那樣的問(wèn)題、不足之處,還是希望老師能給與糾正與指導(dǎo)。參 考 文 獻(xiàn)1 王忠民等. 微型計(jì)算機(jī)原理. 西安:西安電子科技大學(xué)出版社,2003 2 朱定華. 微機(jī)原理、匯編與接口技術(shù). 北京:清華大學(xué)出版社,20053 洪永強(qiáng). 微機(jī)原理與接口技術(shù). 北京:科學(xué)出版社, 20044 周明德. 微機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)與習(xí)題集. 北京:人民郵電出版社, 20025 劉永華等. 微機(jī)原理與接口技術(shù). 北京:清華大學(xué)出版社,2006課 程 設(shè) 計(jì) 圖 紙程 序 清 單主程序清單(帶詳細(xì)注釋)DATASEGMENTTAB DB06H,5BH,4FH,66H,6DH,7CH,07H,7FH,67H ;19的段碼 ;(字形碼)BZ DB 00HDATAENDSSTACK SEGMENTPARASTACKSTACKDB100HDUP(?)STACKENDSCODE SEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AX;8259A初始化MOV AL,13H;初始化8259A的ICW1OUT 20H,ALMOVAL,08H;送中斷類型碼基值,8259A的ICW2OUT21H,ALMOVAL,0DH;一般中斷結(jié)束方式,8259A的ICW4 OUT21H,AL;8255A初始化MOV AL,98H;置8255A工作方式 OUT 83H,ALXORAL,AL;B口、C口初始化OUT 81H,ALOUT82H,AL;8253初始化MOV AL,37H;置8253通道0控制字OUT 43H,ALMOV AL,00H;置8253通道0計(jì)數(shù)初值為4000OUT40H,ALMOVAL,40HOUT40H,ALMOV AL,73H;置8253 通道1控制字OUT43H,ALMOVAL,00H;置8253通道1計(jì)數(shù)初值為3000 OUT41H,ALMOVAL,30HOUT41H,ALMOV AL,B7H;置8253通道2控制字OUT43H,ALMOVAL,00H;置8253通道2控制字OUT42H,ALMOVAL,00H;置8253通道2計(jì)數(shù)初值為0OUT42H,ALMOVAL,00HOUT42H,AL;中斷設(shè)置MOVAH,25H;設(shè)置搶答按鍵中斷向量MOV AL,0AH;中斷類型號(hào)為入口參數(shù)MOV BX,SEG KEYINT;DS:DX指向4字節(jié)地址MOV DS,BXMOV DX,OFFSET KEYINTINT 21HSTI;使IF置1,開(kāi)放可屏蔽中斷;主循

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論