微機課程設(shè)計六路搶答器_第1頁
微機課程設(shè)計六路搶答器_第2頁
微機課程設(shè)計六路搶答器_第3頁
微機課程設(shè)計六路搶答器_第4頁
微機課程設(shè)計六路搶答器_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

六路搶答器

1.課程設(shè)計的目的

木課程設(shè)計是在比擬系統(tǒng)地學(xué)習(xí)了匯編語言程序設(shè)計方法和微機原理與接口知識

后,為了更好地掌握微型計算機的工作原理和接口電路設(shè)計方法,初步掌握微機應(yīng)用系統(tǒng)

的軟、硬件開發(fā)方法和技術(shù),為今后開發(fā)實際系統(tǒng)打下根底而進行的比擬系統(tǒng)的課程設(shè)

計。通過課程設(shè)計進一步了解微型計算機的工作原理,熟悉微機根本輸入、輸出接口的組

成及地址分析方法,掌握各種接口芯片和掌握接口電路的設(shè)計原則

2.課程設(shè)計的要求

⑴用8255A芯片設(shè)計搶答計時器,搶答后所存,搶答結(jié)束后復(fù)位。

⑵認真編寫程序,并進行程序調(diào)試,在實驗機上運行,完成接口程序的設(shè)計;

⑶完成設(shè)計報告。

3.課程設(shè)計的條件

軟件:AEDK系類實驗機調(diào)試軟件

操作系統(tǒng):WindowsXP

主要儀器設(shè)備:微機一臺、微機原理與接口技術(shù)實驗箱一套、萬用表一臺、示波器一臺。

4.課程設(shè)計方案

(1)確定設(shè)計內(nèi)容,設(shè)計一個六路搶答器,使用LED燈表示搶答情況。

:2)確定所使用的芯片及六路搶答器的相關(guān)功能。課程設(shè)計使用8255A芯片,8個開

關(guān)。其中開關(guān)K8用于決定搶答是否開始,開關(guān)閉合,搶答開始。開關(guān)斷開,其他六路搶

答器不管按下與否,均無反響。開關(guān)K7,為搶答結(jié)束后提供復(fù)位功能。K1-K6為六路搶答

器,這里將開關(guān)視為按鈕,閉合斷開一次為按下按鈕。

(3)程序流程圖

(4)8255A芯片介紹

8255A內(nèi)部有3個相互獨立的8位數(shù)據(jù)端口,即端口A、端口B、端口C。設(shè)計人員可

以用程序是他們分別作為輸入端口或輸出端口。不過,每個端口有著各自的特點。

端口A對應(yīng)1個8位數(shù)據(jù)輸入鎖存器/緩沖器和1個8位數(shù)據(jù)輸出鎖存器/緩存器。所

以,用端口A作為輸入或輸出時,數(shù)據(jù)均可以受到鎖存。

端口B對應(yīng)1個8位數(shù)據(jù)輸入鎖存器/緩沖器和1個8位數(shù)據(jù)輸出鎖存器/緩存器。

端口C對應(yīng)1個8位數(shù)據(jù)輸入鎖存器/緩沖器和1個8位數(shù)據(jù)輸出鎖存器/緩存器。這

樣,當(dāng)端口C作為輸入端口時,對數(shù)據(jù)不作鎖存,而作為輸出端口時,對數(shù)據(jù)進行鎖存。

8255A工作方式:

(1)工作方式0:這是8255A中各端口的根本輸入/輸出方式。它只完成簡單的

并行輸入/輸出操作,CPU可從指定端口輸入信息,也可向指定端口輸出信息,如果三

個端口均處于工作方式0,那么可由工作方式控制字定義16種工作方式的組合

(2)工作方式1:被稱作選通輸入/輸出方式。在這種工作方式下,數(shù)據(jù)輸入/

輸出操作要在選通信號控制下完成。

(3)工作方式2:被稱作帶選通的雙向傳送方式。8255A中只允許端口A處于

工作方式2,可用來在兩臺處理機之間實現(xiàn)雙向并行通信。其有關(guān)的控制信號由端口C

提供,并可向CPU發(fā)出中斷請求信號。

方式選擇控制字

D7D6D5D4D3D2DIDO

A口PC7?PC4B組方式B口PC3-PC0

1有效00一方式01—輸入1—輸入0—方式01一輸入1—輸入

標(biāo)志位01—方式10一輸出0一輸出1一方式10一輸出0一輸出

XI一方式2

硬件電路設(shè)計:

1)8255的端口C(PC0-PC7)通過驅(qū)動連接到DL1?DL6。

2)8255的端口A(PA0-PA7)和開關(guān)K1-K8相連。

(5)程序代碼

DATASEGMENT

DATAENDS

STACKSEGMENTSTACK

STADW50DUP(?)

TOPEQULENGTHSTA

STACKENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACK

START:MOVDX,203H;控制端口地址給DX

MOVAL,10010000B;工作方式0,PA麻口輸入,PB,PC輸出

OUTDX,AL

K2:MOVDX,200h;

INAL,DX;讀取PA端口狀態(tài)

ORAL,7FII;將K1-K8相應(yīng)位置1

CMPAL,7FH;判斷K8是否閉合

JNZK2

WAIT1:MOVDX,200h;重新讀取PA端口的狀態(tài)

'.VAIT2:INAL,DX

XORAL,OOH;異或,判斷

CMPAL,7FH;判斷是否有人搶答,即K1-K5是否有人按下

JZWA1T2;無人搶答,返回WA1T2

CMPAL,7EH;判斷K1是否搶答到

JZAl;假設(shè)是,轉(zhuǎn)移到A1

CMPAL,7DH;判斷K2是否搶答到

JZA2

CMPAL,7BH;判斷K3是否搶答到

JZA3

CMPAL,77H

JZA4

CMPAL,6FH

JZA5

CMPAL,5FH

JZA6

Al:MOVDX,20211M與C端口地址賦給DX

MOVAUOllllllOB;設(shè)置LED1亮,LED8為開始搶答,默認亮著

;其他LED燈滅

OUTDX,AL;從€:端口輸出

JMPLI

A2:MOVDX,202H

MOVAU01111101B;LED2亮

OUTDX,AL

JMPLI

A3:MOVDX,202II

MOVAL,01111011B;LED3亮

OUTDX,AL

JMPLI

A4:MOVDX,202H

MOVAL,01110111B;LED4亮

OUTDX,AL

JMPLI

A5:MOVDX,20211

MOVAL,01101111B;LED5亮

OUTDX,AL

A6:MOVDX,202H

MOVAUOlOlllllB;LED6亮

OUTDX,AL

L1:MOVDX,200H

INAL,DX;從A端口讀取開關(guān)狀態(tài)

ORAL,03FH

CMPAL,03FH;判斷復(fù)位開關(guān)是否開啟,即K7是否閉合

JNZLI;假設(shè)不是,那么等待復(fù)位

MOVDX,202H;從C端口輸出復(fù)位后的LED等狀態(tài),即只有LED7、

;LED8亮著

OUTDX,AL

JMPWA1T1;返回WA1T1,繼續(xù)下一輪搶答

CODEENDS

ENDSTART

5.課程設(shè)計的實驗步驟或過程

5.1準(zhǔn)備階段:

步驟1:編寫程序代碼,翻開調(diào)試軟件,在菜單欄的實驗選擇選“開關(guān)狀態(tài)顯示實驗〃

APy列突期R國試軟件LCA88H

”件”查看竺設(shè)蚤G)工具(工)務(wù)遜一幫助(△)

步驟2:新建空白頁,將所編的代碼黏貼進去,并進行編譯。假設(shè)出錯,根據(jù)提示的

錯誤,進行修改。否則,進行下一步

&AED爆列實驗機調(diào)試軟件LCA88ET-LCA88ET2

文件(E)端輯(E)查看(Y)號諾(E)調(diào)試(D)設(shè)看(5)工具(工)實蛉選揉窗口(M翼助(A)

55尉w二:r%%廂M丁耳聃辱1陶we’

占十科濟》?原目內(nèi)源位

3LCA88ET2

LLJ

Ln1,ColO

g|LCA88ET2

-7NAL,DX

ANDAL.0COH

CMPALf0COH

JNZL1

MOUDX,2G2H

OUTDX.AL

JMPWAIT1

CODEENDS

ENDSTART

5.2連線測試階段

步驟1:實驗設(shè)備通過PCI接口卡與電腦相連接,單擊軟件菜單欄的設(shè)置,選擇通訊口。

在彈出的界面中通訊口和波特率默認,一般不做修改,點擊測試串口。假設(shè)提示測試成

功,那么實驗設(shè)備與電腦連接成功。否則,重新檢查接口是

步驟2:

連線、程序?qū)懭耄?/p>

(1)根據(jù)彈出的接線圖,在實驗機的相應(yīng)芯片上進行接線。

(3)控制開關(guān),觀察實驗結(jié)果。假設(shè)沒有預(yù)期的實驗結(jié)果,排錯,解決問題。

步驟5:完成課程設(shè)計報告。

6.課程設(shè)計的實驗結(jié)果

實驗結(jié)果并不順利,出現(xiàn)如下問題。由于為準(zhǔn)備工具,故沒有記錄實驗現(xiàn)象。

問題一:實驗初始化即出現(xiàn)8個等全亮的情況,此時K8閉合,其他開關(guān)處丁斷開狀態(tài)。

問題二:無法搶答,無論哪個開關(guān)閉合斷開,都沒有任何反響。

問題三:問題二解決后,搶答結(jié)束復(fù)位時,對應(yīng)的LED燈熄滅,LED7和LED8亮著,但是

無法再次進行下一輪搶答。

經(jīng)過單步執(zhí)行,問題一在起始化之后便8個燈全亮,乃為程序初始化問題。而問題二

是因為沒有將搶答結(jié)果順利從C口輸出,問題三那么是搶答結(jié)束后未將A端口地址賦給

DX,導(dǎo)致不能進行下一輪搶答。問題解決后,可以進行搶答,搶答成功后對應(yīng)的LED燈

亮,其他六路再進行搶答無任何效果,但在復(fù)位上出了問題,由于時間關(guān)系,無法再次根

據(jù)實驗現(xiàn)象修改代碼,完善課程設(shè)計。

參考文獻

口]楊斌編著.微機原理與接口技術(shù)實驗及課程設(shè)計[M].成都:西南交通大學(xué)出版社,2005.10

[2]楊居義編著.微原理與接口技術(shù)工程教程[M].北京:清華大學(xué)出版社,2023.1

[3]李甘林,李升主編.微機原理及接口技術(shù)文瞼指導(dǎo)書[M].北京:北京大學(xué)出版社,2023.8

[4]徐曉紅等編.微型計算機原理與接口技術(shù)實驗指導(dǎo)[M].北京:清華大學(xué)出版社,2023.1

[5]鄒道勝主編.微機原理實驗指導(dǎo)書[M].武漢:華中科技大學(xué)出版社,2023.6

[6]錢曉捷主編.微型計算機原理及應(yīng)用[M].清華大學(xué)出版社,2006

[7]錢曉捷陳濤編著.16/32位微機原理、匯編語言及接口技術(shù)(笫2版)[M].機械工業(yè)出版社,

2005

[8]錢曉捷主編.新版匯編語言程序設(shè)計[M].電子工業(yè)出版社,2006

六路搶答器

7.課程設(shè)計的目的

本課程設(shè)計是在比擬系統(tǒng)地學(xué)習(xí)了匯編語言程序設(shè)計方法和微機原理與接

口知識后,為了更好地掌握微型計算機的工作原理和接口電路設(shè)計方法,初步

掌握微機應(yīng)用系統(tǒng)的軟、硬件開發(fā)方法和技術(shù),為今后開發(fā)實際系統(tǒng)打下根底

而進行的比擬系統(tǒng)的課程設(shè)計。通過課程設(shè)計進一步了解微型計算機的工作原

理,熟悉微機根本輸入、輸出接口的組成及地址分析方法,掌握各種接口芯片

和掌握接口電路的設(shè)計原則

8.課程設(shè)計的要求

⑴用8255A芯片設(shè)計搶答計時器,搶答后所存,搶答結(jié)束后復(fù)位。

⑵認真編寫程序,并進行程序調(diào)試,在實驗機上運行,完成接口程序的設(shè)

計;

⑶完成設(shè)計報告。

9.課程設(shè)計的條件

軟件:AEDK系類實驗機調(diào)試軟件

操作系統(tǒng):WindowsXP

主要儀器設(shè)備:微機一臺、微機原理與接口技術(shù)實驗箱一套、萬用表一臺、示

波器一臺。

10.課程設(shè)計方案

(1)確定設(shè)計內(nèi)容,設(shè)計一個六路搶答器,使用LED燈表示搶答情況。

(2)確定所使用的芯片及六路搶答器的相關(guān)功能。課程設(shè)計使用8255A芯片,

8個開關(guān)。其中開關(guān)K8用于決定搶答是否開始,開關(guān)閉合,搶答開始。開關(guān)斷

開,其他六路搶答器不管按下與否,均無反響。開關(guān)K7,為搶答結(jié)束后提供復(fù)

位功能。K1-K6為六路搶答器,這里將開關(guān)視為按鈕,閉合斷開一次為按下按

鈕。

(3)程序流程圖

(5)8255A芯片介紹

8255A內(nèi)部有3個相互獨立的8位數(shù)據(jù)端口,即端口A、端口B、端口C。

設(shè)計人員可以用程序是他們分別作為輸入端口或輸出端口。不過,每個端口有

著各自的特點。

端口A對應(yīng)1個8位數(shù)據(jù)輸入鎖存器/緩沖器和1個8位數(shù)據(jù)輸出鎖存器/

緩存器。所以,用端口A作為輸入或輸出時,數(shù)據(jù)均可以受到鎖存。

端口B對應(yīng)1個8位數(shù)據(jù)輸入鎖存器/緩沖器和1個8位數(shù)據(jù)輸出鎖存器/

緩存器。

端口C對應(yīng)1個8位數(shù)據(jù)輸入鎖存器/緩沖器和1個8位數(shù)據(jù)輸出鎖存器/

緩存器。這樣,當(dāng)端口C作為輸入端口時,對數(shù)據(jù)不作鎖存,而作為輸出端口

時,對數(shù)據(jù)進行鎖存。

8255A工作方式:

(1)工作方式0:這是8255A中各端口的根本輸入/輸出方式。它只完

成簡單的并行輸入/輸出操作,CPU可從指定端口輸入信息,也可向指定端

口輸出信息,如果三個端口均處于工作方式0,那么可由工作方式控制字定義

16種工作方式的組合

(2)工作方式1:被稱作選通輸入/輸出方式。在這種工作方式下,

數(shù)據(jù)輸入/輸出操作要在選通信號控制下完成。

(3)工作方式2:被稱作帶選通的雙向傳送方式。8255A中只允許端

口A處于工作方式2,可用來在兩臺處理機之間實現(xiàn)雙向并行通信。其有關(guān)

的控制信號由端口C提供,并可向CPU發(fā)出中斷請求信號。

方式選擇控制字

D7D6D5D4D3D2DIDO

A口PC7?PC4B組方式B口PC3-PC0

1有效oo一方式02—輸入1—輸入0一方式01—輸入1—輸入

標(biāo)志位01一方式10一輸出0一輸出1一方式10一輸出0一輸出

XI一方式2

硬件電路設(shè)計:

1)8255的端口C(PC0-PC7)通過驅(qū)動連接到DL1?DL6。

2)8255的端口A(PA0-PA7)和開關(guān)KbK8相連。

(5)程序代碼

DATASEGMENT

DATAENDS

STACKSEGMENTSTACK

STADW50DUP⑵

TOPEQULENGTHSTA

STACKENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACK

START:MOVDX,203H;控制端口地址給DX

MOVAL,1OO1OOOOB;工作方式0,PA端口輸入,PB,PC輸出

OUTDX,AL

K2:MOVDX,2OOh

INAL,DX;讀取PA端口狀態(tài)

ORAL,7FH;將0-1(8相應(yīng)位置1

CMPAL,7FH;判斷K8是否閉合

JNZK2

WAIT1:MOVDX,2OOh;重新讀取PA端口的狀態(tài)

WAIT2:INAL,DX

XORAL,OOH;異或,判斷

CMPAI.,71'H;判斷是否有人搶答,即K1-K5是否有人按

JZWATT2;無人搶答,返回WATT2

CMPAL,7EH;判斷K1是否搶答到

JZAl;假設(shè)是,轉(zhuǎn)移到A1

CMPAL,7DH;判斷K2是否搶答到

JZA2

CMPAL,7BH;判斷K3是否搶答到

JZA3

CMPAL,77H

JZA4

CMPAL,6FH

JZA5

CMPAL,5FH

JZA6

Al:MOVDX,202H;將C端口地址賦給DX

MOVAL,01111HOB;設(shè)置LED1亮,LED8為開始搶答,默認亮

;其他LED燈滅

OUTDX,AL;從C端口輸出

JMPLI

A2:MOVDX,202H

MOVAL,O11111O1B;LED2亮

OUTDX,AL

JMPLI

A3:MOVDX,202H

MOVAL,O1111O11B;LED3亮

OUTDX,AL

JMPLI

A4:MOVDX,202H

MOVAL,O111O111B;LED4亮

OUTDX,AL

JMPLI

A5:MOVDX,202H

MOVAL,O11O1111B;LED5亮

OUTDX,AL

A6:MOVDX,202H

MOVAL,O1O11111B;LED6亮

OUTDX,AL

LI:MOVDX,200H

INAL,DX;從A端口讀取開關(guān)狀態(tài)

ORAL,O3FH

CMPAL,O3FH;判斷復(fù)位開關(guān)是否開啟,即K7是否閉合

JNZLI;假設(shè)不是,那么等待復(fù)位

MOVDX,202H;從C端口輸出復(fù)位后的LED等狀態(tài),即只有LED7、

;LED8亮著

OUTDX,AL

JMPWATT:;返回WATT1,繼續(xù)下一輪搶答

CODEENDS

ENDSTART

11.課程設(shè)計的實驗步驟或過程

5.1準(zhǔn)備階段:

步驟1:編寫程序代碼,翻開調(diào)試軟件,在菜單欄的實驗選擇選“開關(guān)狀態(tài)顯

示實驗〃

堵AED燥列實魂機調(diào)試軟件LCA88ET

文件任)_查看(絲殳蚤包工具:g琴選擇一弟而吸

步驟2:新建空白頁,將所編的代碼黏貼進去,并進行編譯。假設(shè)出錯,根

據(jù)提示的錯誤,進行修改。否則,進行下一步

戲AED爆列實驗機調(diào)試軟件LCA88ET?ICA88ET2

文件(E)端輯(E)查看(Y)埔語(E)調(diào)試(3設(shè)底(£)工具(工)實/選揉窗口(M幫助(A)

」口&。。|名電五二tId%%廂I*翔麻聃

L/?}{?!}?!§?原目內(nèi)源位

[=1LCA88ET2

~~INAL,DX

ANDAL.OC0H

CMPALyOC0H

JNZL1

MOUDX.202H

OUTDX,AL

JMPWfiH1

CODEENDS

ENDSTART

5.2連線測試階段

步驟1:實驗設(shè)備通過PCI接口卡與電腦相連接,單擊軟件菜單欄的設(shè)置,選

擇通訊口。在彈出的界面中通訊口和波特率默認,一般不做修改,點擊測試

串□o假設(shè)提示測試成功,那么實驗設(shè)備與電腦連接成功。否則,重新檢查接

口是

iSS

步驟2:

連線、程序?qū)懭?

〔1〕根據(jù)彈出的接線圖,在實驗機的相應(yīng)芯片上進行接線。

實驗項目

曼迪克&學(xué)實殮機

蟀島國

0

s□

igEs

fWVCrtT匚A。3

DaPM

6匚

IO0

'R£YBOARD<3X^51

HIZIEEIZ1EEIZI-?▼n2-U"

回回回回?回回回

iHnFCT*Fom

-

開關(guān)狀態(tài)顯示實驗金部逢線I單根連線|清除退出

〔2〕編譯并執(zhí)行

〔3〕控制開關(guān),觀察實驗結(jié)果。假設(shè)沒有預(yù)期的實驗結(jié)果,排錯,解決問題。

步驟5:完成課程設(shè)計報告。

12.課程設(shè)計的實驗結(jié)果

實驗結(jié)

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論