8253问题!!!两个计数器级联,如何确定两个计数器的初值?

要求将8MHZ的方波分频为100HZ的方波,要求写出8253的各端口地址并写初始化程序……
答案是:T0:计数值为4000,T1:计数值为:20请问大家,这是怎么确定的呢?

计数初值N=输入频率/输出频率。为保证输入8MHz时恰好有100Hz输出,计数初值必须N=8M/100=80000,这样大的计数初值可以用计数器级联来解决。一般分为整数相乘。80000=4000*20(当然也可以用其他数相乘,如80000=2000*40)
至于8253的各个端口地址,那要看电路连接图,或者题目给出一个8253的基地址,根据这个基地址(即为通道0的地址)来判断其他三个端口地址。
温馨提示:内容为网友见解,仅供参考
第1个回答  2021-06-20
计数初值N=输入频率/输出频率。为保证输入8MHz时恰好有100Hz输出,计数初值必须N=8M/100=80000,这样大的计数初值可以用计数器级联来解决。一般分为整数相乘。80000=4000*20(当然也可以用其他数相乘,如80000=2000*40)
至于8253的各个端口地址,那要看电路连接图,或者题目给出一个8253的基地址,根据这个基地址(即为通道0的地址)来判断其他三个端口地址。

8253欲获得最底频率怎么算
输出信号周期为1秒,频率为1Hz,则计数初值=1MHz\/1Hz=1M=10^6.所以需要用两个通道级联,使两个通道的计数初值的乘积为10^6.可以选取通道0和通道1(随意,反正两个通道级联即可)把1MHz输入8253的CLK0,OUT0计入CLK1,GATE0和GATE1接+5V。写入0号通道初值1000,1号通道计数初值1000,则OUT1即为每...

微机原理一道求8253的初值的题,求大神解答?
计数器1的初值 =5s \/ 5ms =1000d =3E8h

设8253计数器的时钟输入频率为1.91MHZ,为产生25KHz的方波输出信号,应向...
方波是8253输出方式3 所以wr=xx110110B 与out初值相对应的clk的时间长度,就是题目所求的一个周期的长度。而这个长度就是out的初值。以秒为单位,clk=1.91MHZ可理解为clk的频率,则1.91M为一秒内clk所路程总长度,产生25KHZ的方波则一秒内应有的方波个数为25K个。此时用1.91M\/25K所得到的值为...

8253的问题 请汇编大神 知道
(1)已知计数器0连续产生20KHz方波,将计数器0的输出OUT作为计数器1的时钟CLK,使其连续产生20MS定时中断 --初值= 20 000 \/ 50 = 400 (2)计数器2的输入时钟频率为30KHz,输出信号每秒引起100次中断。--初值= 30 000 \/ 100 = 300 (3)在计数器1上,输入6MHz的脉冲信号,要求输出频...

8253初始化程序编程的问题
根据题目要求,8253的命令控制字应为:10110110 4000是十进制数,转化为十六进制为0FA0H 计数初值为4000按二进制计数的意思是写命令时按二进制写 程序为:MOV AL,10110110B OUT 43H,AL MOV AL,A0H OUT 42H,AL MOV AL,0FH OUT 42H,AL 如果说按BCD码计数,则命令字为10100111,程序改为:MOV ...

汇编题8253的初值
1\/2MHZ=0.5微秒 0.2秒\/0.5微秒=400000 16位的计数器最多计65536次,上面明显超了,因此要用嵌套。计数器0初值1000,计数器1初值400 计数器0采用方式2,也就是循环输出,每计数1000输出一次。(1000*0.5毫秒为500毫秒)计数器1采用方式0,由于接的是计数器0的out端,所以每当计数器0输出一次...

为8253的计数器提供的脉冲输入(CLK)频率为1KHz,要实现500ms的定时中 ...
2)8253的计数器是减1计数器,与C51的计数定时器的加1计数不同;那么,当设置初值为499时,就是指从499开始,计数器的值变化就是 499,498,497...1,至此是不是计数了499个脉冲,那么计数第500个时,计数器值就为0值了;所以初值就是 500-1=499;其实,我们生活中数数喜欢从1开始,123456789...

设Intel8253计数器的时钟输入频率为1MHz,为产生10KHz的方波输出信应向...
intel8253是NMOS工艺制成的可编程计数器\/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz)。执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过...

8253计数时的最大初值为什么是0呢?
最大初值是0,0是最大初值,代表65536,这取决于CF,0ffffh+1=65536;8253内部有三个计数器,分别称为计数器0、计数器1和计数器2,他们的机构完全相同。每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立。每个计数器通过三个引脚和外部联系,一个为时钟输入端CLK,一...

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

相似回答