微机原理实验报告.docx

上传人:b****5 文档编号:7517998 上传时间:2023-05-11 格式:DOCX 页数:12 大小:53.41KB
下载 相关 举报
微机原理实验报告.docx_第1页
第1页 / 共12页
微机原理实验报告.docx_第2页
第2页 / 共12页
微机原理实验报告.docx_第3页
第3页 / 共12页
微机原理实验报告.docx_第4页
第4页 / 共12页
微机原理实验报告.docx_第5页
第5页 / 共12页
微机原理实验报告.docx_第6页
第6页 / 共12页
微机原理实验报告.docx_第7页
第7页 / 共12页
微机原理实验报告.docx_第8页
第8页 / 共12页
微机原理实验报告.docx_第9页
第9页 / 共12页
微机原理实验报告.docx_第10页
第10页 / 共12页
微机原理实验报告.docx_第11页
第11页 / 共12页
微机原理实验报告.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

微机原理实验报告.docx

《微机原理实验报告.docx》由会员分享,可在线阅读,更多相关《微机原理实验报告.docx(12页珍藏版)》请在冰点文库上搜索。

微机原理实验报告.docx

微机原理实验报告

班级学号姓名实验组别

实验日期2010/12/24室温报告日期2010/12/26成绩

报告内容:

(目的和要求,原理,步骤,数据,计算,小结等)

实验名称:

可编程并行接口8255实验

一、实验目的:

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

二、实验设备:

(1)PC机一台;

(2)QTH-8086B16位微机教学实验仪一套。

三、实验说明

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的状态字:

 

图18255方式1的状态字

图28255方式2的状态字

4、8255A的控制字:

1

D6

D5

D4

D3

D2

D1

D0

A组方式

00=方式01=方式1

1X=方式2

A口

0=输出

1=输入

C口高4位

0=输出

1=输入

B组方式

0=方式0

1=方式1

B口

0=输出

1=输入

C口低4位

0=输出

1=输入

图38255A方式控制字

0

D6

D5

D4

D3

D2

D1

D0

特征位

不用

位选择

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

0=复位

1=置位

图4C口按位置位/复位控制字

 

四、实验原理图

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

五、实验内容

(1)流水灯实验:

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

(2)交通灯实验:

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

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

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

六、实验步骤

1、流水灯实验:

(1)实验连线

Ø该模块的WR、RD分别连到MCU主模块的WR、RD。

Ø该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到MCU主模块的数据(AD0~AD7)、地址线(A0~A7)。

Ø8255模块选通线CE连到MCU主模块的地址A15。

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

(1)运行程序:

(2)XunHuan.ASM,观察发光二极管。

图6流水灯实验

图7交通灯实验

图8I/O输入输出实验

2、交通灯实验:

(1)实验连线:

Ø该模块的WR、RD分别连到MCU主模块的WR、RD。

Ø该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到MCU主模块的数据(AD0~AD7)、地址线(A0~A7)。

Ø8255模块选通线CE连到MCU主模块的地址A15。

Ø8255的PA0-L7、PA1-L6、PA2-L5、PA3-L3、PA4-L2、PA5-L1。

(2)运行程序:

Trac.ASM,观察发光二极管。

3、I/O输入输出实验:

(1)实验连线

a)该模块的WR、RD分别连到MCU主模块的WR、RD。

b)该模块的数据(AD0~AD7)、地址线(A0~A7)分别连到MCU主模块的数据(AD0~AD7)、地址线(A0~A7)。

c)8255模块选通线CE连到MCU主模块的地址A15。

d)8255的PA0~PA7接开关K0~K7,8255的PB0~PB7接发光二极管L0~L7。

(2)运行程序:

Kaiguan.ASM;拨动开关,观察发光二极管。

七、实验程序

1、流水灯程序

;PA口接L1~L8

PAGE60,132

.MODELsmall

.STACK20h

.DATA20h

A8255EQU7000H

B8255EQU7001H

C8255EQU7002H

D8255EQU7003H

.CODE

ORG0000H

DD0000FFF0H

DD0000FE80H

DD0000FE80H

ORG0270H

MAIN:

MOVSP,9000H

MOVDX,D8255;状态字

MOVAL,80H;方式0输出

OUTDX,AL

MOVDX,A8255

MAIN1:

CALLRIGHT

CALLLEFT

CALLALLON

CALLALLOFF

JMPMAIN1

;*************************************************************************

;/*右移子程序*/

;*************************************************************************RIGHT:

MOVCL,08H

MOVAL,0FFH

CLC

RIGHT1:

RCRAL,1

OUTDX,AL

CALLDELAY

LOOPRIGHT1

RET

;*************************************************************************

;/*左移子程序*/

;*************************************************************************

LEFT:

MOVCL,08H

MOVAL,0FFH

CLC

LEFT1:

RCLAL,1

OUTDX,AL

CALLDELAY

LOOPLEFT1

RET

;*************************************************************************;/*全亮子程序*/

;*************************************************************************ALLON:

INAL,00H

OUTDX,AL

CALLDELAY

RET

;*************************************************************************;/*全灭子程序*/

;*************************************************************************

ALLOFF:

INAL,0FFH

OUTDX,AL

CALLDELAY

RET

;*************************************************************************;/*延时子程序*/

;*************************************************************************

DELAY:

PUSHCX

MOVCX,0FFFFH

LOOP$

POPCX

RET

END

2、交通灯程序

PAGE60,132

.MODELsmall

.STACK20h

.DATA20h

A8255EQU7000H

B8255EQU7001H

C8255EQU7002H

D8255EQU7003H

.CODE

ORG0000H

DD0000FFF0H

DD0000FE80H

DD0000FE80H

ORG0270H

MAIN:

MOVSP,9000H

TRAFFIC:

MOVDX,D8255;状态口

MOVAL,80H;方式0输出

OUTDX,AL

MOVDX,A8255;PA口地址

CALLST0

TRAFFIC1:

CALLST1

CALLST2

CALLST3

CALLST4

JMPTRAFFIC1

;*************************************************************************;/*初始状态全为红灯*/

;*************************************************************************

ST0:

MOVAL,1BH

OUTDX,AL

CALLDELAY

RET

;*************************************************************************;/*南北为绿灯,东西为红灯子程序*/

;*************************************************************************

ST1:

MOVAL,33H

OUTDX,AL

CALLDELAY1

CALLDELAY1

CALLDELAY1

CALLDELAY1

CALLDELAY1

CALLDELAY1

RET

;*************************************************************************;/*南北红灯闪烁,东西为红灯子程序*/

;*************************************************************************

ST2:

MOVCL,5H

ST20:

MOVAL,2BH

OUTDX,AL

CALLDELAY1

MOVAL,3BH

OUTDX,Al

CALLDELAY1

LOOPST20

RET

;*************************************************************************;/*南北为红灯,东西为绿灯子程序*/

;*************************************************************************

ST3:

MOVAL,1EH

OUTDX,AL

CALLDELAY1

CALLDELAY1

CALLDELAY1

CALLDELAY1

CALLDELAY1

CALLDELAY1

RET

;*************************************************************************;/*南北为红灯,东西黄灯闪烁子程序*/

;*************************************************************************

ST4:

MOVCL,5H

ST40:

MOVAL,1DH

OUTDX,AL

CALLDELAY1

MOVAL,1FH

OUTDX,AL

CALLDELAY1

LOOPST40

RET

;*************************************************************************;/*延时子程序*/

;*************************************************************************

DELAY1:

PUSHCX

MOVCX,0FFFFH

LOOP$

POPCX

RET

DELAY:

PUSHCX

MOVCX,0FFH

LOOP$

POPCX

RET

END

3、开关控制程序:

PAGE60,132

.MODELsmall

.STACK20h

.DATA20h

A8255EQU7000H

B8255EQU7001H

C8255EQU7002H

D8255EQU7003H

.CODE

ORG0000H

DD0000FFF0H

DD0000FE80H

DD0000FE80H

ORG0270H

start:

MOVSP,9000H

MOVDX,D8255;8255控制口口地址

MOVAL,90H;控制字

OUTDX,AL

S1:

MOVDX,A8255;读A口数据

INAL,DX

MOVDX,B8255

OUTDX,AL;送B口

JMPS1

END

八、实验结果

运行第一个流水灯程序以后,先是左边第一个LED灯亮,然后亮的灯的位置依次想右移动一个位置,然后到最右端以后再一次向左移动一个位置,再到顶端以后,LED灯全部点亮,然后全部熄灭;

运行第二个交通灯控制程序以后,先是两边都是红灯、然后一边是红灯的时候另一边是绿灯,然后状态交换,实现对交通控制灯的模拟;

运行第三个开关控制程序时,所有的发光二极管的亮灭状态和对应的控制开关状态相一致,改变开关的状态,则它对应控制的发光二极管的亮灭状态也随之改变。

九、实验小结

在前几次实验的经验和教训的基础上,这一次综合性的实验进行得还是比较顺利的,并且通过这次实验也系统地更深入地了解了8255这一功能比较综合、全面的芯片。

在做交通灯控制实验的时候,观察发现两边的状态其实不对称,后来检查程序没有错误,分析后发现是一边的黄灯对应的发光二极管出现了问题,不能亮。

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

当前位置:首页 > 求职职场 > 自我管理与提升

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2