微机原理与接口实验报告

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

微机接口实验报告

(2011-2012年第1学期考核要求)

实验一交通灯控制实验

【实验目的】

通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。【实验仪器】

1.PC微机系统一套

2.TPC-USB通用微机接口实验系统一套

【实验内容】

如下图所示,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0、作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律燃灭。

图1-1

【实验要求】

1.8255控制寄存器端口地址0EC0BH

8255C口地址0EC0AH

2.十字路口交通灯的变化规律要求:

(1)南北路口的绿灯、东西路口的红灯同时亮3s左右;

(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮;

(3)南北路口的红灯、东西路口的绿灯同时亮3s左右;

(4)南北路口的红灯继续亮,同时东西路口的黄灯闪烁若干次;

(5)转(1)重复。

实验流程图如下:

【实验程序和调试】

1.源程序

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

C口连接灯:南北红灯东西黄灯—10000010B=82H;

南北红灯东西绿灯—10000001B=81H;

南北黄灯东西红灯—01000100B=44H;

南北绿灯东西红灯—00100100B=24H;

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

MY8255_C EQU 0EC0AH ;8255的C口地址

MY8255_MODE EQU 0EC0BH ;8255的控制寄存器地址

STACK1 SEGMENT STACK

DW 256 DUP(?)

STACK1 ENDS

DA TA SEGMENT

LA DB ? ;定义数据变量

LB DB ?

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV DX,MY8255_MODE ;定义8255工作方式

MOV AL,80H ;工作方式0,A口和C口为输出

OUT DX,AL

LOOP1: MOV DX,MY8255_C ;写C口发出的数据,南北路口绿灯,东西路口红灯亮MOV AL,24H ;00100100B,PC5=PC2=1

OUT DX,AL

CALL DALL Y1

MOV CX,08H

L1: MOV DX,MY8255_C ;写C口发出的数据,南北方向黄灯亮,东西方向红灯亮MOV AL,44H ;01000100B,P6=P2=1

OUT DX,AL

CALL DALL Y2

MOV DX,MY8255_C ;写C口发出的数据,南北方向黄灯灭,东西方向红灯亮MOV AL,04H

OUT DX,AL

CALL DALL Y2

LOOP L1

MOV DX,MY8255_C ;写C口发出的数据,南北方向红灯亮,东西方向绿灯亮MOV AL,081H

OUT DX,AL

CALL DALL Y1

MOV CX,08H

L2: MOV DX,MY8255_C ;写C口发出的数据,南北方向红灯亮,东西方向黄灯亮

MOV AL,082H

OUT DX,AL

CALL DALL Y2

MOV DX,MY8255_C ;写C口发出的数据,南北方向红灯亮,东西方向黄灯灭MOV AL,080H

OUT DX,AL

CALL DALL Y2

LOOP L2

MOV AH,1 ;判断是否有按键按下,调用功能号1

INT 16H ;ROM BIOS 功能调用

JZ LOOP1 ;无按键则跳回继续循环,有则退出

QUIT: MOV AX,4C00H ;结束程序退出

INT 21H ;DOS 系统功能调用

DALL Y PROC NEAR ;软件延时子程序

PUSH CX

PUSH AX

MOV CX,0FFFH

D1: MOV AX,0FFFFH

D2: DEC AX

JNZ D2

LOOP D1

POP AX

POP CX

RET

DALL Y ENDP

DALL Y1 PROC NEAR ;软件延时子程序,东西方向红灯亮,南北方向绿灯亮PUSH CX

PUSH AX

MOV CX,1EH

D3: CALL DALL Y

LOOP D3

POP AX

POP CX

RET

DALL Y1 ENDP

DALL Y2 PROC NEAR ;软件延时子程序,黄灯闪烁(即亮与灭)的时间间隔PUSH CX

PUSH AX

MOV CX,02H

D4: CALL DALL Y

LOOP D4

POP AX

POP CX

RET

相关文档
最新文档