实验二 8255A并行接口实验

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

实验二 8255A并行接口实验(一)

一实验目的

1、掌握通过8255A并行口传输数据控制LED发光二极管的亮灭;进一

步熟悉软件编程环境。

二实验设备

1、微机系统一套;

2、TPC-3型微机接口实验系统一台;

3、导线若干。

三实验内容

1、基础部分:用8255A的A端口控制8个LED发光二极管的亮和灭(端口

输出为1则亮,输出为0则灭)。其中L0―L2为东西方向,L5―L7为南北

方向、L3-L4不用,PA口与相应的发光二极管驱动信号输入端相连,输入端

为1时发光二极管亮。接线如图4-5所示。

图4-5

编制程序,通过8255A控制发光二极管,以模拟交通灯的管理。

2.提高部分:利用开关K0,K1的控制,以模拟几种交通灯的管理,具体要求

为:

K0K1灯控制

00正常运行

01南北路口绿灯亮、东西路口红灯亮

10东西路口绿灯亮、南北路口红灯亮

3.如果模拟车流量大小来来决定红绿灯交通时间,请问你有什么解决办法。如果

能解决请加以解释并编程调试。

四、编程提示:

1.要完成本实验,首先必须了解交通灯的亮灭规律。设有一个十字路口,南北、东西方向初始态为四个路口的红灯全亮。之后,南北路口的绿灯亮,东西

路口的红灯亮,南北路口方向通车。延迟一段时间后,南北路口的绿灯熄灭,

而南北路口的黄灯开始闪烁。闪烁8次后,南北路口的红灯亮,同时东西路口

的绿灯亮,东西路口方向开始通车。延迟一段时间后,东西路口的绿灯熄灭,

而黄灯开始闪烁。闪烁苦干次后,再切换到南北路口方向。之后,重复上述过

程。

2.程序中应设定好8255A的工作模式,使三个端口均工作于方式0,并处于输出态

3.8255A的A端口地址为:288H

B端口地址为:289H

C端口地址为:28AH

控制口地址为:28BH

五、实验要求:

1.做好实验预习和准备工作,并写出预习报告(要求写出实验的流程图及程序),熟练掌握8255A编程原理及编程方法。

2.实验操作的最低要求是要做出实验内容的基础部分,然后根据实际操作能力争取做出实验内容的提高部分及回答实验内容的第三部分问题。

3.写出实验报告,内容为:

1)实验目的;

2)实验设备;

3)实验中遇到的问题及解决问题的分析思路与办法,问题定位及问题的性质;

4)对本实验的建议及有何创新。

;这是自动生成的代码模板

STACKS SEGMENT STACK ;堆栈段

DW 128 DUP(?) ;注意这里只有128个字节

STACKS ENDS

DATAS SEGMENT ;数据段

;请在这里定义您的数据

DATAS ENDS

CODES SEGMENT ;代码段

ASSUME CS:CODES,DS:DATAS

START: MOV AX,DATAS ;初始化

MOV DS,AX

MOV AL,80H

MOV DX,028BH

OUT DX,AL

MOV AL,84H ;初态红灯全亮

MOV DX,288H

OUT DX,AL

MOV CX,30

D1: MOV AL,24H ;南北绿灯亮,东西红灯亮MOV DX,288H

OUT DX,AL

CALL DELAY

LOOP D1

MOV CX,8

D2: MOV AL,44H ;南北黄灯亮,东西红灯亮MOV DX,288H

OUT DX,AL

CALL DELAY

MOV AL,04H

MOV DX,288H

OUT DX,AL

CALL DELAY

LOOP D2

MOV CX,30

D3: MOV AL,81H ;南北红灯亮,东西绿灯亮MOV DX,288H

OUT DX,AL

CALL DELAY

LOOP D3

MOV CX,8

D4: MOV AL,82H :南北红灯亮,东西黄灯亮MOV DX,288H

OUT DX,AL

CALL DELAY

MOV AL,80H

MOV DX,288H

OUT DX,AL

CALL DELAY

LOOP D4

MOV AH,01H

INT 16H

JZ D1

MOV AX,4C00H ;退出程序

INT 21H

DELAY PROC NEAR

PUSH CX

PUSH DI

MOV CX,9000H

Y1: MOV DI ,5000H

X1: DEC DX

JNZ X1

LOOP Y1

POP DI

POP CX

RET

DELAY ENDP

CODES ENDS

END START

MY8255_A EQU 288H

MY8255_B EQU 289H

MY8255_C EQU 28AH

MY8255_MODE EQU 28BH

STACKS SEGMENT STACK ;堆栈段

DW 128 DUP(?) ;注意这里只有128个字节STACKS ENDS

DATAS SEGMENT ;数据段

;请在这里定义您的数据

DATAS ENDS

CODES SEGMENT ;代码段

ASSUME CS:CODES,DS:DATAS

相关文档
最新文档