微机原理实验.docx

上传人:b****5 文档编号:2827318 上传时间:2022-11-15 格式:DOCX 页数:12 大小:210.26KB
下载 相关 举报
微机原理实验.docx_第1页
第1页 / 共12页
微机原理实验.docx_第2页
第2页 / 共12页
微机原理实验.docx_第3页
第3页 / 共12页
微机原理实验.docx_第4页
第4页 / 共12页
微机原理实验.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

微机原理实验.docx

《微机原理实验.docx》由会员分享,可在线阅读,更多相关《微机原理实验.docx(12页珍藏版)》请在冰豆网上搜索。

微机原理实验.docx

微机原理实验

接口实验部分:

几点约定:

1、实验电路介绍中凡不加“利用通用插座”说明的均为实验台上已固定电路。

2、实验电路连线在图中均用虚线表示,实线为已连好电路。

实验一I/O地址译码

一、实验目的

掌握I/O地址译码电路的工作原理。

二、实验原理和内容

实验电路如图

(1)所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。

译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:

280H~287H,Y1:

288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。

例如:

执行下面两条指令

MOVDX,2A0H

OUTDX,AL(或INAL,DX)

Y4输出一个负脉冲,执行下面两条指令

MOVDX,2A8H

OUTDX,AL(或INAL,DX)

Y5输出一个负脉冲。

利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。

实验二可编程并行接口

(一)

(8255方式0)

一、实验目的

1.掌握8255方式0的工作原理及使用方法。

二、实验内容

1.实验电路如图,8255C口接逻辑电平开关K0~K7,A口接LED显示电路L0~L7。

2.编程从8255C口输入数据,再从A口输出。

三、编程提示

1、8255控制寄存器端口地址28BH

A口的地址288H

C口的地址28AH

2、参考流程图

实验三七段数码管

一、实验目的

掌握数码管显示数字的原理

二、实验内容

1.静态显示:

按图1连接好电路,将8255的A口PA0~PA6分别与七段数码管的段码驱动输入端a~g相连,位码驱动输入端S1接+5V(选中),S0、dp接地(关闭)。

编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来。

图1图2

2.动态显示:

按图2连接好电路,七段数码管段码连接不变,位码驱动输入端S1,S0接8255C口的PC1,PC0。

编程在两个数码管上显示56。

3.动态显示:

(选作)按图13连接好电路,编程在两个数码管上循环显示00~99

三、编程提示

1、实验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的数码管亮,位码加反相驱动器,位码输入端高电平选中。

2、段数码管的字型代码表如下表:

3、参考流程图(见图3)

实验四竞赛抢答器

一、实验目的

1、了解微机化竞赛抢答器的基本原理。

2、进一步学习使用并行接口。

二、实验内容

图27为竞赛抢答器(模拟)的原理图,逻辑开关K0~K7代表竞赛抢答按钮0~7号,当某

个逻辑电平开关置“1”时,相当某组抢答按钮按下。

在七段数码管上将其组号(0~7)显

示出来,并使微机扬声器响一下。

三、编程提示

设置8255为C口输入、A口输出,读取C口数据,若为0表示无人抢答,若不为0则有人抢答。

根据读取数据可判断其组号。

从键盘上按空格键开始下一轮抢答,按其它键程序退出。

四、参考流程图

五、参考程序:

QDQ.ASM

datasegment

ioportequ0d400h-0280h

io8255aequioport+28ah

io8255bequioport+28bh

io8255cequioport+288h

leddb3fh,06h,5bh,4fh,66h,6dh,7dh,07h;数码表

dataends

codesegment

assumecs:

code,ds:

data

start:

movax,data

movds,ax

movdx,io8255b;设8255为A口输出,C口输入

movax,89h

outdx,al

movbx,offsetled;使BX指向段码管首址

sss:

movdx,io8255a

inal,dx;从8255的C口输入数据

oral,al;比较是否为0

jesss;若为0,则表明无键按下,转sss

movcl,0ffh;cl作计数器,初值为-1

rr:

shral,1

inccl

jncrr

moval,cl

xlat

movdx,io8255c

outdx,al

movdl,7;响铃ASCII码为07

movah,2

int21h

wai:

movah,1

int21h

cmpal,20h;是否为空格

jneeee;不是,转eee

moval,0;是,关灭灯

movdx,io8255c

outdx,al

jmpsss

eee:

movah,4ch;返回

int21h

codeends

endstart

实验五交通灯控制实验

一.实验目的

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

二.实验内容

如图-29,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东

西路口的交通灯与PC2、PC1、PC0相连。

编程使六个灯按交通灯变化规律亮灭。

三.编程提示:

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

(1)南北路口的绿灯、东西路口的红灯同时亮30秒左右。

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

(3)南北路口的红灯、东西路口的绿灯同时亮30秒左右。

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

(5)转

(1)重复。

四、参考流程图

五、参考程序:

JTD.ASM

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

;*十字路口红绿灯模拟演示程序*;

;*端口各灯的设置:

*;

;*1红1黄1绿002红2黄2绿*;

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

datasegment

ioportequ0d400h-0280h

io8255aequioport+28ah

io8255bequioport+28bh

portc1db24h,44h,04h,44h,04h,44h,04h;六个灯可能

db81h,82h,80h,82h,80h,82h,80h;的状态数据

db0ffh;结束标志

dataends

codesegment

assumecs:

code,ds:

data

start:

movax,data

movds,ax

movdx,io8255b

moval,90h

outdx,al;设置8255为C口输出

movdx,io8255a

re_on:

movbx,0

on:

moval,portc1[bx]

cmpal,0ffh

jzre_on

outdx,al;点亮相应的灯

incbx

movcx,20;参数赋初值

testal,21h;是否有绿灯亮

jzde1;没有,短延时

movcx,2000;有,长延时

de1:

movdi,9000;di赋初值5000

de0:

decdi;减1计数

jnzde0;di不为0

loopde1

pushdx

movah,06h

movdl,0ffh

int21h

popdx

jzon;没有,转到on

exit:

movah,4ch;返回

int21h

codeends

endstart

74LS76:

双J-K触发器(边沿)5-VCC;13-GND

74LS74:

双D触发器(上升沿)14-VCC;7-GND

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

当前位置:首页 > 求职职场 > 简历

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

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