8254定时与计数器实验精编版 下载本文

XX学院

实 验 报 告

实验名称 姓 名

学 号

班 级

教 师

日 期

1

一、实验内容与要求

1.1 实验内容

本次实验分为如下2个子实验:

(1) 计数应用实验:编写程序,应用8254的计数功能,使用单次脉冲模拟计数,使每当按

下‘KK1+’5次后,产生一次计数中断,并在屏幕上显示一个字符‘M’; (2) 定时应用实验:编写程序,应用8254的定时功能,产生一个1s的方波,并用本装置

的示波器功能来观察。

1.2 实验要求

本次实验中2个子实验的实验要求如下:

(1) 计数应用实验:将8254的计数器0设置为方式3,计数值为十进制数4,用单次脉冲

KK1+作为CLK0时钟,OUT0连接MIR7,每当KK1+按动5次后产生中断请求,在屏幕上显示字符“M”;

(2) 定时应用实验:将8254的计数器0和计数器1都设置为方式3,用信号源1MHz作为

CLK0时钟,OUT0为波形输出1ms方波,再通过CLK1输入,OUT1输出1s方波。

二、实验原理与硬件连线

2.1 实验原理

8254是Intel公司生产的可编程间隔定时器。是8253的改进型,比8253具有更优良的性能。8254具有以下基本功能:

(1) 有三个地理的16位计数器。

(2) 每个计数器可按二进制或十进制(BCD)计数。 (3) 每个计数器可编程工作于6种不同的工作方式。

(4) 8254每个计数器允许的最高计数频率为10MHz(8253为2MHz)。

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

寄存器的内容

(6) 计数脉冲可以是有规律的时钟信号,也可以是随机信号。计数初值公式为:

n=fCLKi÷fOUTi,其中fCLKi是输入时钟脉冲的频率,fOUTi是输出波形的频率。

1

图2-1是8254的内部结构框图和引脚图,它是由与CPU的接口,内部控制电路和三个计数器组成。8254的工作方式如下述:

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

D:[7:0]数据总线缓冲器计数器0CLK0GATE0OUT0RDWRA0A1CSR/W逻辑电路内部总线计数器1CLK1GATE1OUT1控制寄存器计数器2CLK2GATE2OUT2图2-1 8254内部结构图

8254的控制字有两个:一个用来设置计数器的工作方式,成为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标示位来区分。控制字格式如表4.5.1-4.5.3所示。

表2-1 8254的方式控制字格式

D7 D6 D5 D4 D3 D2 D1 D0 计数码制选择 0-二进制数 1-十进制数 计数器选择 00-计数器0 01-计数器1 10-计数器2 11-读出控制字标志 读/写格式选择 00-锁存计数值 01-读/写低8位 10-读/写高8位 11-先读写低8位,再读写高8位 工作方式选择 000-方式0 001-方式1 010-方式2 011-方式3 100-方式5 101-方式5 表2-2 8254读出控制字格式

2

D7 1 D6 1 D5 0-锁存计数值 D4 0-锁存状态信息 D3 D2 D1 D0 0 计数器选择(同方式控制字) 表2-3 8254状态字格式

D7 OUT引脚现行状态 1-高电平 0-低电平 D6 计数初值是否装入 1-无效计数 2-计数有效 D5 D4 D3 D2 D1 D0 计数器方式(同方式控制字) 8254实验单元电路图如下图所示:

D7D6D5D4D3D2D1D0OUT0GATE0CLK0VCCWRRDCSA1A0CLK1.8432MHZ8251-TRCLKVCCCLK1GATE1OUT1

图2-2 8254实验电路原理图

4.7K2.2 硬件连线

(1) 计数应用实验:

系统总线XD0~XD7分别与8254单元D0~D7相连,系统总线XA1~XA2分别与8254单元A0~A1相连,系统总线的IOW#、IOR#、IOY0(0600H)、MIR7分别于8254单元的WR、RD、CS、OUT0相连,8254单元的CLK0与单次脉冲单元的KK1+相连,如图2-3;

3

XD0.系统总线XD7XA1XA2IOW#IOR#IOY0........D0D7A0A1WRRDCS...CLK0KK1+单次脉冲单元OUT08254单元MIR7 图2-3 计数应用实验连线图

(2) 定时应用实验:

系统总线与8254单元类似于(1)中进行连线,然后将8254单元中的OUT0连接到CLK1,GATE1连接VCC,OUT1连接到A/D转换单元的IN0。AD转换单元A、B、C接地,并将D0~D7接到系统总线XD0~XD7上,并将WR、RD、CS、CLK分别连接到系统总线的IOW#、IOR#、IOY3(0680H)、CLK上。如图2-4所示。

XD0.XD7XA1XA2IOW#IOR#IOY0........D0D7A0A1WRRDCS...OUT0系统总线CLK1GATE1OUT1VCC1s方波输出CLKCLK08254单元XD0.XD7........D0D7...IN0AIOW#IOR#IOY3WRRDCSBCCLKCLKA/D转换单元

图2-4 8254定时应用实验接线图

4