微型计算机原理及接口技术第8章8253
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计数器/定时器的内部结构
8253内部包含三个完全一样的计数器/定时器通道, 每个通道的工作是完全独立的
每个通道包含:
① 一个8位控制字寄存器:由编程设定该通道的工作方式、读 写格式和数制
② 一个16位计数初值寄存器:由程序设定初始计数值,可分 成高8位和低8位两个部分,可作8位寄存器使用
③ 一个计数器执行部件(实际的计数器):实际上是一个16 位减法计数器,它的起始值是初始寄存器的值,由程序设 定。可分成高8位和低8位两个部分
优点:电路结构简单,价格便宜,通过 改变电阻或电容值,可以在一定的定时 范围内改变定时时间
缺点:电路在硬件已连接好的情况下, 定时时间和范围就不能由程序来控制和 改变,而且定时精度也不高
555定时器外部引脚和内部结构
可编程硬件定时
定时原理:利用可编程定时器/计数器芯 片附加硬件电路实现定时
输出信号的波形由工作方式决定,同时还要受 到GATE引脚上的门控信号控制,它决定是否 允许计数
计数器/定时器的定时功能
当加到CLK引脚上的脉冲为精确的时钟脉 冲,可实现定时的功能。
定时时间决定于计数脉冲的频率和计数 器的初值。
定时时间=时钟脉冲周期×预置的计数初值
计数器/定时器的计数功能
方式1:可编程单稳态输出方式
写入控制字后OUT初始状态:高电平 门控信号GATE的作用:①高电平或低电平均不起作用;
②只有在GATE发生由低到高的正跳变,输出OUT由高
到低跳变,并开始计数;③在计数过程中,若GATE产 生负跳变,不影响计数;④在计数器回0之前,GATE 又产生由低到高的正跳变,8253又将初始值装入,重 新开始计数,使生成脉冲加宽。 计数过程中OUT状态:保持低电平 计数结束OUT状态:发生由低到高的正跳变。 计数器回0后,是否重新计数:否 应用:用于定时
数据总线缓冲器
说明:
8位双向三态缓冲器 8253与系统数据总线接口,通常连接低8
位数据总线D7~D0
功能:
1) 写入8253 编程控制字 2) 读取8253某一通道的计数值 3) 向8253某一通道写入计数初值
读写控制电路
控制信号:
读/写命令RD、WR 片选信号CS,用来选通8253芯片 端口选择信号A1、A0,用来选择8253内部的四个端口
方式3:方波发生器
写入控制字后OUT初始状态:高电平 门控信号GATE的作用:①高电平允许计数; ②在计数
过程中,GATE变为低电平时,禁止计数;③当GATE 产生正跳变时,又把预置的计数初值装入计数器,重 新开始计数。 计数过程中OUT状态:如果计数初值为偶数,则产生 占空比为1:1(n/2:n/2)的方波;如果计数初值为奇数, 则产生占空比为(n+1)/2 : (n-1)/2的方波,n为计数值 计数结束OUT状态:继续输出方波 计数器回0后,是否重新计数:是,如果在计数过程中 重新写入新的计数值,不影响当前的计数过程,即当 计数值为0时,一个计数周期结束,8253将按新写入的 计数值进行计数。 应用:用于分频
方式5:硬件触发选通
写入控制字后OUT初始状态:高电平 门控信号GATE的作用: ①高电平或低电平均不起作用;
②只有在GATE发生由低到高的正跳变,开始计数;③ 在计数过程中,若GATE产生负跳变,不影响计数;④ 在计数器回0之前,GATE又产生由低到高的正跳变, 8253又将初始值装入,重新开始计数。 计数过程中OUT状态:保持高电平 计数结束OUT状态:输出一个时钟周期的负脉冲 计数器回0后,是否重新计数:如果在计数过程中写入 新的计数值,但没有触发脉冲,计数过程不受影响; 计数器回0后,当GATE出现正跳变触发脉冲时,自动 将计数值装入执行部件,又重新计数 应用:用于硬件触发计数的场合
方式4:软件触发选通
写入控制字后OUT初始状态:高电平 门控信号GATE的作用:①高电平允许计数; ②在计数
过程中,GATE变为低电平时,禁止计数;③当GATE 变为高电平后,又把预置的计数初值装入计数器,重 新开始计数。 计数过程中OUT状态:保持高电平 计数结束OUT状态:输出一个时钟周期的负脉冲 计数器回0后,是否重新计数:否,若要继续计数,则 必须重新装入计数初值,由此称为软件触发方式 应用:用于软件触发计数的场合
不同之处:
8253最大输入时钟频率为2MHz,8254最大输入时钟可达 5MHz,8254-2达10MHz
8254有读回功能,可同时封锁1~3通道的计数值和状态值, 供CPU读取,8253每次只能锁存和读取一个通道的计数值, 不能读取状态值
8253外部引脚
引脚名 D7~D0 CLK0~CLK2
读写功能:RD、WR、CS、A1、A0共同完成读写功能 8总地0线址88的AA1 1A、0的A0连连接82:53由的于A18、08A80系,统分数配据给线82为538四位个,端地口址 8常连部088各8226个55A33端1的的A口DA017地的、~D址连A00都连接;使数:地用据8址0偶线8总6地的系线址低统的,8的A位08数,0置8据地为6才总址0,可线总这以为线样通1的68过位A22其5,、3低通内A18
0 0 0 方式0 0 0 1 方式1 x 1 0 方式2 x 1 1 方式3 1 0 0 方式4 1 0 1 方式5
计数格式说明
BCD格式说明: ①计数值范围:0000~9999H,其中0000表示最大值10000,即104; ②当预置了n=1234H,表示预置了一个十进制数1234。
二进制格式说明: ①计数值范围:0000~FFFFH,其中0000表示最大值65536,即216 ②当预置了n=1234H,表示预置了一个十六进制数1234H,即十进制数4660。
8253编程控制字
D7
D0
SC1 SC0 RL1 RL0 M2 M1 M0 BCD
1 BCD码计数 0 2进制计数
0 0 选择通道0 0 1 选择通道1 1 0 选择通道2 1 1 无效
0 0 计数器锁存,供CPU读取
0 1 只读/写计数器低位字节
1 0 只读/写计数器高位字节
1
1
先读/写计数器低位字节, 后读/写高位字节
当用8253作外部事件计数器时,在CLK 引脚上所加的计数脉冲是由外部事件产 生的,这些脉冲的间隔可以是不相等的, 这种情况下可以作计数器使用。
可以用在工业生产中对产品的计数
计数器/定时器输入脉冲的分频
对8253,外部输入到CLK引脚上的时钟 脉冲频率不能大于2MHz。
如果大于2MHz,则必须经分频后才能送 到CLK端。
优点:①灵活方便;②由微处理器的时 钟信号提供时间基准,因这种时钟信号 由晶体振荡器产生,故计时精确稳定; ③不占用CPU的时间,提高了CPU的利用 率;④应用广泛
Intel 8253简介
可以完成定时和计数功能,称为Programmable Interval Timer, PIT
内部有三个独立的、完全相同的16位计数器通道 最高计数频率能达到2MHz Intel 8254是8253的增强型产品,它与8253引脚兼容,
8253门控信号的控制功能
工作方式 GATE为低电 GATE为上升沿(硬件启 平或下降沿 动)
方式0
禁止计数 -
GATE为高电平 (软件启动)
允许计数
方式1 方式2 方式3 方式4
-
禁止计数, 使输出变高 禁止计数, 使输出变高 禁止计数
从初始值开始计数,下一 - 个时钟后OUT变低电平
GATE0~GATE2
OUT0~OUT2 RD WR CS A0 A1
信号名
数据线,双向,三态 计数器的输入时钟脉冲输 入端 计数器的门控脉冲输入端 计数器的输出端 读信号,输入 写信号,输入 片选信号,输入 8253内部端口选择线,输 入
8253内部结构
1、数据总线缓冲器 2、读/写控制逻辑 3、计数器0~2 4、控制字寄存器
第八章 可编程计数器/定时器 8253及其应用
计算机定时方法 Intel 8253简介 8253外部引脚 8253内部结构 8253编程控制字 8253初始化编程步骤 8253工作方式 8253应用举例
计算机定时方法
软件定时 不可编程硬件定时 可编程硬件定时
位数据线与8253进行通信。
8253的端口寻址
引脚
CS
A1
0
0
0
0
0
1
0
1
1
×
寻址的端口 A0
0
计数器0
1
计数器1
0
计数器2
1
控制字寄存器
× 本芯片没有被选中
8253输入信号的组合功能
CS RD WR A1 A0 0 1 0 0 0 写入计数器0
功能
0 1 0 0 1 写入计数器1
0 1 0 1 0 写入计数器2
8253初始化编程步骤
刚接通电源,8253处于未定义状态,在 使用之前必须用程序把它们初始化为所 需的特定模式,这个过程称为初始化编 程
对8253进行初始化编程,按下列步骤进 行:
① 写入控制字 ② 写入计数初值
8253初始化举例
在某微机系统中,8253端口基地址为 3F8H(端口地址均为偶地址),要求8253 的通道1工作于方式3,并对它写入计数 初值1234H, BCD码格式计数。写出初 始化程 DX,3FAH
MOV DX,3FEH
MOV AL,34H
MOV AL,01110111B
OUT DX,AL
OUT DX,AL
MOV AL,12H
OUT DX,AL
8253的工作方式概述
方式0计数结束中断方式 方式1可编程单稳态输出方式 方式2比率发生器 方式3方波发生器 方式4软件触发选通 方式5硬件触发选通
④ 一个输出锁存器:用来锁存计数器执行部件的值,必要时 CPU可对它进行读取
计数器/定时器的工作原理
每个通道工作时,都是对输入到CLK引脚上的 脉冲按2进制或10进制格式进行计数
计数采用倒计数法,先对计数器预置一个初值, 再把初值装入实际的计数器,然后,开始递减 计数
每输入一个时钟脉冲,计数器的值减1,当计 数器的值减为0时,便从OUT引脚输出一个时 钟信号。
0 1 0 1 1 写入控制字寄存器
0 0 1 0 0 读计数器0
0 0 1 0 1 读计数器1
0 0 1 1 0 读计数器2
0 0 1 1 1 无操作
1 × × × × 本芯片未被选中
0 1 1 × × 无操作
计数器/定时器0~2
计数器/定时器的内部结构 计数器/定时器的工作原理 计数器/定时器的定时功能 计数器/定时器的计数功能 计数器/定时器的输入脉冲的分频
方式0:计数结束中断方式
写入控制字后OUT初始状态:低电平 门控信号GATE的作用:①高电平允许计数;
②如果在计数过程GATE为低电平,则暂停计 数;③GATE回到高电平后,继续往下计数。 计数过程中OUT状态:保持低电平 计数结束OUT状态:发生由低到高的正跳变, 可以通过8259A向CPU发出中断请求信号。 计数器回0后,是否重新计数:否 应用:用于工业生产中对产品的计数
软件定时
定时原理:让机器循环执行某一条或一 系列指令,这些指令本身并没有具体的 执行目的,但由于执行每条指令都需要 一定的时间,重复执行这些指令就会占 有一段固定的时间。
优点:灵活方便,节省费用 缺点:CPU的利用率太低
不可编程硬件定时
定时原理:利用555定时器加上外接电阻 和电容就能构成定时电路
方式2:比率发生器
写入控制字后OUT初始状态:高电平 门控信号GATE的作用:①高电平允许计数; ②在计数
过程中,若GATE变为低电平时,禁止计数;③当 GATE由低变高的正跳变时,又把预置的计数初值装入 计数器,重新开始计数。 计数过程中OUT状态:保持高电平 计数结束OUT状态:产生一个时钟周期的负脉冲。 计数器回0后,是否重新计数:是,如果在计数过程中 重新写入新的计数值,不影响当前的计数过程,即当 计数值为0时,一个计数周期结束,8253将按新写入的 计数值进行计数。 应用:用于分频