![微機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)_第1頁(yè)](http://file4.renrendoc.com/view3/M01/3A/28/wKhkFmasO16AfXCwAAFMB_mJcIE685.jpg)
![微機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)_第2頁(yè)](http://file4.renrendoc.com/view3/M01/3A/28/wKhkFmasO16AfXCwAAFMB_mJcIE6852.jpg)
![微機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)_第3頁(yè)](http://file4.renrendoc.com/view3/M01/3A/28/wKhkFmasO16AfXCwAAFMB_mJcIE6853.jpg)
![微機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)_第4頁(yè)](http://file4.renrendoc.com/view3/M01/3A/28/wKhkFmasO16AfXCwAAFMB_mJcIE6854.jpg)
![微機(jī)原理與接口技術(shù)實(shí)驗(yàn)指導(dǎo)_第5頁(yè)](http://file4.renrendoc.com/view3/M01/3A/28/wKhkFmasO16AfXCwAAFMB_mJcIE6855.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
說(shuō)明
微機(jī)原理與接口技術(shù)是電子信息類專業(yè)必修的基礎(chǔ)專業(yè)課之一,該課程在軟
硬件兩方面的實(shí)驗(yàn)栗求都比較嚴(yán)格,要求完成課程之后,熟練掌握X86系列匯編
語(yǔ)言的編程,并實(shí)現(xiàn)對(duì)各常見接口電路芯片的編程控制與使用。
鑒于軟件學(xué)院的特點(diǎn),我們采取虛擬實(shí)驗(yàn)為主,實(shí)際硬件設(shè)計(jì)實(shí)驗(yàn)為輔的原
則,利用海軍航空工程學(xué)院青島分院開發(fā)的《微機(jī)原理與接口技術(shù)虛擬實(shí)驗(yàn)室》
完成實(shí)驗(yàn)教學(xué)。
現(xiàn)將虛擬實(shí)驗(yàn)中的說(shuō)明部分整理成冊(cè),附加相關(guān)資料,作為實(shí)驗(yàn)指導(dǎo)書,希
望能夠?qū)ν瑢W(xué)的實(shí)驗(yàn)學(xué)習(xí)提供方便。
在整編過(guò)程中,得到了楊發(fā)寶、羊勇生、王崇國(guó)、曹為民等諸位老師的支持
與幫助。盡管如此,該書還是比較粗糙,在使用過(guò)程出現(xiàn)的各種錯(cuò)誤,敬請(qǐng)及時(shí)
反饋。
參考資料:
《微型計(jì)算機(jī)技術(shù)及應(yīng)用(第三版)》戴梅萼史嘉權(quán)清華大學(xué)出版社
《微型計(jì)算機(jī)技術(shù)及應(yīng)用習(xí)題與實(shí)驗(yàn)題集(第三版)》戴梅萼清華大學(xué)出版社
《微機(jī)原理與接口技術(shù)虛擬實(shí)驗(yàn)室》吳為團(tuán)等海軍航空工程學(xué)院(青島)
冷洪勇
2006-4-17
目錄
實(shí)驗(yàn)一10控制實(shí)驗(yàn)3
實(shí)驗(yàn)二8225驅(qū)動(dòng)LED實(shí)驗(yàn)5
實(shí)驗(yàn)三8255驅(qū)動(dòng)數(shù)碼管實(shí)驗(yàn)8
實(shí)驗(yàn)四鍵盤實(shí)驗(yàn)10
實(shí)驗(yàn)五8253使用14
實(shí)驗(yàn)六A/D轉(zhuǎn)換實(shí)驗(yàn)16
實(shí)驗(yàn)七D/A轉(zhuǎn)換19
實(shí)驗(yàn)八交通燈控制實(shí)現(xiàn)22
實(shí)驗(yàn)九溫度監(jiān)控實(shí)現(xiàn)25
實(shí)驗(yàn)十霓虹燈控制27
附錄一虛擬實(shí)驗(yàn)臺(tái)的使用31
附錄二匯編程序的建立與調(diào)試33
附錄三debug命令簡(jiǎn)明介紹37
附錄四ASCII碼表40
附錄五涉及常用芯片管腳定義圖41
實(shí)驗(yàn)一IO控制實(shí)驗(yàn)
實(shí)驗(yàn)?zāi)康?/p>
1.掌握I/O數(shù)據(jù)傳送的基本原理;
2.掌握查詢方式的程序設(shè)計(jì)方法。
實(shí)驗(yàn)內(nèi)容
利用查詢方式,從BUFFER開始的單元中依次讀取10個(gè)字節(jié)數(shù),并存放到43AH端
口。設(shè)狀態(tài)端口為43BH,其DO位為0時(shí)允許傳送。
實(shí)驗(yàn)原理
輸出裝置取得數(shù)據(jù)后發(fā)出ACK信號(hào),使“BUSY”線為0。CPU讀取此狀態(tài)信息后,便執(zhí)
行輸出指令,將輸出數(shù)據(jù)送入鎖存器,同時(shí)將觸發(fā)器置1。
輸
出
裝
置
圖1-1查詢式輸出接口電路
實(shí)驗(yàn)操作
1.電路連接查詢式輸出專用實(shí)驗(yàn)臺(tái)
2.程序調(diào)試
進(jìn)入Windows的MS-DOS方式下,進(jìn)行匯編語(yǔ)言程序調(diào)試的步驟
編輯程序用MASM匯編程序用LINK連接程序運(yùn)行程序
流程圖與輸出結(jié)果
[開始)
數(shù)據(jù)個(gè)數(shù)fex
數(shù)據(jù)起始地址-s工
外設(shè)數(shù)據(jù)緩沖區(qū)
10
圖1-2流程圖與輸出結(jié)果
例程:
Datasegment
Bufferdb1,2,3,4,5,6,7,8,9,10
Dataends
Codesegment
Assumecs:code,ds:data
Go:movax,data
Movds,ax
Leasi,buffer
Movex,10
LI:Movdx,43BH
Inal,dx;讀狀態(tài)端口
Testal,0000000IB
Jnz11
Moval,[si]
Decex
Outdx,al;數(shù)據(jù)輸出
Incsi
Loop11
Movah,4ch
Int21h
Codeends
Endgo
實(shí)驗(yàn)二8225驅(qū)動(dòng)LED實(shí)驗(yàn)
實(shí)驗(yàn)?zāi)康?/p>
1.學(xué)會(huì)利用PC總線組織一個(gè)并行接口的基本方法;
2.了解并行接口電路8255A的基本性能,掌握其引腳連接方法和初始化編程方法;
3.初步學(xué)會(huì)對(duì)并行端口進(jìn)行一般輸出控制的方法。
實(shí)驗(yàn)內(nèi)容
利用8255A擴(kuò)展一組(3個(gè))并行口,利用這些并行口連接24個(gè)發(fā)光二極管,使之組
成一個(gè)連環(huán),然后通過(guò)編程控制這些發(fā)光二極管,使其按照一定規(guī)律交替閃亮。
實(shí)驗(yàn)項(xiàng)目
利用8255的三個(gè)端口輸出24個(gè)數(shù)字信號(hào),經(jīng)過(guò)74LS07反相驅(qū)動(dòng)器接至各LED的陰
極端,LED陽(yáng)極通過(guò)上拉電阻接至+5V電源,電路如圖所示。當(dāng)8255輸出高電平時(shí)對(duì)應(yīng)的
LED可發(fā)亮,輸出低電平則滅,這樣便可通過(guò)編程,每間隔一段時(shí)間,通過(guò)8255改變輸出
數(shù)據(jù),使LED按照一定的規(guī)律閃亮變化。
D0PP
D1P
D2P-P1
D3P-P1
D4P-P1
D5P-P1
D6P-F1
D7P-F1
ZIOR5P
RD
8255P
RRP
OOP
AlP
P
RESETP
CSP
L4
程
-r痣
學(xué)
騰
土
鹿
石
圖2-1LED顯示控制系統(tǒng)原理圖
流程圖一
例程一
codesegment;匯編語(yǔ)言程序Endgo
assumecs:code;//c語(yǔ)言程序
portAequ400H;PA口地址#include<stdio.h>
go:movdx,porta+3#include<dos.h>
moval,80h#include<conio.h>
Outdx.al;三端口均初始化為方式0輸出#definedl100
LO:movsi,24voidmain(void)
movbxj;低16位初始值設(shè)為1{inti=l,j=0;
movcl,0;高8位初始值設(shè)為0outportb(0x403,0x80);
LI:movah,0bHwhile(!kbhit())
Int21h;有無(wú)按鍵{switch(j)
Cmpal,OffH(
Jzexitcase0:
movdx,porta;;輸出24位數(shù)outportb(0x400,i);
moval,bldelay(dl);i=i*2;
Outdx,alif(i==128){i=l;j++;}
Incdxbreak;
moval,bhcase1:
Outdx,aloutportb(0x400,0);//delay(dl);
Incdxj++;break;
moval,clcase2:
Outdx,aloutportb(0x401,i);
Calldelay05;延時(shí)delay(dl);i=i*2;
SHLbx,l;低16位左移一位if(i==128){i=l;j++;}
Rclcl,l;高8位左移一位break;
decsicase3:
jnzLIj++;
JmpLO;重新開始o(jì)utportb(0x401,0);//delay(dl);
Exit:movah,4chbreak;
Int21hcase4:
delay05procnear;循環(huán)延時(shí)子程序outportb(0x402,i);
pushexdelay(dl);
pushbxi=i*2;
movcx,0000Hif(i==128){i=l;j++;}
dl:movbx,0a00hbreak;
d2:decbxcase5:
jnzd2j=o;
loopd1outportb(0x402,0);//delay(dl);
popbxbreak;
popex)
ret)
delay05endp)
Codeends
流程圖二
(5K)
圖2-3流程圖二
例程二
;匯編語(yǔ)言程序Outdx,al
codesegmentCalldelay05;延時(shí)
assumecs:codeXorbx,OffffH;各位取反
portAequ400H;PA口地址xorcl,OffH
go:movdx,porta+3JmpLO
moval,80hExit:movah,4ch
Outdx,al;三端口均初始Int21h
化為方式0輸出delayO5procnear;循環(huán)延時(shí)子程
movbx,5555H序
movcl,55Hpushex
LO:movah,0bHpushbx
Int21h;有無(wú)按鍵movcx,0900H
Cmpal,OffHdl:movbx,0
Jzexitd2:decbx
movdx,porta;輸出24位數(shù)jnzd2
moval,blloopdl
Outdx,alpopbx
Incdxpopex
moval,bhret
Outdx,aldelayO5endp
IncdxCodeends
moval,clEndgo
實(shí)驗(yàn)三8255驅(qū)動(dòng)數(shù)碼管實(shí)驗(yàn)
實(shí)驗(yàn)?zāi)康?/p>
1.掌握七段數(shù)碼管顯示數(shù)字的原理;
2.了解8255A與CPU的連接。利用8255A的并行口來(lái)控制四個(gè)七段數(shù)碼管:
實(shí)驗(yàn)內(nèi)容
1.循環(huán)顯示數(shù)字0000、1111、…、9999;
2.依次循環(huán)顯示數(shù)字6:
3.分別顯示字符a、b、c、do
實(shí)驗(yàn)原理
利用8255A的PA口作為段選輸出,選擇哪些段發(fā)光,用8255A的PB口作為位選輸出,
分別接數(shù)碼管的共陰(陽(yáng))極,來(lái)決定哪個(gè)數(shù)碼管可顯示。
a、b、?.dpcommo
位選
coimDoni..4
8255A
圖3-1數(shù)碼管驅(qū)動(dòng)原理圖
流程圖二流程圖三
初始化8255,A口、B口輸出初始化8255,A口、B口輸出
段碼置初值COH,位選置QFH
段碼送PAD,顯示段碼送PAD,顯示字符
GM
圖3-2流程圖
例程一
Datasegmentint21h;檢測(cè)有無(wú)按鍵,返回
PortAequ404H;8255的PA口地址AL=0FFh(有按鍵)或0(無(wú)按鍵)
xzdbOcOh,Of9h,0a4h,ObOh,99h,92h,cmpal,0FFh
82h,Of8h,80h,90h;定義0?9的顯示代碼jzExit
Dataendsincsi;準(zhǔn)備顯示下一數(shù)字
Codesegmentcmpsi,Oah;判斷是否顯示完”9"
assumecs:code,ds:datajnz11
Start:movax,datajmp10
movds,axExit:movah,4ch;結(jié)束程序
movdx,PortA+3int21h
moval,80Hdeprocnear;循環(huán)延時(shí)子程序
outdx,al;PA、PB口初始化pushex
為基本輸出方式pushbx
L0:leasi,xzmovcx,55OOH
Ll:moval,[si];顯示數(shù)字dl:movbx,0
movah,Ofh;置位選初值,四d2:decbx
個(gè)數(shù)碼管同時(shí)顯示jnzd2
movdx,PortAloopd1
outdx,alpopbx
moval,ahpopex
movdx,PortA+lret
outdx,aldeendp
callde;延時(shí)Codeends
movah,ObhendStart
例程二
Datasegment10:moval,ah
PortAequ404H;8255的PA口地址pushax
Dataendsmovdx,PortA+l
Codesegmentoutdx,al
assumecs:code,ds:datacallde;延時(shí)
Start:movax,dataLA:movah,Obh
movds,axint21h;檢測(cè)有無(wú)按鍵,
movdx,PortA+3返回AL=0FFh(有按鍵)或0(無(wú)按鍵)
moval,80Hcmpal,0FFh
outdx,al;;PA、PB口初始化為jzExit
基本輸出方式popax
movah,01Ih;置位選初值,右rolahJ;選擇下一數(shù)碼管
邊數(shù)碼管先顯示jmp10
moval,82h;顯示數(shù)字“6"(因Exit:movah,4ch;結(jié)束程序
力口反向器,PA0~PA6要取反)int21h
movdx,PortAdeprocnear;循環(huán)延時(shí)子程序
outdx,alpushex
pushbxpopbx
movex,11OOHpopex
d1:movbx,0ret
d2:decbxdeendp
jnzd2Codeends
loopdlendStart
例程三
Datasegment返回AL=0FFh(有按鍵)或0(無(wú)按鍵)
PortAequ404H;8255的PA口地址empal,0FFh
xzdb88h,83h,Oc6h,Oalh;定義a?d的jzExit
顯示代碼incsi;準(zhǔn)備顯示下一數(shù)字
Dataendspopax
Codesegmentshrah,l;選擇下一數(shù)碼管
assumecs:code,ds:dataempah,0;判斷是否顯示完"d"
Start:movax,datajnz11
movds,axjmp10
movdx,PortA+3Exit:movah,4ch;結(jié)束程序
moval,80Hint21h
outdx,al;PA、PB口初始化deprocnear;循環(huán)延時(shí)子程序
為基本輸出方式pushex
L0:leasi,xzpushbx
movah,08h;置位選初值,從movcx,01(X)H
左邊開始顯示d1:movbx,200h
LI:pushaxd2:decbx
moval,[sij;顯示數(shù)字jnzd2
movdx,PortAloopdl
outdx,alpopbx
moval,ahpopex
movdx,PortA+lret
outdx,aldeendp
callde;延時(shí)Codeends
movah,ObhendStart
int21h;檢測(cè)有無(wú)按鍵,
實(shí)驗(yàn)四鍵盤實(shí)驗(yàn)
實(shí)驗(yàn)?zāi)康?/p>
1.了解鍵盤基本結(jié)構(gòu),掌握鍵盤接口設(shè)計(jì)原理;
2.通過(guò)編程掌握按鍵識(shí)別方法。
實(shí)驗(yàn)內(nèi)容
利用8255A設(shè)計(jì)一個(gè)4x4的小鍵盤接口和4位數(shù)碼管顯示混合電路,通過(guò)編程實(shí)現(xiàn)
以下功能:
1.識(shí)別按鍵并在微機(jī)屏幕上顯示當(dāng)前按鍵上的字符0、1...9、A--F;
2.在數(shù)碼管上顯示按鍵的行、列號(hào)。
實(shí)驗(yàn)原理
一、電路設(shè)計(jì)
實(shí)驗(yàn)原理圖
8255A
p響0
p殖1
p響2
p響3
p響4
p況5
p吠6
p隔7
pB0
pB1
pB2
PB3
圖4-1鍵盤原理圖
二、按鍵識(shí)別
按鍵識(shí)別有兩種方法:一是采用行掃描法,二是行反轉(zhuǎn)法。
行掃描法的基本原理:使鍵盤上某一行線為低電平,其余行線為高電平,通過(guò)
程序讀取列值,如果列值中某位為低電平,則表明行列交叉點(diǎn)處的鍵被按下,否則掃描下一
行,直至掃描全部行線為止。為此需要采用輸入口、輸出口各一個(gè)。
行反轉(zhuǎn)法的基本原理:將行線接一個(gè)并行口,先讓它工作在輸出方式,將列線
也接在一個(gè)并行口上,讓它工作在輸入方式。先往各行線上全部送低電平,然后讀入列線值,
如果此時(shí)有鍵按下,則使某一列線值為0。再把行線端口改為輸入方式,列線端口改為輸出
方式,再讀入行線的值,此時(shí)閉合鍵所在行線的值必定為0。因此,當(dāng)一個(gè)鍵被按下時(shí),一
定可讀到一對(duì)唯一的行列值。為此需要提供兩個(gè)可編程的雙向I/O端口。
三、去抖動(dòng)
去抖動(dòng)方法一般有硬件去抖法和軟件延時(shí)法。軟件延時(shí)法的做法是:當(dāng)發(fā)現(xiàn)有鍵按下或釋放
時(shí),軟件延時(shí)一段時(shí)間再檢測(cè),延時(shí)時(shí)間長(zhǎng)短根據(jù)鍵的質(zhì)量而定,一般在5~20ms左右,如
下圖所示。
Ui
5^2Oms
圖4-2去抖動(dòng)示意圖
實(shí)驗(yàn)操作
1.電路連接打開鍵盤實(shí)驗(yàn)專用實(shí)驗(yàn)臺(tái)
2.程序調(diào)試(下載匯編調(diào)試程序MASM5.0)
進(jìn)入Windows的MS-DOS方式下,進(jìn)行匯編語(yǔ)言程序調(diào)試的步驟
編輯程序用MASM匯編程序用LINK連接程序運(yùn)行程序
流程圖
圖4-3流程圖
例程
DatasegmentDataends
PortAequ408H;8255的PA口地址Codesegment
tabledb30h,31h,32h,33h,34h,35h,36h,assumecs:code,ds:data
37h,38h,39h.41h,42h,43h,44h,45h,46hStartimovax,data
movds,axjnz10
movdx,PortA+3movah,4ch
moval,82H;PA輸出PB輸入int21h
outdx,al;dispprocnear
10:movsi,0pushbx
moval,Ofeh;pushsi
movbx,04hpushdi
ll:movdx,PortApushax
outdx,alpushdx
pushaxleabx,table
movdx,portA+laddsi,si
inal,dxaddsi,si
movcx,04hadddi,si
movdi,0movax,di
12:shral,lxlat
jc13movdl,al
calldispmovah,02h
13:incdiint21h
loop12popdx
popaxpopax
rolal,lpopdi
incsipopsi
decbxpopbx
jnzllret
movah,Obhdispendp
int21h;檢測(cè)有無(wú)按鍵,返回Codeends
AL=0FFh(有按鍵)或0(無(wú)按鍵)endStart
cmpal,OFFh
實(shí)驗(yàn)演示
\iMS-DOS提示符■■■力區(qū)
I~F耳隹畫畫所可反
()000000000000000000000000000000()0000()00()
00000000000000000000000000011111111111111
1212I2I212I212I2I2I2I212I2I212I21212I2I2
1212121212129129129129129129129129129129
1291291291291291291291919191919191919191
|9I9I919I9I9I919191919191919I9I9I919_
圖4-4實(shí)驗(yàn)結(jié)果演示圖
實(shí)驗(yàn)五8253使用
實(shí)驗(yàn)?zāi)康?/p>
1.了解8253定時(shí)器的硬件連接方法及時(shí)序關(guān)系;
2.掌握8253的各種模式的編程及其原理。
實(shí)驗(yàn)內(nèi)容
將8253計(jì)數(shù)器/定時(shí)器0的工作方式分別設(shè)置為方式2、方式3,用示波器觀察輸出波
形的變化。
實(shí)驗(yàn)原理
圖5-1方波輸出實(shí)驗(yàn)原理圖
實(shí)驗(yàn)操作
I.電路連接打開8253專用實(shí)驗(yàn)臺(tái)
2.程序調(diào)試(下載匯編調(diào)試程序MASM5.0)
進(jìn)入Windows的MS-DOS方式下,進(jìn)行匯編語(yǔ)言程序調(diào)試的步驟
編輯程序用MASM匯編程序用LINK連接程序運(yùn)行程序
流程圖
圖5-2流程圖
例程
datasegment
TIM_CTLEQU453H;8253狀態(tài)/命令口地址
TIMEROEQU450H
MODE03db36h
dataends
codesegment
assumecs:code,ds:data
go:movax,data
movds,ax
movex,10
movbx,5h
movdx,TIM_CTL
moval,MODE03
outdx,al;定時(shí)器0工作在方式3
MOVdx,TIMER0
MOVal,bl
outdx,al
MOVAl,bh
outdx,al;計(jì)數(shù)初值為01OOH
movah,4ch
int21h
codeends
ENDgo
實(shí)驗(yàn)六A/D轉(zhuǎn)換實(shí)驗(yàn)
實(shí)驗(yàn)?zāi)康?/p>
1.掌握A/D轉(zhuǎn)換器芯片ADC0809將模擬量轉(zhuǎn)換成數(shù)字量的過(guò)程和工作原理;
2.掌握ADC0809芯片的性能特點(diǎn)和正確使用方法。
實(shí)驗(yàn)內(nèi)容
利用ADC0809芯片完成A/D轉(zhuǎn)換的功能。要求:輸入八路電壓模擬信號(hào),按延時(shí)的方
式采樣A/D轉(zhuǎn)換數(shù)據(jù),轉(zhuǎn)換結(jié)果送入420H-427H端口。
實(shí)驗(yàn)原理
R=1K2
一、電量測(cè)量電路
產(chǎn)生模擬信號(hào):按右圖設(shè)計(jì)電路,將產(chǎn)
生八路輸入模擬信號(hào)(IV、1.5V、2V
4.5V)。
A/D轉(zhuǎn)換:在CLOCK端加300KHZ的
時(shí)鐘脈沖,通過(guò)寫I/O端口400H~407H選
擇并啟動(dòng)相應(yīng)的通路進(jìn)行轉(zhuǎn)換,采用延時(shí)的
方法等待轉(zhuǎn)換結(jié)束。
獲取結(jié)果:通過(guò)讀400H~407H中的任
一I/O端口獲得轉(zhuǎn)換結(jié)果(輸入量0?4.5V的
轉(zhuǎn)換結(jié)果對(duì)應(yīng)于數(shù)字量0-255)。
圖6-1電量測(cè)量電路
二、非電量測(cè)量電路
將非電量參數(shù)轉(zhuǎn)化為電量參數(shù)。利用傳
感器等對(duì)非電量(如壓力、溫度、光等)參數(shù)
進(jìn)行變換、加工處理,按照能夠確定的模型力
轉(zhuǎn)化為0~5V的模擬信號(hào)?;?/p>
溫
A/D轉(zhuǎn)換:在CLOCK端力口300KHZ的度
、
時(shí)鐘脈沖,啟動(dòng)相應(yīng)的通路進(jìn)行轉(zhuǎn)換,采用光
敏
延時(shí)的方法等待轉(zhuǎn)換結(jié)束。電
獲取結(jié)果:根據(jù)模型計(jì)算得出非電量參阻
數(shù)值。
圖6-2非電量測(cè)量電路
實(shí)驗(yàn)操作
I.電路連接專用實(shí)驗(yàn)臺(tái)
2.程序調(diào)試(下載匯編調(diào)試程序MASM5.0)
進(jìn)入Windows的MS-DOS方式下,進(jìn)行匯編語(yǔ)言程序調(diào)試的步驟
編輯程序用MASM匯編程序用LINK連接程序運(yùn)行程序
流程圖callachange
calldchange
?movdx,offsetb;顯示結(jié)果
IDX?-端口步址420HI
movah,9
int21h
movah,2
movdl,Oah;回車、換行
int21h
movdl,Odh
int21h
incsi
inccl
empcl,8
jnzgo
圖6-3流程圖movah,4ch
例程int21h
datasegment
portequ420hdelayproc;延時(shí)程序
adb8dup(?)pushbx
bdb"IN?:????.?V$";定義顯示格式pushex
dataendsmovcx,Offfh
codesegmentnb:movbx,Offft
assumecs:code,ds:data,es:datarra:decbx
start:movax,datajnzrra
movds,axdecex
moves,axjnzrrb
movsi,offsetapopex
movex,8popbx
movdx,portret
again:moval,llhdelayendp
outdx,al;啟動(dòng)A/D轉(zhuǎn)換
calldelay;延時(shí)等待dchangeproc;將數(shù)字量的
inal,dx百位、十位、個(gè)位分離
mov[si],al;獲取轉(zhuǎn)換結(jié)果moval,[si]
incdxmovah,0
incsimovbl,100
loopagain;判斷8路輸入量divbl
轉(zhuǎn)換完否pushax
movcx,0addal,30h
movsi,offsetamov[di+5],al
movdi,offsetbpopax
go:movch,clmoval,ah
addch,30hmovah,0
mov[di+2],chmovbl,10
divbl數(shù)字量*5/255
pushaxdivbl
addal,30hsubah,l28;四舍五入
mov[di+6],aljcshequ
popaxincal
addah,3Ohshequ:movah,0
mov[di+7],ahmovbl,10
retdivbl
dchangeendpaddal,30h
mov[di+1l],al
achangeproc;將數(shù)字量addah,30h
轉(zhuǎn)換為模擬量以顯示mov[di+13],ah
movbl,50ret
moval,[sil;模擬量achangeendp
0?5V對(duì)應(yīng)于數(shù)字量0~255codeends
mulblendstart
movbl,255;模擬量=
結(jié)果演示
醫(yī)ES-DOS方式HBE3I
|自動(dòng)_xJ口跑跑|囹|富|臼|A|漢I
E:\MASM>ad8
IN0:2294.5U
IH1:2044.0U
IN2:1783.5U
IN3:1533.0U
IN4:1272.5U
IN5:1022.OU
IN6:0761.5U
IN7:0511.0U
E:\MASM>
圖6-4結(jié)果演示圖
實(shí)驗(yàn)七D/A轉(zhuǎn)換
實(shí)驗(yàn)?zāi)康?/p>
1.掌握D/A轉(zhuǎn)換器芯片DAC0832將數(shù)字量轉(zhuǎn)換成模擬量的過(guò)程和工作原理;
2.掌握DAC0832芯片的性能特點(diǎn)和正確使用方法。
實(shí)驗(yàn)內(nèi)容
利用DAC0832芯片完成D/A轉(zhuǎn)換的功能。要求:通過(guò)編程分別產(chǎn)生鋸齒波、三角波、正弦
波,并在示波器上顯示出來(lái),調(diào)整頻率使之易于觀察。
實(shí)驗(yàn)原理
DAC0832實(shí)驗(yàn)原理圖
流程圖
耳
圖7-2流程圖
實(shí)驗(yàn)操作
1.電路連接打開數(shù)模轉(zhuǎn)換專用實(shí)驗(yàn)臺(tái)
2.程序調(diào)試(下載匯編調(diào)試程序MASM5.0)
進(jìn)入Windows的MS-DOS方式下,進(jìn)行匯編語(yǔ)言程序調(diào)試的步驟
編輯程序用MASM匯編程序用LINK連接程序運(yùn)行程序
例程
DATASEGMENTDECDX
MESSIDB'Q--Next!;0DH,0AH;$,CALLRELAY
MESS2DBQ-Next!;0DH,0AH;$'ADDAL,10H
MESS3DB'Q--End!',0DH,0AH;$'CMPAL,OOH
SINBUFDB128,88,53,24,6,0,6,24,JNZBBB
53,88,128,168,203,232MOVAH,0BH
DB250,255,250,232,203,168INT21H
PORTEQU428HXORAL,0FFH
DATAENDSJNZAl
STACKSEGMENTMOVAH,01H
STADB200DUP(?)INT21H
TOPEQULENGTHSTACMPAL,Q
STACKENDSJZQQQ
CRLFMACROCMPAL,q
MOVDL,0DHJNZAl
MOVAH,02H
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 動(dòng)產(chǎn)家具無(wú)償寄托合同范本
- 快遞公司合作合同范本
- 上海施工合同范例2004
- 專業(yè)電子合同范例
- 2025年度城市綜合體辦公租賃合同及商業(yè)配套服務(wù)協(xié)議
- 公路安全設(shè)施合同范本
- 農(nóng)機(jī)設(shè)備合同范本
- 京東網(wǎng)店轉(zhuǎn)讓合同范本
- 內(nèi)容營(yíng)銷推廣合同范例
- 2025年度廣告代理及媒介購(gòu)買合同
- 2024年青島港灣職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案解析
- 裝配式建筑預(yù)制構(gòu)件安裝-預(yù)制構(gòu)件的吊裝
- 2024年山東泰安市泰山財(cái)金投資集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 上海天文館分析
- 中醫(yī)睡眠養(yǎng)生中心方案
- 生活中的邏輯學(xué)
- 大學(xué)生返家鄉(xiāng)社會(huì)實(shí)踐報(bào)告
- 初中生物中考真題(合集)含答案
- 《醫(yī)學(xué)免疫學(xué)實(shí)驗(yàn)》課件
- C139客戶開發(fā)管理模型
- 中考英語(yǔ)閱讀理解(含答案)30篇
評(píng)論
0/150
提交評(píng)論