版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 前言</b></p><p><b> 課程設(shè)計(jì)的意義</b></p><p> 微機(jī)原理是計(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)問題和解
2、決問題能力的重要階段。</p><p> 通過課程設(shè)計(jì)培養(yǎng)同學(xué)們的系統(tǒng)設(shè)計(jì)能力,使同學(xué)們達(dá)到以下能力訓(xùn)練:</p><p> ?、拧⒄{(diào)查研究、分析問題的能力;</p><p> ?、?、使用設(shè)計(jì)手冊(cè)、技術(shù)規(guī)范的能力;</p><p> ?、?、查閱中外文獻(xiàn)的能力;</p><p> ?、?、制定設(shè)計(jì)方案的能力;</p
3、><p> ⑸、計(jì)算機(jī)應(yīng)用的能力;</p><p> ⑹、設(shè)計(jì)計(jì)算和繪圖的能力;</p><p> ?、恕⒓夹g(shù)經(jīng)濟(jì)指標(biāo)的分析能力;</p><p> ⑻、語(yǔ)言文字表達(dá)的能力。</p><p><b> 目錄</b></p><p> 課程設(shè)計(jì)任務(wù)書…………………………
4、……………………………3</p><p><b> 正文</b></p><p> 一、總體設(shè)計(jì)…………………………………………………………4</p><p><b> 二、硬件設(shè)計(jì)</b></p><p> 1、硬件總體設(shè)計(jì)………………………………………………6</p>&l
5、t;p> 2、芯片使用情況………………………………………………8</p><p> 3、芯片連接……………………………………………………14</p><p><b> 三、軟件設(shè)計(jì)</b></p><p> 1、標(biāo)志位含義…………………………………………………15</p><p> 2、程序流程圖…………
6、………………………………………16</p><p> 四、總結(jié) ……………………………………………………………21</p><p> 參考文獻(xiàn) ……………………………………………………………23</p><p> 課程設(shè)計(jì)圖紙 ………………………………………………………24</p><p> 程序清單 …………………………………………
7、…………………25</p><p><b> 課程設(shè)計(jì)任務(wù)書</b></p><p> 具有4路搶答的搶答器,啟動(dòng)計(jì)算機(jī),計(jì)算機(jī)自動(dòng)為系統(tǒng)各</p><p> 芯片進(jìn)行初始化,搶答器開始工作。</p><p><b> 基本要求:</b></p><p> ?。?)可
8、供4組同時(shí)搶答,由按鈕控制。</p><p> ?。?)比賽開始,在主持人按下開始鍵,綠燈亮后,選手才可開始搶答,否則違規(guī)。</p><p> ?。?)能顯示出最先搶答的組號(hào),而對(duì)其他組的搶答不予理睬,黃燈亮并揚(yáng)聲器提示搶答成功。</p><p> ?。?)對(duì)主持人未曾按啟動(dòng)鍵之前就按搶答按鍵的犯規(guī)組,顯示其組號(hào),亮紅燈并揚(yáng)聲器提示警告。</p>&l
9、t;p> (5)對(duì)搶答后的回答時(shí)間25秒進(jìn)行倒計(jì)時(shí)控制,如回答超時(shí),則</p><p><b> 以揚(yáng)聲器報(bào)警。</b></p><p><b> 注:</b></p><p> 1、搶答成功,揚(yáng)聲器的鳴叫聲音頻率為1KHz。</p><p> 2、搶答失敗,揚(yáng)聲器的鳴叫聲音頻率為0
10、.5KHz。</p><p> 3、搶答計(jì)時(shí)時(shí)間到,揚(yáng)聲器的鳴叫頻率為0.75KHz.</p><p> 4、聲器鳴叫或報(bào)警的時(shí)間為12s。</p><p><b> 總體設(shè)計(jì)</b></p><p> 比賽開始,在主持人按下開始鍵,綠燈亮后,選手才可開始搶答,否則違規(guī)。利用并行接口和開關(guān)鍵。邏輯開關(guān)K0——K3
11、代表?yè)尨鸢粹o,當(dāng)某個(gè)邏輯開關(guān)閉合時(shí),相當(dāng)于搶答按鈕按下。若選手搶答成功,黃燈亮,七段數(shù)碼管顯示選手號(hào)碼,揚(yáng)聲器鳴叫。若選手搶答違規(guī)(主持人未按開始鍵),七段數(shù)碼管顯示違規(guī)選手號(hào)碼,紅燈亮,揚(yáng)聲器報(bào)警。</p><p> 若系統(tǒng)提示某號(hào)選手搶答違規(guī),主持人仍未按開始鍵,此時(shí)該號(hào)選手又按下?lián)尨疰I,七段數(shù)碼管顯示該選手的號(hào)碼。本系統(tǒng)開機(jī)后,若主持人既未按復(fù)位鍵又未按開始鍵,此時(shí)有選手按下?lián)尨疰I,系統(tǒng)提示紅燈亮,并報(bào)警
12、。</p><p> 由于本次實(shí)驗(yàn)要用到數(shù)碼顯示、中斷控制、倒計(jì)時(shí)等功能,故初步分析,需要8255、8259、8253(或8254)等芯片。</p><p> 經(jīng)過分析,實(shí)驗(yàn)的關(guān)鍵是準(zhǔn)確判斷出最先搶答者的信號(hào)并鎖存,而同時(shí)不理睬其他搶答者的信號(hào)。為此,可將4個(gè)搶答按鈕信號(hào)通過一個(gè)8位并行輸入口接至微機(jī)中。當(dāng)主持人啟動(dòng)搶答過程后,微機(jī)通過該并行輸入口對(duì)4路搶答信號(hào)進(jìn)行采樣,并作檢測(cè)。&l
13、t;/p><p> 開關(guān)接通時(shí)為高電平,當(dāng)4組均未按下?lián)尨鸢粹o時(shí),送入到并行接口的8位搶答狀態(tài)都是0,而當(dāng)微機(jī)采樣到這8位數(shù)據(jù)不為0時(shí),則表示有一組獲得了搶答機(jī)會(huì),然后通過比較查詢,即可判斷出哪一組搶答成功,最后利用并行輸出接口將搶答成功的組號(hào)現(xiàn)實(shí)出來(lái)。在實(shí)驗(yàn)中,可以僅用一位7段數(shù)碼管來(lái)顯示搶答選手的組號(hào)。顯示組號(hào)同時(shí),調(diào)用揚(yáng)聲器發(fā)出提示音。</p><p> 為了對(duì)搶答后的回答時(shí)間進(jìn)行計(jì)
14、時(shí)控制,可以利用一個(gè)可編程定時(shí)計(jì)時(shí)器,先置計(jì)數(shù)初值,再計(jì)時(shí),當(dāng)計(jì)時(shí)時(shí)間到后,由并行接口輸出一個(gè)響鈴信號(hào)提示搶答選手的回答時(shí)間已到。響鈴信號(hào)同樣需要有計(jì)時(shí)器控制響鈴時(shí)間和聲音頻率。</p><p> 由于本系統(tǒng)要求對(duì)犯規(guī)的組亮紅燈警告,所以要設(shè)置一個(gè)啟動(dòng)按鍵,啟動(dòng)鍵信號(hào)可由并行輸入接口輸入。在主持人按下啟動(dòng)按鍵之前,如果有搶答鈕被按下,則該搶答選手犯規(guī),可以通過并行接口輸出一個(gè)信號(hào)使該組的紅色發(fā)光二級(jí)管點(diǎn)亮以示該
15、組選手犯規(guī)。</p><p><b> 硬件設(shè)計(jì)</b></p><p><b> 一、硬件總體設(shè)計(jì)</b></p><p> 1、硬件電路設(shè)計(jì)結(jié)構(gòu)示意圖</p><p><b> 2、系統(tǒng)方案</b></p><p> 該搶答器所要器件:中斷
16、優(yōu)先級(jí)管理器8259A、可編程并行接口芯片8255、可編程定時(shí)器/計(jì)數(shù)器8254,黃、紅、綠三個(gè)發(fā)光二極管,若干個(gè)多輸入端的與非門,一個(gè)揚(yáng)聲器,一個(gè)LED數(shù)碼顯示器,6個(gè)按鍵以及其他基本電路元件。本設(shè)計(jì)中使用了更通用的8354代替了8253。</p><p><b> 3、內(nèi)存單元編址</b></p><p> 本設(shè)計(jì)按照一般微機(jī)原理實(shí)驗(yàn)的習(xí)慣,事先給主要芯片編好
17、端口地址,便于編程,譯碼電路連接時(shí)按下面地址連線。</p><p> ?、僦袛鄡?yōu)先級(jí)管理器8259A的端口地址為20H、21H;</p><p> ②可編程并行接口接口芯片8255A的端口地址為80H、81H、82H、83H;</p><p> ?、劭删幊潭〞r(shí)器/計(jì)數(shù)器8254的端口地址為40H、41H、42H、43H</p><p>
18、4、鍵盤、揚(yáng)聲器及顯示功能的定義</p><p> 6個(gè)按鍵中,一個(gè)開始鍵一個(gè)復(fù)位鍵,另外4個(gè)用做8位選手的搶答按鍵。揚(yáng)聲器用與黃、紅、綠三個(gè)發(fā)光二極管配合使用,黃燈亮揚(yáng)聲器鳴叫表示搶答成功,紅燈亮揚(yáng)聲報(bào)警表示搶答違規(guī)報(bào)警,綠燈亮揚(yáng)聲器不鳴則表示主持人已按下開始鍵。LED顯示器顯示的內(nèi)容與選手號(hào)對(duì)應(yīng),搶答成功或違規(guī)都要顯示。搶答成功后黃燈熄滅,開始計(jì)時(shí)。</p><p><b>
19、; 二、芯片使用情況</b></p><p> 1、中斷優(yōu)先級(jí)管理器8259A</p><p> (1)8259A主要的外部引腳</p><p> D0~D7:雙向數(shù)據(jù)線,CPU與8259間利用這個(gè)數(shù)據(jù)總路線傳送數(shù)據(jù)及命令。</p><p> ?。簩懣刂戚斎胄盘?hào),同控制總路線上的 信號(hào)相連。</p><
20、p> ?。鹤x控制輸入信號(hào),同控制總路線上的信號(hào)相連。</p><p> A0:地址選擇信號(hào),用來(lái)對(duì)8259A內(nèi)部的兩個(gè)可編程寄存器進(jìn)行選擇。</p><p> :片選輸入信號(hào),低電平有效。有郊時(shí)可通過數(shù)據(jù)總路線設(shè)置命令并對(duì)內(nèi)部寄存器進(jìn)行讀出。當(dāng)進(jìn)入中斷響應(yīng)時(shí)序時(shí),該引腳狀態(tài)與進(jìn)行的處理無(wú)關(guān)。</p><p> INT:由8259A向CPU發(fā)出的中斷請(qǐng)求信
21、號(hào)。</p><p> :輸入信號(hào),接收CPU送來(lái)的中斷響應(yīng)信號(hào)INTA。</p><p> IR0~IR7:8個(gè)中斷請(qǐng)求輸入信號(hào),高電平或上升沿有效。用于接收外設(shè)接口來(lái)的中斷請(qǐng)求。</p><p> (2)8259A工作方式</p><p> a.優(yōu)先級(jí)設(shè)置方式:全嵌套方式(固定優(yōu)先級(jí)方式)、特殊全嵌套方式(可響應(yīng)同級(jí)中斷方式)、輪
22、轉(zhuǎn)優(yōu)先級(jí)方式、特殊輪轉(zhuǎn)優(yōu)先級(jí)方式。</p><p> b.中斷源屏蔽方式:普通屏蔽方式、特殊屏蔽方式。</p><p> c.中斷結(jié)束方式:中斷自動(dòng)結(jié)束方式、中斷非自動(dòng)結(jié)束方式(包括一般中斷結(jié)束方式、特殊中斷結(jié)束方式)。</p><p> e.系統(tǒng)總路線連接方式:緩沖方式、非緩沖方式。</p><p> f.中斷請(qǐng)求信號(hào)觸發(fā)方式:邊沿
23、觸發(fā)方式、電平觸發(fā)方式。</p><p> (3)8259A初始化控制字格式</p><p> (4)8259A操作命令字格式</p><p> (5)本設(shè)計(jì)中8259A的工作方式</p><p> a.芯片控制ICW1:采用邊沿觸發(fā),單片8259,要寫入ICW4控制字;</p><p> b.中斷類型碼IC
24、W2:設(shè)置IR0~IR7的中斷類型碼依次為08H、09H、…、0FH;</p><p> c.方式控制ICW4:優(yōu)先級(jí)設(shè)置方式為全嵌套方式即固定優(yōu)先級(jí)方式,系統(tǒng)總線連接方式為主片工作在緩沖方式下,中斷結(jié)束方式采用中斷非自動(dòng)結(jié)束方式,8259工作在80X86系統(tǒng)上。</p><p> 2、可編程定時(shí)器/計(jì)數(shù)器8254</p><p> ?。?)8254的內(nèi)部結(jié)構(gòu)&
25、lt;/p><p> 8254采用NMOS工藝制成,有24個(gè)引腳,所有輸入、輸出端均TTL電平兼容,單一電源(Vcc=+5V)供電,最高計(jì)數(shù)速率為10MHz。它包括3個(gè)計(jì)數(shù)器(即計(jì)數(shù)器0、1、2)、數(shù)據(jù)總路線緩沖器、讀/寫邏輯以及控制寄存器等4個(gè)部分。</p><p> ?。?)8254的外部引腳</p><p> A1、A0:地址輸入線,用來(lái)編址8254內(nèi)部的4個(gè)
26、端口,即3個(gè)計(jì)數(shù)器和1個(gè)控制字寄存器與CPU系統(tǒng)地址線相連。</p><p> 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ù)的、周期不定的。</p><p> GATE0、GATE1、GA
27、TE3:門控輸入端,用于外部控制計(jì)數(shù)器的啟動(dòng)計(jì)數(shù)和停止計(jì)數(shù)的操作。兩個(gè)或兩個(gè)以上計(jì)數(shù)器連用時(shí),可用此信號(hào)同步,也可用于與外部某信號(hào)的同步。</p><p> OUT0、OUT1、OUT2:計(jì)數(shù)輸出,當(dāng)計(jì)數(shù)器從初值開始完成計(jì)數(shù)操作進(jìn),OUT引腳輸出相應(yīng)的信號(hào)。</p><p> (3)8254的工作方式</p><p> a.方式0:減1計(jì)數(shù)到0,產(chǎn)生中斷請(qǐng)求信
28、號(hào)。</p><p> b.方式1:減1計(jì)數(shù)到0,產(chǎn)生可重復(fù)觸發(fā)的單穩(wěn)態(tài)負(fù)脈沖信號(hào)。</p><p> c.方式2:減1計(jì)數(shù)到1,分頻器(速率信號(hào)發(fā)生器)。</p><p> d.方式3:減1計(jì)數(shù)到初值的1/2,方波發(fā)生器。</p><p> e.方式4:減1計(jì)數(shù)到0,軟件觸發(fā)產(chǎn)生選通負(fù)脈沖信號(hào)。</p><p&g
29、t; f.方式5:減1計(jì)數(shù)到0,硬件觸發(fā)產(chǎn)生選通負(fù)脈沖信號(hào)。</p><p> (4)8254方式控制字格式</p><p> ?。?)8254控制字要求</p><p> 8254的CLK0和CLK1級(jí)聯(lián),實(shí)現(xiàn)對(duì)時(shí)間長(zhǎng)度的控制,CLK0用工作方式3,CLK0用工作方式0。CLK1用工作方式3,控制響鈴頻率。</p><p> 3、可
30、編程并行接口接口芯片8255A</p><p> (1)8255A內(nèi)部結(jié)構(gòu)</p><p> 8255A芯片是一個(gè)采用NMOS工藝制造的40引腳雙列直插式(DIP)封裝組件。8255A有3個(gè)8位數(shù)據(jù)端口,即A口、B口及C口,它們都可以分別作為輸入口或輸出口使用;A組控制與B組控制;讀/寫控制邏輯;數(shù)據(jù)總路線緩沖器。</p><p> (2)8255A主要的外部
31、引腳</p><p> PA7~PA0:A口的8條I/O線。8條線只能同時(shí)作為輸入或輸出,不能分開使用,可設(shè)置成雙向口,也只有A口允許這樣做。</p><p> PB7~PB0:B口的8條I/O線。不可以設(shè)置成雙向口,其它和A口一樣。</p><p> PC7~PC0:C口的8條I/O線。不可以設(shè)置成雙向口,但它可以分拆為兩組即高4位和低4位,這兩組可以任意設(shè)
32、置為輸入或輸出。除了作為獨(dú)立的I/O線外,C口還經(jīng)常為A口、B口服務(wù),配合A口、B口作聯(lián)絡(luò)線使用。</p><p> A1、A0:端口地址選擇信號(hào)。用于選擇8255A的3個(gè)數(shù)據(jù)端口和一個(gè)控制口。當(dāng)A1A0=00時(shí),選擇端口A;為01時(shí),選擇端口B;為10,選擇端口C;為11時(shí),選擇控制口。</p><p> ?。?)8255A工作方式</p><p> a.方式
33、0:基本的輸入/輸出方式。A口、B口、C口都可以工作在些方式下。</p><p> b.方式1:選通輸入/輸出方式(應(yīng)答方式)。A口、B口工作在此方式下。</p><p> c.方式2:雙向傳輸方式。只有A口可以工作在此方式下。</p><p> ?。?)8255A方式控制字格式</p><p> ?。?)8255A控制字要求</p
34、><p> A口工作在方式0,作為輸入端口用于連接選手按鍵(S3~S0依次對(duì)應(yīng)按鍵4~1);B口工作在方式0,作為輸出端口,連接LED顯示器(PB7~PB0依次對(duì)應(yīng)連接LED顯示器的dp、g、f、e、d、c、b、a七段數(shù)碼管管腳);C口也必須工作在方式0,低4 位做輸入端口(本次設(shè)計(jì)中用PC2、PC1,分別用于連接復(fù)位鍵和開始鍵,PC3連接計(jì)數(shù)器輸出信號(hào)),高4位做輸出端口(PC4、PC5、PC6分別用于連接黃、紅
35、、綠三個(gè)發(fā)光二極管,PC7連接到一個(gè)與門輸入,控制揚(yáng)聲器是否發(fā)聲音)。</p><p><b> 三、芯片連接</b></p><p> 1、各芯片與CPU的連接</p><p> 連接時(shí)參考各芯片的管腳功能。8259A、8255A、8254的數(shù)據(jù)總線D7~D0端、端、端、端、端、INT端分別與CPU的D7~D0數(shù)據(jù)總線、片選端、端、端、
36、端、INTR端。8255A、8253的A1、A0端分別接入CPU地址線的A1、A0端,8259的A0端接到CPU地址線的A0端; CPU其余地址線通過譯碼電路與相應(yīng)的芯片連接。在電路原理圖中,用多輸入的或非門簡(jiǎn)化了譯碼電路。</p><p> 2、各芯片之間的連接和與外設(shè)的連接</p><p> 8259A的IR2端接選手按鍵信息輸出端;8255A的A口的PA0~PA3依次接“按鍵1”
37、~“按鍵3”,B口的PB7~PB0接到LED八段數(shù)碼顯示器,C口的PC2、PC1分別接復(fù)位鍵和開始鍵,PC6、PC5、PC4分別接綠燈發(fā)光二極管、紅燈發(fā)光二極管、黃燈發(fā)光二極管,PC7接到揚(yáng)聲器控制與非門的一個(gè)輸入端;8253的GATE0 、GATE1、 GATE2端接+5V電壓,OUT0的輸出接入CLK1端,OUT1的輸出接入PC3端,CLK0和CLK1接入1.8432MHz的頻率發(fā)生器,OUT2接揚(yáng)聲器控制輸入信號(hào)端。</p&
38、gt;<p> 3、存儲(chǔ)器及其他設(shè)備的連接</p><p> 在此電路圖中,存儲(chǔ)器和其他相關(guān)設(shè)備被省略。在實(shí)際電路中需要按各芯片的規(guī)格接入電路,構(gòu)成完整的系統(tǒng)。</p><p><b> 軟件設(shè)計(jì)</b></p><p><b> 一、標(biāo)志位含義</b></p><p> 1
39、、定義一個(gè)TAB變量用來(lái)存儲(chǔ)1~4和E的字形碼信息,如果兩人或多人同時(shí)搶答顯示“E”,同樣轉(zhuǎn)到報(bào)警。字形信息如下表:</p><p> 2、定義一個(gè)BZ變量作為標(biāo)志位,用來(lái)選手搶答是否違規(guī),BZ=0FFH時(shí)表示主持人已經(jīng)按下開始鍵選手可以搶答,BZ=00H表示主持人未按下開始按鍵,選手不可以搶答。</p><p><b> 二、程序流程圖</b></p>
40、;<p><b> 1、主程序流程圖</b></p><p> 2、中斷子程序流程圖</p><p> 3、搶答成功和搶答犯規(guī)處理程序流程圖</p><p> 搶答成功后,揚(yáng)聲器首先以1KHz的頻率鳴叫12s。本設(shè)計(jì)中8254使用的時(shí)鐘脈沖為1.8432MHz。對(duì)于用于計(jì)時(shí)的計(jì)數(shù)器1和0,共計(jì)需計(jì)數(shù)次數(shù)為1843200*1
41、2,因此,給計(jì)數(shù)器0賦值為18432,即4800H;計(jì)數(shù)器1賦值為1200,即4B0H。搶答犯規(guī)時(shí)的12s與此相同,可以在給數(shù)顯管賦值時(shí)同時(shí)做這個(gè)工作。</p><p> 對(duì)于1KHz的頻率,計(jì)數(shù)器2使用方式3產(chǎn)生方波,對(duì)輸入時(shí)鐘信號(hào)進(jìn)行1843分頻即可,因此賦初值為1843,即733H。</p><p> 計(jì)時(shí)時(shí)間為25s,給計(jì)數(shù)器0賦初值18432,即4800H,計(jì)數(shù)器1賦初值25
42、00,即9C4H。計(jì)時(shí)時(shí)間到后,揚(yáng)聲器鳴叫頻率為0.75KHz,對(duì)應(yīng)地給計(jì)數(shù)器2賦初值2458,即99AH。</p><p> 搶答失敗后,揚(yáng)聲器以0.5KHz的頻率鳴叫12s。與搶答成功后的情況類似。對(duì)應(yīng)地,給計(jì)數(shù)器0賦值為18432,即4800H;計(jì)數(shù)器1賦值為1200,即4B0H。對(duì)于0.5KHz的頻率,給計(jì)數(shù)器2因此賦初值為3686,即0E66H。</p><p><b&g
43、t; 具體流程圖如下:</b></p><p><b> 搶答成功流程圖</b></p><p> 搶答犯規(guī)程序流程圖:</p><p> 以上具體程序清參見程序清單,此處不再列出。</p><p><b> 總結(jié)</b></p><p> 微機(jī)原理課
44、程設(shè)計(jì)與我以前所做的電路實(shí)驗(yàn)或編程有很大的不同。這個(gè)需要將軟件與硬件結(jié)合,編程時(shí)要考慮硬件連接的問題,硬件連接更改時(shí),程序也要相應(yīng)地做更改。相對(duì)而言,難度系數(shù)增加不少。</p><p> 首先,說明下我對(duì)此課程設(shè)計(jì)的理解。此課程設(shè)計(jì)使用了8086/8088微機(jī)系統(tǒng),為了連線方便我使用了8088。8086/8088微機(jī)系統(tǒng)相對(duì)于現(xiàn)在的計(jì)算機(jī),性能上要差了很多。但這并不意味著它的功能簡(jiǎn)單。本課程設(shè)計(jì)需要完成的4路搶
45、答器這樣的功能其實(shí)是浪費(fèi)資源了。但這課程設(shè)計(jì)可以通過這樣一個(gè)相對(duì)簡(jiǎn)單的應(yīng)用讓我們了解微機(jī)的基本原理、基本結(jié)構(gòu)。完成此項(xiàng)設(shè)計(jì)還需要綜合考慮各方面因素,可以提高我們綜合應(yīng)用能力。</p><p> 此課程設(shè)計(jì)的要求為4路搶答器,實(shí)際上8255的PCA端口只用了4個(gè)輸入端,可以根據(jù)需要增加搶答鍵的數(shù)目,通過級(jí)聯(lián)8255可以接入更多路。改變搶答鍵數(shù)目時(shí)需要對(duì)程序相關(guān)部分做出修改。通過可編程器件完成的設(shè)計(jì)一般都有較好的擴(kuò)
46、展性。</p><p> 此次課程設(shè)計(jì)完成得比較倉(cāng)促,存在很多不足。首先,由于資源有限,本次課程設(shè)計(jì)僅僅停留在了理論上,沒有經(jīng)過實(shí)際檢驗(yàn)。其次,相關(guān)程序并沒有進(jìn)行深入思考,可能存在不合理之處;在電路原理圖繪圖時(shí),也沒有進(jìn)行較好的布局。最后,此搶答器功能上可以有更多的擴(kuò)展,比如加上一個(gè)計(jì)分環(huán)節(jié),但由于時(shí)間關(guān)系沒有去嘗試。</p><p> 此次課程設(shè)計(jì)使我系統(tǒng)地認(rèn)識(shí)了微機(jī)原理這門課程,之
47、前對(duì)各知識(shí)點(diǎn)的理解都只是片面的,各個(gè)芯片理解時(shí)都是單一理解的,沒有考慮過它們的相互配合。而此課程設(shè)計(jì)使我將這些內(nèi)容串聯(lián)起來(lái),對(duì)各項(xiàng)內(nèi)容有了一個(gè)整體的概念,對(duì)微機(jī)原理有了更全面、深刻的認(rèn)識(shí)。</p><p><b> 參考文獻(xiàn)</b></p><p> 王忠民?《微型計(jì)算機(jī)原理(第二版)》?西安電子科技大學(xué)出版社</p><p> 鄭榕?《
48、微機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)書(修改版)(非計(jì)算機(jī)專業(yè))》?北京科技大學(xué)信息工程學(xué)院</p><p><b> 程序清單</b></p><p><b> ;主程序</b></p><p> DATA SEGMENT ;數(shù)據(jù)段</p><p> TAB DB 06H,
49、5BH,4FH,66H,79H ;1~4和E的段碼;</p><p> BZ DB 00H</p><p> DATA ENDS</p><p> STACKS SEGMENT PARASTACK 'STACK'</p><p> DB 100H DUP(?)<
50、;/p><p> STACKS ENDS</p><p> CODE SEGMENT ;代碼段</p><p> ASSUME DS:DATA,CS:CODE</p><p> START: MOV AX,DATA</p><p> MOV DS,AX</p>
51、<p> MOV DX,20H ;初始化實(shí)驗(yàn)系統(tǒng)中8259的ICW1</p><p> MOV AL,13H ;邊沿觸發(fā)、單片8259、需要ICW4</p><p> OUT DX,AL</p><p> MOV DX,21H ;初始化實(shí)驗(yàn)系統(tǒng)中825
52、9的ICW2</p><p> MOV AL, 08H ;根據(jù)ICW2的格式寫入00001000B,即08H</p><p> OUT DX,AL</p><p> MOV DX,21H ;初始化實(shí)驗(yàn)系統(tǒng)中8259的ICW4</p><p> MOV AL
53、, 0DH ;一般中斷結(jié)束方式 </p><p> OUT DX,AL</p><p><b> ;8255A初始化</b></p><p> MOV AL,91H ;置8255A工作方式</p><p> OUT
54、83H,AL</p><p> MOV AL,00H ;B口、C口初始化</p><p> OUT 81H,AL</p><p> OUT 82H,AL</p><p><b> ;8253初始化</b></p><p> MOV
55、 AL,36H ;初始化8254通道0工作方式3,初值為0 </p><p> OUT 43H,AL</p><p> MOV AL,00H</p><p> OUT 40H,AL</p><p> MOV AL,00H</p
56、><p> OUT 40H,AL</p><p> MOV AL, 70H ;通道1工作方式0,初始值為0</p><p> OUT 43H,AL</p><p> MOV AL,00H</p><p> OUT 41H,AL</
57、p><p> MOV AL,00H</p><p> OUT 41H,AL</p><p> MOV AL, 0B6H ;通道2工作方式3</p><p> OUT 43H,AL </p><p> MOV AL,00H</p&
58、gt;<p> OUT 42H,AL</p><p> MOV AL,00H</p><p> OUT 42H,AL</p><p><b> ;中斷設(shè)置</b></p><p> MOV AH,25H ;設(shè)置搶答按鍵中斷向量&l
59、t;/p><p> MOV AL,0AH ;中斷類型號(hào)為入口參數(shù)</p><p> MOV BX,SEG KEYINT ;DS:DX指向4字節(jié)地址</p><p> MOV DS,BX</p><p> MOV DX,OFFSET KEYINT</p>
60、<p> INT 21H</p><p> STI ;使IF置1,開放可屏蔽中斷</p><p><b> ;主循環(huán)</b></p><p> LOPM: IN AL,82H ;檢測(cè)開始鍵</p><p> T
61、EST AL,02H ;檢測(cè)C口的PC1端</p><p> JZ LOP2 ;開始鍵未按下即PC1=0,則跳轉(zhuǎn)檢測(cè)復(fù)位鍵</p><p> LOP1: IN AL,82H ;檢測(cè)開始鍵是否已經(jīng)彈起,即PC1=0</p><p> TEST AL,02H</p>
62、<p> JNZ LOP1 ;開始鍵沒有彈起再重新檢測(cè)</p><p> MOV AL,00H ;關(guān)LED顯示器</p><p> OUT 81H,AL ;送到B口</p><p> MOV AL,40H ;綠燈亮</p><p&g
63、t; OUT 82H,AL ;送到C口</p><p> MOV BZ,0FFH ;置標(biāo)志</p><p><b> STI</b></p><p> LOP2: IN AL,82H ;檢測(cè)復(fù)位鍵</p><p> TEST AL,
64、04H ;檢測(cè)C口的PC2端</p><p> JZ LOPM ;復(fù)位鍵未按下即PC2=0,則跳轉(zhuǎn)再檢測(cè)開始鍵</p><p> LOP3: IN AL,82H ;檢測(cè)復(fù)位鍵是否彈起,即PC2=0</p><p> TEST AL,04H</p><p>
65、JNZ LOP3 ;復(fù)位沒有彈起,則重新檢測(cè)</p><p> MOV AL,00H ;關(guān)LED顯示器、指標(biāo)燈</p><p> OUT 81H,AL</p><p> OUT 82H,AL</p><p> MOV BZ,00H ;清標(biāo)志
66、</p><p><b> STI</b></p><p> JMP LOPM </p><p> ;中斷服務(wù)子程序……</p><p> KEYINT PROC FAR</p><p> PUSH AX ;保護(hù)現(xiàn)場(chǎng)<
67、/p><p> PUSH BX</p><p> PUSH DX</p><p> PUSH DS</p><p> CLI ;并使本次中斷壓入堆棧中的IF=0(關(guān)中斷)</p><p> IN AL,80H ;從8255
68、的A口獲取選手按鍵信息</p><p> CMP AL,01H ;比較選手號(hào)碼是否為1</p><p> JE SHOW1</p><p> CMP AL,02H ; 比較選手號(hào)碼是否為2</p><p> JE SHOW2</p><p>
69、; CMP AL,04H ; 比較選手號(hào)碼是否為3</p><p> JE SHOW3</p><p> CMP AL,08H ; 比較選手號(hào)碼是否為4</p><p> JE SHOW4</p><p> JMP SHOWE ;搶答錯(cuò)誤
70、</p><p> SHOW1: MOV AL,OFFSET TAB</p><p> JMP SHOW</p><p> SHOW2: MOV AL,OFFSET TAB+1</p><p> JMP SHOW</p><p> SHOW3: MOV
71、 AL,OFFSET TAB+2</p><p> JMP SHOW</p><p> SHOW4: MOV AL,OFFSET TAB+3</p><p> JMP SHOW</p><p> SHOWE: MOV AL,OFFSET TAB+4</p>&l
72、t;p> MOV BZ,00H ; 通過標(biāo)志位強(qiáng)制轉(zhuǎn)入犯規(guī)處理</p><p> JMP SHOW</p><p> SHOW: OUT 81H,AL</p><p><b> ;8253初始化</b></p><p> MOV AL,36H
73、 ;初始化8254通道0工作方式3 </p><p> OUT 43H,AL</p><p> MOV AL,00H</p><p> OUT 40H,AL</p><p> MOV AL,00H</p><p> OUT
74、 40H,AL</p><p> MOV AL, 70H ;通道1工作方式0</p><p> OUT 43H,AL</p><p> MOV AL,00H</p><p> OUT 41H,AL</p><p> MOV AL,00H&l
75、t;/p><p> OUT 41H,AL</p><p> IN AL,82H</p><p> OR AL,80H</p><p> OUT 82H,AL ;使PC7為1</p><p> TEST BZ,0FFH ;判斷標(biāo)志位是否為F
76、FH</p><p> JNZ QDCG</p><p> QDFG: MOV AL, 0B6H ;搶答犯規(guī)處理,通道2工作方式3</p><p> OUT 43H,AL</p><p> MOV AL,66H</p><p> OUT 42
77、H,AL</p><p> MOV AL,0EH</p><p> OUT 42H,AL</p><p> IN AL,82H</p><p> AND AL,0E0H ;紅燈亮,搶答違規(guī)</p><p> OUT 82H,AL</p
78、><p> LOP4: IN AL,82H ;讀PC3數(shù)據(jù),確定是否終止,終止通過使PC7為0</p><p> TEST AL,01H</p><p> JZ LOP4</p><p> IN AL,82H</p><p> AND
79、AL,7FH</p><p> OUT 82H,AL;使PC7為0</p><p> JMP KKK</p><p> QDCG: MOV AL, 0B6H ;搶答成功處理,通道2工作方式3</p><p> OUT 43H,AL</p><p>
80、MOV AL,33H</p><p> OUT 42H,AL</p><p> MOV AL,07H</p><p> OUT 42H,AL</p><p> IN AL,82H</p><p> AND AL,0D0H ;黃燈
81、亮,搶答成功</p><p> OUT 82H,AL</p><p> LOP5: IN AL,82H ;讀PC3數(shù)據(jù),確定是否終止,終止通過使PC7為0</p><p> TEST AL,01H</p><p> JZ LOP5</p><p>
82、 IN AL,82H</p><p> AND AL,7FH</p><p> OUT 82H,AL ;使PC7為0</p><p> IN AL,82H</p><p> AND AL,0E0H ;滅黃燈,開始計(jì)時(shí)</p><p&
83、gt; OUT 82H,AL</p><p> TIME: MOV AL,36H ;初始化8254通道0工作方式3</p><p> OUT 43H,AL</p><p> MOV AL,00H</p><p> OUT 40H,AL ;計(jì)數(shù)初值18
84、432</p><p> MOV AL,48H</p><p> OUT 40H,AL</p><p> MOV AL, 70H ;通道1工作方式0</p><p> OUT 43H,AL</p><p> MOV AL,0C4H</
85、p><p> OUT 41H,AL</p><p> MOV AL,09H</p><p> OUT 41H,AL</p><p> LOP6: IN AL,82H ;循環(huán)檢測(cè)PC3,電平變高跳出循環(huán)</p><p> TEST AL,0
86、8H</p><p> JZ LOP6</p><p> IN AL,82H ;答題計(jì)時(shí)結(jié)束,開始響鈴程序</p><p> OR AL,80H</p><p> OUT 82H,AL ;使PC7為1</p><p> MOV
87、 AL,36H ;初始化8254通道0工作方式3 </p><p> OUT 43H,AL</p><p> MOV AL,00H</p><p> OUT 40H,AL</p><p> MOV AL,00H</p><
88、p> OUT 40H,AL</p><p> MOV AL, 70H ;通道1工作方式0</p><p> OUT 43H,AL</p><p> MOV AL,00H</p><p> OUT 41H,AL</p><p>
89、MOV AL,00H</p><p> OUT 41H,AL</p><p> MOV AL, 0B6H ;通道2工作方式3</p><p> OUT 43H,AL</p><p> MOV AL,00H</p><p> OUT
90、 42H,AL</p><p> MOV AL,00H</p><p> OUT 42H,AL</p><p> KKK: MOV AL,20H ;給8259發(fā)中斷結(jié)束命令,寫OCW2</p><p> OUT 20H,AL</p><p>
91、 POP AX ;恢復(fù)現(xiàn)場(chǎng)</p><p> POP BX</p><p> POP DX</p><p> POP DS</p><p><b> IRET</b></p><p> KEYINT ENDP&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機(jī)原理課程設(shè)計(jì)---競(jìng)賽搶答器設(shè)計(jì)
- 微機(jī)原理課程設(shè)計(jì)---八路智力競(jìng)賽搶答器
- 微機(jī)原理課程設(shè)計(jì)---八路搶答器
- 微機(jī)原理課程設(shè)計(jì)搶答器
- 微機(jī)原理課程設(shè)計(jì)報(bào)告---競(jìng)賽搶答器的設(shè)計(jì)
- 微機(jī)課程設(shè)計(jì)--8路搶答器
- 微機(jī)原理課程設(shè)計(jì)報(bào)告--數(shù)字式競(jìng)賽搶答器
- 4路搶答器課程設(shè)計(jì)
- 競(jìng)賽搶答器課程設(shè)計(jì)-微機(jī)接口課程設(shè)計(jì)報(bào)告
- 競(jìng)賽搶答器課程設(shè)計(jì)-微機(jī)接口課程設(shè)計(jì)報(bào)告
- 課程設(shè)計(jì)---4路搶答器設(shè)計(jì)
- 微機(jī)課程設(shè)計(jì)報(bào)告搶答器
- 微機(jī)原理與接口技術(shù)課程設(shè)計(jì)--四路搶答的搶答器
- 搶答器課程設(shè)計(jì)---八路智力競(jìng)賽搶答器的設(shè)計(jì)
- 競(jìng)賽搶答器課程設(shè)計(jì)
- 搶答器課程設(shè)計(jì)--八路搶答器
- 課程設(shè)計(jì)----8路智力競(jìng)賽搶答器
- 《微機(jī)原理與接口技術(shù)》課程設(shè)計(jì)---搶答器
- eda課程設(shè)計(jì)---競(jìng)賽搶答器
- 四路搶答器課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論