競(jìng)賽搶答器的設(shè)計(jì)與制作硬件課程設(shè)計(jì)報(bào)告 包含電氣原理圖、流程圖、模塊分析、源代碼設(shè)計(jì)背景完整報(bào)告等內(nèi)容

上傳人:仙*** 文檔編號(hào):28198200 上傳時(shí)間:2021-08-23 格式:DOC 頁(yè)數(shù):21 大?。?.53MB
收藏 版權(quán)申訴 舉報(bào) 下載
競(jìng)賽搶答器的設(shè)計(jì)與制作硬件課程設(shè)計(jì)報(bào)告 包含電氣原理圖、流程圖、模塊分析、源代碼設(shè)計(jì)背景完整報(bào)告等內(nèi)容_第1頁(yè)
第1頁(yè) / 共21頁(yè)
競(jìng)賽搶答器的設(shè)計(jì)與制作硬件課程設(shè)計(jì)報(bào)告 包含電氣原理圖、流程圖、模塊分析、源代碼設(shè)計(jì)背景完整報(bào)告等內(nèi)容_第2頁(yè)
第2頁(yè) / 共21頁(yè)
競(jìng)賽搶答器的設(shè)計(jì)與制作硬件課程設(shè)計(jì)報(bào)告 包含電氣原理圖、流程圖、模塊分析、源代碼設(shè)計(jì)背景完整報(bào)告等內(nèi)容_第3頁(yè)
第3頁(yè) / 共21頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《競(jìng)賽搶答器的設(shè)計(jì)與制作硬件課程設(shè)計(jì)報(bào)告 包含電氣原理圖、流程圖、模塊分析、源代碼設(shè)計(jì)背景完整報(bào)告等內(nèi)容》由會(huì)員分享,可在線閱讀,更多相關(guān)《競(jìng)賽搶答器的設(shè)計(jì)與制作硬件課程設(shè)計(jì)報(bào)告 包含電氣原理圖、流程圖、模塊分析、源代碼設(shè)計(jì)背景完整報(bào)告等內(nèi)容(21頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、計(jì)算機(jī)學(xué)院2006級(jí)硬件課程設(shè)計(jì) 硬件課程設(shè)計(jì)報(bào)告 競(jìng)賽搶答器設(shè)計(jì)與制作 學(xué)院:計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 班級(jí):信息安全06-2班 成員: XXX(總體思想的確立和方案流程的設(shè)計(jì)) XXX(鍵盤(pán)掃描程序的編程和實(shí)現(xiàn)) XXX(定時(shí)和延時(shí)程序的實(shí)現(xiàn)) 2008年7月 目錄 1、需求分析 2、總體方案與說(shuō)明 2-1搶答器的基本組成及原理 2-2指標(biāo)要求 2-3實(shí)現(xiàn)的原理與電路 3、電路原理圖與說(shuō)明 3-1-1 8255A的原理及鍵盤(pán)接線圖 3-1-2 8255A的三種工作方式 3-2-1 8253的原理圖及接線圖

2、 3-2-2 8253A的工作方式 4、軟件主要模塊流程圖 4-1-1 主流程圖 4-1-2 8255A流程圖 4-1-3函數(shù)WAIT1 4-1-4函數(shù)WAIT2 5、源程序清單與注釋 6、問(wèn)題分析與解決方案 7、結(jié)論與體會(huì) 8、參考資料 課程設(shè)計(jì)指導(dǎo)教師評(píng)閱書(shū) 指導(dǎo)教師評(píng)語(yǔ): 成 績(jī): 指導(dǎo)教師簽字: 年 月

3、 日 搶答器的設(shè)計(jì)與制作 1. 需求分析 可顯示性搶答器可使用于各種搶答競(jìng)賽中,作為判斷搶答先后的重要工具。搶答器是為智力競(jìng)賽參賽者答題時(shí)進(jìn)行搶答而設(shè)計(jì)的一種優(yōu)先判決器電路,競(jìng)賽者可以分為若干組,搶答時(shí)各組對(duì)主持人提出的問(wèn)題要在最短的時(shí)間內(nèi)做出判斷,并按下?lián)尨鸢存I回答問(wèn)題。當(dāng)?shù)谝粋€(gè)人按下按鍵后,則在顯示器上顯示該組的號(hào)碼?;卮鹜陠?wèn)題后,由主持人將所有按鍵恢復(fù),重新開(kāi)始下一輪搶答。因此要完成搶答器的邏輯功能,該電路至少應(yīng)包括按鍵輸入、數(shù)字顯示、計(jì)數(shù)。 2.總體方案與說(shuō)明 2-1搶答器的基本組成及原理 1、基本組成:可編程外圍接口芯片8255,定

4、時(shí)器8253,七段數(shù)碼管, 小鍵盤(pán) 2、工作原理:選用8個(gè)鍵盤(pán)按鍵作為按鈕,每個(gè)按鍵對(duì)應(yīng)一個(gè)數(shù)字,在有效時(shí)間內(nèi)按下按鍵則顯示該選手的號(hào)碼。鍵盤(pán)采用行列式,2行4列共8個(gè)鍵,由8255 C口低四位讀列,B口PB0、PB1送行,行線同時(shí)接到PC4、PC5上,這樣讀C口狀態(tài)就可以同時(shí)讀取鍵盤(pán)的行列信號(hào)。A口做輸出,輸出信號(hào)由七段數(shù)碼管顯示,B口,C口均輸入。為了體現(xiàn)搶答功能,鍵盤(pán)采用動(dòng)態(tài)掃描的方法。利用8259中斷,先將掃描的狀態(tài)讀入8259并用鎖存器74LS244將其鎖存,根據(jù)鎖存的狀態(tài)判斷最先按下的是哪個(gè)鍵。將由8255的C口最高位接一個(gè)開(kāi)關(guān)作為控制開(kāi)關(guān)S,執(zhí)行時(shí)先對(duì)8255的PC7進(jìn)行檢查

5、,如果為1則啟動(dòng)8253開(kāi)始計(jì)時(shí),否則繼續(xù)檢查等待。數(shù)碼管可以動(dòng)態(tài)顯示所有按下的鍵的號(hào)碼。 選用8253定時(shí)20秒,并將倒計(jì)時(shí)的時(shí)間由屏幕顯示出來(lái)。并將8253的輸出接到8255的PC6口,以便檢測(cè)定時(shí)是否結(jié)束。計(jì)時(shí)開(kāi)始的同時(shí)對(duì)鍵 盤(pán)進(jìn)行掃描,20秒內(nèi)有鍵按下則搶答成功,無(wú)鍵按下則搶答無(wú)效。 2-2指標(biāo)要求 1.基本功能: (1) 搶答器同時(shí)供8名選手或8個(gè)代表隊(duì)比賽,分別用8個(gè)按鈕S0 至S7表示。 (2) 設(shè)置一個(gè)系統(tǒng)清除和搶答控制開(kāi)關(guān)S,該開(kāi)關(guān)由主持人控制。 (3) 搶答器具有顯示功能。即選手按動(dòng)按鈕,并在DPY_7-SEG七段數(shù)碼管上顯示選手號(hào)碼。 (4) 參賽選手

6、在設(shè)定的時(shí)間內(nèi)進(jìn)行搶答,搶答有效,顯示器上顯示選手的編號(hào)。如果定時(shí)時(shí)間已到,無(wú)人搶答,本次搶答無(wú)效并進(jìn)行報(bào)警。 2.?dāng)U展功能: (1) 搶答器具有定時(shí)搶答功能,且一次搶答的時(shí)間由主持人設(shè)定(如20秒)。當(dāng)主持人啟動(dòng)"開(kāi)始"鍵后,定時(shí)器進(jìn)行減計(jì)時(shí),并且倒計(jì)時(shí)可以由屏幕顯示出來(lái)。 (2) 數(shù)碼管動(dòng)態(tài)顯示。數(shù)碼管可以動(dòng)態(tài)的顯示所有按下的鍵的序號(hào)。 2-3實(shí)現(xiàn)的原理與電路 1.?dāng)?shù)字搶答器總體方框圖 如圖1所示為總體方框圖。其工作原理為:接通電源后,主持人將開(kāi)關(guān)撥到"清零"狀態(tài),搶答器處于禁止?fàn)顟B(tài),編號(hào)顯示器滅燈,定時(shí)器顯示設(shè)定時(shí)間;主持人將開(kāi)關(guān)置;開(kāi)始"狀態(tài),宣布"開(kāi)始"搶答器工作。定

7、時(shí)器倒計(jì)時(shí)。選手在定時(shí)時(shí)間內(nèi)搶答時(shí),搶答器完成:優(yōu)先判斷、編號(hào)顯示。當(dāng)一輪搶答之后,定時(shí)器停止、禁止二次搶答。如果再次搶答必須由主持人再次操作"清除"和"開(kāi)始"狀態(tài)開(kāi)關(guān). 圖1 總體框圖 2.鍵盤(pán)掃描的原理 我們所設(shè)計(jì)的鍵盤(pán)是一個(gè)8位鍵的,分別為16進(jìn)制數(shù)字0-7,其中,鍵盤(pán)的排列,連線及接口電路如下圖所示,8個(gè)鍵排成2行4列的矩陣,接到微機(jī)的一對(duì)端口上。端口由8255A構(gòu)成,其中端口B作輸入,端口C口作為輸入。矩陣4條列線到輸入端口C口的PC3~PC0,用程序能改變這4條線上的電平。2條行線連到B口的PB0~PB1.行線同時(shí)接在C口的PC4,PC5端

8、,這樣,用輸入指令讀取C口狀態(tài)時(shí),可同時(shí)讀取鍵盤(pán)的行列信息。 在無(wú)鍵壓下時(shí),由于接到+5V上的上拉電阻的作用,列線和行線接通。這時(shí),如果向下鍵所在的行線上輸出一個(gè)低電平信號(hào),則對(duì)應(yīng)的列線也呈現(xiàn)低電平。當(dāng)從B口讀取列線信號(hào)時(shí),便能檢測(cè)到該列線的低電平。讀取B口的狀態(tài)時(shí),還能確定哪個(gè)鍵被按下了。 識(shí)別鍵盤(pán)上哪個(gè)鍵被壓下的過(guò)程稱為鍵盤(pán)掃描,上述鍵盤(pán)的掃描包含以下幾步: 1 測(cè)是否所有鍵都松開(kāi)了,若沒(méi)有則反復(fù)檢測(cè)。 2 當(dāng)所有鍵都松開(kāi)了,再檢測(cè)是否有鍵壓下,若無(wú)鍵壓下則反復(fù)檢測(cè)。 3 若有鍵壓下,要消除鍵抖動(dòng),確認(rèn)有鍵壓下。 4 對(duì)壓下的鍵進(jìn)行編碼,將該鍵行列的信號(hào)轉(zhuǎn)換16進(jìn)制碼,由此確

9、定哪一個(gè)鍵被壓下了。如出現(xiàn)多鍵重按的情況,只有在其他鍵均釋放后,僅剩下一個(gè)鍵閉合時(shí),才把此鍵當(dāng)作本次壓下的鍵。 5 該鍵釋放后,再回到2。 6 檢測(cè)矩陣中是否有鍵壓下的一種簡(jiǎn)單方法,自輸出口向所有列線輸出0電平,檢測(cè)B口的低兩位讀取行值,若其中有0值,便是有鍵壓下了。   在開(kāi)始一次掃描時(shí),先應(yīng)確認(rèn)上一次壓下的鍵是否已松開(kāi)。既先向所有行線輸出低電平,再讀入各列線值,只有當(dāng)所有的行線和列線均為高電平,表示以前壓下的鍵都已釋放,才開(kāi)始檢測(cè)是否有鍵壓下。 當(dāng)檢測(cè)到有鍵壓下后,必須消除鍵抖動(dòng)(DEBANCE)。即當(dāng)檢測(cè)到有鍵按下后,延長(zhǎng)一定時(shí)間(通常延遲20MS),再檢查該鍵是否仍被壓者。

10、若是,才認(rèn)定該鍵確實(shí)被按下后,而不是其他的振動(dòng)干擾。 確認(rèn)有鍵按下后,再確定被壓下鍵所在的行號(hào)。為獲取行列信息,先從B口輸出一個(gè)低電平到一列線上,再?gòu)腃口讀入各行的值,若沒(méi)有一列為低電平,說(shuō)明壓下的鍵不在此行。于是,再向下一行輸出一個(gè)低電平,再檢測(cè)各列線上是否有低電平,依次對(duì)每一行重復(fù)這個(gè)過(guò)程,直至查到某一列線上出現(xiàn)低電平為止。被置成低電平的行和讀到該低電平的列,便是被壓下鍵所在的行列值。 3、電路原理圖與說(shuō)明 3-1-1 8255A的原理及鍵盤(pán)接線圖 8255是一種通用可變成并行輸入輸出接口芯片,通過(guò)對(duì)它進(jìn)行編程,芯片可工作于不同的工作方式,用8255作接口時(shí),通常不需要附加外

11、部邏輯電路就可直接為CPU與外設(shè)之間提供數(shù)據(jù)通道,8255內(nèi)部包含3個(gè)8位輸入輸出端口A,B,C,通過(guò)外部24跟輸入輸出線與外設(shè)交換數(shù)據(jù)或進(jìn)行通信聯(lián)絡(luò)。端口A和端口B都可以用作一個(gè)8位的輸入口或8位的輸出口,出口既可作8位輸入輸出口又可分為兩個(gè)4位輸入輸出口,還常常用來(lái)配合A口和B口工作,用來(lái)產(chǎn)生A口和B口的端口狀態(tài)信號(hào),8255A有兩類控制字,一類控制字用來(lái)定義各端口的工作方式,稱為方式選擇控制字,另一類控制字用于對(duì)C端口的任一位置進(jìn)行置位或者復(fù)位操作,稱為置位復(fù)位控制字對(duì)8255A進(jìn)行編程時(shí)這兩種控制字都要寫(xiě)入控制字寄存器中,但方式選擇控制字的D7位總是1,而置位復(fù)位控制字的D7位總是0。

12、 +5V 10K PB0 PB1 D0~D7 7 4 5 6 10K 0 1 2 3 8255A PC5 PC4 PC3 PC2 PC1 PC0 8255A 圖2 鍵盤(pán)接口電路 3-1-2 8255A的三種工作

13、方式及控制字格式 方式0 ——基本輸入輸出方式 方式1 ——選通輸入輸出方式 方式2 ——雙向總線I/O方式 通過(guò)用輸出指令對(duì)8255A的控制字寄存器編程,寫(xiě)入設(shè)定工作方式的控制字,可以讓3個(gè)數(shù)據(jù)口以不同的方式工作,端口A可工作于3種方式的任一種,端口B只能工作于方式0和方式1,端口C除了用于輸入輸出端口外,還能配合A口和B口工作,為這兩個(gè)端口的輸入輸出操作提供聯(lián)系信號(hào)。 ………………………………………………………………………………………… 3-2-1 8253的原理圖及接線圖 8253有6種工作方式,對(duì)它們的操作遵守以下3條基本原則: (1)當(dāng)控制字寫(xiě)入

14、8253時(shí),所有的控制邏輯電路自動(dòng)復(fù)位,這時(shí)輸出端OUT進(jìn)入初始態(tài)。 (2)當(dāng)初始值寫(xiě)入計(jì)數(shù)器以后,要經(jīng)過(guò)一個(gè)時(shí)鐘周期,減法計(jì)數(shù)器才開(kāi)始工 作,時(shí)鐘脈沖的下降沿使計(jì)數(shù)器進(jìn)行減1計(jì)數(shù)。計(jì)數(shù)器的最大初始值是0,用二進(jìn)制計(jì)數(shù)時(shí)0相當(dāng)于216,用BCD碼時(shí),0相當(dāng)于104。 (3)對(duì)于一般情況下,在時(shí)鐘脈沖CLK的上升沿時(shí),采樣門(mén)控信號(hào)。對(duì)門(mén)控信號(hào)(GATE)的觸發(fā)方式是有具體規(guī)定的: 門(mén)控信號(hào)為電平觸發(fā)的有:方式0,方式4。 門(mén)控信號(hào)為上升沿觸發(fā)的有:方式1,方式5。 門(mén)控信號(hào)可為電平觸發(fā)也可為上升沿觸發(fā)的有:方式2,方式3。 計(jì)數(shù)方式的有:方式0,方式1,方式4,方式5

15、 定時(shí)方式的有:方式2,方式3。 3-2-2 8253A的工作方式 對(duì)8253A的工作方式只介紹本實(shí)驗(yàn)中用到的兩種: (1)方式0(計(jì)數(shù)結(jié)束產(chǎn)生中斷的計(jì)數(shù)器) 寫(xiě)入方式控制字后,輸出端OUT為低電平;寫(xiě)入計(jì)數(shù)常數(shù)后,開(kāi)始計(jì)數(shù)。計(jì)數(shù)器減為0之前,輸出端OUT維持低電平。當(dāng)計(jì)數(shù)值為0時(shí),輸出端OUT才變?yōu)楦唠娖?,向CPU發(fā)出中斷請(qǐng)求,直到CPU寫(xiě)入新的控制字或者寫(xiě)入新的計(jì) 數(shù)值為止。 方式0可由門(mén)控信號(hào)控制暫停,GATE為低電平時(shí),計(jì)數(shù)器暫停,GATE信號(hào)變高后,就接著計(jì)數(shù)。 (2)方式3 (方波發(fā)生器) 寫(xiě)入方式3的控制字后,OUT變高,設(shè)GATE為高先到,計(jì)數(shù)器

16、對(duì)CLK計(jì)數(shù),設(shè)計(jì)數(shù)初值為N。當(dāng)寫(xiě)入的計(jì)數(shù)初值為偶數(shù),則計(jì)數(shù)時(shí),每輸入一個(gè)計(jì)數(shù)脈沖,均使計(jì)數(shù)值減2。計(jì)數(shù)值減為0時(shí),OUT由高變低,同時(shí)自動(dòng)裝入計(jì)數(shù)初值,繼續(xù)進(jìn)行計(jì)數(shù)。當(dāng)計(jì)數(shù)值尖為0時(shí),OUT又回到高電平,同時(shí)再次裝入計(jì)數(shù)值,開(kāi)始下一輪循環(huán)計(jì)數(shù)。如果寫(xiě)入的計(jì)數(shù)值為奇數(shù),則當(dāng)輸出端為高電平時(shí),第一個(gè)輸出脈沖使計(jì)數(shù)器減1,以后來(lái)的每一個(gè)時(shí)鐘脈沖,都使計(jì)數(shù)器減2,計(jì)數(shù)值為0時(shí),OUT由高電平變?yōu)榈碗娖?,同時(shí)自動(dòng)重新裝入計(jì)數(shù)初值進(jìn)行計(jì)數(shù)。這時(shí)第一個(gè)時(shí)鐘脈沖使計(jì)數(shù)器減3,以后每個(gè)計(jì)數(shù)脈沖都使計(jì)數(shù)器減2,計(jì)數(shù)值為0時(shí),OUT端又回到高電平,并重新裝入計(jì)數(shù)初值,開(kāi)始下一輪循環(huán)計(jì)數(shù)。 3-2-3 82

17、53控制字格式 4、軟件主要模塊流程圖 4-1-1 主流程圖 開(kāi)始 檢測(cè)PC0是否為1 是 “開(kāi)始”口令落下 進(jìn)入搶答定時(shí)20秒 判斷是否有鍵按下 否 犯規(guī)燈亮 超過(guò)20s 是 延時(shí),判斷鍵號(hào) 確定第一個(gè)按下的鍵號(hào) 同時(shí)按下 出錯(cuò),輸出0 送入數(shù)碼管顯示 口令未完有鍵按下 搶答結(jié)束 開(kāi) 始 4-1-2 8255A流程圖

18、初始化8255A C口低四位讀列,PB0,PB1送行,A口輸出 讀鍵盤(pán) 若有被按下,繼續(xù)檢測(cè) WAIT_1檢測(cè)是否所有鍵都松開(kāi) 若均松開(kāi) 若沒(méi)有則繼續(xù)等待 若松開(kāi)則繼續(xù)檢測(cè) WAIT_2檢測(cè)是否有鍵按下 有按下 延時(shí)20ms,消抖動(dòng) 仍按著 仍被壓著,確定哪一個(gè)鍵被壓下,查表確定按鍵編碼 轉(zhuǎn)換成數(shù)碼管顯示編碼 顯示該按鍵 結(jié) 束 4-1-3函數(shù)WAIT1: 說(shuō)明: 檢測(cè)是否有鍵仍

19、被按下,若仍有鍵按下,繼續(xù)等待該鍵被松開(kāi),若未檢測(cè)到有鍵按下,繼續(xù)進(jìn)行檢測(cè)是否有鍵被按下轉(zhuǎn)到WAIT2. 進(jìn) 入 向PC0,PC1輸出0 檢測(cè)C口低四位即四列的值 WAIT2 檢測(cè)是否全為1 若不全為1,即有鍵仍被按下 若是,即說(shuō)明無(wú)鍵按下 4-1-4函數(shù)WAIT2: 說(shuō)明: 檢測(cè)是否有鍵按下,若有,則去抖動(dòng),排除外界干擾的可能,進(jìn)一步確認(rèn)是否有鍵按下,否則,繼續(xù)等待. WAIT1 確認(rèn)各鍵均松開(kāi) 進(jìn) 入 檢測(cè)C口低4為的狀態(tài) 與0FH比較? 不

20、等 延遲20MS,去抖動(dòng) 查是否有鍵按下 相等 說(shuō)明有鍵被按下 5、源程序清單與注釋 源程序: DATA SEGMENT TABLE1 DB 03h,9FH,25H,0DH,99H,49H,41H,1FH TABLE2 DB 40H,79H,24H,30H,19H,12H,02H,78H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA ;主程序 START: MOV AX,DAT

21、A MOV DS,AX MOV DX,30BH ;8255初始化 MOV AL,10001001B ;B口要輸出,C輸入 OUT DX,AL OPEN: MOV DX,30AH ;C口 IN AL,DX TEST AL,80H ;檢查C口最高位是否為1 JZ OPEN ;不為1重新檢查 CALL TIME ;為1,調(diào)用定時(shí) CALL SAOMIAO ;鍵盤(pán)掃描 CALL XIANSH

22、I ;顯示程序 ;定時(shí)20秒 TIME PROC NEAR MOV AL,00110111B ;通道0控制字,先讀低字節(jié)后高字節(jié),方式3,BCD計(jì)數(shù) MOV DX,303H OUT DX,AL MOV AL,00H ;計(jì)數(shù)初值低字節(jié) MOV DX,300H OUT DX,AL MOV AL,50H ;計(jì)數(shù)初值高字節(jié) OUT DX,AL MOV DX,303H MOV AL

23、,01110001B ;通道1制字,先讀低字節(jié)后高字節(jié),方式0,BCD計(jì)數(shù) OUT DX,AL MOV DX,301H MOV AL,00H ;計(jì)數(shù)初值低字節(jié) OUT DX,AL MOV AL,80H ;計(jì)數(shù)初值高字節(jié) OUT DX,AL RET TIME ENDP ;鍵盤(pán)掃描 SAOMIAO PROC NEAR MOV DX,309H ;B口 MOV AL,00H OUT DX,AL ;向B口即行送

24、0 CALL IEND ;判斷定時(shí)是否結(jié)束 ;檢測(cè)是否所有鍵都松開(kāi) WAIT1: MOV DX,30AH ;C口 IN AL,DX ;讀入C口狀態(tài) CALL IEND AND AL,0FH ;只查低四位 CMP AL,0FH ;是否都為1 JNE WAIT1 ;否,繼續(xù)查 ;檢測(cè)是否有鍵按下 WAIT2: IN AL,DX ;讀B口 CALL IEND AND AL,0FH ;只查低四位 CMP AL,

25、0FH ;是否有鍵按下 JE WAIT2 ;無(wú),等待 ;有鍵按下,延時(shí)消除抖動(dòng) MOV CX,16EAH DELAY: LOOP DELAY CALL IEND ;再查列,看鍵是否還被壓下 IN AL,DX AND AL,0FH CMP AL,0FH JE WAIT2 CALL IEND MOV AL,0FEH MOV CL,AL ;CL=1111 1110B NEXT: MOV DX,30

26、9H ;B口 OUT DX,AL ;向行輸入低電平 MOV DX,30AH ;C口 IN AL,DX ;讀入C口狀態(tài) CALL IEND AND AL,0FH ;取列值 CMP AL,0FH ;是否均為1 JNE ENCODE ;否,表示有鍵按下,轉(zhuǎn)去編碼 ROL CL,01 ;均為1,使下一行輸出0 MOV AL,CL JMP NEXT ;查看下一行

27、 CALL IEND ENCODE:MOV BX,0007H ;建立地址指針,先指向7鍵對(duì)應(yīng)的地址 CALL IEND MOV DX,309H IN AL,DX ;從B口讀入行列值 NEXT2: CMP AL,TABLE1[BX] ;讀入的行列值與表中查得的相等嗎? JE DONE ;相等,轉(zhuǎn)出 CALL IEND DEC BX ;不等,指向下一個(gè)地址 JNS NEXT2 ;若地址尚末減為負(fù)值,繼續(xù)查

28、CALL IEND MOV AH,01 ;若減為負(fù)值,置出錯(cuò)碼01給AH中 JMP EXIT ;退出 CALL IEND DONE: MOV AL,BL ;BL中存有鍵的16進(jìn)制代碼 MOV AH,00 ;AH=0,讀到有效鍵值 EXIT:HLT RET SAOMIAO ENDP ;檢查定時(shí)是否結(jié)束結(jié)束 IEND PROC NEAR MOV DX,30AH IN,AL,DX ;讀入C品狀態(tài) TEXT AL,40H

29、 ;檢測(cè)PC6是否為1 JNZ S ;為1,定時(shí)結(jié)束,從新開(kāi)始 S: JMP OPEN RET IEND ENDP ;顯示鍵號(hào) XIANSHI PROC NEAR MOV BX,OFFSET TABLE2 ;表格首地址給BX XLAT TABLE2 ;查表 MOV DX,308H OUT DX,AL ;A口輸出 RET XIANSHI ENDP CODE ENDS END 6、問(wèn)題分析與解決方案

30、 1、直接的鍵盤(pán)掃描不能很好的體現(xiàn)搶答的效果,因?yàn)橹鹦兄鹆械膾呙钑?huì)有先后的時(shí)間問(wèn)題,這樣先掃描的一行會(huì)比較有優(yōu)勢(shì)。利用8259中斷和鎖存器進(jìn)行鍵盤(pán)的動(dòng)態(tài)的掃描和數(shù)碼管的動(dòng)態(tài)顯示能很好的解決這個(gè)問(wèn)題,但這個(gè)步驟較為的麻煩和困難,所以該步驟沒(méi)有實(shí)現(xiàn)。 2、通過(guò)軟件程序不斷的檢測(cè)定時(shí)是否結(jié)束雖然容易實(shí)現(xiàn)但是參賽者不容易知道,為了更好的表現(xiàn)定時(shí)并且很好的顯示出來(lái),可以從定時(shí)開(kāi)始就將時(shí)間倒計(jì)時(shí)的顯示出來(lái)。 7、結(jié)論與體會(huì) 1、通過(guò)本次的設(shè)計(jì),使我們對(duì)整個(gè)設(shè)計(jì)的原理有比較深刻的理解,在設(shè)計(jì)的過(guò)程中,我們遇到了很多的困難,特別在剛開(kāi)始時(shí),由于是第一次,我們對(duì)有

31、關(guān)設(shè)計(jì)方面的知識(shí)非常的缺乏,對(duì)如何設(shè)計(jì)仍是一個(gè)問(wèn)號(hào),但也正是由于這樣要求我們需要很強(qiáng)的自學(xué)的能力,通過(guò)圖書(shū)館查閱相關(guān)的知識(shí)和利用網(wǎng)絡(luò)搜索有關(guān)的資料,同時(shí)在老師的指導(dǎo)下,讓我們從未知漸漸變的清晰,而且有了一定的設(shè)計(jì)的思路。經(jīng)過(guò)我們多次的嘗試與改變,終于獲得了滿意的結(jié)果。我們也因此深刻體會(huì)到自己動(dòng)手獲得勞動(dòng)成果的喜悅。 2、在設(shè)計(jì)過(guò)程中,我覺(jué)的團(tuán)隊(duì)的合作精神是非常重要的,在設(shè)計(jì)過(guò)程中,我們肯定要遇到許多我們以前未曾遇到過(guò)的一些難題,沒(méi)有我們的共同的努力是很難很好地完成的,在這次的硬件課程設(shè)計(jì)中的確讓我們知道有許多知識(shí)需要我們自己去獲取,去領(lǐng)悟,去消化的,而不是等著老師來(lái)喂的,在設(shè)計(jì)中,更讓學(xué)習(xí)了如何與別人進(jìn)行合作,而這正是我們以前所欠缺的,無(wú)論是自學(xué)能力還是團(tuán)隊(duì)的合作精神,相信對(duì)我們以后無(wú)論是學(xué)習(xí)還是工作都將有著非常重要的意義的。 8、參考資料 [1] 微型計(jì)算機(jī)原理與接口技術(shù) 中國(guó)科學(xué)技術(shù)大學(xué)出版社 吳秀清 編著 [2] 微型計(jì)算機(jī)技術(shù)及應(yīng)用 清華大學(xué)出版社 戴梅萼 編著 [3] 80X86匯編語(yǔ)言程序設(shè)計(jì)教程 清華大學(xué)出版社 楊季文 編著 [4] 匯編語(yǔ)言程序設(shè)計(jì)案例精編 中國(guó)水利水電出版社 李珍香 編著 21

展開(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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!