微机原理8253计数初值计算

2023-05-16

计数初值的计算公式

计数初值在计算时以下几种情况:

一、当计数器工作在方式2或者方式3的时候,功能实际上是一个分频器,因此计数常数就是分频系数。

分频系数=输入CLK频率/OUT端输出频率

二、当计数器作为定时器工作时,CLK一般来自系统内部的时钟,计数常数就是定时系数。

定时系数(计数初值)N = 定时时间(T)× 输入时钟频率(ƒCLK)
            = 定时时间(T)/时钟脉冲周期(tCLK)

注:

  • 1GHz=1000MHz,1MHz=1000kHz,1kHz=1000Hz
  • 1s=1000ms,1 ms=1000μs,1μs=1000ns
  • s(秒)、ms(毫秒)、μs(微秒)、ns(纳秒)

时钟周期与时钟频率互为倒数,可得如下

  • 时钟频率 时钟周期
    1Hz 1s
    1KHz 1ms
    1MHz 1μs
    1GHz 1ns
  • 知道这些,便能很快换算周期与频率.
    比方10KHz, 那么就是1/10 = 0.1ms, 即100μs.
    比方100ns, 那么就是1/100 = 0.01GHz, 即10MHz.

例题练习

  1. 8253通道0的CLK0外接频率ƒCLK为1MHz的时钟信号,若按二进制计数方式工作,若要定时10ms则设置的计数初值为多少?
  • 解:时钟脉冲周期(tCLK)=1/1MHz=1/106=10-6 秒=10-3 毫秒
      定时系数(计数初值)N = 10/10-3 =10000

  1. 计数器0工作在方式3下,输出的重复频率为2KHz,计数脉冲的输入为2.5MHz,计算计数初值。
  • 解:(计数初值) N=2.5MHz/2KHz=2.5×106Hz/2×103 Hz=1250

  1. 设某8088系统中,8253占有口地址70H~73H,其实现产生电子时钟基准(定时时间为50ms)和产生方波用作扬声器音调控制(频率为1kHz),设系统中提供计数频率为2MHz
    ,试为其编制8253的初始化程序。
  • 解:

(1)根据题意8253的3个通道和控制寄存器口地址分别为:

通道0通道1通道2控制寄存器
70H71H72H73H

(2)产生电子时钟基准可采用方式2,计数初值N=50ms/(1/2MHz)=100000>65535故要两个计数通道协作完成,选用通道0和通道1

通道0通道1
控制字=00110100B,计数初值N0=1000控制字=01010100B,计数初值N1=100

(3)产生方波方式采用方式3
(计数初值)N=2MHz/1KHz=2×106Hz/1×103 Hz=2000 可选用计数通道2,控制字=10100111B
初始化程序段:

;对通道0初始化
	MOV AL,00110100B
	OUT 73H,AL    ;送通道0的方式控制字
	MOV AX,1000
	OUT 70H,AL
	MOV AL,AH
	OUT 70H,AL    ;送通道0的计数初值
;对通道1初始化
	MOV AL,01010100B
	OUT 73H,AL    ;送通道1的方式控制字
	MOV AL,100
	OUT 71H,AL    ;送通道1的计数初值
;对通道2初始化
	MOV AL,10100111B
	OUT 73H,AL    ;送通道2的方式控制字
	MOV AL,20H
	OUT 72H,AL
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微机原理8253计数初值计算 的相关文章

随机推荐