8253计数时的最大初值为什么是0呢?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-31
为什么8253两种计数的最大初始值是0

8253的计数器是减法计数器,当初值为0时,0-1=FFFFH(二进制计数)或0-1=9999(BCD计数);之后每次减1,初值为0时,计数个数最多(所以才称为最大计数初值,也就是计数范围最大最多),如果设为二进制计数,则能计65536个数,如果是BCD计数,则能计10000个数。

由于8253计数器是先减一再计数所以它的最大值是0,最小值是1
计数值范围:0000H~0FFFFH
0000H是最大值,代表65536
选择十进制(BCD码)
计数值范围:0000~9999
0000代表最大值10000

  最大初值是0,0是最大初值,代表65536,这取决于CF,0ffffh+1=65536;
  8253内部有三个计数器,分别称为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。
  每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一个为门控信号输入端GATE,另一个为输出端OUT。每个计数器内部有一个8位的控制寄存器,还有一个16位的计数初值寄存器CR、一个计数执行部件CE和一个输出锁存器OL。

8253的计数器是减法计数器,当初值为0时,0-1=ffffh(二进制计数)或0-1=9999(bcd计数);之后每次减1,初值为0时,计数个数最多(所以才称为最大计数初值,也就是计数范围最大最多),如果设为二进制计数,则能计65536个数,如果是bcd计数,则能计10000个数。

你可以理解为,先减一再判断,退出条件就是==0 true
因此输入初值0000H之后的运行过程
0-1 = 65535 == 0 --> false 继续
65535-1 = 65534 == 0 --> false 继续
。。。
2-1 = 1== 0 --> false 继续
1-1 = 0== 0 --> true 结束
因此对于0来说,实际计数次数就是65536次(从65535到0)
(当然了,这里是16进制的模式下,BCD码同理是10000次)

是啊
它是计数器没有标志寄存器 所以就没cf

0ffffh+1==65536

知道了吗

  • 微机原理一道题目
    答:8253计数器1,工作方3, 计数初值 =(CLK1输入脉冲频率)/ (输出方波频率),请楼主贴出电路图,或指出8253计数器1的CLK1输入脉冲频率是多少Hz?
  • 8253的各个通道的计数常数是什么?
    答:当某通道用作计数器时,应将要求计数的次数预置到该通道的计数器中、被计数的事件应以脉冲方式从CLK端输入, 每输入一个计数脉冲,计数器内容减“1”,待计数值计到“0”。 OUT端将有输出。表示计数次数到。当某个通道用作定时器时。 由CLK输入一定频率的时钟脉冲。根据要求定时的时间长短确定所需...
  • 已知定时器8253的CLK0=100KHZ,GATE0=1,端口地址范围为304H——307H...
    答:(1) CLK 频率 100KHZ > 0.00001 s=0.01 ms ,计数是对每个脉冲记一个数,所以脉冲数=10ms/0.01ms=1000 所以计数初值=1000 ,二进制 为 0000 0011 1110 1000 (2) 程序为 MOV AL,34H OUT 307H,AL 写入控制字 MOV AL,0E8H OUT 304H,AL MOV AL,03H OUT 304H,AL 写入...
  • 微机原理 8253 怎么知道8253数到0了呢?
    答:计数器值减到0时,OUT线的输出会从低电平变为高电平,可以检测这个信号
  • 8253芯片基本概述
    答:8253芯片是一种以NMOS工艺制造的可编程计数器/定时器系列,具有多种型号,虽然外观和引脚设计相似,但它们的工作频率有所区别,如标准的8253工作于2.6MHz,而8253-5则提升到了5MHz。这款芯片的核心构造包含三个独立的计数器,分别是计数器0、计数器1和计数器2,它们的内部结构完全一致。每个计数器通过...
  • 将8253计数器0设置为方式1,计数初值为3000,计数器1为方式2,计数初值为2...
    答:MOV AL,23H 8253数器0 OUT O3H,AL MOV AL,3OH OUT 00H,AL MOV AL,75H 8253计数器1 OUT 03H,AL MOV AX,2010H OUT OOH,AL MOV AL,AH OUT 00H,AL MOV AL,0B9H 8253计数器2 OUT 03H,AL MOV AX,4030H OUT OOH,AL MOV AL,AH OUT 00H,AL ...
  • 请教各位高手,如何用8253只输出一个脉冲
    答:装入计数值n后, 如果GATE为高电平,则立即开始减“1”计数,直到计数值减到“0”为止,OUTi输出宽度为一个CLKi周期的负脉冲。由软件装入的计数值只有一次有效,如果要继续操作, 必须重新置入计数初值n。所以只要你不去重置n,你就只能得到一个脉冲。所以就这样,工作方式4,8253只输出一个脉冲 ...
  • 在8086系统中,8253的地址为40H-46H.
    答:计数初值 =0.5ms/0.5μs =1000d 方式控制字 =00110111b 方式控制字说明如下:D7D6 =00---通道0 D5D4 =11---计数初值先写低8位、再写高8位 D3D2D1 =011---方式3,方波发生器 D0 =1---BCD码计数 .初始化程序如下:MOV AL, 00110111b ;方式控制字 OUT 46H, AL ;控...
  • 微机原理课程设计
    答:3.用8253的输出信号,控制一个发光二极管,以演示修改效果。二、设计思想:整体设计:①利用8259A芯片设定IR1、IR2、IR3三个中断 ,分别用三个开关的高低电平触发中断。②在三个终端的中断服务子程序里面为8253芯片通道0设定不同频率的方波计数初值,使得在触发不同中断时8253芯片产生周期为0.5秒、1,秒...
  • 读8253计数器的当前值???
    答:你还是有汇编来做简单,你的程序根本没法编译通过!8253有3个计数器!你要设置确定要读哪一个!