微型計(jì)算機(jī)原理及應(yīng)用實(shí)驗(yàn)_第1頁(yè)
微型計(jì)算機(jī)原理及應(yīng)用實(shí)驗(yàn)_第2頁(yè)
微型計(jì)算機(jī)原理及應(yīng)用實(shí)驗(yàn)_第3頁(yè)
微型計(jì)算機(jī)原理及應(yīng)用實(shí)驗(yàn)_第4頁(yè)
微型計(jì)算機(jī)原理及應(yīng)用實(shí)驗(yàn)_第5頁(yè)
已閱讀5頁(yè),還剩82頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

YANGTZENORMALUNIVERSITY

£機(jī)原理及應(yīng)用實(shí)驗(yàn)

電子信息技術(shù)實(shí)驗(yàn)教學(xué)中心

?'?YANGTZENORMALUNIVERSITY

實(shí)驗(yàn)1DEBUG調(diào)試程序的應(yīng)用

一、實(shí)驗(yàn)?zāi)康?/p>

掌握DEBUG調(diào)試程序的常用命令,熟悉用DEBUG調(diào)試程序?qū)?/p>

EXE文件的調(diào)試過程,并具有一定的分析運(yùn)行結(jié)果的能力。

二、實(shí)驗(yàn)內(nèi)容

。編寫一個(gè)完整的一位數(shù)加法運(yùn)算程序,并生成EXE文件;

。利用DEBUG調(diào)試EXE文件的執(zhí)行過程,并與源程序進(jìn)行對(duì)比。

YANGTZENORMALUNIVERSITY

三、DEBUG常用命令

1.匯編命令A(yù)

格式:

A段寄存器名:偏移地址

A段地址:偏移地址

A偏移地址

A

功能:用該命令可以將匯編語言程序直接寫入內(nèi)存。

YANGTZENORMALUNIVERSITY

2.顯示內(nèi)存命令D

格式:

D段寄存器名:偏移地址

D段地址:偏移地址

D偏移地址

D

功能:顯示指定內(nèi)存范圍的內(nèi)容。

3.修改內(nèi)存單元內(nèi)容命令E

格式:

E地址內(nèi)容表

E地址

功能:修改內(nèi)存單元內(nèi)容

YANGTZENORMALUNIVERSITY

4.填充內(nèi)存命令F

格式:E地址范圍內(nèi)容表

功能:將內(nèi)容表中的內(nèi)容重復(fù)裝入內(nèi)存的指定范圍內(nèi)。

5,內(nèi)存移動(dòng)命令M

格式:M源地址范圍目標(biāo)起始地址

功能:把源地址范圍的內(nèi)容移動(dòng)到目標(biāo)起始地址開始的存儲(chǔ)單

)Ljo

6.比較命令C

格式:C源地址范圍目標(biāo)起始地址

功能:比較兩個(gè)內(nèi)存區(qū)域的內(nèi)容是否相同,相同時(shí)不顯示任何

信息,不相同時(shí)顯示不相同的內(nèi)容

YANGTZENORMALUNIVERSITY

7.搜索指定內(nèi)容命令S

格式:s地址范圍內(nèi)容表

功能:在指定地址范圍內(nèi)搜索內(nèi)容表中的內(nèi)容。

8.查看修改寄存器內(nèi)容命令R

格式:

R

R寄存器名

功能:查看或修改寄存器內(nèi)容

關(guān)于標(biāo)志位:

OF:OV/NV有/無;DF:DN/UP減/增;IF:EI/DI允許/禁止;

SF:NG/PL負(fù)/正;ZF:ZR/NZ零/非零;AF:AC/NA有/無;PF:

PE/PO偶/奇;CF:CY/NC有/無。

YANGTZENORMALUNIVERSITY

9.單步執(zhí)行命令T

格式:

T地址

T地址條數(shù)

功能:?jiǎn)尾綀?zhí)行指令

10.反匯編命令U

格式:

U地址

U地址范圍

功能:將指定內(nèi)存的內(nèi)容顯示成匯編語言形式。

11.命名命令N

格式:N路徑和文件名

YANGTZENORMALUNIVERSITY

12.讀盤命令L

格式:

L地址驅(qū)動(dòng)器號(hào)起始扇區(qū)號(hào)扇區(qū)數(shù)

L地址

L

功能:將N命令指定的文件或磁盤扇區(qū)內(nèi)容讀到內(nèi)存。

13.寫盤命令W

格式:

W地址驅(qū)動(dòng)器號(hào)起始扇區(qū)號(hào)扇區(qū)數(shù)

W地址

W

功能:將內(nèi)存內(nèi)容寫至UN命令指定的文件或磁盤扇區(qū)中。

YANGTZENORMALUNIVERSITY

14.輸入命令I(lǐng)

格式:I端口地址

功能:將端口的內(nèi)容傳送到累加器AL中。

15.輸出命令0

格式:0端口地址

功能:將累加器AL的內(nèi)容傳送到端口中。

16.運(yùn)行命令G

格式:

G二地址

G

功能:從當(dāng)前地址或指定地址開始執(zhí)行指令。

YANGTZENORMALUNIVERSITY

17.十六進(jìn)制運(yùn)算命令H

格式:

H數(shù)據(jù)1數(shù)據(jù)2

功能:對(duì)數(shù)據(jù)1和數(shù)據(jù)2進(jìn)行十六進(jìn)制加法和減法運(yùn)算。

18.P命令

格式:

P

功能:在下一條指令執(zhí)行之前停止

19.退出命令Q

格式:

Q

功能:退出DEBUG調(diào)試環(huán)境。

?'?YANGTZENORMALUNIVERSITY

實(shí)驗(yàn)2算術(shù)運(yùn)算程序設(shè)計(jì)

、實(shí)驗(yàn)?zāi)康?/p>

。掌握匯編語言中的數(shù)值接收方法;

。掌握算術(shù)運(yùn)算程序的編寫與結(jié)果顯示方法;

。掌握宏定義與調(diào)用方法

、實(shí)驗(yàn)內(nèi)容

從鍵盤接收運(yùn)算式,編程實(shí)現(xiàn)兩位十進(jìn)制數(shù)的算術(shù)運(yùn)算(

加、減、乘、除),若輸入的不是數(shù)字或運(yùn)算符,進(jìn)行錯(cuò)誤處

理,按Esc鍵退出。

YANGTZENORMALUNIVERSITY

三、編程提示

。定義一個(gè)顯示單字符的宏;

。定義一個(gè)能接收兩位數(shù)的子程序,并將其轉(zhuǎn)換成二進(jìn)制,若

接收的不是數(shù)字,進(jìn)行錯(cuò)誤處理,其算法為:退一格,顯示

一個(gè)空格,再退一格。若接收的為ESC鍵退出;

。主程序的編程流程如圖2.1所示。

YANGTZENORMALUNIVERSITY

圖2.1

YANGTZENORMALUNIVERSITY

實(shí)驗(yàn)3字符串處理程序設(shè)計(jì)

一、實(shí)驗(yàn)?zāi)康?/p>

。掌握串操作程序設(shè)計(jì)的基本方法;

。掌握串查找與替換的方法;

。掌握字符串接收和顯示的方法;

。掌握循環(huán)和分支程序設(shè)計(jì)方法。

二、實(shí)驗(yàn)內(nèi)容

。編程實(shí)現(xiàn)字符接收、字符轉(zhuǎn)換、字符顯示等操作;

。具體要求:從鍵盤接收30個(gè)字符存入變量X中,將X中的字符

傳送到變量Y中,將變量Y中的空格字符轉(zhuǎn)換成字符“0”,

回車換行后顯示Y中的內(nèi)容。

?'?YANGTZENORMALUNIVERSITY

三、編程提示

編程流程如圖3.1所示。

圖3.1

YANGTZENORMALUNIVERSITY

實(shí)驗(yàn)4數(shù)值處理程序設(shè)計(jì)

一、實(shí)驗(yàn)?zāi)康?/p>

。掌握數(shù)組元素的輸入方法;

。掌握一般的排序算法。

二、實(shí)驗(yàn)內(nèi)容

。編程實(shí)現(xiàn)數(shù)值輸入、數(shù)組排序、顯示等基本操作;

。具體要求:從鍵盤輸入20個(gè)有符號(hào)兩位十進(jìn)制數(shù),編程對(duì)其

從小到大進(jìn)行排序,并顯示排序后的結(jié)果,以逗號(hào)分隔。

YANGTZENORMALUNIVERSITY

二、參考程序

dispcmacrox

movdl,x

movah,2

int21h

endm

datasegment

xdb20dup(?)

dataends

codesegment

assumecs:code,ds:data

go:movax,data

movds,ax

接收20個(gè)有符號(hào)數(shù)的程序段

movbx,19

YANGTZENORMALUNIVERSITY

10:movex,19

leasi,x

11:lodsb

empal,[si_

jge12

movah,[si]

mov[si],al

mov[si-l],ah

12:loop11

decbx

empbx,0

jne10

movex,20

13:lodsb

empal,0

YANGTZENORMALUNIVERSITY

jge14

pushax

dispc'-'

popax

negal

14:aam

orax,3030h

movbh,al

cmpah,30h

je15

dispcah

15:dispcbh

dispc','

loop13

dispc8

YANGTZENORMALUNIVERSITY

dispc20h

movah,7

int21h

movah,4ch

int21h

codeends

endgo

UNIVERSITY

實(shí)驗(yàn)5文件、文件夾操作程序設(shè)計(jì)

一、實(shí)驗(yàn)?zāi)康?/p>

。掌握在磁盤上建立文件夾的程序設(shè)計(jì)方法;

。掌握在文件夾下建立文件的程序設(shè)計(jì)方法;

。掌握對(duì)文件的讀、寫、關(guān)閉的程序設(shè)計(jì)方法

YANGTZENORMALUNIVERSITY

二、實(shí)驗(yàn)內(nèi)容

。編程實(shí)現(xiàn)文件、文件夾的建立、寫入、字符串接收等基本操

作;

。具體要求:

①清屏,將光標(biāo)置于5行,0列,從鍵盤接收最多80個(gè)字符的字

符串,將接收字符串中的小寫字母全部轉(zhuǎn)換成大寫,其余不

變;

②從10行,0列開始顯示轉(zhuǎn)換后的字符串;

③在D盤上建立一文件夾USER;

④將轉(zhuǎn)換后的字符串寫入文件'D:\USER\STRING.TXT中。

(注:文件操作時(shí)要求有相應(yīng)的提示信息)

YANGTZENORMALUNIVERSITY

二、參考程序

dispsmacrox

movah,9

leadx,x

int21h

endm

datasegment

bufferdb80,?,81dup(O)

pfnamedbJD:\USER\O

fnamedb'D:\USER\STRING.TXT,。

dldbJCreatepaperfileerror5,Odh,Oah,,$J

d2db'Createfileerror',Oah,Odh,,$'

d3dbJWritefileerror',Oah,Odh,'$'

d4dbJClosefileerror5,Oah,Odh,J'

d5db'Operatesucceed',Oah,Odh,'$'

YANGTZENORMALUNIVERSITY

d6dbOah,Odh,'$'

dataends

codesegment

assumecs:code,ds:data

go:movax,data

movds,ax

movah,2

movbh,0

movdx,0

intlOh

moval,20h

movah,9

movex,2000

movbl,12h

intlOh

YANGTZENORMALUNIVERSITY

movah,2

movbh,0

movdh,5

movdl,0

intlOh

movah,Oah

leadx,buffer

int21h

movcl,buffer+1

movch,0

leasi,buffer+2

11:lodsb

cmpal,'a'

jb12

cmpal,'z

YANGTZENORMALUNIVERSITY

ja12

xoral,20h

mov[si-l],al

12:loop11

movbyteptr[si

movah,2

movbh,0

movdh,10

movdl,0

intlOh

dispsbuffer+2

dispsd6

movah,39h

leadx,pfname

int21h

YANGTZENORMALUNIVERSITY

jnc11

dispsdl

jmp16

12:movah,5bh

movex,0

leadx,fname

int21h

pushax

jnc13

dispsd2

jmp16

13:movah,40h

popbx

movcl,buffer+1

movch,0

》祥孝傷

YANGTZENORMALUNIVERSITY

leadx,buffer+2

int21h

jnc14

dispsd3

jmp16

14:movah,3eh

int21h

jnc15

dispsd4

jmp16

15:dispsd5

16:movah,7

int21h

movah,4ch

int21h

YANGTZENORMALUNIVERSITY

codeends

endgo

YANGTZENORMALUNIVERSITY

實(shí)驗(yàn)6圖形程序設(shè)計(jì)

一、實(shí)驗(yàn)?zāi)康?/p>

。掌握屏幕顯示方式的設(shè)置方法;

。掌握寫象素點(diǎn)的方法;

。掌握宏的定義和調(diào)用方法。

、實(shí)驗(yàn)內(nèi)容

。編程實(shí)現(xiàn)幾何圖形的繪制,不同顏色的填充;

。具體要求:將屏幕設(shè)置成640*480,在屏幕上畫5個(gè)幾何圖形:

空心正方形、空心長(zhǎng)方形、實(shí)心正方形、實(shí)心長(zhǎng)方形、空心直

角等腰三角形。大小、顏色、位置自定。

YANGTZENORMALUNIVERSITY

二、參考程序

sxfkmacroxl,yl,x2,y2,color;畫實(shí)心矩形(左上頂點(diǎn)坐標(biāo),

local11,12右下頂點(diǎn)坐標(biāo),顏色)

movah,Och

moval,color

movdx,yl

11:movex,xl

12:intlOh

incex

cmpex,x2

jbe12

incdx

cmpdx,y2

jbe11

endm

YANGTZENORMALUNIVERSITY

kxfkmacroxl,yl,x2,y2,color畫空心矩形(左上頂點(diǎn)坐標(biāo),

local11,12,13,14右下頂點(diǎn)坐標(biāo),顏色)

movah,Och

movdx,yl

movex,xl

moval,color

11:intlOh

incex

empex,x2

jb11

12:intlOh

incdx

empdx,y2

jb12

13:intlOh

YANGTZENORMALUNIVERSITY

decex

empex,xl

ja13

14:intlOh

decdx

empdx,yl

ja14

endm

sjxmacroxl,yl,long,color畫等腰直角三角形(左上

local11,12,13頂點(diǎn)坐標(biāo),腰長(zhǎng),顏色)

movah,Och

moval,color

movdx,yl

movex,xl

movsi,long

ft

YANGTZENORMALUNIVERSITY

addsi,dx

11:intlOh

incdx

cmpdx,si

jbe11

movdi,long

adddi,ex

12:intlOh

incex

cmpex,di

jbe12

movex,xl

movdx,yl

13:incex

incdx

YANGTZENORMALUNIVERSITY

intlOh

cmpex,di

jb13

endm

codesegment

assumecs:code

go:movax,0012h

intlOh

movah,Obh

movbx,1

intlOh

sjx50,50,125,4

kxfk1,2,241,242,3

sxfk10,250,320,470,(

sxfk339,179,639,479,5

YANGTZENORMALUNIVERSITY

kxfk270,5,630,170,

movah,7

int21h

movah,4ch

int21h

codeends

endgo

YANGTZENORMALUNIVERSITY

實(shí)驗(yàn)7中斷控制實(shí)驗(yàn)

一、實(shí)驗(yàn)?zāi)康?/p>

。了解Windows下中斷處理過程;

。比較中斷和查詢兩種數(shù)據(jù)交換方法的效率差別。

二、實(shí)驗(yàn)內(nèi)容

用查詢和中斷方式分別實(shí)現(xiàn)控制指示燈,實(shí)驗(yàn)電路如圖。

要求直接用手動(dòng)產(chǎn)生的單脈沖作為中斷請(qǐng)求信號(hào),每按一次單

脈沖產(chǎn)生一次中斷,讓8個(gè)指示燈顯示一秒鐘的01010101,否則

讓指示燈顯示10101010。然后在任務(wù)欄比較中斷和查詢方式下

CPU利用率的差別。

但'?YANGTZENORMALUNIVERSITY

。中斷方法:將8255的A□設(shè)為輸出,IRQ直接接到正脈沖,線

路連接如圖7.1所示;

。查詢方法:將8255的A□設(shè)為輸出接指示燈,C口設(shè)為輸入,

將PCO接正脈沖輸入,線路連接如圖7.2所示。

!IRQ

8255825s

1------1(ACK)

PAO一.LI116一.…?——PC?PA0?L0

PA1一..?LPA!

PA2一..■L:PA2?L2

PA3一……?L:PA3

PA4f.......?L?PA4

PA5......?LIPA5?L5

288h^28Fh288h^28Fh

CSPA6?Li.........----------CSPA8

PA7—.......?L1PA7?L7

圖7.1圖7.2

?'?YANGTZENORMALUNIVERSITY

三、編程提示

中斷方法的編程流程如圖7.3所示

主程序中斷服務(wù)程序

圖7.3

YANGTZENORMALUNIVERSITY

查詢方法的編程流程如圖7.4所示

有鍵按下?圖7.4

霞陵嚴(yán)守兄孝笛

YANGTZENORMALUNIVERSITY

實(shí)驗(yàn)8定時(shí)器/計(jì)數(shù)器實(shí)驗(yàn)

、實(shí)驗(yàn)?zāi)康?/p>

掌握8253的基本工作原理和編程方法。

、實(shí)驗(yàn)內(nèi)容

。定時(shí)器應(yīng)用:按圖8.1連接電路,將計(jì)數(shù)器0、計(jì)數(shù)器1分別

設(shè)置為方式3,計(jì)數(shù)初值設(shè)為1000,用邏輯筆觀察0UT1輸出

電平的變化(頻率1HZ);

。計(jì)數(shù)器應(yīng)用:按圖8.2連接電路,將計(jì)數(shù)器0設(shè)置為方式0,

計(jì)數(shù)器初值為N(NC0FH),用手動(dòng)逐個(gè)輸入單脈沖,編程

使計(jì)數(shù)值在屏幕上顯示,并同時(shí)用邏輯筆觀察OUTO電平變化

(當(dāng)輸入N+1個(gè)脈沖后OUTO變高電平)。

YANGTZENORMALUNIVERSITY

U5OUT1

8253

RATF1141

CLK1<

280H、OUT0

CS

R6TFA11-

CLK0<9-

圖8.1

US8253

CLK0<-5—

+5

GATE?JLl^.……丁

280H、

?2%CS

OUT0

圖8.2

YANGTZENORMALUNIVERSITY

三、編程提示

8253控制寄存器地址283H

開始

計(jì)數(shù)器0地址280H、

計(jì)數(shù)器1地址281H

定時(shí)器應(yīng)用時(shí)的編程

流程如圖&3所示,計(jì)數(shù)器

應(yīng)用時(shí)的編程流程如圖&4

所示。

圖8.3圖8.4

YANGTZENORMALUNIVERSITY

實(shí)驗(yàn)9并行通信實(shí)驗(yàn)

、實(shí)驗(yàn)?zāi)康?/p>

掌握并行接口芯片8255的工作原理及使用方法

八實(shí)驗(yàn)內(nèi)容

。方式0的應(yīng)用:實(shí)驗(yàn)電路如圖9.1,8255c□接邏輯電平開關(guān)

K0-K7,A口接LED顯示電路L0?L7,編程從8255c口輸入數(shù)

據(jù),再?gòu)腁口輸出;

。方式1的應(yīng)用:實(shí)驗(yàn)電路如圖9.2,要求每按一次單脈沖按

鈕產(chǎn)生一個(gè)正脈沖使8255產(chǎn)生一次中斷請(qǐng)求,讓CPU進(jìn)行一

次中斷服務(wù):依次輸出01H、02H,04H,08H,10H,20H,

40H,80H使L0?L7依次發(fā)光,中斷8次結(jié)束。

YANGTZENORMALUNIVERSITY

LA..14prApAA4.............10

k1?.15PCIPAI_3_........I18255

(INTRA)

L2?.16propo22?........L2IRQ------?PC3PAO—???L0

kA?.17Pc2pawPAIL1

k4..13pr4PA440........I4PA2—…-??L2

288h^28Fh

k5?.12prePAR39...........L5■<-------CSPA3-■?L3

11

?PC6PA638........LGPA4???L4

147..1。PC7PA737?.........I7PA5L5

(ACK)

PC6PA6—?L6

288HUI8

.?—.6CS8255PA7…?L7

圖9.1圖9.2

YANGTZENORMALUNIVERSITY

三、編程提示

8255控制端口地址28BH

A□的地址288H

C□的地址28AH

方式0應(yīng)用時(shí)編程流程如圖

9.3所示,方式1應(yīng)用時(shí)編程流

程如圖9.4所不。

圖9.3

Count=12返回DOS

N

中斷終來]

主程序中斷處理程序

圖9.4

YANGTZENORMALUNIVERSITY

實(shí)驗(yàn)107段數(shù)碼管顯示控制實(shí)驗(yàn)

、實(shí)驗(yàn)?zāi)康?/p>

掌握數(shù)碼管顯示數(shù)字的原理。

、實(shí)驗(yàn)內(nèi)容

。靜態(tài)顯示:按圖10.1連接好電路,將8255的ADPA0?PA6分

別與七段數(shù)碼管的段碼驅(qū)動(dòng)輸入端a?g相連,位碼驅(qū)動(dòng)輸

入端S1接+5V(選中),SO、dp接地(關(guān)閉)。編程從鍵盤

輸入一位十進(jìn)制數(shù)字(0?9),在七段數(shù)碼管上顯示出來;

。動(dòng)態(tài)顯示:按圖10.2連接好電路,七段數(shù)碼管段碼連接不變,

位碼驅(qū)動(dòng)輸入端SI,S0接8255C口的PCI,PCO,編程在兩個(gè)

數(shù)碼管上顯示“56”。

YANGTZENORMALUNIVERSITY

七段數(shù)碼管字型代碼表

顯小字形,gQe-許d,2b*-'段碼.

0/031PIPIP3fh口a

IP020,0^OPl*10/063

2+1Q0<1.W0"1*'1〃5bh.-一fgb

?

3+,1'O0~1"A1-'IP4fhUc

“121P0"OQ1cIPOr66h0“e

1PI*102IPOcW6dhJJd

6+1P1*14,1/0,7dh<

1

7P0。0V030川l-1*-'07h2

8c121P1」1cIP1P7fhp

9/1/02IPIP6fh>'

圖10.1

YANGTZENORMALUNIVERSITY

七段數(shù)碼管字型代碼表

un

8255

圖10.2

YANGTZENORMALUNIVERSITY

三、編程提示

實(shí)驗(yàn)臺(tái)上的七段數(shù)碼管為共陰型,段碼采用同相驅(qū)動(dòng),輸

入端加高電平,選中的數(shù)碼管亮,位碼加反相驅(qū)動(dòng)器,位碼輸入

端高電平選中。

靜態(tài)顯示時(shí)的編程流程如圖10.3所示,動(dòng)態(tài)顯示時(shí)的編程

流程如圖10.4所示。

YANGTZENORMALUNIVERSITY

(開始)

將8255設(shè)為A口輸出

送5的段碼至4口

送位碼。2H至C口

返回DOS]

圖10.3囹1U.4

YANGTZENORMALUNIVERSITY

實(shí)驗(yàn)11搶答器設(shè)計(jì)實(shí)驗(yàn)

一、實(shí)驗(yàn)?zāi)康?/p>

。了解微機(jī)化競(jìng)賽搶答器的基本原理;

。進(jìn)一步學(xué)習(xí)使用并行接口。

二、實(shí)驗(yàn)內(nèi)容

圖1L1為競(jìng)賽搶答器(模擬)的原理圖,邏輯開關(guān)K0?K7

代表競(jìng)賽搶答按鈕0?7號(hào),當(dāng)某個(gè)邏輯電平開關(guān)置“1”時(shí),

相當(dāng)某組搶答按鈕按下。在七段數(shù)碼管上將其組號(hào)(0?7)顯

示出來,并使微機(jī)揚(yáng)聲器響一下。

YANGTZENORMALUNIVERSITY

U1774LS244

2

*IH-1A1

1w1

4

1A21?2

61A313

81A41V4

11

X2A12?1

I3

X2A22w2

15

A2A323

17

A2A42Y4

I1C

abcdefgdp

LED1

gnd

K7■6K5K4K3K2K0

圖ll.I

?'?YANGTZENORMALUNIVERSITY

三、編程提示

設(shè)置8255為C□輸入、A□輸出,讀取C□數(shù)據(jù),若為0表

示無人搶答,若不為0則有人搶答。根據(jù)讀取數(shù)據(jù)可判斷搶答組

號(hào)。從鍵盤上按空格鍵開始下一輪搶答,按其它鍵程序退出。

YANGTZENORMALUNIVERSITY

圖11.2

YANGTZENORMALUNIVERSITY

實(shí)驗(yàn)12交通燈控制實(shí)驗(yàn)

一、實(shí)驗(yàn)?zāi)康?/p>

通過并行接口8255實(shí)現(xiàn)十字路口交通燈的模擬控制,進(jìn)一步

掌握對(duì)并行口的使用。

二、實(shí)驗(yàn)內(nèi)容

如圖12.1,L7、L6、L5作為南北路口的交通燈與PC7、PC6、

PC5相連,L2、LKL0作為東西路口的交通燈與PC2、PCI、PCO

相連。編程使六個(gè)燈按交通燈變化規(guī)律亮滅。

紅黃紅黃綠

L716L5L2L1L0

??????

fttT

PC7PC6PCSPC2PCIPC0

CS8255

圖12.1

YANGTZENORMALUNIVERSITY

三、編程提示

十字路口交通燈的變化規(guī)律要求:

(1)南北路口的綠燈、東西路口的紅燈同時(shí)亮30秒左右;

(2)南北路口的黃燈閃爍若干次,同時(shí)東西路口的紅燈

繼續(xù)亮;

(3)南北路口的紅燈、東西路口的綠燈同時(shí)亮30秒左右;

(4)南北路口的紅燈繼續(xù)亮、同時(shí)東西路口的黃燈亮閃

爍若干次;

(5)轉(zhuǎn)(1)重復(fù)。

編程流程如圖12.2所示。

YANGTZENORMALUNIVERSITY

圖12.2

YANGTZENORMALUNIVERSITY

實(shí)驗(yàn)13串行通信實(shí)驗(yàn)

一、實(shí)驗(yàn)?zāi)康?/p>

。了解串行通訊的基本原理;

。掌握串行接口芯片8251的工作原理和編程方法。

二、實(shí)驗(yàn)內(nèi)容

。按圖13.1連接好電路,(8251插通用插座)其中8253計(jì)數(shù)器用

于產(chǎn)生8251的發(fā)送和接收時(shí)鐘.TXD和RXD連在一起;

。編程:從鍵盤輸入一個(gè)字符,將其ASCH碼加1后發(fā)送出去,再

接收回來在屏幕上顯示。實(shí)現(xiàn)自發(fā)自收。

YANGTZENORMALUNIVERSITY

D0D0NTXD

OUT0D1D1J

O

D2D2XRXD

GATE?D3.

D3L

D4D4

CLKQ<D5D5

D6D6TxRDY15

D7D7

--8251RxRDY14

U5CS

2B8H?2BPH?…?RD

8253IOR?.?UR

IQ(J????_??.c

A0????-?R

氏21IE

RESET*....*

uCTS

r

280h-287h

e

1MHZ上….?

圖13.1

?'?YANGTZENORMALUNIVERSITY

三、編程提示

。圖示電路8251的控制□地址為2B9H,數(shù)據(jù)口地址為2B8H;

。8253計(jì)數(shù)器的計(jì)數(shù)初值二時(shí)鐘頻率/(波特率X波特率因

子),這里的時(shí)鐘頻率接1MHz,波特率若選1200,波特率因

子若選16,則計(jì)數(shù)器初值為52H;

。收發(fā)采用查詢方式;

。編程流程如圖13.2所示。

U浮彳通孝傷

YANGTZENORMALUNIVERSITY

《開始~3

圖13.2

?'?YANGTZENORMALUNIVERSITY

實(shí)驗(yàn)14數(shù)/模轉(zhuǎn)換實(shí)驗(yàn)

一、實(shí)驗(yàn)?zāi)康?/p>

了解數(shù)/模轉(zhuǎn)換器的基本原理,掌握DAC0832芯片的使用方

法。

、實(shí)驗(yàn)內(nèi)容

。實(shí)驗(yàn)電路原理如圖14.1所示,DAC0832采用單緩沖方式,具

有單雙極性輸入端(圖中的Ua、Ub);

。編程產(chǎn)生鋸齒波(從Ub輸出,用示波器觀察);

。編程產(chǎn)生正弦波(從Ub輸出,用示波器觀察)。

YANGTZENORMALUNIVERSITY

U6

DAC0832

D7D7

D6D6

D5D5

D4D4

D3D3

D2D2

2

D1D1IOUt1

D0D0

Iout212m

cSN

do

uRr

298H礫一9

圖14.1

YANGTZENORMALUNIVERSITY

三、編程提示

。8位D/A轉(zhuǎn)換器DAC0832的口地址為290H,輸入數(shù)據(jù)與輸出電

壓的關(guān)系為:

Ua二-(UREF/256)*N

Ua二-(UREF/256)*N-5

(UREF表示參考電壓,N表示數(shù)數(shù)據(jù)),這里的參考電壓為PC

機(jī)的+5V電源。

。產(chǎn)生鋸齒波只須將輸出到DAC0832的數(shù)據(jù)由0循環(huán)遞增;

。產(chǎn)生正弦波可根據(jù)正弦函數(shù)建一個(gè)下弦數(shù)字量表,取值范圍

為一個(gè)周期,表中數(shù)據(jù)個(gè)數(shù)在16個(gè)以上。

YANGTZENORMALUNIVERSITY

(g?

將喔給CL

將CL中的數(shù)給DK0832

loipi

圖14.2圖14.3

?'?YANGTZENORMALUNIVERSITY

實(shí)驗(yàn)15模/數(shù)轉(zhuǎn)換實(shí)驗(yàn)

、實(shí)驗(yàn)?zāi)康?/p>

了解模/數(shù)轉(zhuǎn)換的基本原理,掌握ADC0809的使用方法。

、實(shí)驗(yàn)內(nèi)容

實(shí)驗(yàn)電路原理圖如圖15.1所示。通過實(shí)驗(yàn)臺(tái)左下角電位器

RW1輸出0?5V直流電壓送入ADC0809通道O(INO),編程采集IN0

輸入的電壓,在屏幕上顯示出轉(zhuǎn)換后的數(shù)據(jù)(用16進(jìn)制數(shù))。

YANGTZENORMALUNIVERSITY

+5

217

12二

ref(+)226

VCC2二35

244

GND253

reft-)2二62

27

1MHZ一1

280

JWL?10>CLOCK

282

IN-2ADD-C1

ADD-B

+5R60

IN-1ADD-A

18kI

R7

EOC二

18k8IOU

ALE

-26STARTcs

IN1IN-0

U298H?29FH

ENABLE

圖15.1

?'?YANGTZENORMALUNIVERSITY

三、編程提示

。ADC0809的INO□地址為298H,IN1口地址為299H;

。IN0單極性輸入電壓與轉(zhuǎn)換后數(shù)字的關(guān)系為:

N-Ui/(Uref/256)

其中Ui為輸入電壓,UREF為參考電壓,這里的參考電壓為P

C機(jī)的+5V電源。

。編程流程如圖15.2所示

YANGTZENORMALUNIVERSITY

顯示子程序

主程序

圖15.2

YANGTZENORMALUNIVERSITY

實(shí)驗(yàn)168255A并行口鍵盤掃描實(shí)驗(yàn)

一、實(shí)驗(yàn)?zāi)康?/p>

。掌握8255A編程原理。

。了解鍵盤陣列結(jié)構(gòu),學(xué)會(huì)讀取按鍵的方法。

二、實(shí)驗(yàn)內(nèi)容

本實(shí)驗(yàn)的實(shí)驗(yàn)電路如圖16.1所示。它做在一塊擴(kuò)展電路板上

,用一根20芯扁平電纜線將實(shí)驗(yàn)板擴(kuò)展插頭J1與實(shí)驗(yàn)臺(tái)上的擴(kuò)

展插頭J7相連,為擴(kuò)展電路連接電源及外部總線。擴(kuò)展電路板

上的數(shù)碼管、鍵盤陣列既能由8279控制,也可以由外部電路控

制,其實(shí)現(xiàn)靠的是若干組短路子組成的控制選擇開關(guān)KI、K2、

K3、K4、KBO、KB1、KB2。

YANGTZENORMALUNIVERSITY

當(dāng)KI、K3、K4連接在8279一端時(shí),數(shù)碼管由8279控制,連

接在LS273一端時(shí)由外部總線通過LS273直接控制。當(dāng)K2、KB1、

KB2、KB3連接在8279一端時(shí),鍵盤陣列由8279控制,連接在

8255一端時(shí)由外接芯片8255控制。因?yàn)楸緦?shí)驗(yàn)為8255控制實(shí)驗(yàn),

所以除了連接J1和J7外,還需要將選擇開關(guān)K2、KB1、KB2、KB3

連接在8255一端,并將KAO-KA7,KBO-KB2連接到8255芯片A口,

CO,還需要連接8255芯片的片選,以使鍵盤陣列由8255芯片控

制。

8255A的端口A地址為:288H,端DC地址為:28AH,控制口

地址為:28BHo編程使得在鍵盤陣列上每按一個(gè)鍵后,微機(jī)屏

幕上有相應(yīng)字符顯示出來。

YANGTZENORMALUNIVERSITY

288h?28Fh

?…■

圖16.1

?'?YANGTZENORMALUNIVERSITY

三、編程提示

1.識(shí)別鍵盤上的閉合鍵,通過采用行掃描法或列翻轉(zhuǎn)法:

(1)行掃描法是使鍵盤上某一列線為低電平,而其余行接高電平,

然后讀取列值;如果列值中有某位為低電平,則表明行列交點(diǎn)處的鍵

被按下;否則掃描下一行,直到掃完全部的行線為止。

(2)行反轉(zhuǎn)法識(shí)別閉合鍵時(shí),要將行線接一個(gè)并行口,先讓它工

作在輸出方式,將列線也接到一個(gè)并行口,先讓它工作在輸入方式;

程序通過輸出端口向全部行線上送低電平,然后讀取列線的值;如果

此時(shí)有某一鍵被按下,則必定會(huì)使某一列線值為零,程序再對(duì)兩個(gè)并

行端口進(jìn)行方式設(shè)置,使行線工作在輸入方式,列線工作在輸出方式,

并且將剛才讀到的列線值從列線所接的并行端口輸出,再讀取行線上

的值;那么,在閉合鍵所在的行線上的值必定為零。這樣,當(dāng)一個(gè)鍵

被按下時(shí),必定可以讀到一對(duì)唯一的行值和列值。在我們提供的程序

中就采用行反轉(zhuǎn)法來識(shí)別鍵盤按鍵。

YANGTZENORMALUNIVERSITY

2.在程序設(shè)計(jì)時(shí),將各個(gè)鍵對(duì)應(yīng)的代碼(列值,行值)放在

一個(gè)表中,程序通過查表來確定具體按下的為哪一個(gè)鍵。

3.編程流程

主程序流程如圖16.2所示。

設(shè)置數(shù)據(jù)段,顯示提示信息

調(diào)艇盤掃描子薛-

--——是

是否R健——

否|、吟

溫馨提示

  • 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)論