文档介绍:实验七可编程定时/计数器与中断控制
一、实验目的
1. 掌握微机中断处理系统的基本原理、学习中断服务程序的编写方法。
2. 掌握8253/8254定时/计数器的基本原理和编程方法。
二、实验原理
本实验采用Intel8253作为计数器芯片,8254芯片是8253的兼容替代产品,计数速率
等性能优于8253。
1. 可编程定时/计数器8253功能简介
8253 含有三个独立的 16 位计数器,每个计数器连接外设的信号分别是:
CLK ——输入的脉冲信号或外部事件,计数器对此脉冲进行减 1 计数;
GATE ——启动/禁止计数的控制信号;
OUT ——输出信号。
每个计数器可有六种工作方式,均可由程序设置和改变,8253 的几种工作方式及特
点如表 所示。若一个计数器被设定为方式 0,计数初值 n,在控制信号 GATE 为高时
即可对输入的脉冲作减 1 计数,OUT 维持低电平;计数到 0 时,则由 OUT 端输出一个
高电平信号。若一个计数器被设定为方式 2,输入为周期性脉冲信号,且计数初值可自
动重新装入并连续计数,输出信号就成为周期信号,周期为 TOUT = n×TIN(或频率ƒOUT =
ƒIN / n),即可作为分频器应用。
表 8253 的 6 种工作方式
工作方式功能描述 GATE=0 启动方式初值设置说明
方式 0 计数到 0 输出高电平停止计数软件一次有效(n+1)TCLK 负脉冲
方式 1 硬件可重触发单稳态--- 硬件自动装入 nTCLK 负脉冲
方式 2 分频器停止计数软/硬件自动装入 TOUT=n×TCLK
方式 3 方波发生器停止计数软/硬件自动装入分频,占空比≈50﹪
方式 4 软件触发选通停止计数软件一次有效计数到 0 负 TCLK
方式 5 硬件触发选通--- 硬件自动装入波形同方式 4
注:软件启动是指当 GATE=1 时写入方式字和初值即启动; 硬件启动是指写入方式字和初值后要由 GATE 上升沿启动。
2. 8253编程简要说明
8253 的每个计数器必须在写入控制字和计数初值后才启动工作,一般的初始化编程
分为两步:先写入控制字、再写入计数初值。若要用到 2 个以上的计数器,则要对每个
计数器分别进行初始化。所有计数器的方式字都写入同一控制口地址,而各计数器的初
值则写入各自口地址(假设 8253 片选引脚 CS 连接的 I/O 端子为 280H,则 IO 基地址+0
对应计数器 0 地址、IO 基地址+1 对应计数器 1 地址、IO 基地址+2 对应计数器 2 地址、
50
IO 基地址+3 对应控制寄存器地址)
8253 控制字的格式:
表 8253 控制字格式
设置时应注意如下要点:
①设置 8253 的计数初值,1 是计数初值的最小值,0 是最大值。
②采用二进制计数,8253 的初值可以表示为十进制数、二进制数或十六进制数。当
初值小于 256,只写低字节;当初值大于等于 256,必须先写低字节后写高字节。
例 1:n = 50 = 32H = 00110010B
例 2:n =