西电微机原理实验报告Word文件下载.docx

上传人:b****3 文档编号:18186112 上传时间:2022-12-14 格式:DOCX 页数:36 大小:295.80KB
下载 相关 举报
西电微机原理实验报告Word文件下载.docx_第1页
第1页 / 共36页
西电微机原理实验报告Word文件下载.docx_第2页
第2页 / 共36页
西电微机原理实验报告Word文件下载.docx_第3页
第3页 / 共36页
西电微机原理实验报告Word文件下载.docx_第4页
第4页 / 共36页
西电微机原理实验报告Word文件下载.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

西电微机原理实验报告Word文件下载.docx

《西电微机原理实验报告Word文件下载.docx》由会员分享,可在线阅读,更多相关《西电微机原理实验报告Word文件下载.docx(36页珍藏版)》请在冰豆网上搜索。

西电微机原理实验报告Word文件下载.docx

DS:

DX=串地址,‘$’为结束字符

光标跟在串后面

4CH

返回DOS系统

AL=返回码

四、实验步骤

(1)运行QTHPCI软件,根据实验内容编写程序,参考程序流程如图3-1-1所示。

(2)使用“项目”菜单中的“编译”或“编译连接”命令对实验程序进行编译、连接。

(3)“调试”菜单中的“进行调试”命令进入Debug调试,观察调试过程中数据传输指令执行后各寄存器及数据区的内容。

按F9连续运行。

(4)更改数据区的数据,考察程序的正确性。

5、实验程序

DATASEGMENT

BUFFERDB'

03121370konglingling:

'

0AH,0DH,'

$'

BUFFER2DB'

aAbBcC'

'

BUFFER3DB0AH,0DH,'

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

movah,09h

movDX,OFFSETBUFFER

int21h

MOVSI,OFFSETBUFFER2

lab1:

cmpBYTEPTR[SI],'

jelab2

MOVAL,DS:

[SI]

ANDAL,0F0H;

取高4位

MOVCL,4

SHRAL,CL

CMPAL,0AH;

是否是A以上的数

JBC2

ADDAL,07H

C2:

ADDAL,30H

MOVDL,AL;

showcharacter

MOVAH,02H

INT21H

ANDAL,0FH;

取低4位

CMPAL,0AH

JBC3

ADDAL,07H

C3:

ADDAL,30H

addSI,1

jmplab1

lab2:

movah,09h

movDX,OFFSETBUFFER3

int21h

movah,01h

cmpal,'

q'

jelab3

movBL,AL

JBC4

C4:

MOVAL,BL

JBC5

ADDAL,07H

C5:

jmplab2

lab3:

movah,4ch

CODEENDS

endSTART

6、实验结果

实验二数码转换实验

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

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

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

三、实验内容及说明

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

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

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

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

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

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

完成实验内容

(1)

(2)(3)(4)通过,

完成实验内容(5)优秀。

转换过程参考流程如图3-2-2所示。

十进制数可以表示为:

Dn*10n+Dn-1*10n-1+…+D0*100=Di*10i

其中Di代表十进制数1、2、3、…、9、0。

上式可以转换为:

Di*10i=(((Dn*10+Dn-1)*10+Dn-2)*10+…+D1)*10+D0

由上式可归纳出十进制数转换为二进制数的方法:

从二进制数的最高位Dn开始做乘10加次位的操作。

依此类推,则可求出二进制数结果。

表3-3-1数码转换对应关系

十六进制

BCD码

二进制机器码

ASCII码

七段码

共阳

共阴

0000

30H

40H

3FH

0001

31H

79H

06H

0010

32H

24H

5BH

3

0011

33H

4FH

4

0100

34H

19H

66H

5

0101

35H

12H

6DH

0110

36H

02H

7DH

7

0111

37H

78H

07H

1000

38H

00H

7FH

1001

39H

18H

67H

A

101

41H

08H

77H

B

1011

42H

03H

7CH

C

1100

43H

46H

D

1101

44H

21H

5EH

E

1110

45H

F

1111

0EH

71H

4、实验程序

;

PAGE60,132

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

DATASEGMENT

MESDB0AH,0DH,'

TheAsciicodeofDecimalcodeare:

$'

MSG1DB0AH,0DH,0AH,0DH,0AH,0DH,'

PleaseInput(Exit:

q/Q):

MSG2DB0AH,0DH,'

Input:

MSG3DB0AH,0DH,'

InputError,Pleaseinputagain!

BINDB2DUP(0)

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

DB10HDUP(0)

NDW0

CODESEGMENT

MOVAX,DATA

MOVDS,AX

MOVES,AX

MOVDI,OFFSETBUF

CLC

MOVDX,OFFSETMSG1

MOVAH,09H;

MOVDX,OFFSETMSG2

MOVAH,09H

INT21H

A1:

MOVAH,01H;

接收键盘输入

INT21H

CMPAL,'

Q'

JZEXIT

CMPAL,'

CMPAL,39H

JAERROR

INCN

STOSB;

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

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

INCSI;

显示高字节

CALLSHOW

DECSI;

显示低字节

MOVN,0

LOOPSTART

SHOWPROCNEAR

MOVAL,DS:

ANDAL,0F0H;

MOVCL,4

SHRAL,CL

CMPAL,0AH;

JBC2

ADDAL,07H

ADDAL,30H

MOVDL,AL;

MOVAH,06H

ANDAL,0FH;

CMPAL,0AH

JBC3

ADDAL,07H

ADDAL,30H

RET

SHOWENDP

EXIT:

MOVAX,4C00H

INT21H

ERROR:

MOVDX,OFFSETMSG3

JMPSTART

CODEENDS

ENDSTART

5、实验结果

实验三基本IO口扩展实验

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

二、实验内容说明

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)自主设计控制及显示模式,完成编程调试,演示实验结果。

编程方法见IO(样例程序).txt.(在编译环境下程序名后缀为.asm且不能含有汉字)

完成实验内容

(1)

(2)(3)通过。

完成实验内容(4)优秀

三、实验原理图

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

实验连线图:

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

(1)实验连线:

Ø

244的CS——ISA总线接口模块的0000H,Y7—Y0——开关K1—K8。

273的CS——ISA总线接口模块的0020H,Q7—Q0——发光二极管L1—L8。

该模块的WR、RD分别连到ISA总线接口模块的IOWR、IORD。

该模块的数据(AD0~AD7)连到ISA总线接口模块的数据(LD0~LD7)。

(2)编写实验程序,编译链接,运行程序

(3)拨动开关,观察发光二极管的变化。

五、实验程序

1、笨方法实现(主要代码):

MOVAX,MY_DATA

MOVDS,AX

MOVAX,MY_STACK

MOVSS,AX

LOP:

MOVDX,0DF00H

INAL,DX

CMPAL,00H

JEC0

CMPAL,0FFH

JEC3

;

JEEXIT

MOVDX,0DF20H

OUTDX,AL

JMPLOP

C0:

MOVAL,0FEH

JMPC1

MOVAL,07FH

JMPC2

C1:

ROLAL,1

MOVDX,0DF20H

OUTDX,AL

CALLDELAY

CALLBREAK

JEC1

CMPAL,0FEH

JMPC1

MOVAL,0FCH

CALLDELAY

CALLBREAK

MOVAL,0FDH

MOVAL,0FBH

MOVAL,0F7H

MOVAL,0EFH

MOVAL,0DFH

MOVAL,0BFH

MOVAL,0FFH

CMPAL,080H

JMPEXIT

MOVDX,0DF20H

MOVAH,4CH

2、循环左移右移实现:

主要代码:

(1)右移:

RORAL,1

callbreak

(2)循环左移:

ROlAL,1

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

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

二、实验内容

(1)流水灯实验:

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

(2)交通灯实验:

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

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

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

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

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

考核方式:

完成实验内容

(1)

(2)(3)其中之一通过,完成实验内容(4)或(5)优秀。

三、实验说明

1、8255A的内部结构

(1)数据总线缓冲器:

这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。

输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。

(2)三个端口A,B和C:

A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。

B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。

C端口包含一个8位数据输出锁存器及缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。

(3)A组和B组控制电路:

这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。

方式控制字的高5位决定A组工作方式,低3位决定B组的工作方式。

对C口按位复位命令字可对C口的每一位实现置位或复位。

A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部。

(4)读写控制逻辑:

用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。

2、8255A的工作方式

方式0—基本输入输出方式;

方式1—选通输入输出方式;

方式2—双向选通输入输出方式

3、8255A的状态字

4、8255A的控制字

表6-3-38255A方式控制字

D6

D5

D4

D3

D2

D1

D0

A组方式

00=方式001=方式1

1X=方式2

A口

0=输出

1=输入

C口高4位

B组方式

0=方式0

1=方式1

B口

C口低4位

表6-3-4按位置位/复位控制字

特征位

不用

位选择

000=C口0位……111=C口7位

0=复位

1=置位

四、实验原理图

图6-3-5可编程并行接口8255电路

五、实验步骤

1、流水灯实验

(1)实验连线

该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到ISA总线接口模块的数据(LD0~LD7)、地址线(LA0~LA7)。

8255模块选通线CE连到ISA总线接口模块的0000H。

8255的PA0~PA7连到发光二极管的L0~L7;

8255的PB0~PB7连到发光二极管的L8~L15。

(2)运行程序,观察发光二极管。

2、交通灯实验

(1)实验连线:

8255的PA0-L7、P

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

当前位置:首页 > 解决方案 > 学习计划

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

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