计算机原理实验四报告

更新时间:2024-05-14 22:09:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验四 接口程序设计编程训练

实验四 接口程序设计编程训练

学院(系):信通学院专业:通信工程 班级:通信工程1101 姓名: 张非凡 学号: 201181145

一、实验目的:

1. 掌握使用8255并行接口连接拨动开关,控制LED显示输出的技术。掌握循环结构程序

设计的方法。

2. 熟悉8254在系统中的电路接法,掌握8254的工作方式及应用编程。熟悉汇编语言分支

程序基本指令的使用方法。

3. 了解8259中断控制器的基本使用,掌握中断程序编程技术。熟悉利用汇编语言子程序

参数传递方法。

二、实验原理:

拨动开关和LED显示实验:

8255端口地址有四个,由于8255片选信号线与地址译码区的0~FH连接,即8255的I/O偏移地址为0~3,加上前一个实验所获知的I/O基址,两者相加之后才是最终访问8255的I/O地址。注意,该地址一定是一个16位数,所以I/O操作要使用IN AL,DX 和OUT DX, AL指令。

端口地址:A口地址为:200h; B口地址为:201h; C口地址为:202h; 控制口地址为:203h。 8254定时/计数器实验:

8254是可编程间隔定时器。它具有以下基本功能: (1)有3个独立的16位计数器;

(2)每个计数器可接二进制或十进制(BCD)计数; (3)每个计数器可编程工作于6种不同工作方式; (4)8254每个计数器允许的最高频率为10MHZ;

(5)8254有读回命令,除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容;

(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为n=f(clki)/f(outi),其中f(clki)是输入时钟脉冲的频率,f(outi)是输出波形的频率。 8254的工作方式如下述:

(1)方式0:计数到0结束输出正跃变信号方式。 (2)方式1:硬件可重触发单稳方式。 (3)方式2:频率发生器方式。 (4)方式3:方波发生器。

(5)方式4:软件触发选通方式。 (6)方式5:硬件触发选通方式 8259中断控制器实验:

1

实验四 接口程序设计编程训练

1. 8259中断控制器介绍

(1)8259中断控制器是Intel公司专为控制优先级中断而设计的芯片。它将中断源识别、排队以及提供中断矢量等电路集于一片中。

(2)只需对8259编程一片8259就可以管理8级中断,最多可用9片8259A来构成64级的主从式中断系统。

(3)每一级中断都可以屏蔽或允许。

(4)8259A可提供相应的中断向量,从而能迅速地转至中断服务程序。 (5)通过编程使8259A工作在多种不同的方式。 (6)工作时只需要一组+5V电源。 2. 8259中断控制器内部结构图

3. 8259命令寄存器及访问控制

8259的命令共有七个,分两类。一类是初始化命令字,有四个分别是ICW1-ICW4,另一类是操作命令字,有三个分别是OCW1-OCW3.各命令字的格式如下。

2

实验四 接口程序设计编程训练

A0 D7 D6 D5 D4 D3 D2 D1 D0 1 0 0 0 SFNM BUF M/S AEOI uPM 1-8088/8086CPU 0-8080/8085CPU 1-自动EOI方式 0-非自动EOI方式 0 1 1 × 0 1 非缓冲方式 缓冲方式从片 缓冲方式主片 1-特殊完全嵌套方式 0-一般完全嵌套方式

三、实验内容:

1. 将8255端口A的PA7-PA0与8个发光二极管L7-L0连接,PB2-PB0与拨动开关的K2-K0连

接,8255的CS与地址译码区的200-20FH端子连接,PC2(/ACK)与单脉冲的/PLUS端连接。先预置开关K2-K0为一组输入状态,然后按下单脉冲按键产生一个负脉冲,输入到PC2。用发光二极管LEDi亮,显示K2-K0的状态。 2. 使用单脉冲电路产生的脉冲信号作为386EX模块8259中断请求输入,每按一次单脉冲

按键,触发一次中断,使7段数码管显示的“5”字左移一位,显示到最左端后再从最右端开始显示,如此重复。

3

实验四 接口程序设计编程训练

3. 使用8254两个计数器级连,采用定时方式工作,周期性的点亮及熄灭发光二

极管各1秒。

四、电路图

图1:拨动开关和LED显示实验电路图

图2:8254定时/计数器实验电路图

图3:8259中断控制器实验电路图

五、实验步骤:

1. 按图1将8255端口A与8位拨动开关连接,8255端口B与8位LED连接,选择 8255 为方

式0工作,编程序完成LED实时显示开关状态的功能,即每位LED对应一位开关状态。开关往下拨动,对应LED灭,开关往上拨动,对应LED点亮。 2. 按图2连接电路图,连接好后把程序下载到CPU中,观察实验现象。

3. 按图3连接电路图,接好后把程序下载到CPU中。摁下单脉冲按键,触发一次中断,使

4

实验四 接口程序设计编程训练

7段数码管显示的字左移一位,之后重复按下单脉冲按键,观察数码管显示变化情况。

六、程序流程图:

开始写8255控制字从8255的A口输入开关状态从8255的B口输出显示 图4:拨动开关和LED显示实验流程图 5

5:8254定时/计数器实验流程图

本文来源:https://www.bwwdw.com/article/7bz7.html

Top