八路搶答器(匯編程序)微機(jī)課程設(shè)計(jì)報(bào)告書_第1頁
八路搶答器(匯編程序)微機(jī)課程設(shè)計(jì)報(bào)告書_第2頁
八路搶答器(匯編程序)微機(jī)課程設(shè)計(jì)報(bào)告書_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余19頁可下載查看

下載本文檔

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

文檔簡介

1、x 4 ft課程設(shè)計(jì)報(bào)告課程微機(jī)原理課程設(shè)計(jì)題目 競賽搶答器系別物理與電子工程學(xué)院年級09級 專業(yè) 電子信息工程班 級1班學(xué) 號學(xué)生姓名 指導(dǎo)教師職稱設(shè)計(jì)時(shí)間 目 錄第一章關(guān)于搶答器的概述及設(shè)計(jì)要求 21.1數(shù)字搶答器的簡介 21.2課程設(shè)計(jì)要求21.3實(shí)現(xiàn)功能3第二章 總體設(shè)計(jì) 42.1 功能需求分析 42.2可行性分析42.3硬件總體設(shè)計(jì)4硬件器材4內(nèi)存單元地址42.4軟件流程圖5第三章硬件設(shè)計(jì)63.1所選芯片介紹6可編程并行接口接口芯片8255A63.1.2 可編程定時(shí)器/計(jì)數(shù)器825373.2系統(tǒng)所選用各芯片的連接 8各芯片與CPU的連接8各芯片之間的連接和與外設(shè)的連接 8第四章軟件設(shè)

2、計(jì)94.1 程序流程94.2子程序清單94. 2.1芯片8255初始化: 94. 2.2芯片8253初始化: 94. 2.3 獲取選手號碼子程序: 94.2.4數(shù)碼管顯示子程序: 10揚(yáng)聲器鳴叫時(shí)間: 11第五章結(jié)果分析12結(jié)束語13附錄14參考文獻(xiàn)14主程序清單 14第一章關(guān)于搶答器的概述及設(shè)計(jì)要求1.1數(shù)字搶答器的簡介搶答器是在競賽、文體娛樂活動(dòng)(搶答活動(dòng))中,能準(zhǔn)確、公正、直觀地判斷出搶答 者的機(jī)器。通過搶答者的指示燈顯示、數(shù)碼顯示和警示顯示等手段指示出第一搶答者。隨著科學(xué)技術(shù)的不斷發(fā)展,促使人們學(xué)科學(xué),學(xué)技術(shù),學(xué)知識的手段多種多樣,搶答 器作為一種強(qiáng)大工具,已經(jīng)廣泛應(yīng)用于各種知識能力競

3、賽場合,例如選拔人才、評選優(yōu)勝 及各種智力競賽等。目前知識競賽之類的活動(dòng)愈加頻繁,凡是有知識競賽類的活動(dòng)那么也就必然離不開搶 答器。針對主持人提出的問題,各組一般要進(jìn)行必答和搶答,對于搶答,要判定哪組先按 鍵,為了公正,這就要有一種邏輯電路搶答器作為裁判員。這種數(shù)字搶答器杜絕了人為因 素的影響,實(shí)現(xiàn)了搶答公平公正的原則。所以操作簡單、經(jīng)濟(jì)實(shí)用的小型數(shù)字搶答器將流 行于各類競賽中,成為小規(guī)模知識競賽的首選。1.2課程設(shè)計(jì)要求內(nèi)容:用微機(jī)原理實(shí)驗(yàn)箱,在外接 8個(gè)按鍵的搶按下,讓7段LED數(shù)碼管顯示搶答者 編號,并使喇叭響一下。具體要求:(1) 通過實(shí)驗(yàn)箱上8255芯片接收來自實(shí)驗(yàn)箱按鍵的信息,將該

4、信息送入 8088CPU由 CPL判斷是哪個(gè)按鍵按下;(2) 8088CPU將判斷出的按鍵信息轉(zhuǎn)換為7段顯示碼,并通過8255芯片發(fā)送到7段顯示 模塊顯示;(3) 在顯示按鍵信息的同時(shí)通過實(shí)驗(yàn)箱上8253芯片產(chǎn)生一定頻率的方波信號發(fā)送到音 頻功放模塊,發(fā)出聲音;(4) 提高要求:能對幾乎同時(shí)發(fā)生的按鍵進(jìn)行判別,找到先按的鍵。1.3實(shí)現(xiàn)功能當(dāng)沒有選手按下按鍵時(shí),LED數(shù)碼管顯示“-”符號,表示此時(shí)可以進(jìn)行搶答,當(dāng) 搶答開始,選手按下8路搶答器中的任何一路開關(guān)時(shí),8段LED數(shù)碼管上顯示最先按 開關(guān)的選手的號碼,同時(shí)蜂鳴器鳴叫一段時(shí)間以示已經(jīng)有人搶答成功。當(dāng)一位選手搶答成功時(shí),數(shù)碼管上顯示這位選手的

5、號碼,此時(shí)其他選手再按下按鍵不會產(chǎn)生任何作用,系統(tǒng)進(jìn)入鎖死狀態(tài),當(dāng)搶答成功的選手退下按鍵時(shí),LED數(shù)碼管顯示“-”符號,表示系統(tǒng)已經(jīng)初始化,可以進(jìn)行下一輪搶答。第二章總體設(shè)計(jì)2.1功能需求分析系統(tǒng)必須準(zhǔn)確判斷搶答者的信息,根據(jù)按鍵信息判斷被按下的按鍵的序號,在LED數(shù)碼管上顯示相應(yīng)的數(shù)字反映搶答信息,同時(shí)蜂鳴器響一聲以示有選手搶答成功。2.2可行性分析將8個(gè)搶答器按鍵連接到8255芯片的PAPA7,當(dāng)8組均未按下?lián)尨鸢粹o時(shí),送入到 并行接口的8位搶答狀態(tài)都是0,當(dāng)檢測到按鍵發(fā)生變化時(shí),即微機(jī)采樣到這8位數(shù)據(jù)不為0時(shí),微機(jī)通過該并行輸入口循環(huán)對 8路搶答信號進(jìn)行采樣。當(dāng)采樣到哪一組的搶答信號已經(jīng)

6、發(fā)出,則記錄下該組的組號,從PB 口輸出組號所對應(yīng)的LED數(shù)碼管段碼,同時(shí)PC7端口連接至定時(shí)器的門控信號端口,使定時(shí)器工作,輸出 端連接到蜂鳴器,蜂鳴器鳴叫一段時(shí)間后關(guān)閉,若系統(tǒng)檢測到按鍵信息全為0時(shí),表明選手已經(jīng)把按鍵退下,則系統(tǒng)重新開始檢測按鍵狀態(tài),進(jìn)入下一個(gè)搶答環(huán)節(jié)。2.3硬件總體設(shè)計(jì)硬件器材所需器件:可編程并行接口芯片8255、可編程定時(shí)器/計(jì)數(shù)器8253,揚(yáng)聲器, 一個(gè)LED顯示器,8個(gè)按鍵。內(nèi)存單元地址 可編程并行接口接口芯片 8255A的端口地址為0ff28H、0ff29H、0ff2AH、0ff2BH。 可編程定時(shí)器/計(jì)數(shù)器 8253的端口地址為0040H 0041H 0042

7、H 0043H2.4軟件流程圖圖1系統(tǒng)軟件流程圖第三章硬件設(shè)計(jì)3.1所選芯片介紹可編程并行接口接口芯片8255A 8255A內(nèi)部結(jié)構(gòu)8255A芯片是一個(gè)采用NMO工藝制造的40引腳雙列直插式(DIP)封裝組件。8255A 有3個(gè)8位數(shù)據(jù)端口,即A 口、B 口及C 口,它們都可以分別作為輸入口或輸出口使 用;A組控制與B組控制;讀/寫控制邏輯;數(shù)據(jù)總路線緩沖器。 8255A主要的外部引腳圖2 8255A引腳圖PA7PA0 A 口的8條I /O線。8條線只能同時(shí)作為輸入或輸出,不能分開使用, 可設(shè)置成雙向口,也只有 A 口允許這樣做。PB7PB0 B 口的8條I /O線。不可以設(shè)置成雙向口,其它和

8、 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:端口地址選擇信號。用于選擇 8255A的3個(gè)數(shù)據(jù)端口和一個(gè)控制口。當(dāng)A1A0=00時(shí),選擇端口 A;為01時(shí),選擇端口 B;為10,選擇端口 C;為11時(shí),選擇控制口。 8255A工作方式方式0:基本的輸入/輸出方式。A 口、B 口、C 口都可以工作在些方式下 8255A方式控制字格式表1 8255方式控制字D7D6 D5D4D3D2D1D01A

9、口A 口C 口高4位B 口B 口C 口低4位00 方式001 方式11x 方式20 輸岀1 輸入0 輸岀1 輸入0方式01方式10 輸岀1 輸入0 輸岀1 輸入可編程定時(shí)器/計(jì)數(shù)器82538253的內(nèi)部結(jié)構(gòu)8253采用NMO工藝制成,有24個(gè)引腳,所有輸入、輸出端均 TTL電平兼容,單 一電源(Vcc=+5V供電,最高計(jì)數(shù)速率為2.6MHz,它包括3個(gè)計(jì)數(shù)器(即計(jì)數(shù)器0、1、 2)、數(shù)據(jù)總路線緩沖器、讀/寫邏輯以及控制寄存器等 4個(gè)部分。8253的外部引腳D7IDSD5ID4ID30201DOCLhDOUTOOATEOGWD35282425左2130怕18仃««伺13Vcc

10、 WR 師 rrA1AOCLK2 OUT2GATE2 CLK1OUT1GATE1圖3 8253引腳圖A1、AO:地址輸入線,用來址8253內(nèi)部的4個(gè)端口,即3個(gè)計(jì)數(shù)器和1個(gè)控制字 寄存器與CPU系統(tǒng)地址線相連。CLKO CLK1 CLK2時(shí)鐘脈沖輸入端,用于輸入定時(shí)脈沖或計(jì)數(shù)脈沖信號。CLK可以是系統(tǒng)的時(shí)鐘脈沖,也可以由系統(tǒng)時(shí)鐘分頻或者其他脈沖源提供。當(dāng)用于定時(shí)時(shí), 這個(gè)脈沖必須是均勻的、連續(xù)的、周期精確的,而用于計(jì)數(shù)時(shí),這個(gè)脈沖可以是不均勻的、斷續(xù)的、周期不定的。GATEO GATE1 GATE3門控輸入端,用于外部控制計(jì)數(shù)器的啟動(dòng)計(jì)數(shù)和停止計(jì)數(shù) 的操作。兩個(gè)或兩個(gè)以上計(jì)數(shù)器連用時(shí),可用此信

11、號同步,也可用于與外部某信號的 同步。OUTO OUT1 OUT2計(jì)數(shù)輸出,當(dāng)計(jì)數(shù)器從初值開始完成計(jì)數(shù)操作進(jìn),OUT引腳輸出相應(yīng)的信號。 8253的工作方式方式0:減1計(jì)數(shù)到0,產(chǎn)生中斷請求信號。方式3:減1計(jì)數(shù)到初值的1/2,方波發(fā)生器。 8253方式控制字格式表2 8253方式控制字D7 D6D5 D4D3 D2 D1D000選計(jì)數(shù)器001選計(jì)數(shù)器110選計(jì)數(shù)器200計(jì)數(shù)器鎖存01只讀寫低8位10 先讀寫高8位11 先讀寫低8位再讀寫高8位000 方式0001方式1X10 方式2X11 方式3100 方式4101 方式50二進(jìn)制計(jì)數(shù)1 BCD計(jì)數(shù)3.2系統(tǒng)所選用各芯片的連接各芯片與CPU的

12、連接8255A 8253的數(shù)據(jù)總線D7D0端、CS端、RD端、WR端、INTA端、INT端分別 與 CPU的 D7D0數(shù)據(jù)總線、片選端、IOR 端、IOW 端、1NTA 端、INTR端。8255A 8253 的A1、A0端分別與CPU地址線的A1、A0端相連。各芯片之間的連接和與外設(shè)的連接8255A的A 口的PA7PA0依次接“按鍵 T “按鍵8”,B 口的PB7PB0!過驅(qū)動(dòng) 器 1 接到 LED顯示器,8253 的 GATE(端接 PC7端口,CLK0接 1MHz OUT0的輸出接入 接揚(yáng)聲器。.學(xué)習(xí)幫手.第四章軟件設(shè)計(jì)4.1程序流程設(shè)定好8255、8253的方式控制字后,根據(jù)讀取 825

13、5PA端口的狀態(tài)值,獲取選手的具 體號碼,從而轉(zhuǎn)到相應(yīng)程序,將號碼所對應(yīng)的段碼輸出到 PB端口進(jìn)行數(shù)碼管顯示。同時(shí) 將PC7置1,使相連的GATE01控信號為1,通道0進(jìn)行計(jì)數(shù),輸出到揚(yáng)聲器進(jìn)行鳴叫。4.2子程序清單4. 2.1 芯片8255初始化:PORT_A EQU 0FF28HPORT_B EQU 0FF29HPORT_C EQU 0FF2AHPORT_CTL EQU 0FF2BHMOV AL,90H;8255控制字 A 組方式0輸入MOV DX,PORT_CTL ;B 組方式0輸出 C 口輸出OUT DX,AL4.22 芯片8253初始化:MOV AL,00110110B;8253 控

14、制字 計(jì)數(shù)器0讀寫字MOV DX,43H ;工作方式方式3OUT DX,ALMOV AX,5000;計(jì)數(shù)器初值MOV DX,40HOUT DX,ALMOV AL,AHOUT DX,AL4. 2.3獲取選手號碼子程序:在硬件電路中,8255的PA端口連接開關(guān)按鍵,根據(jù)讀取PA的狀態(tài)可以判斷出按下的是哪個(gè)鍵(按下為高電平),根據(jù)進(jìn)行移位操作,可得出選手的具體號碼MOV DX,PORT_AIN AL,DX讀取A 口狀態(tài)(按鍵狀態(tài))無按鍵按下返回LED1CMP AL,00000000BJE LED1CMP AL,00000001BJE LP1CMP AL,00000010BJE LP2CMP AL,0

15、0000100BJE LP3CMP AL,00001000BJE LP4CMP AL,00010000BJE LP5CMP AL,00100000BJE LP6CMP AL,01000000BJE LP7CMP AL,10000000BJE LP8JMP LED1;按鍵1按鍵2按鍵3按鍵4按鍵5按鍵6按鍵7按鍵8返回?cái)?shù)碼管顯示子程序:根據(jù)獲取得到選手的號碼,跳轉(zhuǎn)相應(yīng)程序,將段碼輸出給PB端口LP1:MOV DX,PORT_B ; 數(shù)碼管顯示1MOV AL,11111001BOUT DX,ALLP2:MOV DX,PORT_B ; 數(shù)碼管顯示2MOV AL,10100100BOUT DX,ALL

16、P 8:LED的管腳對應(yīng)的字形dp、g、f、ed、c、b、a111110011101001002101100003100110014100100105111000106111110007100000008425揚(yáng)聲器鳴叫時(shí)間:PUSH DXPUSH AXMOV AL,00001111B;8255 PC7 口置 1,使蜂鳴器工作MOV DX,PORT_CTLOUT DX,ALPOP AXPOP DXMOV BL,00000000BMOV CX,0FFFFH ;延時(shí)一段時(shí)間LPP2:LOOP LPP2MOV CX,0FFFHLPP3:LOOP LPP3PUSH DXPUSH AXMOV AL,00

17、001110B;8255 PC7 口置 0,蜂鳴器停止工作MOV DX,PORT_CTLOUT DX,ALPOP AXPOP DX第五章結(jié)果分析連接硬件電路后,控制程序輸出得到相應(yīng)結(jié)果:圖5硬件顯示結(jié)果由上結(jié)果可看出,當(dāng)按鍵3按下的時(shí)候,數(shù)碼管顯示數(shù)字3,揚(yáng)聲器進(jìn)行鳴叫,在無按鍵按 下時(shí),LED數(shù)碼管顯示符號“-”,可得程序設(shè)計(jì)及硬件連接能達(dá)到題目要求。結(jié)束語轉(zhuǎn)眼間一周微機(jī)課程設(shè)計(jì)轉(zhuǎn)眼就結(jié)束了,通過這次課程設(shè)計(jì),我學(xué)會了許多課本上學(xué) 不到的東西,同時(shí)也加強(qiáng)了我的動(dòng)手、思考和解決問題的能力,受益匪淺。課程設(shè)計(jì)過程 中,我覺得是對課本知識的鞏固和加強(qiáng),由于課本上的知識太多,同時(shí)平時(shí)課間又沒有好 好

18、的運(yùn)用額理解個(gè)芯片的功能,而且考試的內(nèi)容有限,所以在這次課程設(shè)計(jì)過程中,我們 了解很多元件的功能,對其在電路中的使用有更多的認(rèn)識。從前的學(xué)習(xí)過程過于浮淺,只是流于表面的理解,而現(xiàn)在要做課程設(shè)計(jì),就不得不要 求我們對所用到的知識有更深層次的理解。因?yàn)檎n程設(shè)計(jì)的內(nèi)容比及書本中的理論知識而 言,更接近于現(xiàn)實(shí)生活,而理論到實(shí)踐的轉(zhuǎn)化往往是一個(gè)艱難的過程, 它猶如一只攔路虎, 橫更在我們的面前。但是我們毫不畏懼,因?yàn)槲覀兿嘈盼覀兡苄?。前幾天的主要任?wù)是設(shè)計(jì)程序。雖然在設(shè)計(jì)中會遇到這樣那樣的問題,有時(shí)認(rèn)為是正 確的,而在仿真中卻出現(xiàn)了這樣那樣的問題。軟件部分做好了,下面就是接線啦,這可是一個(gè)比較麻煩的事。

19、在接線的時(shí)候要細(xì)心 和耐心、恒心,這樣才能做好事情。同時(shí)接好了一步電路以后,最為重要的是檢查這部分 是不是接對了。在做硬件測試的時(shí)候,八個(gè)數(shù)字基本能顯示,但還是有點(diǎn)缺陷,比如顯示數(shù)字1的時(shí)候,顯示的不對,后來在老師幫助下解決了這個(gè)問題。通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不 夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服 務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過程中遇到問題,可以說 得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時(shí)在設(shè)計(jì)的過程中 發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不

20、夠深刻,掌握得不夠牢固。此次課程設(shè)計(jì),學(xué)到了很多課內(nèi)學(xué)不到的東西,比如獨(dú)立思考解決問題,出現(xiàn)差錯(cuò)的 隨機(jī)應(yīng)變,和與人合作共同提高,都受益非淺,今后的制作應(yīng)該更輕松,自己也都能扛的 起并高質(zhì)量的完成項(xiàng)目。最后,我要感謝給予我們精心輔導(dǎo)的老師。附錄參考文獻(xiàn)1.朱金鈞 麻新旗微型計(jì)算機(jī)原理及應(yīng)用技術(shù)M 北京:機(jī)械工業(yè)出版社主程序清單PORT_A EQU 0FF28HPORT_B EQU 0FF29HPORT_C EQU 0FF2AHPORT_CTL EQU 0FF2BHCODE SEGMENTASSUME CS:CODEORG 11B0HSTART:MOV AL,90H;8255控制字 A組方式0輸

21、入MOV DX,PORT_CTL ;B 組方式0輸出C 口輸出OUT DX,ALMOV AL,00110110B;8253 控制字 計(jì)數(shù)器0讀寫字MOV DX,43H ;工作方式方式3OUT DX,ALMOV AX,5000;計(jì)數(shù)器初值MOV DX,40HOUT DX,ALMOV AL,AHOUT DX,ALLED1:MOV BL,00000001BMOV AL,00001110BMOV DX,PORT_CTLOUT DX,AL;設(shè)置全局變量BL;PC7 端口置0MOV DX,PORT_BMOV AL,10111111BOUT DX,AL在數(shù)碼管顯示符號II IIMOV DX,PORT_AIN

22、 AL,DX.學(xué)習(xí)幫手.讀取A口狀態(tài)(按鍵狀態(tài))CMP AL,OOOOOOOOB ;無按鍵按下JE LED1CMP AL,00000001B ;按鍵 1JE LP1CMP AL,00000010B ;按鍵 2JE LP2CMP AL,00000100B ;按鍵 3JE LP3CMP AL,00001000B ;按鍵 4JE LP4CMP AL,00010000B ;按鍵 5JE LP5CMP AL,00100000B ;按鍵 6JE LP6CMP AL,01000000B ;按鍵 7JE LP7CMP AL,10000000B ;按鍵 8JE LP8JMP LED1;返回LP1:MOV DX,PORT_B ;數(shù)碼管顯示MOV AL,11111001BOUT DX,ALJMP LP9LP2:MOV DX,PORT_B ;數(shù)碼管顯示MOV AL,10100100BOUT DX,ALJMP LP9LP3:MOV DX,PORT_B ;數(shù)碼管顯示MOV AL,10110000BOUT DX,ALJMP LP9LP4:MOV DX,PORT_B ;數(shù)碼管顯示MOV AL,10011001BOUT DX,ALJMP LP9返回LED11 跳轉(zhuǎn)LP92 跳轉(zhuǎn)LP93跳轉(zhuǎn)LP94跳轉(zhuǎn)LP9LP5:MOV DX,PORT_B ;數(shù)碼管顯

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論