前言
以下内容源自微型计算机原理(第四版)王忠民主编
来源于教学PPT
仅供学习交流使用
第8章可编程接口芯片及应用
8.1 可编程定时器/计数器芯片 8253/8254
微机系统中很多地方都要用到定时功能。例如第六章介绍的DRAM,系统中就是采用定时器来触发启动动态刷新。过程控制领域则大量需要计数功能。不论是定时还是计数,都是通过对时钟脉冲计数来完成的。当对标称方波进行脉冲计数,就可以完成定时。
定时和计数的产生
(1)定时控制在微机系统中具有极为重要的作用
(2)计数是许多过程控制领域常用的功能
(3)定时和计数之间的关系
定时器通过记录高精度晶振脉冲信号的个数从而输出准确的时间间隔。
计数器记录反映外设某种状态的具有一定随机性的脉冲信号。
8.1.1 8253的结构与功能
1. 8253的引脚
8253的外部引脚
24引脚双列直插式芯片
3个独立的16位计数器通道
每个计数器通道有6种工作方式
按二进制或十进制(BCD码)计数
2. 8253 的内部结构
1.计数通道
8253内部计数器的结构
8253内部有3个独立工作的16位计数通道
CR:16位初值寄存器
CE:减1计数器
OL:输出锁存器
2.数据总线缓冲器
3.读写控制逻辑
8253的端口地址及内部操作
4.控制字寄存器
计数通道的选择
读写方式的确定
工作方式的确定
计数方式的确定
8.1.2 8253的编程
1. 8253的控制字格式
2. 8253的初始化编程
- 确认端口地址
- 确定工作方式与计数初值
- 确定控制字
- 写计数器的控制字与计数器计数初值,完成初始化编程
设8253的端口地址为0040H0043H,已知时钟端CLK2输入信号的频率为2 MHz。使用8253计数器2产生频率为40 kHz的方波,初始化8253,完成所需功能。
1、确认端口地址
地址范围40H~43H 0#计数器端口地址:40H 1#计数器端口地址:41H 2#计数器端口地址:42H 控制寄存器端口地址:43H
2、确定工作方式与计数初值
工作于方式3,输出方波 计数初值=输入频率/输出频率 =2000000Hz /40000Hz =50 =0032H
3、确定控制字
4、初始化程序
MOV AL,10110110B OUT 43H,AL ;送控制字 MOV AL,32H OUT 42H,AL ;送低8位 XOR AL,AL OUT 42H,AL ;送高8位
在计数过程中读8253的计数值
- 给控制字寄存器写入锁存命令
- 从锁存器中读出计数值,若是16位,则分别读出
- 不影响计数通道正常计数
在前例的基础上,读出2#计数器当前计数值的程序段:
MOV AL, 10000000B OUT 43H,AL IN AL,42H ;读低8位 MOV CL,AL IN AL,42H ;读高8位 MOV CH,AL ;CX中是当前计数值
8.1.3 8253的工作方式
计数结束产生中断方式
可编程单次脉冲
分频工作方式
方波发生器
软件触发选通
硬件触发选通
1.开始计数:
硬件触发还是软件触发
写入方式字OUT引脚电平
2.计数中:
计数中OUT输出波形
计数过程中门控信号GATE对计数操作的影响
3.计数结束:
是否重复计数
计数初值写入初值寄存器后,在门控有效的前提下,要经过一个CLK输入后才开始计数
计数器在CLK的下降沿使计数值减1
1. 方式0 —计数结束产生中断方式
门控失效则暂停计数。(门控有效后继续计数)
2. 方式1 —可编程单次脉冲
3. 方式2 —分频工作方式
Gate失效会暂停计数,(有效后重新开始计数)
4. 方式3 —方波发生器
GATE电平对波形的影响与方式2一致
5. 方式4 —软件触发选通
不能自动重复计数,每次启动计数都要靠重新写入计数值,所以称为“软件触发选通”,改变初值可以方便地发出选通信号的延迟时间
6. 方式5—硬件触发选通