8254定时与计数器实验精编版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XX学院
实验报告
实验名称
姓名
学号
班级
教师
日期
一、实验内容与要求
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=f CLKi÷f OUTi,其中f CLKi是输入时钟脉冲的频率,f OUTi是输出波形的频率。
图2-1是8254的内部结构框图和引脚图,它是由与CPU的接口,内部控制电路和三个计数器组成。8254的工作方式如下述:
(1)方式0:计数到0结束输出正跃变信号方式。
(2)方式1:硬件可重触发单稳方式。
(3)方式2:频率发生器方式。
(4)方式3:方波发生器。
(5)方式4:软件触发选通方式。
(6)方式5:硬件触发选通方式
D:[7:
RD
A0
A1
CS
CLK0
GATE0
OUT0
CLK1
GATE1
OUT1
CLK2
GATE2
OUT2图2-1 8254内部结构图
8254的控制字有两个:一个用来设置计数器的工作方式,成为方式控制字;另一个用来设置读回命令,称为读回控制字。这两个控制字共用一个地址,由标示位来区分。控制字格式如表4.5.1-4.5.3所示。
表2-1 8254的方式控制字格式
表2-2 8254读出控制字格式
表2-3 8254
状态字格式8254实验单元电路图如下图所示:
VCC
CLK1.8432MHZ
8251-TRCLK
图2-2 8254实验电路原理图
2.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;
图2-3 计数应用实验连线图
(2)定时应用实验:
系统总线与8254单元类似于(1)中进行连线,然后将8254单元中的OUT0连接到CLK1,GA TE1连接VCC,OUT1连接到A/D转换单元的IN0。AD转换单元A、B、C接地,并将D0~D7接到系统总线XD0~XD7上,并将WR、RD、CS、CLK分别连接到系统总线的IOW#、IOR#、IOY3(0680H)、CLK上。如图2-4所示。
VCC
图2-4 8254定时应用实验接线图
三、设计思路、步骤和程序流程图
3.1 设计思路
(1)计数应用实验:将8254的计数器0设置为方式0,计数值为十进制数4,用单次脉冲
KK1+作为CLK0时钟,OUT0连接MIR7,首先让程序进入死循环等待中断,每当
KK1+按动5次后产生中断请求,调用中断程序,在屏幕上显示字符“M”。
(2)定时应用实验:利用8254的两个计数装载过大的初始值,其中计数器0的OUT作为
计数器1的CLK的输入,当两个计数器的初值满足一定条件时,计数器1的OUT即为1s方波,并可通过软件的示波器直接观察。
3.2 实验步骤
(1)计数应用实验:
1.按图2-3连接电路;
2.编写实验程序,经编译、链接无误后装入系统;
3.单击RUN按钮,运行实验程序,每连续按动5次KK1+,在界面的输出区会显示
字符‘M’;
4.改变计数值,验证8254的计数功能。
(2)定时应用实验
1.按图2-4连接实验线路;
2.编写实验程序,经编译、链接无误后装入系统;
3.运行程序,8254的OUT1会输出1s的方波,用软件自带的示波器功能进行观察。
3.3 程序流程图
(1)计数应用实验:
主程序流程图如图2-5