匯編語言八路搶答器設(shè)計(jì)_第1頁(yè)
匯編語言八路搶答器設(shè)計(jì)_第2頁(yè)
匯編語言八路搶答器設(shè)計(jì)_第3頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、微機(jī)原理與接口技術(shù)課程設(shè)計(jì)報(bào)告2015-2016學(xué)年第二學(xué)期設(shè)計(jì)題目:小組成員:所學(xué)專業(yè):指導(dǎo)教師:完成時(shí)間:一、課程設(shè)計(jì)目的4二、課程設(shè)計(jì)要求4二、系統(tǒng)功能4四、總體設(shè)計(jì)4基本工作原理41.1可編程并行接口接口芯片8255A控制字要求41.2可編程定時(shí)器/計(jì)數(shù)器8253控制字要求5硬件總體設(shè)計(jì)52.1系統(tǒng)總成方案5內(nèi)存單元編址51. 鍵盤、揚(yáng)聲器及顯示功能的定義55硬件原理框圖6原理連線圖65軟件總體設(shè)計(jì)6五、硬件設(shè)計(jì)錯(cuò)誤!未定義書簽。六、軟件設(shè)計(jì)8七、調(diào)試過程21八、系統(tǒng)操作說明21九、總結(jié)22十、參考文獻(xiàn)22八路搶答器設(shè)計(jì)一、設(shè)計(jì)目的1、掌握微機(jī)系統(tǒng)的開發(fā)步驟;2、掌握搶答器控制編程方法

2、和芯片8255、8253的邏輯功能、鍵盤中斷及使用方法和數(shù)碼管的用法;3、掌握一定的匯編語言知識(shí),培養(yǎng)自己的動(dòng)手操作能力。4、學(xué)習(xí)程序設(shè)計(jì)的基本思路和方法。因此,本次設(shè)計(jì)要求對(duì)微機(jī)原理的理論知識(shí),8255A,8253,鍵盤顯示區(qū)的工作方式、工作原理熟練掌握。二、設(shè)計(jì)要求當(dāng)按開始鍵,綠燈亮后,選手搶答,1-8號(hào)選手中先按下按鍵者,LED數(shù)碼管顯示其選手號(hào)碼(后按下無效),并進(jìn)行聲光報(bào)警黃燈亮提示。當(dāng)按開始鍵未按下時(shí),如果有選手搶答,LED數(shù)碼管顯示其選手號(hào)碼,并進(jìn)行聲光報(bào)警紅燈亮提示。二、系統(tǒng)功能一個(gè)具有8路搶答的搶答器,利用并行接口和開關(guān)鍵。鍵盤上數(shù)字鍵1-8代表?yè)尨鸢粹o,當(dāng)某個(gè)邏輯開關(guān)閉合時(shí)

3、開始鍵按下未按起時(shí),相當(dāng)丁搶答按鈕按下,此時(shí)在七段數(shù)碼管上將其號(hào)碼顯示出來,并使喇叭響一聲或者以發(fā)光二極管代替。1. 四、總體設(shè)計(jì)基本工作原理當(dāng)按開始鍵按下時(shí),綠燈亮后,選手才可搶答,否則違規(guī)。假設(shè)搶答成功,LED顯示器顯示選手號(hào)碼,黃燈亮,揚(yáng)聲器鳴叫;假設(shè)搶答違規(guī)未按下開始鍵,LED顯示器顯示違規(guī)選手號(hào)碼,紅燈亮,揚(yáng)聲器報(bào)警。1.1可編程并行接口接口芯片8255A控制字要求1、B口工作在方式0,做為輸出端口,經(jīng)驅(qū)動(dòng)器1連接LED顯示器PB7PB0依次對(duì)應(yīng)連接LED顯示器的dp、g、f、e、d、c、b、a七段數(shù)碼管管腳;2、C口也必須工作在方式0,高4位做輸入端口本次設(shè)計(jì)中只用PC4PC5,分

4、別用于連接復(fù)位鍵和開始鍵,低4位做輸出端口PC3PC0經(jīng)驅(qū)動(dòng)器2后PCIPC2PC3分別用于連接黃、紅、綠三個(gè)發(fā)光二極管,PC0連接到8253的GATE儡,以控制方式1的計(jì)數(shù)。1.2可編程定時(shí)器/計(jì)數(shù)器8253控制字要求1、方式0:操作類型為先讀寫低字節(jié)再讀寫高字節(jié),工作在方式3即方波發(fā)生器,計(jì)數(shù)格式為BCL®,計(jì)數(shù)初值為0。2、方式1:操作類型為先讀寫低字節(jié)再讀寫高字節(jié),工作在方式1即可重觸發(fā)的單穩(wěn)態(tài)觸發(fā)器,計(jì)數(shù)格式為BC況,計(jì)數(shù)初值為0。3、方式2:操作類型為先讀寫低字節(jié)再讀寫高字節(jié),工作在方式3即方波發(fā)生器,計(jì)數(shù)格式為BCL®,計(jì)數(shù)初值為0。2. 硬件總體設(shè)計(jì)2.1系

5、統(tǒng)總成方案該競(jìng)賽搶答器所要器件:可編程并行接口接口芯片8255、可編程定時(shí)器/計(jì)數(shù)器8253,三個(gè)一樣的驅(qū)動(dòng)器,黃、紅、綠三個(gè)發(fā)光二極管,十三個(gè)電阻,一個(gè)8輸入與非門,一個(gè)非門,一個(gè)揚(yáng)聲器,一個(gè)LED顯示器,10個(gè)按鍵。2.2內(nèi)存單元編址1可編程并行接口接口芯片8255A的端口地址為60K61K62K63H(2) 可編程定時(shí)器/計(jì)數(shù)器8253的端口地址為40HK41HK42HK43H特殊鍵中斷號(hào)為2A-36,對(duì)應(yīng)地址為00A8-00DB本實(shí)驗(yàn)用到數(shù)字鍵1-8,對(duì)應(yīng)的ASCII為31H-38HLED顯示器1-8對(duì)應(yīng)的十六進(jìn)制是:3. 06H,5BH,4FH,66H,6DH,7CH,07H,7FH

6、鍵盤、揚(yáng)聲器及顯示功能的定義一個(gè)開始鍵一個(gè)復(fù)位鍵,另外8個(gè)數(shù)字鍵用做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ī)都要顯示。4. 原理圖硬件原理框圖4.2原理連線圖4.3軟件總體設(shè)計(jì)主程序流程圖:設(shè)置置皿曲客肥柄植值標(biāo)粽想植值對(duì)82598255255253海翔翊船化NY關(guān)閉LED顯示器點(diǎn)是綠燈置標(biāo)志位值為FFH使IF=1開放中斷檢測(cè)復(fù)位鍵是否按下Y檢測(cè)復(fù)位鍵是否彈NN關(guān)閉LED顯示器、指示燈1. 五、硬件設(shè)計(jì)可編程并行接口接

7、口芯片8255A的工作方式8255A具有三個(gè)獨(dú)立的輸入/輸出端口,每個(gè)端口的并行數(shù)據(jù)寬度為8位。三個(gè)端口分別為A端口,B端口,C端口,可分別與不同的外設(shè)進(jìn)行數(shù)據(jù)交換,也可聯(lián)合使用,在中斷方式下實(shí)現(xiàn)CPS外設(shè)問的數(shù)據(jù)傳遞。8255A提供方式0,方式1,方式2三種工作方式供選擇。2. 可編程定時(shí)器/計(jì)數(shù)器8253的工作方式1方式0:操作類型為先讀寫低字節(jié)再讀寫高字節(jié),工作在方式3即方波發(fā)生器,計(jì)數(shù)格式為BC況,計(jì)數(shù)初值為0。2方式1:操作類型為先讀寫低字節(jié)再讀寫高字節(jié),工作在方式1即可重觸發(fā)的單穩(wěn)態(tài)觸發(fā)器,計(jì)數(shù)格式為BC況,計(jì)數(shù)初值為0。3方式2:操作類型為先讀寫低字節(jié)再讀寫高字節(jié),工作在方式3即

8、方波發(fā)生器,計(jì)數(shù)格式為BC況,計(jì)數(shù)初值為0。六、軟件設(shè)計(jì)DATASEGMENTBZDB00HDATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AX;8255A初始化MOVAL,88H;置8255A工作方式OUT63H,ALXORAL,AL;B口、C口初始化OUT61H,ALOUT62H,AL;8253初始化MOVAL,37HOUT43H,ALMOVAL,00HOUT40H,ALMOVAL,40HOUT40H,ALMOVAL,73HOUT43H,ALMOVAL,00H;置8253方式0控制字;置8253方式0計(jì)數(shù)初值為40

9、00;置8253方式1控制字;置8253方式1計(jì)數(shù)初值為3000OUT41H,ALMOVAL,30HOUT41H,ALMOVAL,0B7H;置8253方式2控制字OUT43H,ALMOVAL,00HOUT42H,ALMOVAL,00H;置8253方式2計(jì)數(shù)初值為0OUT42H,AL;中斷設(shè)置MOVAX,0000HMOVDS,AX;MOVBX,0457HMOVAL,31HMOVCX,8LOP4:MOVBX,ALINCBXINCALLOOPLOP4MOVAX,OFFSETKKK1MOV00A8,AXMOVAX,0000HMOV00AA,AXMOVAX,OFFSETKKK2MOV00AC,AXMOV

10、AX,0000HMOV00AE,AXMOVAX,OFFSETKKK3MOV00B0,AXMOVAX,0000HMOV00B2,AXMOVAX,OFFSETKKK4MOV00B4,AXMOVAX,0000HMOV00B6,AXMOVAX,OFFSETKKK5MOV00B8,AXMOVAX,0000HMOV00BA,AXMOVAX,OFFSETKKK6MOV00BC,AXMOVAX,0000HMOV00BE,AXMOVAX,OFFSETKKK7MOV00C0,AXMOVAX,0000HMOV00C2,AXMOVAX,OFFSETKKK8MOV00C4,AXMOVAX,0000HMOV00C6,AX

11、STI;使IF置1,開放可屏蔽中斷;主循環(huán)LOPM:INAL,62H;檢測(cè)開始鍵TESTAL,20H;檢測(cè)C口的PC5端JZLOP2;開始鍵未按下即PC5=0,則跳轉(zhuǎn)檢測(cè);復(fù)位鍵INAL,62H;檢測(cè)開始鍵是否已經(jīng)彈起,即PC5=0TESTAL,20HJNZLOP1;開始鍵沒有彈起再重新檢測(cè)MOVAL,00H;關(guān)LED顯示器OUT61H,AL;送到B口MOVAL,08H;綠幻是OUT62H,AL;送到C口MOVBZ,0FFH;置標(biāo)志STIINAL,62H;檢測(cè)復(fù)位鍵TESTAL,10H;檢測(cè)C口的PC4端JZLOPM;復(fù)位鍵未按下即PC4=0,則跳LOP1:LOP2:轉(zhuǎn)再檢;測(cè)開始鍵LOP3:

12、INAL,62H;檢測(cè)復(fù)位鍵是否彈起,即PC4=0TESTAL,10HJNZLOP3MOVAL,00HOUT61H,ALOUT62H,ALMOVBZ,00HSTIJMPLOPM;中斷服務(wù)子程序KKK1:PUSHAXPUSHBXPUSHDXPUSHDSCLI;位鍵沒有彈起,則重新檢測(cè);關(guān)LED顯示器、指標(biāo)燈;活標(biāo)志;保護(hù)現(xiàn)場(chǎng);并使本次中斷壓入堆棧中的IF=0MOVAL,06HOUT61H,ALCALLPUBLICPOPDS;恢復(fù)現(xiàn)場(chǎng)POPDXPOPBXPOPAXIRETKKK2:PUSHAX;保護(hù)現(xiàn)場(chǎng)PUSHBXPUSHDXPUSHDSCLI;并使本次中斷壓入堆棧中的IF=0MOVAL,5BHO

13、UT61H,ALCALLPUBLICPOPDS;恢復(fù)現(xiàn)場(chǎng)POPDXPOPBXPOPAXIRETKKK3:PUSHAX;保護(hù)現(xiàn)場(chǎng)PUSHBXPUSHDXPUSHDSCLIMOVAL,4FHOUT61H,ALCALLPUBLICPOPDSPOPDXPOPBXPOPAXIRETKKK4:PUSHAXPUSHBXPUSHDXPUSHDSCLI;并使本次中斷壓入堆棧中的IF=0;恢復(fù)現(xiàn)場(chǎng);保護(hù)現(xiàn)場(chǎng);并使本次中斷壓入堆棧中的IF=0MOVAL,66HOUT61H,ALCALLPUBLICPOPDS;恢復(fù)現(xiàn)場(chǎng)POPDXPOPBXPOPAXIRETKKK5:PUSHAX;保護(hù)現(xiàn)場(chǎng)PUSHBXPUSHDXPUS

14、HDSCLI;并使本次中斷壓入堆棧中的IF=0MOVAL,6DHOUT61H,ALCALLPUBLICPOPDS;恢復(fù)現(xiàn)場(chǎng)POPDXPOPBXPOPAXIRETKKK6:PUSHAX;保護(hù)現(xiàn)場(chǎng)PUSHBXPUSHDXPUSHDSCLI;并使本次中斷壓入堆棧中的IF=0MOVAL,7CHOUT61H,ALCALLPUBLICPOPDS;恢復(fù)現(xiàn)場(chǎng)POPDXPOPBXPOPAXIRETKKK7:PUSHAX;保護(hù)現(xiàn)場(chǎng)PUSHBXPUSHDXPUSHDSCLI;并使本次中斷壓入堆棧中的MOVAL,07HOUT61H,ALCALLPUBLICPOPDS;恢復(fù)現(xiàn)場(chǎng)POPDXPOPBXPOPAXIRETKK

15、K8:PUSHAX;保護(hù)現(xiàn)場(chǎng)PUSHBXPUSHDXPUSHDSCLI;并使本次中斷壓入堆棧中的IF=0IF=0MOVAL,7FHOUT61H,ALCALLPUBLICPOPDSPOPDXPOPBXPOPAXIRETPUBLIC:TESTBZ,0FFHJZLOP5MOVAL,00HOUT42H,ALMOVAL,10HOUT42H,ALMOVAL,03HOUT62H,ALJMPKKKLOP5:MOVAL,00HOUT42H,AL;恢復(fù)現(xiàn)場(chǎng);判斷標(biāo)志位是否為FFH;置8253方式2計(jì)數(shù)值;黃燈亮,搶答成功;置8253方式2計(jì)數(shù)值MOVAL,20HOUT42H,ALMOVAL,05H;紅燈亮,搶答違

16、規(guī)OUT62H,ALKKK:MOVAL,20H;中斷結(jié)束;防止中斷重復(fù)響應(yīng)OUT20H,ALCODEENDSENDSTART七、調(diào)試過程1在剛開始編程時(shí),各種功能大部分是由主程序來完成的。由于主程序過于復(fù)雜,可讀性不高。使得在以后的程序的調(diào)試中遇到了很大的麻煩。后來把主程序的部分功能轉(zhuǎn)化成子程序來實(shí)現(xiàn),并在一些重要的地方增加了注釋,使的程序的可讀性大大加強(qiáng)。調(diào)試也變的比較簡(jiǎn)單了。到此基本解決了第一個(gè)問題。2在編程時(shí),子程序的調(diào)試也是相當(dāng)重要,由于子程序不可防止的使用AXBXCXDX通用寄存器一個(gè)或幾個(gè)。使得原主程序中的通用寄存器的內(nèi)容很容易被覆蓋,對(duì)子程序中所有的通用寄存器出入棧即可以防止上訴

17、的問題,不用考慮使用的是哪幾個(gè)寄存器,使用起來乂比較簡(jiǎn)單方便。所以至此這個(gè)問題也已基本解決。3調(diào)試是一個(gè)復(fù)雜煩瑣而漫長(zhǎng)的過程。在調(diào)試的過程中一定要耐下心來去做,否則一旦出現(xiàn)煩躁的心里,就會(huì)事倍功半,適得其反。在本次設(shè)計(jì)中出現(xiàn)的主要問題即如上所述,解決方法也如上所述,在今后的軟件調(diào)試過程中更應(yīng)注意如上問題。八、系統(tǒng)操作說明比賽開始,在主持人按下開始鍵,綠燈亮后,選手才可開始搶答,否則違規(guī)。假設(shè)選手搶答成功,LED顯示器顯示選手號(hào)碼,揚(yáng)聲器鳴叫。假設(shè)選手搶答違規(guī)主持人未按開始鍵,LED顯示器顯示違規(guī)選手號(hào)碼,紅燈亮,揚(yáng)聲器報(bào)警。假設(shè)系統(tǒng)提示某號(hào)選手搶答違規(guī),主持人仍未按開始鍵,此時(shí)該號(hào)選手乂按下?lián)?/p>

18、答鍵,LED顯示器顯示該選手的號(hào)碼。本系統(tǒng)開機(jī)后,假設(shè)主持人既未按復(fù)位鍵乂未按開始鍵,此時(shí)有選手按下?lián)尨疰I,系統(tǒng)提示紅燈亮,并報(bào)警。注:1、搶答成功,置8253方式2計(jì)數(shù)值為1000,揚(yáng)聲器的鳴叫聲音頻率為1MHz/1000=1KHz2、搶答失敗,置8253方式2計(jì)數(shù)值為2000,揚(yáng)聲器的鳴叫聲音頻率為1MHz/2000=0.5KHz3、揚(yáng)聲器鳴叫或報(bào)警的時(shí)間為12s。九、課程設(shè)計(jì)總結(jié)及體會(huì)這次實(shí)驗(yàn)是一個(gè)綜合性實(shí)驗(yàn),通過這次實(shí)驗(yàn),使我們將以前我們所學(xué)習(xí)到的芯片知識(shí)綜合應(yīng)用到這個(gè)實(shí)驗(yàn)上,從結(jié)構(gòu)、功能、用法上都有了全面的認(rèn)識(shí),并基本到達(dá)了能夠通過我們小組的討論完成從構(gòu)思到設(shè)計(jì)最后到調(diào)試的整個(gè)過程,雖然其中遇到了很多困難阻力,從開始到整個(gè)完成,但我們還是堅(jiān)持了下來,所有的努力換回了成功的喜悅。下面就說說實(shí)驗(yàn)中的一些問題以及一些體會(huì):實(shí)驗(yàn)的初期,由于對(duì)整個(gè)的電路還不能從整體把握,只能從實(shí)驗(yàn)書上的實(shí)驗(yàn)要求出發(fā),結(jié)合查找到的資料提出解決方案。最大的體會(huì)是團(tuán)隊(duì)的力量,幾乎所有的設(shè)計(jì)都是在我們的討論中“誕生”的,盡管每個(gè)人的想法不一樣,但聚到一起后就會(huì)激發(fā)出更多的想

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)網(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)論