微机原理8253计数初值计算

计数初值的计算公式

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

一、当计数器工作在方式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
  • 97
    点赞
  • 327
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
根据题目所给的条件,我们需要通过8253芯片的T0通道输出一个4KHz的方波信号。下面是计算控制口地址、设置工作方式和计数初值的具体步骤: 1. 控制口地址的计算 8253芯片的控制口地址是端口地址加上通道号的偏移量。因此,T0通道的控制口地址为: ``` 控制口地址 = 600H + 0H = 600H ``` 即控制口的地址为600H。 2. 工作方式的设置 8253芯片有3种工作方式,分别为方式0、方式1和方式2。我们需要选择一种工作方式,使得T0通道输出4KHz的方波信号。 根据8253芯片的工作方式,T0通道的输出频率可以通过以下公式计算: ``` 输出频率 = 时钟频率 / (计数初值 * 2) ``` 其中,时钟频率为2MHz,输出频率为4KHz,因此计数初值可以通过以下公式计算: ``` 计数初值 = 时钟频率 / (输出频率 * 2) = 500 ``` 计数初值为500,因为8253芯片是16位计数,所以需要把计数初值拆分成2个8位数,分别存储在T0通道的计数初值低字节和高字节寄存器中。 3. 计数初值的设置 计数初值可以通过向T0通道的计数初值低字节端口和高字节端口分别写入计数初值的低8位和高8位来设置。 根据上面的计算结果,计数初值为500,转换成16进制为1F4H。因此,计数初值低字节为F4H,高字节为1H。 综上所述,控制口的地址为600H,T0通道的工作方式应设置为方式3,计数初值为1F4H,低字节应送至地址为600H,高字节应送至地址为602H。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值