微机系统实验报告Word格式.docx

上传人:b****6 文档编号:19318375 上传时间:2023-01-05 格式:DOCX 页数:47 大小:196.15KB
下载 相关 举报
微机系统实验报告Word格式.docx_第1页
第1页 / 共47页
微机系统实验报告Word格式.docx_第2页
第2页 / 共47页
微机系统实验报告Word格式.docx_第3页
第3页 / 共47页
微机系统实验报告Word格式.docx_第4页
第4页 / 共47页
微机系统实验报告Word格式.docx_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

微机系统实验报告Word格式.docx

《微机系统实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《微机系统实验报告Word格式.docx(47页珍藏版)》请在冰豆网上搜索。

微机系统实验报告Word格式.docx

Input:

$'

RESULTDB0AH,0DH,'

ASCIIis:

SDDB'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,OFFSETstring1

MOVAH,09H

INT21H

MOVDX,OFFSETNUMBER

C1:

MOVDX,OFFSETstring2

MOVAH,01H

CMPAL,'

Q'

JZEXIT

q'

MOVSD,AL

MOVDX,OFFSETRESULT

MOVSI,OFFSETSD

MOVAL,DS:

[SI]

ANDAL,0F0H

MOVCL,4

SHRAL,CL

CMPAL,0AH

JBC2

ADDAL,07H

C2:

ADDAL,30H

MOVDL,AL

MOVAH,02H

ANDAL,0FH

JBC3

C3:

loopC1

EXIT:

MOVAX,4C00H

CODEENDS

ENDSTART

实验二数码转换实验

.1实验目的

(1)掌握不同进制数及编码相互转换的程序设计方法。

(2)掌握运算类指令编程及调试方法。

(3)掌握循环程序的设计方法。

2.实验内容及说明

(1)重复从键盘输入不超过5位的十进制数,按回车键结束输入;

(2)将该十进制数转换成二进制数;

结果以16进制数的形式显示在屏幕上;

(3)如果输入非数字字符,则报告出错信息,重新输入;

(4)直到输入“Q”或‘q’时程序运行结束。

键盘输入一字符串,以空格结束,统计其中数字字符的个数,并在屏幕显示。

任务二

流程图

;

PAGE60,132

;

本实验将输入的ASCII码转换为二进制,要求输入位数小于5

DDATASEGMENT

MESDB0AH,0DH,'

Theasciicodeofdecimalcodeare:

MSG1DB0AH,0DH,'

exit,input:

q/Q'

MSG2DB0AH,0DH,0AH,0DH,'

MSG3DB0AH,0DH,'

inputerror'

BUFDB30H,30H,30H,31H,35H

DB10HDUP(0)

NDW0

DDATAENDS

CODESEGMENT

ASSUMECS:

DDATA

START:

MOVAX,DDATA

MOVDS,AX

MOVES,AX

MOVDI,OFFSETBUF

CLC

MOVDX,OFFSETMSG1

MOVAH,09H

INT21H

A1:

MOVAH,1;

接收键盘输入

INT21H

INCN

STOSB;

将输入数据存放在BUF缓冲区中

CMPAL,'

JZEXIT

CMPAL,39H

JAERROR

CMPAL,13

JNEA1

MOVCX,N

DECCX

MOVBX,000AH

MOVSI,OFFSETBUF

MOVAH,0

MOVDX,0

LODSB

CMPCX,1

JEA3

SUBAL,30H;

将BUF中数据转换为二——十进制数

A2:

IMULBX

MOVDX,AX

A3:

SUBAL,30H

ADDAX,DX

LOOPA2

MOV[SI],AX

MOVDX,OFFSETMES

MOVAH,09H

INCSI;

显示高字节

CALLSHOW

DECSI;

显示低字节

MOVDX,OFFSETMSG2

MOVAX,0

stosb

MOVCX,0

MOVBX,0

MOVDX,0

MOVN,0

LOOPA1

EXIT:

MOVAX,4C00H

ERROR:

MOVDX,OFFSETMSG3

JMPA1

SHOWPROCNEAR

MOVAL,DS:

ANDAL,0F0H;

取高4位

MOVCL,4

SHRAL,CL

CMPAL,0AH;

是否是A以上的数

JBC2

ADDAL,07H

ADDAL,30H

MOVDL,AL;

showcharacter

MOVAH,02H

ANDAL,0FH;

取低4位

CMPAL,0AH

JBC3

ADDAL,07H

ADDAL,30H

RET

SHOWENDP

CODEENDS

ENDSTART

实验三基本IO口扩展实验

了解TTL芯片扩展简单I/O口的方法,掌握数据输入输出程序编制的方法。

2实验内容

74LS244是一种三态输出的8总线缓冲驱动器,无锁存功能,当G为低电平时,Ai信号传送到Yi,当为高电平时,Yi处于禁止高阻状态。

其引脚图如下:

74LS273是一种带清除功能的8D触发器,1D~8D为数据输入端,1Q~8Q为数据输出端,正脉冲触发,低电平清除,常用作8位地址锁存器。

本实验要求用74LS244作为输入口,读取开关状态,并将此状态通过74LS273连接到发光二极管显示。

具体实验内容如下:

(1)当开关Yi为低电平时对应的发光二极管点亮,Yi为高电平时对应的发光二极管灭。

(2)当开关Yi全为高电平时,发光二极管Qi从左至右轮流点亮。

(3)当开关Yi全为低电平时,发光二极管Qi从右至左轮流点亮。

(4)自主设计控制及显示模式,完成编程调试,演示实验结果。

3实验原理图

图3-2-174LS244与74LS273扩展I/O口原理图

实验连线图:

图3-2-2扩展I/O口连线图

4代码

MY_STACKSEGMENTPARA'

STACK'

DB100DUP(?

MY_STACKENDS

MY_DATASEGMENTPARA'

DATA'

IO_9054base_addressDB4DUP(0);

PCI卡9054芯片I/O基地址暂存空间

IO_base_addressDB4DUP(0);

PCI卡I/O基地址暂存空间

pcicardnotfindDB0DH,0AH,'

pcicardnotfindoraddress/interrupterror!

!

0DH,0AH,'

GOODDB0DH,0AH,'

TheProgramisExecuting!

LS244DW00000H

LS273DW00020H

RADB?

LBDB?

DELAY_SETEQU0FFFH;

延时常数

MY_DATAENDs

MY_CODESEGMENTPARA'

CODE'

MY_PROCPROCFAR

ASSUMECS:

MY_CODE,DS:

MY_DATA,SS:

MY_STACK

MAIN:

.386;

386模式编译

MOVAX,MY_DATA

MOVAX,MY_STACK

MOVSS,AX

CALLFINDPCI;

自动查找PCI卡资源及IO口基址

MOVCX,wordptrIO_base_address

ADDLS244,CX;

PCI卡IO基址+偏移

ADDLS273,CX

;

自己的程序

MOVRA,7FH

MOVLB,0FEH

READ1:

MOVDX,LS244;

读取开关状态

INAL,DX

CMPAL,0FFH

JZA1

CMPAL,00H

JZA2

NOTAL;

取反

MOVDX,LS273

OUTDX,AL;

送LED显示

CALLDELAY

CALLBREAK

JMPREAD1

A1:

MOVAL,0FEH

OUTDX,AL

MOVAL,0FDH

MOVAL,0FBH

MOVAL,0F7H

MOVAL,0EFH

MOVAL,0DFH

MOVAL,0BFH

MOVAL,07FH

A2:

MOVAL,7FH

MOVAL,0FEH

MY_PROCENDp

BREAKPROCNEAR;

按任意键退出

PUSHF

PUSHAX

PUSHDX

MOVAH,06H

MOVDL,0FFH

JERETURN

MOVAX,4C00H

RETURN:

POPDX

POPAX

POPF

BREAKENDP

DELAYPROCNEAR;

延时程序

PUSHCX

MOVDX,DELAY_SET

D1:

MOVCX,-1

D2:

DECCX

JNZD2

DECDX

JNZD1

POPCX

POPDX

POPF

DELAYENDp

FUNCTIONCODE

IO_port_addreEQU0CF8H;

32位配置地址端口

IO_port_dataEQU0CFCH;

32位配置数据端口

IO_PLX_IDEQU200810B5H;

PCI卡设备及厂商ID

BADR0=10H;

基地址寄存器0

BADR1=14H;

基地址寄存器1

BADR2=18H;

基地址寄存器2

BADR3=1CH;

基地址寄存器3

FINDPCIPROCNEAR;

查找PCI卡资源并显示

PUSHAD

PUSHFD

MOVEBX,080000000H

FINDPCI_next:

ADDEBX,100H

CMPEBX,081000000H

JNZfindpci_continue

MOVDX,offsetpcicardnotfind;

显示未找到PCI卡提示信息

MOVAH,4CH

INT21H;

退出

findpci_continue:

MOVDX,IO_port_addre

MOVEAX,EBX

OUTDX,EAX;

写地址口

MOVDX,IO_port_data

INEAX,DX;

读数据口

CMPEAX,IO_PLX_ID

JNZfindpci_next;

检查是否发现PCI卡

ADDEAX,BADR1

OUTDX,EAX;

INEAX,DX;

MOVdwordptrIO_9054base_address,EAX

ANDEAX,1

JZfindPCI_nex;

检查是否为i/o基址信息MOVEAX,dwordptrIO_9054base_address

ANDEAX,0fffffffeh

MOVdwordptrIO_9054base_address,EAX;

去除i/o指示位并保存MOVDX,IO_port_addre

ADDEAX,BADR2

MOVdwordptrIO_base_address,EAX

JZfindPCI_next;

检查是否为i/o基址信息MOVEAX,dwordptrIO_base_address

MOVdwordptrIO_base_address,EAX;

去除i/o指示位并保存

MOVDX,offsetgood;

显示开始执行程序信息

POPfd

POPad

findPCIENDP

MY_CODEENDS

ENDMAIN

5实验结果:

发光二极管Qi从右至左轮流点亮

实验四可编程并行接口8255实验

了解可编程并行接口芯片8255的内部结构、工作方式、初始化编程及应用。

.2实验内容

(1)流水灯实验:

利用8255的A口、B口循环点亮发光二极管。

(2)交通灯实验:

利用8255的A口模拟交通信号灯。

(3)I/O输入输出实验:

利用8255的A口读取开关状态,8255的B口把状态送发光二极管显示。

(4)通过开关控制交通红绿灯的亮灭。

(5)通过开关控制流水灯的循环方向和循环方式。

3流水灯实验原理图

LS8255DW00000H

LS8255WDW00003H

ADDLS8255,CX;

ADDLS8255W,CX

MOVAX,80H;

MOVDX,LS8255W

OUTDX,AX

MOVDX,LS8255

MOVAL

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

当前位置:首页 > 成人教育 > 电大

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

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