微机原理上机实验三+五实验报告 简单IO16位实验 8255控制交通灯信号实验.docx

上传人:b****8 文档编号:28036121 上传时间:2023-07-07 格式:DOCX 页数:12 大小:444.12KB
下载 相关 举报
微机原理上机实验三+五实验报告 简单IO16位实验 8255控制交通灯信号实验.docx_第1页
第1页 / 共12页
微机原理上机实验三+五实验报告 简单IO16位实验 8255控制交通灯信号实验.docx_第2页
第2页 / 共12页
微机原理上机实验三+五实验报告 简单IO16位实验 8255控制交通灯信号实验.docx_第3页
第3页 / 共12页
微机原理上机实验三+五实验报告 简单IO16位实验 8255控制交通灯信号实验.docx_第4页
第4页 / 共12页
微机原理上机实验三+五实验报告 简单IO16位实验 8255控制交通灯信号实验.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

微机原理上机实验三+五实验报告 简单IO16位实验 8255控制交通灯信号实验.docx

《微机原理上机实验三+五实验报告 简单IO16位实验 8255控制交通灯信号实验.docx》由会员分享,可在线阅读,更多相关《微机原理上机实验三+五实验报告 简单IO16位实验 8255控制交通灯信号实验.docx(12页珍藏版)》请在冰豆网上搜索。

微机原理上机实验三+五实验报告 简单IO16位实验 8255控制交通灯信号实验.docx

微机原理上机实验三+五实验报告简单IO16位实验8255控制交通灯信号实验

微机原理上机实验(三+五)实验报告

实验三:

简单I/O(16位)实验

一、实验目的

1、了解外设的扩展方法,掌握外设的读写时序。

2、了解74HC273、74HC244的功能,掌握它们的使用方法。

3、掌握CPU对16位外设的访问方法

4、认真预习本节实验内容,尝试自行编写程序,填写实验报告。

二、实验内容

1、说明:

二片74HC244组成16位的只读外设,二片74HC273组成16位的只写外设,它们都可以按字节或字方式操作。

实验仪具有16位数据总线D0..D15、BLE(低电平有效,选中挂在低8位数据总线上外设)、BHE(低电平有效,选中挂在高8位数据总线上外设);BLE、BHE同时有效,对外设字方式读写,BLE或BHE有效,对外设字节方式读写。

二片74HC273的输出端与F4区的16个发光二极管相连;低位74HC244的输入端与F4区的8个拨动开关相连,8个拨动开关循环左移一位后与高位74HC244的输入端相连。

2、编写程序:

将B4区的二片74HC244中数据读出、写入二片74HC273中;然后逐一点亮挂在74HC273上的16个发光二级管;循环执行

3、连接线路验证功能,熟悉它的使用方法。

三、实验代码

IO244

EQU

0230H

;244(16位)片选信号

IO273

EQU

0230H

;273(16位)片选信号

_STACK

SEGMENT

STACK

DW

100DUP(?

_STACK

ENDS

_DATA

SEGMENT

WORDPUBLIC'DATA'

_DATA

ENDS

CODE

SEGMENT

START

PROC

NEAR

ASSUME

CS:

CODE,DS:

_DATA,SS:

_STACK

MOV

MOV

AX,_DATA

DS,AX

MOV

DX,IO244

;选定244

IN

AX,DX

;从244读取开关数据(16位,K0K7K6K5K4K3K2K1K7K6K5K4K3K2K1K0)

MOV

DX,IO273

OUT

DX,AX

;将244的开关数据传输至273的对应接口

CALL

Delay

调用Delay程序

CALL

Delay

CALL

Delay

CALL

Delay

CALL

Delay

CALL

Delay

MOV

DX,IO273

MOV

AX,0FFFEH

START1:

OUT

DX,AX

;将273的K0置0,其余端口置1

CALL

Delay

TEST

AX,8000H

;检查AX的D15位是否为1

JZ

START

;若AX的D15位为1,则转向START程序

ROL

AX,1

;将AX循环左移一位

JMP

START1

;循环执行START1

Delay

PROC

NEAR

;延时

Delay1:

XOR

CX,CX

;将CX清零

LOOP

$

;延时

RET

返回调用处

Delay

ENDP

START

ENDP

CODE

ENDS

END

START

四、拓展题与拓展实验

1、画出读(74HC244)写(74HC273)的时序。

74HC24474HC274

 

2、以上程序中,使用16位方式读写外设,请按照8位方式,重编程序。

IO244EQU0230H;244(16位)片选

IO273EQU0230H;273(16位)片选

_STACKSEGMENTSTACK

DW100DUP(?

_STACKENDS

_DATASEGMENTWORDPUBLIC'DATA'

_DATAENDS

CODESEGMENT

STARTPROCNEAR

ASSUMECS:

CODE,DS:

_DATA,SS:

_STACK

MOVAX,_DATA;数据段

READMOVDX,IO244;读取IO244

INAL,DX;读取开关数据(低8位,K7K6K5K4K3K2K1K0)

MOVDX,IO273;写IO273

OUTDX,AL;将读进来的开关状态写到IO273

JMPREAD

STARTENDP

CODEENDS

ENDSTART

3、绘制实验详细电路图

 

实验五:

8255控制交通灯实验

一、实验目的

1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。

学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。

2、熟悉8255内部结构和与8086的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。

3、认真预习本节实验内容,尝试自行编写程序,填写实验报告。

二、实验内容

1、编写程序:

使用8255的PA0..2、PA4..6控制LED指示灯,实现交通灯功能。

2、连接线路验证8255的功能,熟悉它的使用方法。

三、实验代码

COM_ADD

EQU

0273H

PA_ADD

EQU

0270H

PB_ADD

EQU

0271H

PC_ADD

EQU

0272H

_STACK

SEGMENT

STACK

DW

100DUP(?

_STACK

ENDS

_DATA

SEGMENT

WORDPUBLIC'DATA'

LED_Data

DB

10111110B

;东西绿灯,南北红灯

DB

10111111B

;东西绿灯闪烁,南北红灯

DB

10111101B

;东西黄灯亮,南北红灯

DB

11101011B

;东西红灯,南北绿灯

DB

11111011B

;东西红灯,南北绿灯闪烁

DB

11011011B

;东西红灯,南北黄灯亮

_DATA

ENDS

CODE

SEGMENT

START

PROC

NEAR

ASSUME

CS:

CODE,DS:

_DATA,SS:

_STACK

MOV

AX,_DATA

MOV

DS,AX

NOP

MOV

DX,COM_ADD

MOV

AL,80H

;PA、PB、PC为基本输出模式

OUT

DX,AL

MOV

DX,PA_ADD

;灯全熄灭

MOV

AL,0FFH

OUT

DX,AL

LEA

BX,LED_Data

START1:

MOV

AL,0

XLAT

OUT

DX,AL

;东西绿灯,南北红灯

CALL

DL5S

MOV

CX,6

START2:

MOVAL,1

XLAT

OUT

DX,AL

;东西绿灯闪烁,南北红灯

CALL

DL500ms

MOV

AL,0

XLAT

OUT

DX,AL

CALL

DL500ms

LOOP

START2

MOV

AL,2

;东西黄灯亮,南北红灯

XLAT

OUT

DX,AL

CALL

DL3S

MOV

AL,3

;东西红灯,南北绿灯

XLAT

OUT

DX,AL

CALL

DL5S

MOV

CX,6

START3:

MOV

AL,4

;东西红灯,南北绿灯闪烁

XLAT

OUT

DX,AL

CALL

DL500ms

MOV

AL,3

XLAT

OUT

DX,AL

CALL

DL500ms

LOOP

START3

MOV

AL,5

;东西红灯,南北黄灯亮

XLAT

OUT

DX,AL

CALL

DL3S

JMP

START1

DL500ms

PROC

NEAR

PUSH

CX

MOV

CX,60000

DL500ms1:

LOOP

DL500ms1

POP

CX

RET

DL500ms

ENDP

DL3S

PROC

NEAR

PUSH

CX

MOV

CX,6

DL3S1:

CALL

DL500ms

LOOP

DL3S1

POP

CX

RET

ENDP

DL5S

PROC

NEAR

PUSH

CX

MOV

CX,10

DL5S1:

CALL

DL500ms

LOOP

DL5S1

POP

CX

RET

ENDP

START

ENDP

CODE

ENDS

END

START

 

四、思考题与拓展实验

1、如何对8255的PC口进行位操作?

COM_ADDEQU0273H;控制字端口

PA_ADDEQU0270H

PB_ADDEQU0271H

PC_ADDEQU0272H

_STACKSEGMENTSTACK

DW100DUP(?

_STACKENDS

CODESEGMENT

STARTPROCNEAR

ASSUMECS:

CODE,SS:

_STACK

NOP

MOVAL,00H;AL置初值零

MOVDX,COM_ADD;写入PA控制字

MOVAL,90H;控制字——1001-0000让PA方式0输入

OUTDX,AL

REPEAT:

MOVDX,PA_ADD

INAL,DX;读入PA口数据——开关数据(高->低K8-K1)

ROLAL,1;AL循环左移一位AL变为K7K6K5K4K3K2K1K8

ANDAL,0FH;保证AL高四位为0

MOVDX,COM_ADD;写入控制字置位PC

OUTDX,AL;

JMPREPEAT

STARTENDP

CODEENDS

ENDSTART

2、绘制本实验的详细实验电路图。

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1