微机原理与接口技术实验程序文档格式.docx

上传人:b****8 文档编号:22862441 上传时间:2023-02-05 格式:DOCX 页数:22 大小:20.46KB
下载 相关 举报
微机原理与接口技术实验程序文档格式.docx_第1页
第1页 / 共22页
微机原理与接口技术实验程序文档格式.docx_第2页
第2页 / 共22页
微机原理与接口技术实验程序文档格式.docx_第3页
第3页 / 共22页
微机原理与接口技术实验程序文档格式.docx_第4页
第4页 / 共22页
微机原理与接口技术实验程序文档格式.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

微机原理与接口技术实验程序文档格式.docx

《微机原理与接口技术实验程序文档格式.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术实验程序文档格式.docx(22页珍藏版)》请在冰豆网上搜索。

微机原理与接口技术实验程序文档格式.docx

LOOP 

NEXT

PUSH 

ES

POP 

DS 

将附加段寄存器指向的段值赋给数据段寄存器

DX,OFFSETMSD

AH,9

INT21H;

显示字符串

AH,4CH

返回DOS状态

CODE 

ENDS

ENDSTART

实验二:

最大值程序

DATASEGMENT

BUFFERDW200,-12,45,500,-1000

COUNTEQU($-BUFFER)/2

MAXDW?

用于存放最大值

MES1DB‘200,-12,45,78,500,-1000’,0AH,0DH,’$’

DATAENDS

STACKSEGMENT

DB64DUP(?

TOPEQU$-STACK;

计算出堆栈指针数值

STACKENDS

CODESEGMENT

ASSUMECS:

DATA,SS:

STACK

BEGIN:

MOVAX,SEGDATA

MOVDS,AX

MOVAX,SEGSTACK

MOVSS,AX

MOVSP,TOP

MOVCX,COUNT

LEABX,BUFFER

MOVAX,[BX]

INCBX

INCBX

DECCX

AGAIN:

CMPAX,[BX]

JGENEXT

MOVAX,[BX]

INCBX

LOOPAGAIN

MOVMAX,AX

MOVAH,9

LEADX,MES1

INT21H

QQ1:

MOVAH,1

INT16H

JZQQ1

MOVAH,4C

CODEENDS

ENDBEGIN

字符串程序:

STRINGDB‘abcduvwxyz’,0DH

L1DB?

CREQU0DH

DATAENDS

STACKSEGMENTPARASTACK‘STACK’

S1DB100DUP(?

CODESEGMENT

DATA,ES:

MOVEAX,DATA

MOVES,AX

LEADI,STRING;

设串的地址指针

MOVDL,0;

置串长度的初值为0

MOVAL,CR;

串标志送入AL

CLD;

清DF=0,使地址自动增量

SCASB;

搜索串

JEDONE;

找到结束标志,停止

INCDL;

串长度加1

JMPAGAIN

DONE:

LEABX,L1

MOV[BX],DL;

存串长度

MOVDH,DL;

串长暂存

MOVCL,4

SHRDL,CL;

取串长高4位

MOVAL,DL

CALLCHANGE;

将高4位转换成ASCII码放入AL

MOVDL,AL

MOVAH,2

INT21H;

显示高4位

MOVAL,DH;

取暂存串长

ANDAL,0FH;

取串长低4位

CALLCHANGE

MOVDL,AL

INT21H;

显示串长低位

MOVDL,’H’

显示H

MOVAH,4CH

INT21H

CHANGEPROC;

过程或子程序

CMPAL,10

JLADD30;

小于转

ADDAL,37H

JMPP1

ADD30:

ADDAL,30H

P1:

RET

CHANGEENDP

ENDBEGIN

实验三:

1.在实验箱上设计并连接单脉冲KK1+到8254的CLK0端,8254的OUT0连接IRQ3,定义8254的计数器0为方式0,计数值为5,每当KK1+按动5次后产生中断请求,实现在屏幕上显示字符“5”。

要求:

主机按任意键停止显示返回DOS。

(必做)

IOY1EQU280H

MY8254_COUNT0EQUIOY1+00H;

8254计数器0端口地址

MY8254_COUNT1EQUIOY1+01H;

8254计数器1端口地址

MY8254_COUNT2EQUIOY1+02H;

8254计数器2端口地址

MY8254_MODEEQUIOY1+03H;

8254控制寄存器端口地址

DATASEGMENT

STR1DB'

COUNT:

$'

;

显示的字符串

STACK1SEGMENTSTACK

DW256DUP(?

STACK1ENDS

ASSUMECS:

DATA

MOVAX,CS

MOVDX,OFFSETMYISR

MOVAX,250BH

INAL,21H

ANDAL,0f7H

OUT21H,AL

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETSTR1;

MOVAH,9

INT21H

MOVDX,MY8254_MODE;

初始化8254工作方式

MOVAL,10H;

计数器0,方式0,计数值为十进制

OUTDX,AL

MOVDX,MY8254_COUNT0;

装入计数初值

MOVAL,4

STI

WAIT1:

MOVAH,1;

判断是否有按键按下

INT16H

JZWAIT1;

无按键则跳回继续等待,有则退出

QUIT:

ORAL,08H

MOVAX,4C00H;

返回到DOS

MYISRPROCNEAR;

中断处理程序MYISR

MOVAL,35H

MOVAH,0EH

INT10H

MOVAL,20H

INT10H

重装计数初值

OUTDX,AL

OVER:

MOVAL,20H

OUT20H,AL

IRET

MYISRENDP

CODEENDS

ENDSTART

实验四:

1.1.在实验箱上设计并连接8255,将8255的PB口和PA口分别与数码管显示电路的段选端和位选段相接,使其显示3000H、3001H、3002H和3003H单元中的数据。

(必做)

IOY0EQU0280H;

片选IOY0对应的端口始地址

MY8255_AEQUIOY0+00H;

8255的A口地址

MY8255_BEQUIOY0+01H;

8255的B口地址

MY8255_CEQUIOY0+02H;

8255的C口地址

MY8255_MODEEQUIOY0+03H;

8255的控制寄存器地址

DATASEGMENT

BUFFDB99H

DTABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H

DATAENDS;

键值表,0~F对应的7段数码管的段位值

STACK1SEGMENTSTACK

DW256DUP(?

STACK1ENDS

MOVAX,DATA

MOVDS,AX

MOVSI,3000H;

建立缓冲区,存放要显示的键值

MOVAL,00H;

先初始化键值为0

MOV[SI],AL

MOV[SI+1],AL

MOV[SI+2],AL

MOV[SI+3],AL

MOVDX,MY8255_MODE;

初始化8255工作方式

MOVAL,81H;

方式0,A口、B口输出,C口低4位输入

OUTDX,AL

CALLPUTBUF

CALLDISPLAY

MOVAH,1;

判断PC键盘是否有按键按下

JZBEGIN

PUTBUFPROCNEAR;

保存显示数据到缓冲区子程序

MOVSI,3003H

MOVAX,BUFF

MOVAH,AL

ANDAL,0FH

MOV[SI],AL

DECSI

MOVAL,AH

ANDAL,0F0H

SARAL,CL

MOV[SI],AL

RET

PUTBUFENDP

DISPLAYPROCNEAR;

显示子程序

PUSHAX

MOVSI,3000H

MOVDL,08H

PUSHDX

MOVDX,MY8255_A

OUTDX,AL;

设置X1~X4,选通一个数码管

MOVAL,[SI];

取出缓冲区中存放键值

MOVBX,OFFSETDTABLE

XLAT

MOVDX,MY8255_B

写入数码管A~Dp

CALLDALLY

INCSI;

取下一个键值

POPDX

MOVAL,DL

TESTAL,01H

JNZOUT1;

显示完,返回

RORAL,1

MOVDL,AL

JMPAGAIN;

未显示完,跳回继续

OUT1:

POPAX

RET

DISPLAYENDP

DALLYPROCNEAR;

软件延时子程序

PUSHCX

MOVCX,00FFH

D1:

MOVAX,00FFH

D2:

DECAX

JNZD2

LOOPD1

POPCX

DALLYENDP

ENDSTART

2.在实验箱上设计并连接,使用8255扫描4*4键盘,并将识别出的键值依次显示在4位数码管上。

IOY0EQU288H;

片选IOY0对应的端口始地址

DTABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,

7FH,6FH,77H,7CH,39H,5EH,79H,71H

MOVDI,3003H

CALLDISPLAY

CALLKSCAN;

扫描按键

CMPAL,0Fh

JZNKY;

未发现有键按下则转

CALLKEYSET

NKY:

PUSHAX;

以缓冲区存放的键值为键值表偏移找到键值并显示

OUTDX,AL;

OUTDX,AL;

POPDX

KSCANPROCNEAR;

扫描是否有按键闭合子程序

MOVAL,0FH

MOVDX,MY8255_C;

将4列全选通,X1~X4置0

INAL,DX;

读Y1~Y4

取出Y1~Y4的值

KSCANENDP

KEYSETPROC

MOVAH,AL

MOVDX,MY8255_MODE

MOVAL,88h

MOVDX,MY8255_C

MOVAL,AH

ORAL,0F0H

读列扫描值

ANDAL,0F0H

CMPAL,0F0H

JZKERR;

未发现有键按下则转

MOVCL,04

SHRAL,CL

TESTAL,01H

JNZL2

MOVCL,00H

JMPR0

L2:

TESTAL,02H

JNZL3

MOVCL,04H

JMPR0

L3:

TESTAL,04H

JNZL4

MOVCL,08H

L4:

TESTAL,08H

JNZKERR

MOVCL,0CH

R0:

MOVAL,AH

JNZR2

MOVAL,00H

JMPKCODE

R2:

JNZR3

MOVAL,01H

R3:

TESTAL,04H

JNZR4

MOVAL,02H

R4:

MOVAL,03H

KCODE:

ADDAL,CL;

将行的值加上当前列数,确定按键值

CALLPUTBUF;

保存按键值

KON:

MOVAL,81h

OUTAX,AL

MOVAL,0FH

读行扫描值

ANDAL,0FH

CMPAL,0FH

JNZKON;

按键未抬起转

KERR:

KEYSETENDP

保存键值子程序

MOVSI,DI

DECDI

CMPDI,2FFFH

JNZGOBACK

MOVDI,3003H

GOBACK:

DALLYENDP

实验五:

1.在实验箱上设计并连接ADC0809芯片的接线,按延时方式对单通道模拟量进行A/D转换。

A/D转换结果送入PC机后,再由PC机送至DAC0832进行D/A转换,结果送至示波器,与原信号进行对比观察。

模拟信号源:

由电位器中心抽头可以得到一个可调节的直流电压0~5V。

电位器一端接地,另一端接+5V。

IOY0EQU290H

AD0809EQUIOY0;

AD0809的端口地址

IOY1EQU298H

DA0832EQUIOY1;

DA0832的端口地址

STR1DB‘AD0809:

IN0$’;

定义显示的字符串

BUFFDB?

MOVAX,DATA

显示字符串

MOVAH,9H

LOOP1:

CALLADCON

CALLDACON

MOVAH,1;

JZLOOP1;

无按键则跳回继续循环,有则退出

ADCONPROC

MOVDX,AD0809;

启动A/D转换

OUTDX,AL

CALLDALLY

MOVDX,AD0809;

读出转换结果

INAL,DX

MOVBUFF,AL

CALLTOASCII

ADCONENDP

TOASCIIPROC

MOVCH,AL;

分析结果进行显示

ANDAL,0F0H

MOVCL,04H

SHRAL,CL;

取出数据的十位

CMPAL,09H

JGA1

ADDAL,30H

JMPA2

A1:

ADDAL,37H;

对A~F的处理

A2:

MOVDL,AL;

对0~9的处理

MOVAH,02H

MOVAL,CH

ANDAL,0FH;

取出数据的各位

CMPAL,09H

JGA3 

ADDAL,30H

JMPA4

A3:

A4:

MOVDL,AL;

MOVAH,02H

MOVDL,0DH;

回车,置光标到行首

RET

TOASCIIENDP

DACONPROC

MOVDX,DA0832

MOVAL,BUFF

CALLDALLY

DACONEDNP

MOVCX,4000H

MOVAX,0600H

JNZD2

LOOPD1

ENDSTART

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1