專業實習-計算機接口技術應用_第1頁
專業實習-計算機接口技術應用_第2頁
專業實習-計算機接口技術應用_第3頁
專業實習-計算機接口技術應用_第4頁
專業實習-計算機接口技術應用_第5頁
已閱讀5頁,還剩27頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

專業實習報告

題目:計算機接口技術應用.

實習成績:

專業綜合技能報告書質量總分

綜合表現(出勤、紀律)(20)

(30)(50)(100)

指導教師簽名:年月日

1任務與分析

本實習主要的目的是通過學習使用8086指令系統來掌握計算機接口技術

的應用。計算機通過一些必要的擴展電路與通道接口結合起來構成的各種計

算機系統,正廣泛應用于國民經濟的各種領域,特別在實時控制、自動測試、

工業控制、數據采集、智能儀表、計算機終端、遙測通信、家用電器。通過

此實習,使學生對計算機的硬件部分有一個更深刻的理解。

主要任務與要求如下:

1.8086wavo集成編譯環境使用

2.計算機接口實驗板(偉福1ap2000p)的連接

3.接口技術的開發過程

4.8255可編程并行接口的使用

5.8253可編程定時/計數器的使用

6.8259外部中斷器的使用

7.8251串行通信接口的使用

8.直流電機與步進電機的控制

9.A/D數模轉換

10.綜合設計:帶緊急按鈕和數碼顯示的交通燈控制系統

2相關技術

相關技術有接口技術、中斷技術、串行通信技術、數模轉換技術。分條

目簡單說明:

接口技術:接口技術可極大地提高硬盤的最大外部數據傳輸率,現在普遍使用

的ULTRAATA/66已大幅提高了ETDE接口的性能,所謂UltraDMA66

是指一種由Intel及Quantum公司設計的同步DMA協議。

中斷技術:在特定的事件(中斷源,也稱中斷請求信號)觸發下引起CPU暫

停正在運行的程序(主程序),轉而先去處理一段為特定事件而編

寫的處理程序(中斷處理程序),等中斷處理程序處理完成后,再

回到主程序被打斷的地方繼續運行。

串行通信技術:數據一位一位順序傳送。

數模轉換技術:為把數字信號轉換為信息基本相同的模擬信號而設讓的處理

技術。

3開發環境的建立

Winxp

Wave6000

微機測試實驗箱

環境的具體搭建操作如下:在winxp環境下安裝wave6000,正確設置,

并講微機測試實驗箱同計算機相連。

4實習內容

一8086wave集成編譯環境使用

1)實習要求:

在8086WAVE集成開發環境中建立新程序并講行編譯。

2)實習步驟:

(1)打開8086WAVE調試環境

(2)建立新程序

ROGO

MOVA,#0

MOVPl,#0

LOOP:

INCPl

CALLDELAY

SJMPLOOP

DELAY:

MOVR2,#3

MOVRI,#0

MOVR2,#0

DLP:

DJNZRO,DLP

DJNZR1,DLP

DJNZR2,DLP

RET

END

(3)保存程序

(4)建立新項目

(5)設置項目

(6)編譯調試程序

二計算機接口實驗板(偉福lap2000p)的連接

1)實習要求:

用偉福2000p編程并調試

2)實習步驟:

(1)打開偉福V3.2版仿真軟件,選擇偉福軟件模擬器

(2)選擇“文件(F)—新建文件(N)”,輸入實訓用程序

(3)程序輸完后,選擇“文件(F)—另存為(A)”,在彈出的對話框中輸

入帶有.ASM后綴新文件名

(4)選擇“項目(P)->編譯(M)”對源程序進行匯編

(5)選擇“窗口(W)->數據窗口(D)-CODE”,觀察程序存儲器(ROM)中

的內容

3)源程序:

ORG0000H

AJMPBEGIN;轉初始化程序段

ORG0003H

LJMPPINTO;轉外部中斷0的中斷服務程序

ORG0I00H

BIGIN:SETBEA;初始化程序段

SETBEX0

SETBPX0

SETBITO

MOVRO,#03H

MOVA,#0A8H

MOV@R0,A

MOVR1,#20H

MOVR2,#31H

MOVRO,#00H

MOVA,@R1

MOVX@R(),A

MOVRO,#03H

MOVA,#01H

MOVX@R0,A

CLRA

MOVX@R0,A

LOOP:SJMP$

ORG2000H

PINTO:MOVRO,#00H;外部中斷0的中斷服務程序

INCR1

MOVA,@R1

MOVX@R0,A

MOVRO,#02H

MOVA,#()1H

MOVX@R(),A

CLRA

MOVX@R0,A

DJNZR2,NEXT

CLREXO

SJMPDONE

NEXT:SETBEXO

DONE:RETI

END

三接口技術的開發過程

1)安裝

執行wave6k.exe

2)設置仿真器

(1)打開WAVE6000集成調試軟件

(2)設置窗口

窗口菜單一一數據窗口一一打上對號一一調整窗口至合適位置

(3)設置仿真器

仿真器菜單一一仿真器設置一一仿真器一一使用偉福軟件模擬器一一

確定

3)輸入程序

(1)新建文件

文件菜單一一新建文件一一出現N0MANE1文件一一輸入程序(大小寫

都可以)一一保存一一選擇路徑并給文件改名,后綴必須是.ASM——保存

文件

(2)編譯文件

菜單一一項目——編譯(或者直接按下F9鍵)一一在信息窗口顯示錯

誤信息一一修改程序一一直到沒有語法錯誤(顯示保存目標文件)一一保存

的.HEX和.BIN文件用來燒寫單片機

4)調試程序

(1)運行程序

每按一次F7鍵,會在主窗口執行一條程序,觀察各窗口的顯示內容,

是不是與符合程序設計要求一致,修改程序直到沒有邏輯錯誤。

(2)偉福6000中常用的窗口

在窗口菜單中可以打開窗口

5)硬件仿真

(1)設置仿真器

仿真器菜單一一仿真器設置一一去掉使用偉福軟件模擬器前的對號

——選擇仿真器、仿真頭和CPU(8031、8751或者8752)——確定。

(2)連接仿真器和仿真頭,用仿真頭代替單片機插入目標電路

(3)調試程序(硬件仿真)

方法與軟件仿真相同。

反復運行程序一一發現問題一一修改,直到符合設計要求。

四8255可編程并行接口的使用

1)實習要求

開關撥上LED亮,開關撥下LED滅。8255_CS連至地址譯碼/CS0,

PA口連至LED電平顯示模塊,PB口連至開關電路。

2)實習步驟

⑴在Lab2000p實驗箱上完成連接電路:

⑵開啟計算機電源,開啟Lab2000p實驗箱電源;

⑶啟動WAVE6000軟件;

(4)確認WAVE6000與Lab2000p連接;

⑸輸入源代碼;

(6)編譯源代碼(F9);

⑺單步運行源代碼(F8),觀察每條指令執行結果;

(8)連續運行程序(Ctrl+F9),上下撥動開關觀察LED顯示情況。

3)程序代碼

modeequ082h;方式0,PA,PC輸出,PB輸入

PortAequ8000h;PortA

PortBequ800Ih;PortB

PortCequ8()()2h;PortC

CAddrequ8OO3h;控制字地址

codesegment

assumecs:code

Start:

moval,mode

movdx,CAddr

outdx,al;輸出控制字

loopl:movdx,PortB

inal,dx

movdx,PortA

outdx,al

jmploopl

codeends

endstart

五8253可編程定時/計數器的使用

1)實習目的

熟悉8253的工作方式及應用編程

2)實習內容

編程將8253的計數器0設置為方式2,計數器1設置為方式2,計

數器2設置為方式3,輸出頻率為0.5Hz

3)源程序

Codesegment

Assumecs:codc

Start:moval,35H;計數器。設置

Movdx,22bh

Out,dx,al

Moval,72h;計0裝初值

Movdx,228h

Outdx,al

Moval,30h

Outdx,al

Moval,55h

Movdx,22bh

Ouldx,al

Moval,10h

Movdx,229h

Outdx,al

Moval,97h

Mov,dx,22bh

Outdx,al

Moval,IOh

Movdx,22ah

Outdx,al

Al;jmpal

Codeends

Endstart

六8259外部中斷器的使用

1)要求

掌握8259中斷控制器的工作原理及8259可編程中斷控制器的應用編程

2)源程序

modecqu82h;8255工作方式

PA8255equ8()()()h;8255PA口輸出地址

CTL8255equ8003h

ICW1equ0001001lb;單片8259,上升沿中斷,要寫ICW4

ICW2equ00100000b;中斷號為20H

ICW4equ00000001b;工作在8086/88方式

OCW1equ11111110b;只響應INTO中斷

CS8259AcquOdOOOh;8259地址

CS8259BcquOdOOlh

datasegment

CNTdb0

dataends

codesegment

assumecs:codc,ds:data

IEnterprocnear

pushax

pushdx

movdx,PA8255

incCNT

moval,CNT

outdx,al;輸出計數值

movdx,CS8259A

moval,20h;中斷服務程序結束指令

outdx,al

popdx

popax

iret

lEnterendp

Ilnitproc

movdx,CS8259A

moval,ICW1

outdx,al

movdx,CS8259B

moval,ICW2

outdx,al

moval,ICW4

outdx,al

moval,0CW1

outdx,al

ret

Unitendp

startprocnear

movdx,CTL8255

movaLmode

outdx,al

cli

movax,0

movds,ax

movbx,4*ICW2;中斷號

movax,code

shlax,4;x16

addax,offsetlEulcr;中斷入口地址(段地址為0)

mov[bx],ax

movax,0

incbx

incbx

mov[bx],ax;代碼段地址為()

callUnit

movax,data

movds,ax

movCNT,0;計數值初始為0

moval,CNT

movdx,PA8255

outdx,al

LP:;等待中斷,并計數。

nop

jmpLP

startendp

codeends

endstart

3)步驟

(1)接好試驗線路

(2)編寫修改程序,編譯連接,加載到0000:2000

(3)運行程序g=0000:2000

(4)按動KK2開關,屏幕上將有“7”顯示,直到10次,按“停止”結束

程序,返回控制。

七8251串行通信接口的使用

1)要求

掌握8251串行通訊方式的硬件接口電路及軟件編程設計

2)源代碼

CODESEGMENT

ASSUMECS:CODE

START:CALLINIT;初始化8253和8251

Al:CALLSEND;向串口送55H

A2:MOVCX,0200H;定時時間到,再發送下一個數據

LOOPA2

JMPA1重復送數

INIT:MOVAL,76H;8253的計數器1工作在方式3,送出方波信號,作為8251

收發時鐘

OUT43H,AL

MOVAL,0CH;方波頻率為153.6KHZ

OUT41H,AL

MOVAL,OOH

OUT41H,AL

CALLRESET;復位8251,即向控制口送3個0,一個40H

CALLDELAY:X251T作速度慢,每送一個控制字,等待一會兒

MOVALJEH;置異步方式:1個停止位,偶校驗,字符長為8位,波

特率因子為16

OUT81H,AL;控制口

CALLDELAY

MOVAL,31H;RTS輸出0,使CTS輸入0

OUT81H,AL;清除錯誤標志,并使TxEN置1,允許發送

CALLDELAY

RET

RESET:MOVAL,OOH;復位8251

OUT81H,AL

CALLDELAY

OUT80H,AL

CALLDELAY

OUT80H,AL

CALLDELAY

MOVAL,40H

OUT81H,AL

RET

DELAY:PUSHCX;延時子程序

MOVCX,6000H

A3:LOOPA3

POPCX

RET

SEND:PUSHAX;發送55H

MOVAL,31H

OUT81H,AL

POPAX

MOVAL,55H

OUT80H,AL

RET

CODEENDS

ENDSTART

3)步驟

(1)將示波器與8251的TxD、GND排針引腳相連接。

(2)輸入程序并檢查無誤,經匯編、連接后裝入系統。

(3)運行程序,在示波器上觀察數據波形。

(4)改變發送的數,運行程序,觀察相應波形。

八直流電機與步進電機的控制

直流電機控制實驗

1)目的

利用PWM控制直流電機的轉動速度。

2)實習步驟

⑴在Lab2000p實驗箱上完成連接電路;

(2)使用軟件DPFLASH把M0N51監控程序下載到TKSMonitor5仿真器。

(3)關閉DPFLASH軟件。把TKSMonitor5仿真器的工作模式選擇開

關切換到RUN處,然后按一下復位鋌(RST)

(4)新建工程文件和文件的編譯、鏈接

3)源程序

modeequ08211

CONTRLequ08003h

STATUScqu0800Ih

CS0832equ0900011

DC_Pequ1

codesegment

assumecs:codc

delayprocnear

pushex

pushax

movax,4

movex,0

ddd:

nop

loopddd

decax

jnzddd

popax

popex

ret

delayendp

readprocnear

movdx,STATUS

r_0:inal,dx

testal,DC_P

jzr_0;等待低電平完

r_l:inal,dx

testal,DC_P

jnzr_l;等待高電平完

movex,0;開始準備計時

r_2:inal,dx

incex;計數器加1

testal,DC_P

jzr_2;測量低電平寬度

r_3:inal,dx

incex

testal,DC_P

jnzr_3;測量高電平寬度

movax,ex

ret

readendp

startprocnear

moval,mode

movdx,CONTRL

OUTdx,al

movdx,CS0832

moval,Offh

outdx,al

calldelay;等待電機運轉穩定

callread;讀取時間

movdx,CS0832;設斷點,觀察上次時間

movaLOcOh

outdx,al

calldelay;等待電機運轉穩定

callread

movdx,CS0832;設斷點,觀察上次時間

moval,040h;電機反轉

outdx,al

calldelay;等待電機運轉穩定

callread;讀取時間

movdx,CS0832;設斷點,觀察上次時間

moval,(H)h;電機反轉加速

outdx,al

calldelay;等待電機運轉穩定

callread

jmp$;設斷點,觀察上次時間

startcndp

codeends

endstart

電機控制實驗

1)目的

了解步進電機的工作原理,掌握它的轉動控制方式和調速方法

2)實習步驟

(1)在Lab2000p實驗箱上完成連接電路;

(2)打開程序調試軟件,下載運行編寫好的軟件程序,觀察步進電機的轉

動情況。

⑶修改步進電機的控制程序,再次運行程序,比較它們的不同控制效果。

3)源程序

modeequ()82h

ctlequ08000h

contrlequ08003h

AstepequOlh

Bstepequ02h

Cstepequ04h

Dstepequ08h

datasegment

dly_cdw0

dataends

codesegment

assumecs:codc,ds:data

startprocnear

movax,data

movds,ax

movdx,contrl

moval,mode

outdx,al

movdx,ctl

moval,0

outdx,al

movdly_c,1000h

jmpstcp4

;單/雙八拍工作方式

step8:

movdx,ctl

moval,Astep

outdx,al

calldelay

moval,Astcp+Bstcp

outdx,al

calldelay

moval,Bstep

outdx,al

calldelay

moval,Bstep+Cstep

out(lx,al

calldelay

moval,Cstep

outdx,al

calldelay

moval,Cstep+Dstep

outdx,al

calldelay

moval,Dstep

outdx,al

calldelay

moval,Dstep+Astep

outdx,al

calldelay

movax,dly_c

decah

cmpax,lOOh;提高轉速

jnennl;最快速度

incah

nn1:movdly_c,ax

jmpstep8

;雙四拍工作方式

stcp4:

movdx,ctl

moval,Astcp+Bstcp

outdx,al

calldelay

moval,Bstep+Cstep

outdx,al

calldelay

moval,Cstcp+Dstcp

outdx,al

calldelay

moval,Dstep+Astep

outdx,al

calldelay

movax,dly_c

decah

cmpax,200h

jnenn2

incah

nn2:movdly_c,ax

jmpstep4

;單四拍工作方式

step41:

movdx,ctl

moval,Dstep

outdx,al

calldelay

moval,Cstep

outdx,al

calldelay

moval,Bstep

outdx,al

calldelay

moval,Astep

outdx,al

calldelay

movax,dly_c

decah

cmpax,300h

jnenn3

incah

nn3:movdly_c,ax

jmpstep41

startendp

delayprocnear

pushex

movex,dly_c

ddl:;nop

loopddl

popex

ret

delayendp

codeends

endstart

九A/D數模轉換

1)目的:

通過實驗加深對D/A轉換器使用的理解

2)步驟:

(1)設定工作模式為模式2,即程序空間在仿真器上,數據空間在用戶板

上。

(2)硬件診斷

(3)編寫程序、編譯程序,用單步、斷點、連續方式調試程序,排除軟

件錯誤。

3)源代碼:

modeequ082h

PAcqu09000h

CTLequ09003h

CS0809equ()8()()()h

codesegment

assumecs:code

startprocnear

moval,mode

movdx,CTL

outdx,al

again:

moval,0

movdx,CS0809

outdx,al;起動A/D

movex,40h

loop$;延時>lOOus

inal,dx;讀入結果

movdx,PA

outdx,al

jmpagain

codeends

endstart

十帶緊急按鈕和數碼顯示的交通燈控制系統

1需求分析

交通燈是采用計算機通過編寫匯編語言程序控制的。紅燈停,綠燈行的交

通規則。廣泛用于十字路口,車站,碼頭等公共場所,成為人們出行生活中不

可少的必需品,由于計算機技術的成熟與廣泛應用,使得交通燈的功能多樣化,

遠遠超過老式交通燈,交通燈的數字化給人仁生產生活帶來了極大的方便,

而且大大地擴展了交通燈的功能。

要將交通燈系統產品化,應該根據客戶不同的需求進行不同的設計,應

該在程序中增加一些可以人為改變的參數,以便客戶根據不同的需要隨時調

節交通燈。因此,研究交通燈及擴大其應用,有著非常現實的意義。

2設計過程

2.1概要設計

本次設計是交通燈實時控制器,主要是用發光二極管模擬十字路口的紅綠

燈。交通燈控制器的設計與實現主要是通過編寫匯編語言程序利用3255的A

口對燈的亮與滅進行控制。PC口低四位做輸入,PCO讀取定時,及PC2、PC3

讀應急開關狀態。用8253對揚聲器的發聲進行控制,利用軟件編程給定8253

芯片某一頻率的方波信號,并且設定8255芯片的門控信號PBO=1,利用與門,

則可控制揚聲器發聲°

2.2詳細設計

1.需要完成的基本控制要求概覽:

(1)南北路口的綠燈、東西路口的紅燈同時亮5秒。

(2)南北路口的黃燈閃爍若干次,維持3秒,同時東西路口的紅燈。

(3)南北路口的紅燈、東西路口的綠燈同時亮5秒。

(4)南北路口的紅燈、同時東西路口的黃燈亮爍若干次,維持3秒。

(5)轉⑴重復。

(6)緊急情況可以手動控制紅綠燈的變換。一個開關控制南北綠,東西

紅,另一個按鈕南北紅,東西綠。

(7)黃燈閃爍時揚聲器發聲,提醒。

2.交通紅綠的設計基本端口規劃

8255A口作為燈控制輸出,PA0-PA5分別對應東西紅黃綠,南北紅黃

綠,6與7口不用;8253B口作為輸入,PB0-PB3分別對應啟動,停止,

東西方向交通管制,南北方向交通管制(高電平有效)。8253c口最低位

作為輸入,接入8253通道1的產生的。1s方波上下降沿來定時;8253

通道0輸入時鐘為IMhz,通道0用來分頻,通道1用來產生1s方波,通

道2不用。

3.軟件設計

8255A的PA端口控制六個發光二極管,即兩組紅、黃、綠燈的亮滅;

8253的通道0工作方式3,可以接1MHZ的時鐘脈沖,計數初值1000,產生

1KHZ的方波作為1口的時鐘脈沖。1口工作方式為3,計數初值1000,就

可以產生1HZ的脈沖,0.5秒為高,0.5秒為低.將1HZ的脈沖作為8255PC0

口的時鐘脈沖,以此作為程序的延時信號。

2.3程序代碼

STACKSEGMENT'STACK'

STADB100DUP(?)

TOPEQULENGTHSTA

STACKENDS

DATASEGMENT'DATA'

LEDDB24H,44H,04h,44H,04h,44H,04h,

81H,82H,80h,82H,80h,82H,80h

DBOFFH

FDDB01H

TTDB?

DATAENDS

CODESEGMENT'CODE'

ASSUMECS:CODE,DS:DATA,SS:STACK

IO8255AEQU8000H

IO8255BEQU8001H

IO8255CEQU8002H

IO8255CTEQU8003H

IO8253AEQU8004H

IO8253BEQU8OO5H

IO8253CEQU8006H

IO8253CTEQU8(X)7H

LNUMEQU5

SNUMEQU3

START:MOVAX,DATA

MOVDS,AX

MOVAX,STACK

MOVSS,AX

MOVAX,TOP

MOVSP,AX

MOVDXJO8255CT

MOVAL,81H;10000001;PC低4位輸入,A,B口輸出

OUTDX,AL

MOVDXJO8253CT

MOVAL,36H;通道()控制字

OUTDX,AL

MOVDXJO8253A;計數器0端口地址

MOVAX,1000;一次分頻后輸出1KHZ

OUTDX,AL

MOVAL,AH

OUTDX,AL

MOVDXJO8253CT

MOVAL,56H;通道1控制字

OUTDX,AL

MOVDXJO8253B

MOVAX,1000;二次分頻后輸出IHZ,方波為1s

OUTDX,AL

MOVAL,AH

OUTDX,AL

SI:MOVBX,0

START:

MOVDXJO8255A

MOVAL,LED[BX;取顯示燈編碼值,循環顯示燈

CMPAL,OFFH;是否取完一遍

JZS1;結束開始新循環

OUTDX,AL;輸出當前交通燈狀態

INCBX;準備取下一個狀態

MOVCX,SNUM;短延時,黃燈熄滅和點亮的時間

TESTAL,21H;是否有綠燈

JZS2;沒有綠燈,短延時,紅燈和黃燈閃爍

MOVCX,LNUM;有綠燈,長延時,無聲音

JMPS3;有綠燈,長延時顯示,即綠燈和紅燈

S2:MOVDXJO8255B;短延時,閃爍黃燈,PB聲音提示

MOVAL,OFFH;PR口輸出高電平.聲音響

OUTDX,AL

S3:CALLDELAY

MOVDXJO8255B;PB輸出0關閉聲音

MOVAL,00H

OUTDX,AL

JMPSTART;開始下一個狀態顯示

EXIT:MOVAH,4CH

INT21H

dela

溫馨提示

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

評論

0/150

提交評論