第9章 定时和计数接口电路

文章目录

    • 定时/计数的基本概念
    • 可编程定时/计数器 Intel 8253
      • 下面主要讲常考的前4种方式
        • 方式0——计数结束后输出由低变高
          • 特点
        • 方式1——可编程序的单拍脉冲
          • 特点
        • 方式2——频率发生器(分频器)
          • 特点
        • 方式3 — 方波发生器
          • 特点
        • 不同方式的区别
    • 8253的应用
      • 初始化8253
    • Intel 8254
      • 相比8253,改进了
        • 计数频率高
        • 有读回命令(写入至控制字寄存器)
    • 课后习题

定时/计数的基本概念

所谓定时(计数)就是通过硬件或软件的方法产生一个时间基准,以此来实现对系统的定时或延时控制。要实现定时或延时控制,有三种主要方法:软件定时、纯硬件定时及可编程的硬件定时器/计数器。

可编程定时/计数器 Intel 8253

第9章 定时和计数接口电路_第1张图片

Intel 8253的内部结构

双箭头:可双向传输
单箭头:如控制字寄存器,只能写入而不能读出

第9章 定时和计数接口电路_第2张图片

8253的端口选择

第9章 定时和计数接口电路_第3张图片

Intel8253的控制字和编程

下面主要讲常考的前4种方式

方式0——计数结束后输出由低变高

第9章 定时和计数接口电路_第4张图片若在计数过程中改变计数初值,则按新的计数值重新开始计数:

第9章 定时和计数接口电路_第5张图片

特点
写入计数初值则启动
只计数一次
GATE=1时,才允许计数
如果GATE=0则计数暂停,当GATE=1后接着计数

方式1——可编程序的单拍脉冲

第9章 定时和计数接口电路_第6张图片

特点
计数由GATE启动
当计数到0后,不用送计数值,可再次由GATE脉冲启动,输出同样宽度的单拍脉冲。  

方式2——频率发生器(分频器)

第9章 定时和计数接口电路_第7张图片

特点
写入计数初值则启动
通过计数值N,可对输入脉冲进行N分频
当GATE=0时,暂停计数;当GATE变高自动恢复计数初值,重新开始计数

方式3 — 方波发生器

第9章 定时和计数接口电路_第8张图片

特点
写入计数初值则启动
输出位周期性的方波,周期为N个CLK脉冲的宽度
若计数值为偶数,则输出对称方波。如果计数值为奇数,则前(N+1)/2个CLK脉冲期间输出为高电平,后(N—1)/2个CLK脉冲期间输出为低电平。
当GATE=0时,暂停计数;当GATE变高自动恢复计数初值,重新开始计数

不同方式的区别

输出的波形不同
计数过程中GATE信号对计数操作的影响不同
启发计数器的触发方式不同

8253的应用

初始化8253

两种方式
①对每个计数器分别进行初始化,先写控制字,后写计数值。如果计数值是16位的,则先写低8位再写高8位。
②先写所有计数器的方式字,再写各个计数器的计数值。如果计数值是16位的,则先写低8位再写高8位。

控制字一般为尾地址

例如:假设一个8253在某系统中的端口地址40H—43H,如果要将计数器0设置为设置为工作方式3,计数初值为3060H,采用二进制计数法,则初始化方法如下:

MOV		AL,36H	;设置控制字00110110(计数器0,方式3,写两个字节,二进制计数)
OUT		43H,AL	;写入控制寄存器
MOV		AX,3060H	;设置计数值
OUT		40H,AL		;写低8位至计数器0
MOV		AL,AH
OUT		40H,AL		;写高8位至计数器0

Intel 8254

相比8253,改进了

计数频率高

8254的计数频率可由直流至6MHz,8254-2可高达10MHz。而8253最高只能达到2.6MHz。

有读回命令(写入至控制字寄存器)

可以使三个计数器的计数值一次锁存

课后习题

9.8 在一个定时系统中,8253的端口地址范围是480H~483H,试对8253的三个计数器进行编程。其中,计数器0工作在方式1,计数初值为3680H。

MOV	AL,32H		;设置控制字0011 0010(计数器0,方式1,写两个字节(故读写格式选11),二进制
MOV	DX,483H		;控制字地址
OUT	DX,AL		;写入控制寄存器
MOV	AX,3680H	;设置计数初值
MOV	DX,480H		;计数器地址
OUT	DX,AL		;先写第八位
MOV	AL,AH
OUT	DX,AL		;在写高八位

你可能感兴趣的:(java,开发语言)