微机原理实验指导书---硬件4

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四8255A的应用

一、实验目的

进一步掌握8255A可编程并行口使用方法。

二、实验内容

1、交通灯

实验原理图如图所示。PB4~PB7和PC0~PC7分别与发光二极管电路L1~L12相连,本实验为模拟交通灯实验。交通灯的亮灭规律如下:设有一个十字路口,1、3为南北方向,2、4为东西方向,初始为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车;延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方

向通车;延时一段时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复上述过程。8255A的PB4~PB7对应黄灯,PC0~PC3对应,红灯,PC4~PC7对应绿灯。8255A工作于模式

0,并置为输出。由于各发光二极管为共阳极接法,使其点亮应使8255A 相应端口置0。

实验线路连接:L1-PC0,L4-PC1,L7-PC2,L10-PC3,2-PB4,L5-PB5,L8-PB6,L11-PB7,L3-PC4,L6-PC5,L9-PC6,L12-PC7。

2. 开关控制LED灯

实验原理如下图所示,PC口8位接8个开关K1~K8,PB口8位接8个发光二极管,从PC口读入8位开关量送PB口显示。拨动K1~K8,PB口上接的8个发光二极管L0~L7对应显示K1~K8的状态。(由于各发光二极管为共阴极接法,使其点亮应使8255A相应端口置1) 实验线路连接:

(1)8255A芯片PC0~PC7插孔依次接K1~K8。

(2)8255A芯片PB0~PB7插孔依次接L0~L7。

(3)8255A的片选插孔8255CS接译码输出Y7插孔。

3.跑马灯实验

用PA口8位控制8个发光二极管,通过软件编程,实现发光二极管从高位到低位依次亮灭,循环往复。(由于各发光二极管为共阴极接法,

使其点亮应使8255A相应端口置1)

实验线路连接:

(1)8255A芯片PA0~PA7插孔依次接发光二极管L0~L7。

(2)8255A的片选插孔8255CS接译码输出Y7插孔。

三、实验程序

实验一:

CODE SEGMENT

ASSUME CS:CODE

IOCONPT EQU 0073H

IOAPT EQU 0070H

IOBPT EQU 0071H

IOCPT EQU 0072H

ORG 1000H

START: MOV DX,IOCONPT

MOV AL,80H

OUT DX,AL

MOV DX,IOBPT

OR AL,0F0H

OUT DX,AL

MOV DX,IOCPT

MOV AL,0F0H

OUT DX,AL

CALL DELAY1

IOLED0: MOV AL,10100101B

MOV DX,IOCPT

OUT DX,AL

CALL DELAY1

CALL DELAY1

OR AL,0F0H

OUT DX,AL

MOV CX,8H

IOLED1: MOV DX,IOBPT AND AL,10101111B

OUT DX,AL

CALL DELAY2

OR AL,01010000B

OUT DX,AL

CALL DELAY2

LOOP IOLED1

MOV DX,IOCPT

MOV AL,0F0H

OUT DX,AL

CALL DELAY2

MOV AL,01011010B

OUT DX,AL

CALL DELAY1

CALL DELAY1

OR AL,0F0H

OUT DX,AL

MOV CX,8H

IOLED2: MOV DX,IOBPT AND AL,01011111B

OUT DX,AL

CALL DELAY2

OR AL,10100000B

OUT DX,AL

CALL DELAY2

LOOP IOLED2

MOV DX,IOCPT

MOV AL,0F0H

OUT DX,AL

CALL DELAY2

JMP IOLED0

DELAY1: PUSH AX

PUSH CX

MOV CX,0030H

DELY2: C ALL DELAY2

LOOP DELY2

POP CX

POP AX

RET

DELAY2: PUSH CX

MOV CX,8000H

DELA1: L OOP DELA1

POP CX

RET

CODE ENDS

END START

实验二:

CODE SEGMENT

ASSUME CS:CODE IOCONPT EQU 0073H IOCPT EQU 0072H

IOBPT EQU 0071H

ORG 1100H START: MOV AL, 89H

MOV DX, IOCONPT

OUT DX, AL

IOLED1: MOV DX,IOCPT

IN AL,DX

MOV DX,IOBPT

OUT DX,AL

JMP IOLED1 CODE ENDS

END START

实验三:

CODE SEGMENT ASSUME CS:CODE IOCONPT EQU 0073H IOAPT EQU 0070H IOBPT EQU 0071H IOCPT EQU 0072H

ORG 1000H START: M OV AX,DATA

MOV DS,AX

MOV DX,IOCONPT

MOV AL,80H

OUT DX,AL

MOV DX,IOAPT

MOV AL,7FH

OUT DX,AL

MOV BL ,AL

CALL DELLY

L1: MOV AL,BL

ROR AL,1

MOV BL,AL

MOV DX,IOAPT

相关文档
最新文档