版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 計算機科學與技術(shù)系</b></p><p><b> 微機原理與接口技術(shù)</b></p><p><b> 課程設(shè)計報告</b></p><p> 2008~2009學年第2學期</p><p> 2009 年 2月</p>
2、<p> 一、題義分析及解決方案</p><p><b> 1.題義需求分析</b></p><p> 題目要求利用8086系統(tǒng)接口電路設(shè)計一個可供八人競賽使用的搶答器,并顯示競答者編號(1~8)。</p><p> 根據(jù)題義可知:本設(shè)計是要設(shè)計一個能夠提供給8個人使用的競賽搶答裝置,能夠使得搶答者的編號,顯示的裝置。首先
3、是主持人發(fā)出搶答允許信號,當搶答者收到信號后,便立刻進行搶答,然后通過裝置,將最先搶答者的編號顯示出來。</p><p> 根據(jù)以上分析,提出以下幾個問題:</p><p> ①主持人如何發(fā)出搶答的信息?</p><p> ?、诟傎愓呷绾芜M行搶答?</p><p> ?、廴绾螌⒎直鎿尨鸬捻樞?,誰是最先搶答的?</p><
4、;p> ④如何顯示搶答者的編號?</p><p> ⑤搶答的總體規(guī)則是什么?怎樣控制?</p><p> 2.解決問題的思路及其方法</p><p><b> 1)硬件部分</b></p><p> ?。?)主控裝置,由主持人控制決定搶答有效與無效,共兩個量,因而考慮到邏輯開關(guān)、微動開關(guān)和小鍵盤,主控完成的
5、是保持有效與無效兩種狀態(tài),而微動開關(guān)是輸入一個脈沖,故不符合要求,小鍵盤雖然可以實現(xiàn),但相對復(fù)雜,不便于實現(xiàn)。邏輯開關(guān)能很好地符合要求,優(yōu)點是簡單、易操作。本實驗使用新實驗箱,芯片8255的A、B、C口均被使用,故不能實現(xiàn)該主控功能,但設(shè)計思想中應(yīng)包含此方面,以便設(shè)計完備。</p><p> ?。?)搶答裝置,由競賽選手搶答使用,每一個選手在搶答時均有兩種選擇情況,搶答或不搶答,同主控裝置道理一樣,“1”表示搶答
6、動作發(fā)生,“0”表示不搶答,可見,邏輯開關(guān)可方便實現(xiàn),微動開關(guān)同樣滿足要求。然而現(xiàn)實生活中,更合理的應(yīng)采用微動開關(guān)按鍵式完成搶答動作,以符合現(xiàn)實要求。</p><p> ?。?)顯示裝置,可選擇LCD或LED,由于這里的輸出結(jié)果是選手編號,比較簡單,用LED即可實現(xiàn),用LCD也可以實現(xiàn),但相對復(fù)雜,且LCD價格高,故選LED。實現(xiàn)時可采用一人一個發(fā)光二極管,但這樣在搶答時不便于觀察與先后比較,所以選用七段LED數(shù)
7、碼顯示最后竟比較先后處理過的數(shù)字編號。</p><p> ?。?)規(guī)則設(shè)定,對于規(guī)則要用到可編程芯片,因為搶答結(jié)果的多種情況需要作不同的處理,要有硬件實現(xiàn)。由于是八位選手在同一個時間段均可搶答,輸入搶答信號,所以應(yīng)并行而不是串行??删幊绦酒?253、8251A以及8255等,8253主要用于定勢和計時器用,它的6種工作方式多以觸發(fā)方式,故不適用。8251A用于通信借口,并且是串行的,也不可用。而8255恰很好的
8、滿足需求,是并行接口芯片,所以選用8255。</p><p> ?。?)接口實現(xiàn),8086CPU與8255之間的數(shù)據(jù)總線經(jīng)數(shù)據(jù)總線收發(fā)器相連,地址線經(jīng)地址鎖存器相連,八個邏輯開關(guān)K0~K7分別連接到8255的輸入口PA0~PA7,輸出口PB0~PB7連接到七段LED顯示器。在8255與LED連接時,要留心參數(shù)是否匹配,能否成功驅(qū)動LED顯示,LED的標準編碼及顯示數(shù)字如下表所示:</p><p
9、> 表1-1 LED的標準編碼</p><p> 通過上表,我們需要用到的編碼是0、1、2、3、4、5、6、7、8、E, LED完全符合要求,每一位選手的編號,顯示裝置采用七段LED二極管顯示八位選手的編號,即為搶答結(jié)果。</p><p><b> 2)軟件部分</b></p><p> 對于設(shè)計中的搶答規(guī)則由軟件來實現(xiàn),考慮到8
10、位選手的各自按下?lián)尨鹧b置與自己的編號間的對應(yīng)關(guān)系,8個信號有可能在同一時間段內(nèi)有兩個或以上信號輸入,各自之間在時間上不會牽制,即涉及并行的方式輸入,后要對輸入的開關(guān)量進行處理、輸出,連接至LED顯示,其中需有一主控裝置,據(jù)此結(jié)合課程的所學的相關(guān)知識可知,使用可編程并行接口芯片8255能夠滿足要求,實現(xiàn)相關(guān)功能。實現(xiàn)時,可設(shè)置8255的A口作為八個輸入信號,用邏輯電平開關(guān)K0—K7代表搶答裝置的搶答開關(guān)1—8號。當某個微動開關(guān)置“0”時,
11、顯示有效,當有兩個或以上選手同時按下?lián)尨鹌鲿r,信號無效,顯示“E”。將B口輸出信號與7段LED的a—dp連接,即可用LED顯示器輸出搶答結(jié)果。在實驗中需設(shè)置C口位控制選用新實驗箱的八個LED顯示中的一個。</p><p><b> 二、硬件設(shè)計</b></p><p><b> 1) 8255芯片</b></p><p&g
12、t; (1) 8255引腳圖</p><p> 8255是可編程并行接口,內(nèi)部有3個相互獨立的8位數(shù)據(jù)端口,即A口B口和C口。三個端口都可以作為輸入端口或輸出端口。A口有三種工作方式:即方式0、方式1和方式2,而B口只能工作在方式0或方式1下,而C口通常作為聯(lián)絡(luò)信號使用。8255的工作只有當片選CS有效時才能進行。而控制邏輯端口實現(xiàn)對其他端口的控制。</p><p><b>
13、 (2) CPU接口</b></p><p><b> 1.數(shù)據(jù)總線緩沖器</b></p><p> 這是一個8位雙向三態(tài)緩沖器,三態(tài)是由讀/寫控制邏輯控制的。這個緩沖器是8255A與CPU數(shù)據(jù)總線的接口。</p><p><b> 2.讀/寫控制邏輯</b></p><p>
14、 它與CPU的6根控制線相連,控制8255A內(nèi)部的各種操作。控制線RESET用來使8255A復(fù)位。和地址線A1及A0用于芯片選擇和通道尋址。控制線用來決定8位內(nèi)部和外部數(shù)據(jù)總線上信息傳送的方向,即控制把CPU的控制命令或輸出的數(shù)據(jù)送到相應(yīng)的通道,或把狀態(tài)信息或輸入數(shù)據(jù)送到CPU。8255A的讀/寫控制邏輯的作用,是從CPU的地址和控制總線上接受輸入的信號,轉(zhuǎn)變成各種命令送到A組或B組控制電路進行相應(yīng)的操作。 </p>&l
15、t;p> (3) 8255A的引腳信號</p><p><b> 1.與外設(shè)相連的</b></p><p> PA7~PA0:A口數(shù)據(jù)信號線。</p><p> PB7~PB0:B口數(shù)據(jù)信號線。</p><p> PC7~PC0:C口數(shù)據(jù)信號線。</p><p><b>
16、 2.與CPU相連的</b></p><p> RESET:復(fù)位信號。當此信號來時,所有寄存器都被清除。同時三個數(shù)據(jù)端口被自動置為輸入端口。</p><p> D7~D0:它們是8255A的數(shù)據(jù)線和系統(tǒng)總線相連。</p><p> CS:片選信號。在系統(tǒng)中,一般根據(jù)全部接口芯片來分配若于低位地址組成各種芯片選擇碼,當這幾位地址組成某一個低電平,于
17、8255A被選中。只有當有效時,讀信號寫才對8255進行讀寫。 </p><p> RD:讀信號。當此信號有效時,CPU可從8255A中讀取數(shù)據(jù)。</p><p> WR:寫信號。當此信號有效時,CPU可向8255A中寫入數(shù)據(jù)。</p><p> A1、A0:端口選擇信號。8255A內(nèi)部有3個數(shù)據(jù)端口和1個控制端口,共4個端口。規(guī)定當A1、A0:為00時,選中
18、A端口;為01時,選中B端口;為10時,選中C端口;為11時,選中控制口。</p><p> 表2-1 8255A的技術(shù)參數(shù)</p><p> 輸入最低電壓:min -0.5V,max 0.8 V,輸入最高電壓:2.0 V。輸出最低電壓:0.45 V,輸出最高電壓:2.4 V。</p><p> ?。?)8255A的方式控制字</p><p&
19、gt; D7 D6 D5 D4 D3 D2 D1 D0</p><p> 1:工作方式 A口方式0輸入 B口方式0輸出</p><p> C口高4位輸出 C口低4位輸出</p><p> 圖2-1 8255A
20、的方式控制字</p><p> 方式0的工作特點是通常不用聯(lián)絡(luò)信號,不使用中斷,三個通道中的每一個都有可以由程序選定為輸入或輸出。其功能為:</p><p> ?、賰蓚€8位通道:通道A、B。兩個四位通道:通道C高四位和低四位;</p><p> ?、谌魏我粋€通道可以作輸入/輸出;</p><p><b> ③輸出是鎖存的;<
21、;/b></p><p><b> ④輸入是不鎖存的;</b></p><p> ⑤在方式0時各個通道的輸入/輸出可有16種不同的組合。</p><p><b> 2)顯示器件LED</b></p><p> (1) LED在本設(shè)計中的作用</p><p>
22、LED功能分析如下:</p><p> 1.物理構(gòu)造:LED發(fā)光二級管,采用砷化鎵、鎵鋁砷、和磷化鎵等材料制成,其內(nèi)部結(jié)構(gòu)為一個PN結(jié),具有單向?qū)щ娦浴?lt;/p><p> 2.工作原理:當在發(fā)光二極管PN結(jié)上加正向電壓時,PN結(jié)勢壘降低,載流子的擴散運動大于漂移運動,致使P區(qū)的空穴注入到N區(qū),N區(qū)的電子注入到P區(qū),這樣相互注入的空穴與電子相遇后會產(chǎn)生復(fù)合,復(fù)合時產(chǎn)生的能量大部分以光
23、的形式出現(xiàn)。</p><p> 3.數(shù)字成像:將七個發(fā)光管進行組合,排列成數(shù)字圖形8,再根據(jù)需要控制七個管的亮與滅,即可顯示出定義數(shù)字。</p><p> LED技術(shù)參數(shù)如下:</p><p> 1.發(fā)光二極管的壓降一般為1.5~2.0 V,其工作電流一般取10~20 mA為宜。</p><p> 2.發(fā)光二極管的發(fā)光顏色有:紅色光
24、、黃色光、綠色光、紅外光等。</p><p> 3.發(fā)光二極管應(yīng)用電路有四種,即直流驅(qū)動電路、交流驅(qū)動電路、脈沖驅(qū)動電路、變色發(fā)光驅(qū)動電路。</p><p> 表2-2 LED顯示管段選碼編碼表</p><p> 圖2-2 LED數(shù)碼管及其框圖</p><p> 上面兩圖分別為外形圖和原理圖,當七段數(shù)碼管點亮其中幾段可顯示數(shù)字和簡
25、單的字符,將七段數(shù)碼管負極連接到一起稱為公共端,而發(fā)光二極管的正極則分別由引腳引出,便于控制哪個發(fā)光二極管點亮。</p><p> 由于將8個發(fā)光二極管負極全部連接在一起,稱為共陰極數(shù)碼管,還有將8個發(fā)光二極管的正極連接在一起,故稱之為共陽極數(shù)碼管。</p><p> 本次實驗用的數(shù)碼管需動態(tài)掃描顯示,其接口電路將所有數(shù)碼管的筆畫控制段與a~h同名端連在一起,接到一個并行端口,每個公共
26、極COM端由獨立的I/O線控制,CPU向字模輸出口送出字形碼時,所有數(shù)碼管接收到相同的字形碼,究竟哪個數(shù)碼管顯示,取決于每個LED的COM端,所謂動態(tài)掃描,就是顯示一位信息時,其他位不能顯示,必須采用分時方法,輪流控制COM端。</p><p><b> 3) 微動開關(guān)</b></p><p> (1)微動開關(guān)及其編碼</p><p>
27、開關(guān)高電平:+5V、低電平:0V</p><p> 表2-4微動開關(guān)及其編碼</p><p> 4) 硬件總邏輯圖及其說明</p><p> 圖2-3 硬件電路圖</p><p> 說明:8086的數(shù)據(jù)線接8255A的數(shù)據(jù)線,8086的地址線形成地址通過譯碼器與8255A的片選信號相連。8086的分別接8255A的A0,A1。PA0—
28、PA7接微動開關(guān)K0—K7。PB0—PB7接顯示管的a—dp,PC0—PC7接LED顯示裝置,用于位選擇。</p><p><b> 3、控制程序說明</b></p><p> 3.1控制程序設(shè)計思路說明</p><p> 定義十六進制數(shù)字符的七段代碼表。</p><p> 初始化8255A的工作方式。</
29、p><p><b> 置LED燈全滅。</b></p><p> 輸出顯示零表示等待搶答。</p><p> 讀A口狀態(tài),若有兩個或兩個以上的搶答信號,顯示輸出E。若只有一個搶答信號,則查詢輸出其編號。</p><p> 繼續(xù)觀察LED是否輸出顯示零,若為0,進行下一次搶答。</p><p>
30、<b> 3.2程序流程圖</b></p><p> 圖3-1 程序流程圖</p><p><b> 3.3控制程序</b></p><p> .MODELTINY</p><p> PCIBAR3EQU1CH;8位I/O空間基地址(它就是實驗儀的基地址, 也為DMA &
31、; 32 BIT RAM板卡上的8237提供基地址) </p><p> Vendor_IDEQU 10EBH;廠商ID號</p><p> Device_IDEQU8376;設(shè)備ID號</p><p> .STACK100</p><p><b> .DATA</b></p>
32、<p> IO_Bit8_BaseAddressDW?</p><p> msg0DB'BIOS不支持訪問PCI $'</p><p> msg1DB'找不到Star PCI9052板卡 $'</p><p> msg2DB'讀8位I/O空間基地址時出錯$'&l
33、t;/p><p> COM_ADD DW00F3H;控制口偏移量</p><p> PA_ADDDW00F0H;PA口偏移量</p><p> PB_ADDDW00F1H;PB口偏移量</p><p> PC_ADDDW00F2H;PC口偏移量</p><p><b
34、> .CODE</b></p><p> START:MOV AX,@DATA</p><p> MOV DS,AX</p><p><b> NOP</b></p><p> CALL InitPCI</p><p> CALL ModifyAddres
35、s;根據(jù)PCI提供的基地址,將偏移地址轉(zhuǎn)化為實地址</p><p> mov dx,COM_ADD ;控制口地址</p><p> mov ax,90h ;10010000</p><p> out dx,ax </p><p> step0:mov ax,00h ;禁止顯示LED全滅</p><
36、;p> mov dx,PB_ADD ;B口地址輸出</p><p><b> out dx,ax</b></p><p> step3:mov dx,PB_ADD</p><p> mov ax,3fh ;輸出顯示0表示允許搶答</p><p> out dx,ax </
37、p><p> mov dx,PC_ADD ;設(shè)置數(shù)碼管位選碼</p><p> mov al,7Fh ;只使用最左邊一位</p><p><b> out dx,al</b></p><p> step2:mov dx,PA_ADD ;通過A口地址讀輸入信號</p>
38、;<p> in ax,dx ;讀A口狀態(tài)</p><p> not ax ;取反,因為微動開關(guān)按下為低電平有效</p><p> cmp al,00h ;檢測是否有輸入</p><p> jz step2 ;沒有則繼續(xù)檢測</p><p><b>
39、 mov dl,al</b></p><p> mov bl,00h ;bl用于記錄有幾人同時按鍵</p><p> mov cx,8h ;循環(huán)次數(shù)</p><p> test1:ror dl,1 ;循環(huán)右移一位,末位進CF</p><p> jnc test2 ;若沒有
40、進位,即CF=0則跳轉(zhuǎn)retest繼續(xù)測試</p><p> inc bl ;有進位,bl自加記錄同時搶答人數(shù)</p><p> test2:loop test1;循環(huán)測試8次</p><p><b> cmp bl,1</b></p><p> ja error ;有一人以上同
41、時搶答,則報錯</p><p> mov bl,00h ;bl清零</p><p> next:ror al,1 ;有搶答信號</p><p> jc print ;有則輸出</p><p> inc bl ;bl用來記錄是哪一位選手</p><p><b&g
42、t; jmp next</b></p><p> error:mov bl,8</p><p> print:mov al,bl</p><p> lea bx,ssegment ;查表</p><p> xlat ;將BX的內(nèi)容(代碼表首地址)+AL的內(nèi)容(表格偏移量)作為有效地</
43、p><p> ;址,最終內(nèi)容存入AL中</p><p> mov dx,PB_ADD</p><p><b> out dx,al</b></p><p> mov dx,PC_ADD ;設(shè)置數(shù)碼管位選碼一位顯示</p><p> mov al,7Fh ;只使用最左邊一
44、位</p><p><b> out dx,al</b></p><p> step5:mov dx,PA_ADD </p><p> in ax,dx </p><p> cmp al,0ffh ;檢測開關(guān)是否已松開</p><p> jnz step5
45、 ;沒有松開繼續(xù)檢測</p><p><b> jmp step6</b></p><p> step6:mov al,cl</p><p> mov dx,PB_ADD</p><p><b> out dx,al</b></p><p> mov dx,PC
46、_ADD ;設(shè)置數(shù)碼管位選碼一位顯示</p><p> mov al,0FEh ;只使用最右邊一位</p><p><b> out dx,al</b></p><p> call DL500ms ;調(diào)用延遲程序</p><p> jmp step0 </p&g
47、t;<p><b> ssegment:</b></p><p><b> db 06h</b></p><p><b> db 5bh</b></p><p><b> db 4fh</b></p><p><b> d
48、b 66h</b></p><p><b> db 6dh</b></p><p><b> db 7dh</b></p><p><b> db 07h</b></p><p><b> db 7fh</b></p>&
49、lt;p><b> db 79h</b></p><p> DL500ms PROC NEAR</p><p><b> push ax</b></p><p><b> push dx</b></p><p> mov dx,500</p>
50、<p> mov ah,0ffh</p><p><b> int 21h</b></p><p><b> pop dx</b></p><p><b> pop ax</b></p><p><b> RET</b></p
51、><p> DL500ms ENDP</p><p> InitPCIPROCNEAR</p><p> MOVAH,00H</p><p> MOVAL,03H</p><p> INT10H ;清屏</p><p> MOVAH,0B1H</p&
52、gt;<p> MOVAL,01H</p><p><b> INT1AH</b></p><p><b> CMPAH,0</b></p><p> JZInitPCI2</p><p> LEADX,msg0</p><p>
53、 InitPCI1:MOVAH,09H</p><p><b> INT21H</b></p><p><b> JMPExit</b></p><p> InitPCI2:MOVAH,0B1H</p><p> MOVAL,02H</p><p&
54、gt; MOVCX,Device_ID</p><p> MOVDX,Vendor_ID</p><p><b> MOVSI,0</b></p><p><b> INT1AH</b></p><p> JNCInitPCI3;是否存在Star PCI9052板卡<
55、;/p><p> LEADX,msg1</p><p> JMPInitPCI1</p><p> InitPCI3:MOVDI,PCIBAR3</p><p> MOVAH,0B1H</p><p> MOVAL,09H</p><p> INT1AH
56、 ;讀取該卡PCI9052基地址</p><p> JNCInitPCI4</p><p> LEADX,msg2</p><p> JMPInitPCI1</p><p> InitPCI4:ANDCX,0FFFCH</p><p> MOVIO_Bit8_BaseAddress,CX&
57、lt;/p><p><b> RET</b></p><p> InitPCIENDP</p><p> ModifyAddressPROCNEAR</p><p> ADDCOM_ADD,CX</p><p> ADDPA_ADD,CX</p><
58、p> ADDPB_ADD,CX</p><p> ADDPC_ADD,CX</p><p><b> RET</b></p><p> ModifyAddressENDP</p><p> Exit:MOVAH,4CH</p><p><b> I
59、NT21H</b></p><p> ENDSTART4、上機調(diào)試過程</p><p><b> 4.1硬件調(diào)試</b></p><p> 按照硬件連接圖接好線后,運行程序,發(fā)現(xiàn)LED顯示的不是0,經(jīng)檢查發(fā)現(xiàn)二進制編碼是11000000而并不是0的編碼00000011。后在老師提示下,原因是PB口的連接的并不是a-dp
60、,而是dp-a。后采用將數(shù)據(jù)線反過來接,結(jié)果正確顯示0。</p><p><b> 4.2軟件調(diào)試</b></p><p> 剛開始調(diào)試程序時,總是出現(xiàn)錯誤,后經(jīng)老師提示,原因是新實驗箱沒有8086CPU,它采用的運行方式是上位機的CPU模擬實現(xiàn)下位機的8086CPU實現(xiàn)功能,所以加入了老師給的地址轉(zhuǎn)換程序,得以實現(xiàn)。繼而相應(yīng)的刪去了一些重復(fù)不必要的初始化程序。&
61、lt;/p><p><b> 4.3聯(lián)機調(diào)試</b></p><p> 在聯(lián)機調(diào)試時出現(xiàn)了兩個問題:</p><p> ?。?)起初一直堅守“1”有效,運行錯誤,后仔細閱讀了實驗箱使用說明,認識</p><p> 微動開關(guān)按下時的狀態(tài)為“0”,松開為“1”,于是在程序中讀信號的代碼段中入NOT AX,將讀取的微動開關(guān)
62、按位取反,以使得開關(guān)按下“0”時有效,彈開“1”時無效,結(jié)果成功實現(xiàn)。</p><p> ?。?)程序反復(fù)調(diào)試并運行了多次,幾經(jīng)測試,起初都正確,可是后來同樣正確的程序運行LED顯示卻出現(xiàn)故障,下位機重置仍然不行,后經(jīng)老師指導,將上位機重啟,問題被解決。</p><p> 4.4調(diào)試結(jié)果及問題的提出</p><p> (1)數(shù)碼管顯示數(shù)字的筆畫不對,盡管數(shù)碼管編
63、碼正確無誤,經(jīng)檢查原因是控制編碼段的定位變化未能有效設(shè)置好,隨著程序的運行,值變化混亂,后經(jīng)單步調(diào)試,仔細分析并改正優(yōu)化,成功解決。</p><p> ?。?)在聯(lián)機調(diào)試結(jié)果正確后,全速運行情況下,LED顯示始終會全部顯示,后在老師的提示下,程序中顯示代碼段的位置出加入mov ax,00h ,mov dx,PB_ADD 以禁止顯示,LED全滅,同時應(yīng)考慮到人眼視網(wǎng)膜的分辨率,設(shè)置顯示延遲時間,以便于觀察。<
64、/p><p> (3) 在老師的要求下,應(yīng)該能夠觀察到選手的編號。而微動開關(guān)按下是瞬間的且選手不能一直按著開關(guān)不放,對于觀察結(jié)果不方便,故老師要求在最右邊的一位LED上顯示出選手編號。設(shè)計時在測試微動開關(guān)是否松開后,再加一個B口輸出在LED上顯示。開始的很多次,在單步調(diào)試中可以觀察到在最右邊的LED上顯示了選手編號,而在全速運行中卻看不到。經(jīng)老師檢查后,發(fā)現(xiàn)在顯示程序后立刻執(zhí)行了LED全滅,在人眼的能力內(nèi)是看不到的
65、,在老師的建議下,加入一個延遲程序即可解決問題。</p><p> 5、設(shè)計結(jié)果分析及問題討論</p><p> 5.1 課程設(shè)計結(jié)果</p><p> 在允許搶答信號發(fā)出后,七段LED顯示器上會顯示首先按下開關(guān)的選手編號。由于響應(yīng)速度非???,若有兩人或兩人以上同時撥下開關(guān)是,七段LED顯示器上始終會靈敏的顯示第一個按下開關(guān)的搶答者,當起初有兩個或以上選手搶答
66、,則顯示“E”表示出錯,搶答無效。</p><p><b> 5.2設(shè)計結(jié)果分析</b></p><p> 由于芯片8255的三個端口A、B、C全部都被使用,起初的主控思想便無法實現(xiàn),從 8255A的A口讀入輸入信號,即為選手編號。然后從B口輸出搶答結(jié)果到七段LED顯示器上,C口控制LED數(shù)碼管的位控制,采用最左邊的一位LED顯示,并設(shè)置延遲在最右邊的一位LED上
67、顯示最終的搶答者號碼,便于觀察和比較。</p><p><b> 5.3問題討論</b></p><p> 在考慮如何確定有幾人同時撥下開關(guān)的問題中,用BL記下在A口的輸入信號,將BL循環(huán)右移八次,看八位選手中有哪幾位發(fā)出了搶答動作,即所在的位有效,有幾個一被移出,就有多少個人同時按下開關(guān)。將BL與1比較,如果大于1,說明有多人同時搶答,七段LED顯示器上顯示E,
68、表示搶答無效。否則,滿足一位選手動作,LED顯示器即會顯示選手編號。</p><p> 5.4 收獲、體會和建議</p><p> 5.4.1關(guān)于可編程芯片8255A</p><p> 通過本次課程設(shè)計我熟練掌握了可編程并行接口芯片8255A的內(nèi)部結(jié)構(gòu),數(shù)據(jù)總線緩沖器,三個八位端口,A口、B口和C口的控制電路,讀寫控制邏輯,工作方式,分別有:方式0--基本輸入
69、輸出方式,方式1—選通輸入輸出方式,方式2—雙向選通輸入輸出方式,初始化,包括方式選擇控制字,C口按位置位控制字及其應(yīng)用。 8255A有三個八位的輸入輸出端口,由于內(nèi)部電路原因,通常將A口 (PA0-PA7)作為輸入用,B口(PB0-PB7)作為輸出用,C口作為輔助用,本實驗,在設(shè)計程序時,選取8255A的工作方式0,通過A口輸入,B口輸出LED段控制,C口輸出LED位控制。</p><p> 5.4.2七段L
70、ED顯示器</p><p> 通過這次課程設(shè)計我掌握了作為終端顯示的七段LED顯示器物理構(gòu)造,明白了其工作原理,數(shù)字成象的原理及相關(guān)技術(shù)參數(shù)。</p><p><b> 5.4.3匯編語言</b></p><p> 通過這次課程設(shè)計,重新復(fù)習了匯編語言程序設(shè)計中的數(shù)據(jù)和程序的尋址方式,各個指令的作用和含義。通過整個程序的編寫及后續(xù)的優(yōu)化工
71、作,使我對匯編語言有了更深層次的掌握,同時也對用匯編語言進行程有了進一步的理解。</p><p> 在為期二周的課程設(shè)計中, 我們能把課堂上學習到的理論知識,經(jīng)過思考、揣摩,運用于實踐中,逐步實現(xiàn)設(shè)計中的各種功能,心中有一種很大的欣慰感,以理論指導實踐,反過來,我們在課堂上學到的理論知識,很多情況都不是很明白其中的道理,也不清楚這點具體可以用在什么方面。在逐步實驗過程中,通過每一個功能的實現(xiàn),通過上機實踐,對理
72、論知識也有了更為透徹的理解和認知。深刻認識到上機實踐操作的重要性,覺得一周的時間太短,對于設(shè)計的優(yōu)化方面的工作還有許多可以充實,總覺得能再多點時間會做到更好,希望在以后的學習中,更多地給我們安排一些動手操作的實驗課,以更深入地了解計算機方方面面的知識。</p><p> 通過這次設(shè)計實踐使自己進一步加深了對專業(yè)知識和理論知識學習的認識和理解,使自己對于現(xiàn)實生活中的實際問題有了更貼切的整體把握和領(lǐng)會,并很好的將之
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 競賽搶答器課程設(shè)計-微機接口課程設(shè)計報告
- 微機課程設(shè)計報告搶答器
- 微機原理課程設(shè)計---競賽搶答器設(shè)計
- 微機原理課程設(shè)計報告---競賽搶答器的設(shè)計
- 競賽搶答器課程設(shè)計報告
- 競賽搶答器課程設(shè)計
- 微機原理課程設(shè)計搶答器
- 微機原理課程設(shè)計---4路競賽搶答器
- 《微機原理與接口技術(shù)》搶答器課程設(shè)計報告
- 《微機原理與接口技術(shù)》課程設(shè)計---搶答器
- 微機原理課程設(shè)計報告--數(shù)字式競賽搶答器
- eda課程設(shè)計---競賽搶答器
- eda課程設(shè)計---競賽搶答器
- 課程設(shè)計報告---智力競賽搶答器
- 微機課程設(shè)計--8路搶答器
- 智力競賽搶答器課程設(shè)計報告
- 多路智能競賽搶答器設(shè)計課程設(shè)計
- 智力競賽搶答器課程設(shè)計
- 課程設(shè)計---智力競賽搶答器
- 智力競賽搶答器課程設(shè)計
評論
0/150
提交評論