微機(jī)課程設(shè)計(jì)8路搶答器_第1頁
微機(jī)課程設(shè)計(jì)8路搶答器_第2頁
微機(jī)課程設(shè)計(jì)8路搶答器_第3頁
微機(jī)課程設(shè)計(jì)8路搶答器_第4頁
微機(jī)課程設(shè)計(jì)8路搶答器_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、目錄第1章 八路搶答器的設(shè)計(jì)要求與設(shè)計(jì)案41.1 八路搶答器方案的選擇與比較41.2 八路搶答器的元件選擇 4第二章 八路搶答器的硬件設(shè)計(jì)62.1 八路搶答器的硬件框圖 62.2 顯示電路設(shè)計(jì) 62.3 搶答電路設(shè)計(jì) 72.4 開始、復(fù)位開關(guān)控制電路設(shè)計(jì) 72.5 可編程并行接口8255及其引腳說明82.6 8086及引腳說明 10第三章 八路搶答器的軟件設(shè)計(jì) 183.1 主程序流程圖 183.2 顯示模塊程序設(shè)計(jì) 183.3 延時(shí)模塊程序設(shè)計(jì) 193.4 開始模塊程序設(shè)計(jì) 193.5 復(fù)位模塊程序設(shè)計(jì) 20第四章 設(shè)計(jì)體會(huì)與小結(jié) 21附錄一 硬件電路 22附錄二 程序代碼 23附錄三 元件清

2、單 24附錄四 參考文獻(xiàn) 24前言微機(jī)接口課程設(shè)計(jì)是將理論知識(shí)和實(shí)踐能力相統(tǒng)一的一個(gè)環(huán)節(jié),是真正鍛煉學(xué)生能力的一個(gè)環(huán)節(jié)。搶答器能保證比賽中搶答的公正性,在很多場(chǎng)合得到了廣泛的應(yīng)用。 搶答器具有鎖存與顯示功能。即選手按動(dòng)按鈕,鎖存相應(yīng)的編號(hào),并在LED數(shù)碼管上顯示。選手搶答實(shí)行優(yōu)先鎖存,優(yōu)先搶答選手的編號(hào)一直保持到主持人將系統(tǒng)清除為止。現(xiàn)在很多地方都可能會(huì)有各種智力競(jìng)賽,當(dāng)遇到搶答環(huán)節(jié)時(shí),如果要求主持人自己去用肉眼觀察那一個(gè)選手搶答的速度最快無疑會(huì)對(duì)比賽結(jié)果造成很大的影響,同時(shí)使比賽失去了公平和公正性,這時(shí)候我們想到了搶答記分器是必要設(shè)備。數(shù)字搶答器由主體電路與擴(kuò)展電路組成。優(yōu)先編碼電路、鎖存器

3、、譯碼電路將參賽隊(duì)的輸入信號(hào)在顯示器上輸出;用控制電路和主持人開關(guān)啟動(dòng)電路,以上兩部分組成主體電路。通過定時(shí)電路和譯碼電路將秒脈沖產(chǎn)生的信號(hào)在顯示器上輸出實(shí)現(xiàn)計(jì)時(shí)功能,構(gòu)成擴(kuò)展電路。本論文主要介紹了一種用8255芯片實(shí)現(xiàn)的數(shù)碼八位搶答器的電路組成、設(shè)計(jì)構(gòu)想及功能。該搶答器除具有基本的搶答功能外,還具有計(jì)時(shí)的功能。主持人通過時(shí)間預(yù)設(shè)開關(guān)計(jì)算搶答時(shí)間。系統(tǒng)將完成自動(dòng)倒計(jì)時(shí)。若在規(guī)定的時(shí)間內(nèi)有人搶答,則計(jì)時(shí)將自動(dòng)停止;若在規(guī)定的時(shí)間內(nèi)無人搶答,主持人按復(fù)位鍵重新開始。搶答器在現(xiàn)實(shí)生活中應(yīng)用很廣泛,因此搶答器的的設(shè)計(jì)具有非常重要的意義。第一章 八路競(jìng)賽搶答器的設(shè)計(jì)要求與設(shè)計(jì)方案1.1 八路競(jìng)賽搶答器的

4、方案選擇與比較本設(shè)計(jì)以微機(jī)原理及接口技術(shù)為基礎(chǔ),以實(shí)驗(yàn)箱為工具,完成P智能搶答器設(shè)計(jì)。該智能搶答器包括8086最小應(yīng)用系統(tǒng)整體設(shè)計(jì)模塊、鍵盤處理模塊(DOS調(diào)用)、答題計(jì)時(shí)模塊、LED數(shù)碼管顯示模塊。選用8086作為微處理器、擴(kuò)展可編程并行I/O接口8255A芯片、可編程定時(shí)計(jì)數(shù)芯片8253(或不用)、可編程中斷控制器8259A(或不用)、LED數(shù)碼管及鍵盤和發(fā)光二極管等元件,制定方案如下:方案一 選用8255A,8253,8259,實(shí)驗(yàn)箱鍵盤顯示區(qū)1. 8253作為定時(shí)器使用。2. 8259利用IR0端作為定時(shí)到的中斷引入端,IR2端作為開始鍵按下的中斷引入端,IR3端作為清零鍵按下的中斷引

5、入端,IR4端作為暫停鍵按下的中斷引入端。3. 8255 作為并行輸入輸出,A口鍵盤接顯示區(qū),C口接清零鍵和開始鍵,B口8個(gè)搶答開關(guān)4. 鍵盤顯示區(qū)由四個(gè)LED數(shù)碼管和10個(gè)按鍵組成。方案二 選用8255,實(shí)驗(yàn)箱鍵盤顯示區(qū)1. 8255作為并行I/O接口,A口接8個(gè)搶答開關(guān),B口顯示區(qū),C口清零鍵和開始鍵。2. 利用軟件編程進(jìn)行定時(shí)功能方案選擇:方案二采用掃描,沒有用到8259,8253程序編制簡單,但是cpu耗費(fèi)了更多的時(shí)間在掃描,效率相對(duì)來說較低。方案一采用中斷,程序結(jié)構(gòu)化更為清晰,且cpu少了循環(huán)掃描的時(shí)間,效率較高。但是多用了一個(gè)8259中斷控制芯片,一個(gè)8253定時(shí)/計(jì)時(shí)芯片,程序編

6、制上涉及到中斷服務(wù)子程序的編寫,稍顯復(fù)雜,且硬件相應(yīng)增多,費(fèi)用也相應(yīng)較多。經(jīng)過小組討論,先采用更實(shí)用、經(jīng)濟(jì)的方案二,完成基本和擴(kuò)展功能。若有時(shí)間,再采用方案一完成實(shí)驗(yàn)。1.2 八路競(jìng)賽搶答器的元件選擇1)處理器的選擇微型機(jī)具有體積小、重量輕、耗電少、價(jià)格低廉、可靠性高、結(jié)構(gòu)靈活等特點(diǎn),所以選擇8086系統(tǒng)2)顯示電路 顯示可通過彩燈和數(shù)碼管來實(shí)現(xiàn)。如果用彩燈作為顯示功能,則不是很直觀。而數(shù)碼管具有顯示亮度高,使用壽命長,且能直觀方便的看到倒計(jì)時(shí)數(shù)字,和選手編號(hào),因此選用數(shù)碼管顯示。 3)芯片選擇8255作為并行I/0接口,能滿足10個(gè)輸入按鍵的輸入功能,聲音系統(tǒng)的輸出,和LED數(shù)碼管的輸出。并

7、且8255的每個(gè)接口還有鎖存和數(shù)據(jù)緩沖作用。所以選擇8255芯片。第二章 八路競(jìng)賽搶答器的硬件設(shè)計(jì)2.1 八路競(jìng)賽搶答器的硬件框圖8255A八段數(shù)碼管顯示電路按鍵電路倒計(jì)時(shí)和搶答電路系統(tǒng)復(fù)位等輔助電路8086CPU 圖2.1-八路競(jìng)賽搶答器硬件框圖2.2 顯示電路設(shè)計(jì)8255芯片的PB0至PB7分別與數(shù)碼管的八個(gè)引腳相連。將8255芯片中需要顯示的信息通過B口送入數(shù)碼顯示區(qū),由數(shù)碼管的亮滅顯示出來。圖2.2-顯示電路2.3 搶答電路設(shè)計(jì)8255芯片的PA0至PA7分別與8個(gè)撥碼開關(guān)相連,將八位選手的搶答信號(hào)(由撥碼開關(guān)控制)通過A口送入8255芯片。圖2.3-搶答電路2.4 開始和復(fù)位電路 8

8、255芯片的PC0口對(duì)應(yīng)開始按鍵,PC3口對(duì)應(yīng)復(fù)位按鍵。將搶答開始和結(jié)束的信號(hào)(由開始按鍵和復(fù)位按鍵控制)通過C口送入8255芯片。 圖2.4-開始和復(fù)位電路2.5 可編程并行接口8255及其引腳說明圖2-5 8255A引腳圖引腳功能RESET:復(fù)位輸入線,當(dāng)該輸入端處于高電平時(shí),所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。 CS:芯片選擇信號(hào)線,當(dāng)這個(gè)輸入引腳為低電平時(shí),即/CS=0時(shí),表示芯片被選中,允許8255與CPU進(jìn)行通訊;/CS=1時(shí),8255無法與CPU做數(shù)據(jù)傳輸。 RD:讀信號(hào)線,當(dāng)這個(gè)輸入引腳為低電平時(shí),即/RD=0且/CS=0時(shí),允許8255通過

9、數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。 WR:寫入信號(hào),當(dāng)這個(gè)輸入引腳為低電平時(shí),即/WR=0且/CS=0時(shí),允許CPU將數(shù)據(jù)或控制字寫入8255。 D0D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道,當(dāng)CPU 執(zhí)行輸入輸出指令時(shí),通過它實(shí)現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。 PA0PA7:端口A輸入輸出線,一個(gè)8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個(gè)8位的數(shù)據(jù)輸入鎖存器。 PB0PB7:端口B輸入輸出線,一個(gè)8位的I/O鎖存器, 一個(gè)8位的輸入輸出緩沖器。 PC0PC7:端口C輸入輸出線,一個(gè)8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個(gè)8位

10、的數(shù)據(jù)輸入緩沖器。端口C可以通過工作方式設(shè)定而分成2個(gè)4位的端口, 每個(gè)4位的端口包含一個(gè)4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號(hào)輸出或狀態(tài)信號(hào)輸入端口。' A1,A0:地址選擇線,用來選擇8255的PA口,PB口,PC口和控制寄存器. 當(dāng)A1=0,A0=0時(shí),PA口被選擇; 當(dāng)A1=0,A0=1時(shí),PB口被選擇; 當(dāng)A1=1,A0=0時(shí),PC口被選擇; 當(dāng)A1=1.A0=1時(shí),控制寄存器被選擇。8255端口地址端口地址PA口60HPB口61HPC口62H控制口63H表2-12.6 8086及引腳說明圖2-6 8086引腳圖兩種模式下,名稱和功能相同的32個(gè)引腳1、V

11、CC、GND:電源、接地引腳(3個(gè)),8086CPU采用單一的+5V電源,但有兩個(gè)接地 引腳。2、 AD15AD0(Address Data Bus):地址/數(shù)據(jù)復(fù)用信號(hào)輸入/輸出引腳(16個(gè)),分時(shí)輸出 低16位地址信號(hào)及進(jìn)行數(shù)據(jù)信號(hào)的輸入/輸出。3、A19/s6A15/s3(Address Status Bus):地址/狀態(tài)復(fù)用信號(hào)輸出引腳(4個(gè)),分時(shí)輸出 地址的高4位及狀態(tài)信息,其中s6為0用以指示8086CPU當(dāng)前與總線連通;s5 為1表明8086/8088CPU可以響應(yīng)可屏蔽中斷;s4、s3共有四個(gè)組態(tài),用以指明當(dāng)前 使用的段寄存器,如表9-5所示,00ES,01SS,10CS,1

12、1DS。4、NMI(Non-Maskable Interrupt)、INTR(Interrupt Request):中斷請(qǐng)求信號(hào)輸入引腳(2),引入中斷源向CPU提出的中斷請(qǐng)求信號(hào),高電平有效,前者為非屏蔽中斷請(qǐng)求,后者為可屏蔽中斷請(qǐng)求信號(hào)。5、(Read):讀控制輸出信號(hào)引腳(1),低電平有效,用以指明要執(zhí)行一個(gè)對(duì)內(nèi)存單元或I/O端口的讀操作,具體是讀內(nèi)存單元,還是讀I/O端口,取決于控制信號(hào)。6、CLK/(Clock):時(shí)鐘信號(hào)輸入引腳(1),時(shí)鐘信號(hào)的方波信號(hào),占空比約為33%,即1/3周期為高電平,2/3周期為底電平,8086/8088的時(shí)鐘頻率(又稱為主頻)為4.77MHz,即從該引

13、腳輸入的時(shí)鐘信號(hào)的頻率為4.77MHz。7、Reset(Reset):復(fù)位信號(hào)輸入引腳(1),高電平有效。8088/8086CPU要求復(fù)位信號(hào)至少維持4個(gè)時(shí)鐘周期才能起到復(fù)位的效果,復(fù)位信號(hào)輸入之后,CPU結(jié)束當(dāng)前操作,并對(duì)處理器的標(biāo)志寄存器、IP、DS、SS、ES寄存器及指令隊(duì)列進(jìn)行清零操作,而將CS設(shè)置為0FFFFH。8、READY(Ready):“準(zhǔn)備好”狀態(tài)信號(hào)輸入引腳(1),高電平有效,“Ready”輸入引腳接收來自于內(nèi)存單元或I/O端口向CPU發(fā)來的“準(zhǔn)備好”狀態(tài)信號(hào),表明內(nèi)存單元或I/O端口已經(jīng)準(zhǔn)備好進(jìn)行讀寫操作。該信號(hào)是協(xié)調(diào)CPU與內(nèi)存單元或I/O端口之間進(jìn)行信息傳送的聯(lián)絡(luò)信號(hào)

14、。9、 (Test):測(cè)試信號(hào)輸入引腳(1),低電平有效,TEST信號(hào)與WAIT指令結(jié)合起來使用,CPU執(zhí)行WAIT指令后,處于等待狀態(tài),當(dāng)TEST引腳輸入低電平時(shí),系統(tǒng)脫離等待狀態(tài),繼續(xù)執(zhí)行被暫停執(zhí)行的指令。10、MN/MX(Minimum/Maximum Model Control)最小/最大模式設(shè)置信號(hào)輸入引腳(1),該輸入引腳電平的高、低決定了CPU工作在最小模式還是最大模式,當(dāng)該引腳接+5V時(shí),CPU工作于最小模式下,當(dāng)該引腳接地時(shí),CPU工作于最大模式下。11、/S7(Bus High Enable/Status):高8位數(shù)據(jù)允許/狀態(tài)復(fù)用信號(hào)輸出引腳(1),輸出。分時(shí)輸出有效信號(hào)

15、,表示高8為數(shù)據(jù)線D15D8上的數(shù)據(jù)有效和S7 狀態(tài)信號(hào),但S7未定義任何實(shí)際意義。 利用信號(hào)和AD0信號(hào),可知系統(tǒng)當(dāng)前的操作類型,具體規(guī)定見表2-2 所示。表2-2 和A0的代碼組合和對(duì)應(yīng)的操作A0操作所用數(shù)據(jù)引腳00從偶地址單元開始讀/寫一個(gè)字AD15 AD001從奇地址單元或端口讀/寫一個(gè)字節(jié)AD15 AD810從偶地址單元或端口讀/寫一個(gè)字節(jié)AD7 AD011無效-01從奇地址開始讀/寫一個(gè)字(在第一個(gè)總線周期將低8位數(shù)據(jù)送到AD15 AD8,下一個(gè)周期將高8位數(shù)據(jù)送到AD7 AD0 )AD15 AD010 在8088系統(tǒng)中,該引腳為,用來與、一起決定8088芯片當(dāng)前總線周期的讀寫操作

16、,如表2-3所示。 性能 1 0 0 中斷響應(yīng) 1 0 1 讀I/O端口 1 1 0 寫I/O端口 1 1 1 暫停(Halt) 0 0 0 取指令操作碼 0 0 1 讀存儲(chǔ)器 0 1 0 寫存儲(chǔ)器 0 1 1 無源表2-3(3).最小模式下的24-31引腳 當(dāng)8086CPU的引腳固定接+5V時(shí),CPU處于最小模式下,這時(shí)候剩余的2431共8個(gè)引腳的名稱及功能如下:1、(Interrupt Acknowledge)中斷響應(yīng)信號(hào)輸出引腳(1),低電平有效,該引腳是CPU響應(yīng)中斷請(qǐng)求后,向中斷源發(fā)出的認(rèn)可信號(hào),用以通知中斷源,以便提供中斷類型碼,該信號(hào)為兩個(gè)連續(xù)的負(fù)脈沖。2、ALE(Address

17、 Lock Enable):地址鎖存允許輸出信號(hào)引腳(1),高電平有效,CPU通過該引腳向地址鎖存器8282/8283發(fā)出地址鎖存允許信號(hào),把當(dāng)前地址/數(shù)據(jù)復(fù)用總線上輸出的是地址信息,鎖存到地址鎖存器8282/8283中去。注意:ALE信號(hào)不能被浮空。3、(Data Enable):數(shù)據(jù)允許輸出信號(hào)引腳,低電平有效,為總線收發(fā)器8286提供一個(gè)控制信號(hào),表示CPU當(dāng)前準(zhǔn)備發(fā)送或接收一項(xiàng)數(shù)據(jù)。4、(Data Transmit/Receive):數(shù)據(jù)收發(fā)控制信號(hào)輸出引腳(1),CPU通過該引腳發(fā)出控制數(shù)據(jù)傳送方向的控制信號(hào),在使用8286/8287作為數(shù)據(jù)總線收發(fā)器時(shí),信號(hào)用以控制數(shù)據(jù)傳送的方向,

18、當(dāng)該信號(hào)為高電平時(shí),表示數(shù)據(jù)由CPU經(jīng)總線收發(fā)器8286/8287輸出,否則,數(shù)據(jù)傳送方向相反。5、(Memory/Input &Output): 存儲(chǔ)器/I/O端口選擇信號(hào)輸出引腳(1),這是CPU區(qū)分進(jìn)行存儲(chǔ)器訪問還是I/O訪問的輸出控制信號(hào)。當(dāng)該引腳輸出高電平 時(shí),表明CPU要進(jìn)行I/O端口的讀寫操作,低位地址總線上出現(xiàn)的是I/O端口的地址;當(dāng)該引腳輸出低電平時(shí),表明CPU要進(jìn)行存儲(chǔ)器的讀寫操作,地址總線上出現(xiàn)的是訪問存儲(chǔ)器的地址。 6、(Write): 寫控制信號(hào)輸出引腳(1),低電平有效,與配合實(shí)現(xiàn)對(duì)存儲(chǔ)單元、I/O端口所進(jìn)行的寫操作控制。 7、HOLD(Hold Reque

19、st): 總線保持請(qǐng)求信號(hào)輸入引腳(1),高電平有效。這是系統(tǒng)中的其它總線部件向CPU發(fā)來的總線請(qǐng)求信號(hào)輸入引腳。 8、HLDA(Hold Acknowledge):總線保持響應(yīng)信號(hào)輸出引腳,高電平有效,表示CPU認(rèn)可其他總線部件提出的總線占用請(qǐng)求,準(zhǔn)備讓出總線控制權(quán)。(4).最大模式下的24-31引腳當(dāng)8086CPU的引腳固定接地時(shí),CPU處于最大模式下,這時(shí)候剩余的2431共8個(gè)引腳的名稱及功能如下:1、QS1、QS0(Instruction Queue Status):指令隊(duì)列狀態(tài)信號(hào)輸出引腳(2),這兩個(gè)信號(hào)的組合給出了前一個(gè)T狀態(tài)中指令隊(duì)列的狀態(tài),以便于外部88086CPU內(nèi)部指令隊(duì)

20、列的動(dòng)作跟蹤,如下表所示:性能00無操作01從指令隊(duì)列的第一個(gè)字節(jié)取走代碼10隊(duì)列為空11除第一個(gè)字節(jié)外,還取走了后續(xù)字節(jié)中的代碼表2-42、:總線周期狀態(tài)信號(hào)輸出引腳(3),低電平的信號(hào)輸出端,這些信號(hào)組合起來,可以指出當(dāng)前總線周期中,所進(jìn)行數(shù)據(jù)傳輸過程的類型,總線控制器8288利用這些信號(hào)來產(chǎn)生對(duì)存儲(chǔ)單元、I/O端口的控制信號(hào)。、與具體物理過程之間的對(duì)應(yīng)關(guān)系,如表所示。表9-6 的狀態(tài)編碼性能100中斷響應(yīng)101讀I/O端口110寫I/O端口111暫停000取指001讀存儲(chǔ)器010寫存儲(chǔ)器011無作用表2-5這里對(duì)無源狀態(tài)(在的最小模式中也存在,見P19)作一說明:從表中可以看出,每一種的

21、組合都對(duì)應(yīng)一個(gè)具體的總線操作,除111外,其余都稱為有源狀態(tài)。也就是說,在有源狀態(tài)(對(duì)應(yīng)前一個(gè)總線周期的和本總線周期的和狀態(tài))中,至少有一個(gè)信號(hào)為0,當(dāng)時(shí)(對(duì)應(yīng)總線周期的和且READY1),也就是一個(gè)總線操作即將結(jié)束,另一個(gè)總線周期還未開始時(shí),稱為無源狀態(tài),很顯然,這時(shí)中任一信號(hào)的改變,都意味著一個(gè)新的總線周期的開始。3、 (Lock):總線封鎖輸出信號(hào)引腳(1),低電平有效,當(dāng)該引腳輸出低電平時(shí),系統(tǒng)中其它總線部件就不能占用系統(tǒng)總線。 信號(hào)是由指令前綴LOCK產(chǎn)生的,在LOCK前綴后面的一條指令執(zhí)行完畢之后,便撤消信號(hào)。此外,在8086的2個(gè)中斷響應(yīng)脈沖之間,信號(hào)也自動(dòng)變?yōu)橛行У牡碗娖?,以?/p>

22、止其它總線部件在中斷響應(yīng)過程中,占有總線而使一個(gè)完整的中斷響應(yīng)過程被中斷。4、(Request/Grant):總線請(qǐng)求信號(hào)輸入/總線允許信號(hào)輸出引腳(2)。這兩個(gè)信號(hào)端可供CPU以外的兩個(gè)處理器,用來發(fā)出使用總線的請(qǐng)求信號(hào)和接收CPU對(duì)總線請(qǐng)求信號(hào)的應(yīng)答。這兩個(gè)引腳都是雙向的,請(qǐng)求與應(yīng)答信號(hào)在同一引腳上分時(shí)傳輸,方向相反。其中比的優(yōu)先級(jí)高。(5).相關(guān)問題的說明1、8086的數(shù)據(jù)線與地址線、狀態(tài)線是分時(shí)復(fù)用的,即在某一時(shí)刻,總線上出現(xiàn)的是輸出地址信息,在另一時(shí)刻,總線上是所需讀、寫的數(shù)據(jù)信息,或狀態(tài)信息。2、除了個(gè)別引腳外,8086的控制信號(hào)引腳的定義是一致的,有差別的是,8088的第18腳為

23、,8086為,主要是為了使前者能與8位微處理器8080/8085 相兼容的緣故。8086第34引腳為/S7,這是因?yàn)?086 有16根數(shù)據(jù)線,可以用高、低8位總線分別進(jìn)行一個(gè)字節(jié)的傳送,也可以同時(shí)進(jìn)行兩個(gè)字節(jié)的傳送, 正是為了指明這幾類操作而設(shè)置的。3、Reset引腳是復(fù)位信號(hào)輸入端,系統(tǒng)啟動(dòng)、或在系統(tǒng)運(yùn)行過程中,CPU在接收到Reset信號(hào)后,會(huì)使系統(tǒng)復(fù)位。復(fù)位后,CPU處于如下狀態(tài): CPU的標(biāo)志寄存器、指令指針寄存器IP、段寄存器DS、ES、SS和指令隊(duì)列均被清零,碼段寄存器CS被置為FFFFH,CPU將從0FFFF0H處開始執(zhí)行指令。4、CPU與內(nèi)存、I/O端口之間在時(shí)間上的匹配主要靠

24、“READY”信號(hào)。5、信號(hào)與(或)配合使用,指明從內(nèi)存或者I/O端口讀信息6、高4位地址線與狀態(tài)線分時(shí)復(fù)用,在T1狀態(tài),輸出地址信息,在其余狀態(tài),輸出狀態(tài)信息。(6).8086CPU的引腳分類8086CPU的40個(gè)引腳可以分成下列幾大類:(1)數(shù)據(jù)/地址復(fù)用線、地址線、地址/狀態(tài)復(fù)用線AD0AD7 、AD8AD15、)A16A19/S3S6;(2)常規(guī)信號(hào)GND(2個(gè))、CLK;(3)常用信號(hào)ALE、;(4)中斷INTR、NMI、;(5)、READY、RESET;(6)HOLD、HLDA;(7)(8086)、。第三章八路搶答器的軟件設(shè)計(jì) 軟件的設(shè)計(jì)的重點(diǎn)在延時(shí),顯示倒計(jì)時(shí)和選手編號(hào)和按鍵搶搭

25、、開始和清零的實(shí)現(xiàn)。延時(shí)采用嵌套循環(huán)的方式實(shí)現(xiàn)。3.1 主程序流程圖8255A初始化開始按鍵是否按下 N Y倒計(jì)時(shí)顯示啟動(dòng)倒計(jì)時(shí)時(shí)間到否 Y N是否有人搶答 N Y 顯示搶答號(hào)碼停止倒計(jì)時(shí)顯示 復(fù)位按鍵是否按下 N Y 圖3.1-主程序流程圖3.2 顯示模塊程序設(shè)計(jì)基本顯示模塊設(shè)計(jì)的重點(diǎn)是由顯示代碼取得相應(yīng)的段碼,通過鎖存器控制輸出給相應(yīng)的數(shù)碼管顯示。B口輸出數(shù)據(jù)轉(zhuǎn)換為八位段碼數(shù)碼管顯示圖3.2-顯示模塊程序流程圖3.3 延時(shí)模塊程序設(shè)計(jì)延時(shí)模塊的關(guān)鍵是計(jì)算計(jì)算機(jī)一秒能執(zhí)行多少指令,再通過循環(huán)控制。在CX中存入外循環(huán)次數(shù)在BX中存入內(nèi)循環(huán)次數(shù)BX減一BX是否自減為零 NCX減一 YCX是否自減

26、為零 N延時(shí)完成 Y圖3.3延時(shí)模塊程序流程圖3.4 開始模塊程序設(shè)計(jì)讀入C口數(shù)據(jù)開始按鍵是否按下 N往下執(zhí)行程序 Y 圖3.4-開始模塊程序設(shè)計(jì)流程圖3.5 復(fù)位模塊程序設(shè)計(jì)復(fù)位按鍵是否按下 N Y將B口輸出為0,即講數(shù)碼管清零重新開始搶答讀入C口數(shù)據(jù) 圖3.5-清零模塊程序設(shè)計(jì)流程圖第四章 設(shè)計(jì)體會(huì)與小結(jié)微機(jī)原理及應(yīng)用作為我們主要的專業(yè)課程之一,我覺得做這個(gè)課程設(shè)計(jì)是很有意義的,同時(shí)也很有必要。當(dāng)拿到題目時(shí),確實(shí)不知道怎么著手,有些迷茫,上網(wǎng)查資料,歷時(shí)兩個(gè)星期,解決一個(gè)又一個(gè)的困難,終于完成任務(wù)。在這次課程設(shè)計(jì)中,運(yùn)用到了很多以前的專業(yè)知識(shí),雖然過去從未獨(dú)立應(yīng)用過它們,但在學(xué)習(xí)的過程中帶

27、著問題去學(xué)我發(fā)現(xiàn)效率很高,這是我做這次課程設(shè)計(jì)的一大收獲。另外,要做好一個(gè)課程設(shè)計(jì),就必須做到:在設(shè)計(jì)程序之前,對(duì)所用的8086有一個(gè)系統(tǒng)的了解,知道8086內(nèi)有哪些資源;要有一個(gè)清晰的思路和一個(gè)完整的的軟件流程圖;在設(shè)計(jì)程序時(shí),不能妄想一次就將整個(gè)程序設(shè)計(jì)好,反復(fù)修改、不斷改進(jìn)是程序設(shè)計(jì)的必經(jīng)之路;要養(yǎng)成注釋程序的好習(xí)慣,一個(gè)程序的完美與否不僅僅是實(shí)現(xiàn)功能,而應(yīng)該讓人一看就能明白你的思路,這樣也為資料的保存和交流提供了方便;在設(shè)計(jì)課程過程中遇到問題是很正常的,但我們應(yīng)該將每次遇到的問題記錄下來,并分析清楚,以免下次再碰到同樣的問題的課程設(shè)計(jì)結(jié)束了,但是從中學(xué)到的知識(shí)會(huì)讓我受益終身。發(fā)現(xiàn)、提出

28、、分析、解決問題和實(shí)踐能力的提高都會(huì)受益于我在以后的學(xué)習(xí)、工作和生活中。設(shè)計(jì)過程,好比是我們?nèi)祟惓砷L的歷程,常有一些不如意,但畢竟這是第一次做,難免會(huì)遇到各種各樣的問題。在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對(duì)以前所學(xué)過的知識(shí)理解得不夠深刻,掌握得不夠牢固,不能靈活運(yùn)用。通過這次設(shè)計(jì),我懂得了學(xué)習(xí)的重要性,了解到理論知識(shí)與實(shí)踐相結(jié)合的重要意義,學(xué)會(huì)了堅(jiān)持、耐心和努力,這將為自己今后的學(xué)習(xí)和工作做出了最好的榜樣。另外,要非常感謝我的指導(dǎo)老師,是他指引我克服一個(gè)由一個(gè)的困難,讓我學(xué)會(huì)對(duì)困難無所畏懼,以及對(duì)問題的一些很重要的思考方法。我學(xué)會(huì)對(duì)困難無所畏懼,以及對(duì)問題的一些很重要的思考方法。附錄附錄一

29、系統(tǒng)硬件原理圖附錄二 程序清單源程序:DATA SEGMENTDATA ENDSCODE SEGMENTASSUME DS:DATA,CS:CODESTART:MOV AL,10010001B OUT 63H,AL MAIN:IN AL,62H TEST AL,01H JZ MAIN MOV AL,00H OUT 61H,AL B1: MOV AL,77H OUT 61H,AL CALL A1 MOV AL,6FH OUT 61H,AL CALL A1 MOV AL,7FH OUT 61H,AL CALL A1 MOV AL,07H OUT 61H,AL CALL A1 MOV AL,7DH OUT 61H,AL CALL A1 MOV AL,6DH OUT 61H,AL CALL A1 MOV AL,66H OUT 61H,AL CALL A1 MOV AL,4FH OUT 61H,AL CAL

溫馨提示

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

評(píng)論

0/150

提交評(píng)論