微机原理实验报告Word下载.docx
- 文档编号:18342352
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:12
- 大小:53.41KB
微机原理实验报告Word下载.docx
《微机原理实验报告Word下载.docx》由会员分享,可在线阅读,更多相关《微机原理实验报告Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
方式控制字的高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位
B组方式
0=方式0
1=方式1
B口
C口低4位
图38255A方式控制字
特征位
不用
位选择
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)实验连线:
8255的PA0-L7、PA1-L6、PA2-L5、PA3-L3、PA4-L2、PA5-L1。
(2)运行程序:
Trac.ASM,观察发光二极管。
3、I/O输入输出实验:
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。
Kaiguan.ASM;
拨动开关,观察发光二极管。
七、实验程序
1、流水灯程序
;
PA口接L1~L8
PAGE60,132
.MODELsmall
.STACK20h
.DATA20h
A8255EQU7000H
B8255EQU7001H
C8255EQU7002H
D8255EQU7003H
.CODE
ORG0000H
DD0000FFF0H
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
CALLDELAY
LOOPRIGHT1
RET
/*左移子程序*/
LEFT:
CLC
LEFT1:
RCLAL,1
LOOPLEFT1
RET
*************************************************************************;
/*全亮子程序*/
*************************************************************************ALLON:
INAL,00H
/*全灭子程序*/
*************************************************************************
ALLOFF:
INAL,0FFH
/*延时子程序*/
DELAY:
PUSHCX
MOVCX,0FFFFH
LOOP$
POPCX
RET
END
2、交通灯程序
.MODELsmall
A8255EQU7000H
B8255EQU7001H
C8255EQU7002H
D8255EQU7003H
MOVSP,9000H
TRAFFIC:
MOVDX,D8255;
状态口
方式0输出
MOVDX,A8255;
PA口地址
CALLST0
TRAFFIC1:
CALLST1
CALLST2
CALLST3
CALLST4
JMPTRAFFIC1
/*初始状态全为红灯*/
ST0:
MOVAL,1BH
RET
/*南北为绿灯,东西为红灯子程序*/
ST1:
MOVAL,33H
CALLDELAY1
/*南北红灯闪烁,东西为红灯子程序*/
ST2:
MOVCL,5H
ST20:
MOVAL,2BH
MOVAL,3BH
OUTDX,Al
LOOPST20
/*南北为红灯,东西为绿灯子程序*/
ST3:
MOVAL,1EH
/*南北为红灯,东西黄灯闪烁子程序*/
ST4:
MOVCL,5H
ST40:
MOVAL,1DH
MOVAL,1FH
LOOPST40
/*延时子程序*/
DELAY1:
MOVCX,0FFH
END
3、开关控制程序:
PAGE60,132
start:
MOVSP,9000H
MOVDX,D8255;
8255控制口口地址
MOVAL,90H;
控制字
S1:
MOVDX,A8255;
读A口数据
INAL,DX
MOVDX,B8255
OUTDX,AL;
送B口
JMPS1
END
八、实验结果
运行第一个流水灯程序以后,先是左边第一个LED灯亮,然后亮的灯的位置依次想右移动一个位置,然后到最右端以后再一次向左移动一个位置,再到顶端以后,LED灯全部点亮,然后全部熄灭;
运行第二个交通灯控制程序以后,先是两边都是红灯、然后一边是红灯的时候另一边是绿灯,然后状态交换,实现对交通控制灯的模拟;
运行第三个开关控制程序时,所有的发光二极管的亮灭状态和对应的控制开关状态相一致,改变开关的状态,则它对应控制的发光二极管的亮灭状态也随之改变。
九、实验小结
在前几次实验的经验和教训的基础上,这一次综合性的实验进行得还是比较顺利的,并且通过这次实验也系统地更深入地了解了8255这一功能比较综合、全面的芯片。
在做交通灯控制实验的时候,观察发现两边的状态其实不对称,后来检查程序没有错误,分析后发现是一边的黄灯对应的发光二极管出现了问题,不能亮。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 实验 报告