版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 第一章?lián)尨鹌骱喗?lt;/b></p><p><b> 1、設(shè)計(jì)要求</b></p><p> 設(shè)計(jì)一個(gè)具有8路搶答的搶答器,利用并行接口和開關(guān)鍵。邏輯開關(guān)K0---K7代表搶答按鈕,當(dāng)某個(gè)邏輯開關(guān)閉合時(shí),相當(dāng)于搶答按鈕按下,此時(shí)在七段數(shù)碼管上將其號(hào)碼顯示出來,并使喇叭響一聲(或者以發(fā)光二極管代替)。</p&
2、gt;<p> 中斷優(yōu)先級(jí)管理器8259A控制字要求</p><p> 芯片控制字:采用邊沿觸發(fā),單片8259,要寫入ICW4控制字</p><p> 中斷類型碼控制字:設(shè)置IR0~IR7的中斷類型碼依次為08H、09H、…、0FH</p><p> 方式控制字:優(yōu)先級(jí)設(shè)置方式為全嵌套方式即固定優(yōu)先級(jí)方式,主片工作在緩沖方式下,中斷結(jié)束方式采用
3、中斷非自動(dòng)結(jié)束方式,8259工作在80X86系統(tǒng)上。</p><p> 可編程并行接口芯片8255A控制字要求</p><p> A口工作在方式0,做為輸入端口用于連接選手按鍵(PA7~PA0依次對(duì)應(yīng)按鍵1~8);B口工作在方式0,做為輸出端口,經(jīng)驅(qū)動(dòng)器1連接LED顯示器(PB7~PB0依次對(duì)應(yīng)連接LED顯示器的dp、g、f、e、d、c、b、a七段數(shù)碼管管腳);C口也必須工作在方式0,
4、高4 位做輸入端口(本次設(shè)計(jì)中只用PC4、PC5,分別用于連接復(fù)位鍵和開始鍵),低4位做輸出端口(PC3~PC0,經(jīng)驅(qū)動(dòng)器2后PC1、PC2、PC3分別用于連接黃、紅、綠三個(gè)發(fā)光二極管,PC0連接到8253的GATE1端,以控制通道1的計(jì)數(shù))。</p><p> 可編程定時(shí)器/計(jì)數(shù)器8253控制字要求</p><p> 通道0:操作類型為先讀寫低字節(jié)再讀寫高字節(jié),工作在方式3即方波發(fā)生
5、器,計(jì)數(shù)格式為BCD碼,計(jì)數(shù)初值為4000。</p><p> 通道1:操作類型為先讀寫低字節(jié)再讀寫高字節(jié),工作在方式1即可重觸發(fā)的單穩(wěn)態(tài)觸發(fā)器,計(jì)數(shù)格式為BCD碼,計(jì)數(shù)初值為3000。</p><p> 通道2:操作類型為先讀寫低字節(jié)再讀寫高字節(jié),工作在方式3即方波發(fā)生器,計(jì)數(shù)格式為BCD碼,計(jì)數(shù)初值為0。</p><p><b> 2、實(shí)現(xiàn)功能&
6、lt;/b></p><p> 啟動(dòng)計(jì)算機(jī),計(jì)算機(jī)自動(dòng)為系統(tǒng)各芯片進(jìn)行初始化,搶答器開始工作。</p><p> 比賽開始,在主持人按下開始鍵,綠燈亮后,選手才可開始搶答,否則違規(guī)。若選手搶答成功,LED顯示器顯示選手號(hào)碼,揚(yáng)聲器鳴叫。若選手搶答違規(guī)(主持人未按開媽鍵),LED顯示器顯示違規(guī)選手號(hào)碼,紅燈亮,揚(yáng)聲器報(bào)警,并根據(jù)比賽規(guī)則進(jìn)行對(duì)該選手進(jìn)行扣分。</p>
7、<p> 若系統(tǒng)提示某號(hào)選手搶答違規(guī),主持人仍未按開始鍵,此時(shí)該號(hào)選手又按下?lián)尨疰I,LED顯示器顯示該選手的號(hào)碼。本系統(tǒng)開機(jī)后,若主持人既未按復(fù)位鍵又未按開始鍵,此時(shí)有選手按下?lián)尨疰I,系統(tǒng)提示紅燈亮,并報(bào)警。</p><p><b> 注: </b></p><p> 1、搶答成功,置8253通道2計(jì)數(shù)值為1000,揚(yáng)聲器的鳴叫聲音頻率為1MHz/10
8、00=1KHz。</p><p> 2、搶答失敗,置8253通道2計(jì)數(shù)值為2000,揚(yáng)聲器的鳴叫聲音頻率為1MHz/2000=0.5KHz。</p><p> 3、揚(yáng)聲器鳴叫或報(bào)警的時(shí)間為12s。</p><p><b> 第二章總體設(shè)計(jì)</b></p><p><b> 1、總體設(shè)計(jì)框圖</b
9、></p><p> 由于本次實(shí)驗(yàn)要用到數(shù)碼顯示、中斷控制、倒計(jì)時(shí)等功能,故初步分析,需要8255、8259、8253等芯片。</p><p> 經(jīng)過分析,實(shí)驗(yàn)的關(guān)鍵是準(zhǔn)確判斷出最先搶答者的信號(hào)并鎖存,而同時(shí)不理睬其他搶答者的信號(hào)。為此,可將8個(gè)搶答按鈕信號(hào)通過一個(gè)8位并行輸入口接至微機(jī)中。當(dāng)主持人啟動(dòng)搶答過程后,微機(jī)通過該并行輸入口循環(huán)對(duì)8路搶答信號(hào)進(jìn)行采樣。當(dāng)采樣到那一組的搶
10、答信號(hào)已經(jīng)發(fā)出,則立即停止采樣,并記錄下該組的組號(hào),每路搶答按鈕電路可以參考圖2.1進(jìn)行設(shè)計(jì)。</p><p> 圖2.1搶答按鈕電路</p><p> 由圖可知,當(dāng)8組均未按下?lián)尨鸢粹o時(shí),送入到并行接口的8位搶答狀態(tài)都是0,而當(dāng)微機(jī)采樣到這8位數(shù)據(jù)不為0時(shí),則表示有一組獲得了搶答機(jī)會(huì),然后通過逐位查詢個(gè)位狀態(tài),即可判斷出哪一組搶答成功,最后利用并行輸出接口將搶答成功的組號(hào)現(xiàn)實(shí)出來.
11、在實(shí)驗(yàn)中,可以僅用一位7段數(shù)碼管來顯示搶答選手的組號(hào).</p><p> 為了對(duì)搶答后的回答時(shí)間進(jìn)行計(jì)時(shí)控制,可以利用一個(gè)可編程定時(shí)計(jì)時(shí)器,先置計(jì)數(shù)初值,再計(jì)時(shí),當(dāng)計(jì)時(shí)時(shí)間到后,由并行接口輸出一個(gè)響鈴信號(hào)提示搶答選手的回答時(shí)間已到。</p><p> 由于本系統(tǒng)要求對(duì)犯規(guī)的組亮紅燈警告,所以要設(shè)置一個(gè)啟動(dòng)按鍵,在主持人按下啟動(dòng)按鍵之前,如果有搶答按鈕被按下,則該搶答選手犯規(guī),可以通過并
12、行接口輸出一個(gè)信號(hào)使該組的紅色發(fā)光二級(jí)管點(diǎn)亮以示該組選手犯規(guī)。</p><p> 綜上所述,本實(shí)驗(yàn)的硬件電路設(shè)計(jì)如圖2.2。</p><p> 圖2.2 硬件結(jié)構(gòu)示意圖</p><p> 其中8255與8086連接圖如下圖2.3</p><p> 圖2.3 8086與8255連接圖</p><p><
13、b> 2、硬件總體設(shè)計(jì)</b></p><p><b> 系統(tǒng)方案</b></p><p> 該搶答器所要器件:中斷優(yōu)先級(jí)管理器8259A、可編程并行接口芯片8255、可編程定時(shí)器/計(jì)數(shù)器8253,三個(gè)一樣的驅(qū)動(dòng)器,黃、紅、綠三個(gè)發(fā)光二極管,十三個(gè)電阻,一個(gè)8輸入與非門,一個(gè)非門,一個(gè)揚(yáng)聲器,一個(gè)LED顯示器,10個(gè)按鍵。</p>
14、<p><b> 內(nèi)存單元編址</b></p><p> ?、僦袛鄡?yōu)先級(jí)管理器8259A的端口地址為20H、21H</p><p> ?、诳删幊滩⑿薪涌诮涌谛酒?255A的端口地址為80H、81H、82H、83H</p><p> ?、劭删幊潭〞r(shí)器/計(jì)數(shù)器8253的端口地址為40H、41H、42H、43H</p>&
15、lt;p> 鍵盤、揚(yáng)聲器及顯示功能的定義</p><p> 10個(gè)按鍵中,一個(gè)開始鍵一個(gè)復(fù)位鍵,另外8個(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ī)都要顯示。</p><p><b> 3、軟
16、件總體設(shè)計(jì)</b></p><p> 存儲(chǔ)單元的分配、標(biāo)志位的含義</p><p> ?、?定義一個(gè)TAB變量用來存儲(chǔ)1~9的字形碼信息,如下表</p><p> ?、?定義一個(gè)BZ變量作為標(biāo)志位,用來選手搶答是否違規(guī),BZ=0FFH時(shí)表示主持人已經(jīng)按下開始鍵選手可以搶答,BZ=00H表示主持人未按下開始按鍵,選手不可以搶答。</p>&
17、lt;p><b> 主程序流程圖</b></p><p> 圖2.4主程序流程圖</p><p><b> 硬件設(shè)計(jì)</b></p><p><b> 1、芯片的介紹</b></p><p> 中斷優(yōu)先級(jí)管理器8259A</p><p>
18、; ①8259A內(nèi)部結(jié)構(gòu)</p><p> 8259A采用NMOS工藝制成,有28根引腳,所有輸入、輸出端與TTL電平兼容,單一電源(Vcc=+5V)供電。8259的內(nèi)部主要組成部分,包括處理部件(中斷請求寄存器IRR、優(yōu)先級(jí)鑒別器PR及現(xiàn)行服務(wù)寄存器ISR)、控制部件(控制邏輯及中斷屏蔽寄存器IMR)、數(shù)據(jù)總路線緩沖器、讀/寫邏輯以及級(jí)聯(lián)緩沖器/比較器等5個(gè)部分。</p><p>
19、 ②8259A主要的外部引腳</p><p> 圖3.18259A引腳圖</p><p> D0~D7:雙向數(shù)據(jù)線,CPU與8259間利用這個(gè)數(shù)據(jù)總路線傳送數(shù)據(jù)及命令。</p><p> :寫控制輸入信號(hào),同控制總路線上的 信號(hào)相連。</p><p> ?。鹤x控制輸入信號(hào),同控制總路線上的信號(hào)相連。</p><p&
20、gt; A0:地址選擇信號(hào),用來對(duì)8259A內(nèi)部的兩個(gè)可編程寄存器進(jìn)行選擇。</p><p> ?。浩x輸入信號(hào),低電平有效。有郊時(shí)可通過數(shù)據(jù)總路線設(shè)置命令并對(duì)內(nèi)部寄存器進(jìn)行讀出。當(dāng)進(jìn)入中斷響應(yīng)時(shí)序時(shí),該引腳狀態(tài)與進(jìn)行的處理無關(guān)。</p><p> INT:由8259A向CPU發(fā)出的中斷請求信號(hào)。</p><p> ?。狠斎胄盘?hào),接收CPU送來的中斷響應(yīng)信號(hào)IN
21、TA。</p><p> IR0~IR7:8個(gè)中斷請求輸入信號(hào),高電平或上升沿有效。用于接收外設(shè)接口來的中斷請求。</p><p> ?、?259A工作方式</p><p> 優(yōu)先級(jí)設(shè)置方式:全嵌套方式(固定優(yōu)先級(jí)方式)、特殊全嵌套方式(可響應(yīng)同級(jí)中斷方式)、輪轉(zhuǎn)優(yōu)先級(jí)方式、特殊輪轉(zhuǎn)優(yōu)先級(jí)方式。</p><p> 中斷源屏蔽方式:普通屏
22、蔽方式、特殊屏蔽方式。</p><p> 中斷結(jié)束方式:中斷自動(dòng)結(jié)束方式、中斷非自動(dòng)結(jié)束方式(包括一般中斷結(jié)束方式、特殊中斷結(jié)束方式)。</p><p> 系統(tǒng)總路線連接方式:緩沖方式、非緩沖方式。</p><p> 中斷請求信號(hào)觸發(fā)方式:邊沿觸發(fā)方式、電平觸發(fā)方式。</p><p> ?、?259A初始化控制字格式</p>
23、<p> ⑤8259A操作命令字格式</p><p> 可編程并行接口接口芯片8255A</p><p> ?、?255A內(nèi)部結(jié)構(gòu)</p><p> 8255A芯片是一個(gè)采用NMOS工藝制造的40引腳雙列直插式(DIP)封裝組件。8255A有3個(gè)8位數(shù)據(jù)端口,即A口、B口及C口,它們都可以分別作為輸入口或輸出口使用;A組控制與B組控制;讀/寫控制
24、邏輯;數(shù)據(jù)總路線緩沖器。</p><p> ?、?255A主要的外部引腳</p><p> 圖3.28255A引腳圖</p><p> PA7~PA0:A口的8條I/O線。8條線只能同時(shí)作為輸入或輸出,不能分開使用,可設(shè)置成雙向口,也只有A口允許這樣做。</p><p> PB7~PB0:B口的8條I/O線。不可以設(shè)置成雙向口,其它和
25、A口一樣。</p><p> PC7~PC0:C口的8條I/O線。不可以設(shè)置成雙向口,但它可以分拆為兩組即高4位和低4位,這兩組可以任意設(shè)置為輸入或輸出。除了作為獨(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;為
26、10,選擇端口C;為11時(shí),選擇控制口。</p><p> ③8255A工作方式</p><p> 方式0:基本的輸入/輸出方式。A口、B口、C口都可以工作在些方式下。</p><p> 方式1:選通輸入/輸出方式(應(yīng)答方式)。A口、B口工作在此方式下。</p><p> 方式2:雙向傳輸方式。只有A口可以工作在此方式下。</p
27、><p> ?、?255A方式控制字格式</p><p> 可編程定時(shí)器/計(jì)數(shù)器8253</p><p> ?、?253的內(nèi)部結(jié)構(gòu)</p><p> 8253采用NMOS工藝制成,有24個(gè)引腳,所有輸入、輸出端均TTL電平兼容,單一電源(Vcc=+5V)供電,最高計(jì)數(shù)速率為2.6MHz。它包括3個(gè)計(jì)數(shù)器(即計(jì)數(shù)器0、1、2)、數(shù)據(jù)總路線緩沖器
28、、讀/寫邏輯以及控制寄存器等4個(gè)部分。</p><p> ?、?253的外部引腳</p><p> 圖3.3 8253引腳圖</p><p> A1、A0:地址輸入線,用來址8253內(nèi)部的4個(gè)端口,即3個(gè)計(jì)數(shù)器和1個(gè)控制字寄存器與CPU系統(tǒng)地址線相連。</p><p> CLK0、CLK1、CLK2:時(shí)鐘脈沖輸入端,用于輸入定時(shí)脈沖或
29、計(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、GATE3:門控輸入端,用于外部控制計(jì)數(shù)器的啟動(dòng)計(jì)數(shù)和停止計(jì)數(shù)的操作。兩個(gè)或兩個(gè)以上計(jì)數(shù)器連用時(shí),可用此信號(hào)同步,也可用于與外部某信號(hào)的同步。</p><
30、p> OUT0、OUT1、OUT2:計(jì)數(shù)輸出,當(dāng)計(jì)數(shù)器從初值開始完成計(jì)數(shù)操作進(jìn),OUT引腳輸出相應(yīng)的信號(hào)。</p><p> ?、?253的工作方式</p><p> 方式0:減1計(jì)數(shù)到0,產(chǎn)生中斷請求信號(hào)。</p><p> 方式1:減1計(jì)數(shù)到0,產(chǎn)生可重復(fù)觸發(fā)的單穩(wěn)態(tài)負(fù)脈沖信號(hào)。</p><p> 方式2:減1計(jì)數(shù)到1,分頻
31、器(速率信號(hào)發(fā)生器)。</p><p> 方式3:減1計(jì)數(shù)到初值的1/2,方波發(fā)生器。</p><p> 方式4:減1計(jì)數(shù)到0,軟件觸發(fā)產(chǎn)生選通負(fù)脈沖信號(hào)。</p><p> 方式5:減1計(jì)數(shù)到0,硬件觸發(fā)產(chǎn)生選通負(fù)脈沖信號(hào)。</p><p> ④8253方式控制字格式</p><p><b> 芯
32、片的連接</b></p><p> 各芯片與CPU的連接</p><p> 8259A、8255A、8253的數(shù)據(jù)總線D7~D0端、端、端、端、端、INT端分別與CPU的D7~D0數(shù)據(jù)總線、片選端、端、端、端、INTR端。8255A、8253的A1、A0端分別接入CPU地址線的A1、A0端,8259的A0端接到CPU地址線的A0端;</p><p>
33、 各芯片之間的連接和與外設(shè)的連接</p><p> 8259A的IR2端接選手按鍵信息輸出端;8255A的A口的PA7~PA0依次接“按鍵1”~“按鍵8”,B口的PB7~PB0通過驅(qū)動(dòng)器1接到LED顯示器,C口的PC4、PC5分別接復(fù)位鍵和開始鍵,PC3、PC2、PC1經(jīng)驅(qū)動(dòng)器2分別接綠燈發(fā)光二極管、紅燈發(fā)光二極管、黃燈發(fā)光二極管,PC0接到8253的GATE1端;8253的GATE0端接+5V電壓,OUT0
34、的輸出接入CLK1端,OUT1的輸出經(jīng)反相器后接入GATE2端,CLK0和CLK1接入1MHz的頻率發(fā)生器,CLK2經(jīng)驅(qū)動(dòng)器3接揚(yáng)聲器。</p><p><b> 第四章軟件設(shè)計(jì)</b></p><p><b> 1、子程序流程圖</b></p><p> 圖4.1子程序流程圖</p><p&
35、gt;<b> 2、子程序清單</b></p><p><b> ;中斷服務(wù)子程序</b></p><p> KEYINTPROCFAR</p><p> PUSHAX;保護(hù)現(xiàn)場</p><p><b> PUSHBX</b></p>
36、<p><b> PUSH DX</b></p><p><b> PUSHDS</b></p><p> CLI;并使本次中斷壓入堆棧中的IF=0</p><p><b> ;(關(guān)中斷)</b></p><p> INAL,80H
37、;從8255的A口獲取選手按鍵信息</p><p> NOTAL;將按鍵字節(jié)信息取反</p><p> MOVCX,8;計(jì)數(shù)8次</p><p> LOP4:SHRAL , 1;獲取選手號(hào)碼</p><p> LOOPNZ LOP4</p><p> MOVAX
38、,CX;把選手號(hào)傳給AX</p><p> MOVBX,OFFSETTAB;查段碼(字形碼)</p><p> XLAT;將選手號(hào)轉(zhuǎn)換成TAB中對(duì)應(yīng)的LED</p><p><b> ;字形碼</b></p><p> OUT81H,AL</p><p>
39、TESTBZ,OFFH;判斷標(biāo)志位是否為FFH</p><p><b> JZLOP5</b></p><p> MOVAL,00H;置8253通道2計(jì)數(shù)值</p><p> OUT42H,AL</p><p> MOVAL,10H</p><p> OUT4
40、2H,AL</p><p> MOVAL,03H;黃燈亮,搶答成功</p><p> OUT 82H,AL</p><p><b> JMPKKK</b></p><p> LOP5:MOV AL,00H;置8253通道2計(jì)數(shù)值</p><p> OUT4
41、2H,AL</p><p> MOV AL,20H</p><p> OUT 42H,AL</p><p> MOVAL,05H;紅燈亮,搶答違規(guī)</p><p> OUT82H,AL</p><p> KKK:MOVAL,20H;給8259發(fā)中斷結(jié)束命令,寫OCW2</p
42、><p> OUT20H,AL</p><p> POPAX;恢復(fù)現(xiàn)場</p><p><b> POPBX</b></p><p><b> POPDX</b></p><p><b> POPDS</b></p
43、><p> IRET</p><p> KEYINTENDP</p><p><b> 小結(jié)</b></p><p> 通過本次實(shí)驗(yàn)掌握了微機(jī)系統(tǒng)的開發(fā)步驟,掌握了中斷優(yōu)先級(jí)管理器8259A、可編程并行接口接口芯片8255A、可編程定時(shí)器/計(jì)數(shù)器8253和數(shù)碼管的用法,掌握了匯編程序的設(shè)計(jì)。<
44、/p><p> 本次設(shè)計(jì)需要熟練掌握匯編語言,熟悉中斷優(yōu)先級(jí)管理器8259A、可編程并行接口接口芯片8255A、可編程定時(shí)器/計(jì)數(shù)器8253的內(nèi)部結(jié)構(gòu)、外部引腳和功能,熟悉LED顯示器的結(jié)構(gòu)及譯碼方式。</p><p> 中斷優(yōu)先級(jí)管理器8259A在本系統(tǒng)中用來管理選手按鍵中斷信息??删幊滩⑿薪涌诮涌谛酒?255A在本系統(tǒng)中用來連接選手的按鍵,主持人的開始鍵和復(fù)位鍵,用來連接黃燈、紅燈、綠
45、燈三個(gè)發(fā)光二極管,用來提示搶答信息,用來連接LED顯示器控制顯示器的輸出,還連接到8253的GATE1端,控制計(jì)數(shù)器的啟動(dòng)計(jì)數(shù)和停止計(jì)數(shù)的操作??删幊潭〞r(shí)器/計(jì)數(shù)器8253用來設(shè)定揚(yáng)聲器的發(fā)聲頻率和發(fā)聲時(shí)間。LED顯示器用來連接到8255A的B口,用來顯示選手號(hào)。</p><p> 通過本次課程設(shè)計(jì)我也獲得了許多收益,首先,讓我更好的掌握了8259A、8255A、8253芯片的工作原理、方式及其應(yīng)用。其次,讓我
46、學(xué)會(huì)了如何設(shè)計(jì)一個(gè)簡單的微機(jī)系統(tǒng),以及設(shè)計(jì)一個(gè)簡單微機(jī)系統(tǒng)所需要的步驟和設(shè)計(jì)中需要注意的地方。</p><p> 本人在設(shè)計(jì)中遇到很多困難,大都是對(duì)和芯片的應(yīng)用還不是很熟練,還需更加努力更加深入的了解微機(jī)系統(tǒng)和芯片功能。</p><p> 由于我的能力和時(shí)間的限制,沒能通過硬件的驗(yàn)證實(shí)驗(yàn),只是通過查找一些資料和大腦抽象來設(shè)計(jì)本次課程設(shè)計(jì),設(shè)計(jì)的搶答器還存在一些問題有待改進(jìn)。</p
47、><p><b> 參考文獻(xiàn)</b></p><p> 1、仁向民·《微機(jī)接口技術(shù)實(shí)用教程》[M]·北京:清華大學(xué)出版社</p><p> 2、劉紅玲、邵曉根·《微機(jī)原理與接口技術(shù)》[M]·北京:中國電力出版社</p><p> 3、江正戰(zhàn)、沈志鴻·《三級(jí)偏硬考試教程
48、》[M]·江蘇:東南大學(xué)出版社</p><p> 4、閻石·《數(shù)字電子技術(shù)基礎(chǔ)》[M]·北京:高等教育出版社</p><p> 5、張雪蘭、譚毓安·《匯編語言程序設(shè)計(jì)》[M]·北京:清華大學(xué)出版社</p><p><b> 附錄</b></p><p><b&
49、gt; 主程序清單</b></p><p> DATASEGMENT</p><p> TAB DB06H,5BH,4FH,66H,6DH,7CH,07H,7FH,67H ;1~9的段碼</p><p><b> ;(字形碼)</b></p><p> BZ DB
50、00H</p><p> DATAENDS</p><p> STACKSEGMENTPARASTACK‘STACK’</p><p> DB100HDUP(?)</p><p> STACKENDS</p><p> CODE SEGMENT</p><p&g
51、t; ASSUMEDS:DATA,CS:CODE</p><p> START:MOVAX,,DATA</p><p><b> MOVDS,AX</b></p><p><b> ;8259A初始化</b></p><p> MOV AL,13H;初始化8259A的I
52、CW1</p><p> OUT 20H,AL</p><p> MOVAL,08H;送中斷類型碼基值,8259A的ICW2</p><p> OUT21H,AL</p><p> MOVAL,0DH;一般中斷結(jié)束方式,8259A的ICW4 </p><p> OUT21
53、H,AL</p><p><b> ;8255A初始化</b></p><p> MOV AL,98H;置8255A工作方式</p><p> OUT 83H,AL</p><p> XORAL,AL;B口、C口初始化</p><p> OUT 81H,AL&
54、lt;/p><p> OUT82H,AL</p><p><b> ;8253初始化</b></p><p> MOV AL,37H;置8253通道0控制字</p><p> OUT 43H,AL</p><p> MOV AL,00H;置8253通道0計(jì)數(shù)初值為40
55、00</p><p> OUT40H,AL</p><p> MOVAL,40H</p><p> OUT40H,AL</p><p> MOV AL,73H;置8253 通道1控制字</p><p> OUT43H,AL</p><p> MOVAL,0
56、0H;置8253通道1計(jì)數(shù)初值為3000OUT41H,AL</p><p> MOVAL,30H</p><p> OUT41H,AL</p><p> MOV AL,B7H;置8253通道2控制字</p><p> OUT43H,AL</p><p> MOVAL
57、,00H;置8253通道2控制字</p><p> OUT42H,AL</p><p> MOVAL,00H;置8253通道2計(jì)數(shù)初值為0</p><p> OUT42H,AL</p><p> MOVAL,00H</p><p> OUT42H,AL</p><
58、p><b> ;中斷設(shè)置</b></p><p> MOVAH,25H;設(shè)置搶答按鍵中斷向量</p><p> MOV AL,0AH;中斷類型號(hào)為入口參數(shù)</p><p> MOV BX,SEG KEYINT;DS:DX指向4字節(jié)地址</p><p> MOV DS,BX<
59、;/p><p> MOV DX,OFFSET KEYINT</p><p><b> INT 21H</b></p><p> STI;使IF置1,開放可屏蔽中斷</p><p><b> ;主循環(huán)</b></p><p> LOPM:INAL
60、,82H;檢測開始鍵</p><p> TESTAL,20H;檢測C口的PC5端</p><p> JZ LOP2;開始鍵未按下即PC5=0,則跳轉(zhuǎn)檢測</p><p><b> ;復(fù)位鍵</b></p><p> LOP1:INAL,82H;檢測開始鍵是否已經(jīng)彈起,
61、即PC5=0</p><p> TESTAL,20H</p><p> JNZ LOP1;開始鍵沒有彈起再重新檢測</p><p> MOVAL,00H;關(guān)LED顯示器</p><p> OUT 81H,AL;送到B口</p><p> MOVAL,08H;綠
62、燈亮</p><p> OUT82H,AL;送到C口</p><p> MOVBZ,0FFH;置標(biāo)志</p><p> STI</p><p> LOP2:INAL,82H;檢測復(fù)位鍵</p><p> TESTAL,10H;檢測C口的PC4端<
63、;/p><p> JZLOPM ;復(fù)位鍵未按下即PC4=0,則跳轉(zhuǎn)再檢</p><p><b> ;測開始鍵</b></p><p> LOP3:INAL,82H;檢測復(fù)位鍵是否彈起,即PC4=0</p><p> TEST AL,10H</p><
64、p> JNZ LOP3;位鍵沒有彈起,則重新檢測</p><p> MOVAL,00H;關(guān)LED顯示器、指標(biāo)燈</p><p> OUT 81H,AL</p><p> OUT 82H,AL</p><p> MOVBZ,00H;清標(biāo)志</p><p&g
65、t; STI</p><p><b> JMPLOPM</b></p><p> ;中斷服務(wù)子程序……</p><p><b> CODEENDS</b></p><p><b> ENDSTART</b></p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 微機(jī)原理課程設(shè)計(jì)---八路智力競賽搶答器
- 搶答器課程設(shè)計(jì)--八路搶答器
- 八路搶答器課程設(shè)計(jì)
- 八路搶答器課程設(shè)計(jì)
- 課程設(shè)計(jì)---八路搶答器
- 八路搶答器課程設(shè)計(jì)
- 八路搶答器課程設(shè)計(jì)
- 八路搶答器課程設(shè)計(jì)
- 八路搶答器設(shè)計(jì)課程設(shè)計(jì)
- 《八路搶答器》課程設(shè)計(jì)報(bào)告
- 八路搶答器課程設(shè)計(jì)報(bào)告
- 八路搶答器eda課程設(shè)計(jì)
- 八路定時(shí)搶答器課程設(shè)計(jì)
- 八路搶答器課程設(shè)計(jì)報(bào)告
- 八路搶答器cpld課程設(shè)計(jì)
- 八路電子搶答器課程設(shè)計(jì)
- 電子課程設(shè)計(jì)--八路搶答器
- 八路搶答器課程設(shè)計(jì)報(bào)告
- 八路搶答器課程設(shè)計(jì) (2)
- 八路搶答器-eda課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論