微機(jī)原理課程設(shè)計(jì)搶答器_第1頁
微機(jī)原理課程設(shè)計(jì)搶答器_第2頁
微機(jī)原理課程設(shè)計(jì)搶答器_第3頁
已閱讀5頁,還剩11頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、西安郵電大學(xué)硬件課程設(shè)計(jì)報(bào)告題目搶答器院系名稱:計(jì)算機(jī)學(xué)院專業(yè)名稱:_ 班 級(jí): 學(xué)生姓名:_學(xué)號(hào)(8位):指導(dǎo)教師:_ 設(shè)計(jì)起止時(shí)間一. 設(shè)計(jì)目的用邏輯開關(guān)模擬競(jìng)賽搶答器按鈕(共8個(gè)開關(guān):K0K7)當(dāng)某個(gè)邏輯開關(guān)置“ T 時(shí),相當(dāng)某組搶答按鈕按下。在七段數(shù)碼管上將其組號(hào)(07)顯示出來,若為0 表示無人搶答。從鍵盤上按空格鍵開始下一輪搶答,按<ESC>S退出程序。二. 設(shè)計(jì)內(nèi)容1.選用元器件:(1)、并行接口 8255:通過編程來指定它要完成的功能, 是并行數(shù)字設(shè)備與 微機(jī)間的接口。8255用于輸入搶答信息,并輸出正確的序號(hào)給數(shù)碼管,以及控制 LED丁的亮滅。本設(shè)計(jì)中8255A的

2、地址范圍設(shè)置為1400H 1403H,其中控制口地址 為1403H而且使用了 8255A的A 口 ,B 口和CD。它們均工作在方式0下,其中A口和 C 口為輸出,B 口為輸入。(2)、數(shù)碼管:指示先搶答的組號(hào)。(3)、二極管:指示搶答。(4)、開關(guān):作為搶答者的按鈕。2. 基礎(chǔ)實(shí)驗(yàn)一:8255基本輸入輸出能夠在自行設(shè)計(jì)的接口開發(fā)板上,實(shí)現(xiàn)撥動(dòng)開關(guān)控制 LED勺亮滅。(軟件代 碼命名為:8255.ASM,代碼要求用小寫字母,且必須經(jīng)過優(yōu)化,源代碼小于 <95 行,每條指令算1行,偽指令也算1行)3. 基礎(chǔ)實(shí)驗(yàn)二:流水燈設(shè)計(jì)實(shí)現(xiàn)能夠在自行設(shè)計(jì)的接口開發(fā)板上,實(shí)現(xiàn)撥動(dòng)不同開關(guān)控制 LED丁的變

3、化。例 如,K1從左往右,K2從右往左,K3從中間向兩邊,K4從兩邊向中間依次亮滅變化, 按主機(jī)鍵盤任意鍵退出。(軟件代碼命名為:TEST2.ASM代碼要求用小寫字母, 且必須經(jīng)過優(yōu)化,源代碼小于<85行,每條指令算1行,偽指令也算1行)4. 基礎(chǔ)實(shí)驗(yàn)三:數(shù)碼管應(yīng)用能夠在自行設(shè)計(jì)的接口開發(fā)板上,上電數(shù)碼管顯示0到7,實(shí)現(xiàn)撥動(dòng)不同開關(guān), 數(shù)碼管顯示該開關(guān)位置值(1-8 );若同時(shí)撥動(dòng)兩個(gè)以上開關(guān),則數(shù)碼管顯示“E”。(軟件代碼命名為:8SEGMENT.ASM弋碼要求用小寫字母,且必須經(jīng)過優(yōu)化,源 代碼小于<100行,每條指令算1行,偽指令也算1行)5. 搶答器:用邏輯開關(guān)模擬競(jìng)賽搶答

4、器按鈕(共8個(gè)開關(guān):K0 K7)當(dāng)某個(gè)邏輯開關(guān)置“ 1” 時(shí),相當(dāng)某組搶答按鈕按下。在七段數(shù)碼管上將其組號(hào)( 07)顯示出來,若為 0表示無人搶答。從鍵盤上按空格鍵開始下一輪搶答,按 <ESC=鍵退出程序。三. 概要設(shè)計(jì)1. 功能模塊圖;2 所用芯片8255引腳圖引腳DO - D7CSRDVRAlx AORSTPAO - PA7PBO 丹 PB7PCO - PC7引卿功走雙向數(shù)據(jù)總線 片選 讀輸入 寫輸入 端口選癢 復(fù)憧驗(yàn)入 端口A r/oa 靖FIB TA)線 潔口 c J70線PA3 PA2 PAL FAO ROCSCKD Al_ AOFC7 PCS PC5 FC生一PCO PCI

5、PC2 PC3_ FEO PEI PE2 1234567896 7 8 9 01111243333333333222222222PA4 PAS PAG P47TrKST DO _D1D2D3D4B5D6D7Vcc PBTPB6FE5FE4PE3附錄一圖2 8255A引腳DIP8WJ:3.搶答器電路圖 12 3 4 5 6 7 D 0 血 b © ”皿 D ® AhHMh 已 hz7'£佗C12HLED-BLUELEp-QftEiU站:ILED-HED嚀:JLED-Y6LLWJt>5D0四. 詳細(xì)設(shè)計(jì)1. 實(shí)驗(yàn)步驟、在實(shí)驗(yàn)箱上連接8255的WR CS

6、RD D0-D7 A1AC以及8255輸入輸出端口 A, B, C口連接到led燈、8段數(shù)碼管、開關(guān)上。硬件電路搭建完畢。、在TD PIT上篇寫匯編程序,進(jìn)行測(cè)試。(3) 、在Proteus上按照需求連接電路,為驗(yàn)證電路正確性,為其加入輸入,進(jìn)行模擬。模擬結(jié)果正確后,將電路圖保存。(4) 、制作硬件電路2、遇到的問題:(1) 、在8255的使用過程中,由于對(duì)控制字的使用錯(cuò)誤,導(dǎo)致不能從 A、B口 輸出信息,最后通過檢查,改變控制字,實(shí)現(xiàn)了功能。(2) 、匯編語言的運(yùn)用。由于平時(shí)較少使用匯編語言,用匯編語言編寫程序 方面存在不小的障礙,通過知識(shí)回顧復(fù)習(xí),對(duì)匯編進(jìn)一步的了解后,熟練運(yùn)用。(3) 、

7、匯編語言要求短小精悍,由于程序過長,在使用jnz指令時(shí),出現(xiàn)錯(cuò)誤:Relative jump out of ra nge byte XXXXh bytes。通過二度跳轉(zhuǎn),解決了這個(gè)問題。五. 調(diào)試情況,設(shè)計(jì)技巧及體會(huì)通過對(duì)搶答器這一課題的設(shè)計(jì)和實(shí)現(xiàn),使我更好的將理論與實(shí)踐相結(jié)合,我更加 深入地理解了微機(jī)原理課程上講到的并行芯片 8255的功能,以及引腳的作用,同 時(shí)加深了對(duì)于該芯片的應(yīng)用的認(rèn)識(shí),同時(shí)在試驗(yàn)室的環(huán)境里熟悉了匯編程序的編 寫過程和運(yùn)行過程。更重要的是通過這個(gè)實(shí)驗(yàn),進(jìn)一步掌握了程序設(shè)計(jì)的合理結(jié) 構(gòu)。但要達(dá)到這樣的程度其首要條件還是要學(xué)好課本上的基礎(chǔ)知識(shí),理解每一條指令的意義。讓我感到

8、很欣慰的是,與搭檔的合作下高效地、順利地完成本次實(shí) 驗(yàn)。六. 參考文獻(xiàn)微機(jī)接口技術(shù)及其應(yīng)用-李育賢微型計(jì)算機(jī)原理-王忠民七. 附錄:源代碼(電子版)一、8255基本輸入輸出data segme ntdata endscode segme ntassume cs:code, ds:datastart:mov dx,1403hmov al,10010000bout dx,alread:mov dx,1400hin al,dxmov dx,14O1hout dx,almov ah,1int 16hjz readmov ah,4chint 21hcode endsend start二、流水燈設(shè)計(jì)實(shí)現(xiàn)d

9、ata segme ntmy8255_a equ 1400h ;8255 的 A 口地址my8255_b equ 1401h ;8255 的 B 口地址my8255_c equ 1402h ;8255 的 C 口地址 my8255_mode equ 1403h ;8255的控制寄存器地址mode_a db 10001001b; 控制字left db 0fehdata endscode segme ntassume cs:code,ds:datastart:MOV DX, 1406H ;寫控制口MOV AL, 90HOUT DX, ALREAD:MOV DX, 1400H ;寫 A端口IN AL

10、, DXMOV DX, 1402H ;寫 B端口AND AL, 01HJZ key1AND AL, 02HJZ key2AND AL, 04HJZ key3AND AL, 08HJZ key4JMP READ keyl:;for( i = 0; i < 5; i+);for(al = 0x08; al != 0; al >> 1)MOV CX, 5MOV AL, 08HL_TO_RCNT:PUSH CXL_TO_R:MOV CX, 8OUT DX, ALSHL AL, 1LOOP L_TO_RPOP CXLOOP L_TO_RCNTJMP READ key2:;for( i

11、= 0; i < 5; i+);for(al = 0x01; al != 0; al << 1)MOV CX, 5MOV AL, 01HR_TO_LCNT:PUSH CXR_TO_L:MOV CX, 8OUT DX, ALSHR AL, 1 LOOP R_TO_LPOP CXLOOP R_TO_LCNTJMP READkey3:MOV CX, 5M_TO_OCNT:MOV SI, 4M_TO_O:MOV AL, TABLE4-SIOUT DX, ALDEC SIJNZ M_TO_OLOOP M_TO_OCNTJMP READ key4:MOV CX, 5CNT:MOV SI,

12、 4O_TO_M:MOV AL, TABLESIOUT DX, ALDEC SIJNZ O_TO_MLOOP CNTJMP READOUT DX, ALJMP READmov ax, 4c00hint 21hCODE ENDSend start 三、數(shù)碼管應(yīng)用data segme ntmy8255_a equ 1400h ;8255 的 A 口地址 my8255_b equ 1401h ;8255 的 B 口地址my8255_c equ 1402h ;8255 的 C 口地址 my8255_mode equ 1403h ;8255的控制寄存器地址mode_a db 10001001b; 控制字

13、data endscode segme ntassume cs:code,ds:datastart:MOV DX, 1406H ;寫控制口MOV AL, 90HOUT DX, ALREAD:MOV DX, 1400H ;寫 A端口IN AL, DXMOV DX, 1402H ;寫 B端口MOV BL, AL ;保存端口讀到的值A(chǔ)1:TEST AL, 01HJNZ A2OR AL, 01HCMP AL, 0FFH JZ keylJMP keyEA2:MOV AL, BLTEST AL, 02HJNZ A3JZ key2JMP keyEA3:MOV AL, BLTEST AL, 04HJNZ A4

14、OR AL, 04HCMP AL, OFFHJZ key3JMP keyEA4:MOV AL, BLTEST AL, 08HJNZ A5OR AL, 08HCMP AL, 0FFHJZ key4JMP keyEA5:MOV AL, BLTEST AL, 10HJNZ A6OR AL, 10HCMP AL, 0FFHJZ key5JMP keyEA6:MOV AL, BLTEST AL, 20HJNZ A7JZ key6JMP keyEA7:MOV AL, BLTEST AL, 40HJNZ A8OR AL, 40HCMP AL, OFFHJZ key7JMP keyEA8:MOV AL, BL

15、TEST AL, 80HJNZ READOR AL, 80HCMP AL, 0FFHJZ key8JMP keyE key1:MOV AL, TABLE0OUT DX, ALJMP READkey2:MOV AL, TABLE1OUT DX, ALJMP READkey3:OUT DX, ALJMP READ key4:MOV AL, TABLE3OUT DX, ALJMP READkey5:MOV AL, TABLE4OUT DX, ALJMP READkey6:MOV AL, TABLE 5OUT DX, ALJMP READkey7:MOV AL, TABLE 6OUT DX, ALJM

16、P READkey8:MOV AL, TABLE7OUT DX, ALJMP READkeyE:MOV AL, TABLE8OUT DX, ALJMP READOUT DX, AL; JMP READmov ax, 4cOOhint 21hCODE ENDSend start四、搶答器data segme ntmy8255_a equ 1400h ;8255 的 A 口地址 my8255_b equ 1401h ;8255 的 B 口地址my8255_c equ 1402h ;8255 的 C 口地址 my8255_mode equ 1403h ;8255 的控制寄存器地址 mode_a db

17、 10001001b; 控制字data endscode segme ntassume cs:code,ds:datastart:MOV DX, 1406H ;寫控制口MOV AL, 90HOUT DX, ALREAD:MOV DX, 1400H ;寫 A端口IN AL, DXMOV DX, 1402H ;寫 B端口;倒計(jì)時(shí)過程 到了 0開始搶答MOV SI, 5TIME:;延時(shí)等待MOV CX, 0FFFFHdelay:LOOP delayMOV AL, TABLESIOUT DX, ALDEC SIJNZ TIMEMOV BL, ALA1:TEST AL, 01HJZ keylA2:TES

18、T AL, 02HJZ key2A3:TEST AL, 04HCMP AL, OFFHA4:TEST AL, 08HJZ key4A5:TEST AL, 10HJZ key5A6:TEST AL, 20HJZ key6A7:TEST AL, 40HJZ key7A8:TEST AL, 80HJZ key8;無人搶答MOV AL, TABLE0OUT DX, ALNEXT:;等待輸入空格鍵或者 Esc到下一輪搶答或者退出程序MOV AH, 1INT 21H;CMP AL, 32;是否為 空格JZ READCMP AL, 27;是否為 EscJZ END keyl:MOV AL, TABLE1OUT DX, ALJMP NEXTkey2:MOV AL, TABLE2OUT DX, ALJMP NEXT

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論