设Intel8253计数器的时钟输入频率为1MHz,为产生10KHz的方波输出信应向计数器装入初值是多少
初值为1MHz/10KHz=100。
intel8253是NMOS工艺制成的可编程计数器/定时器,有几种芯片型号,外形引脚及功能都是兼容的,只是工作的最高计数速率有所差异,例如8253(2.6MHz),8253-5(5MHz)。
执行部件实际上是一个16位的减法计数器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通过程序设置的。输出锁存器的值是通过程序设置的。
输出锁存器OL用来锁存计数执行部件CE的内容,从而使CPU可以对此进行读操作。顺便提一下,CR、CE和OL都是16位寄存器,但是也可以作8位寄存器来用。
扩展资料:
工作原理
8253具有3个独立的计数通道,采用减1计数方式。在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。
8253内部结构
8253芯片有24条引脚,封装在双列直插式陶瓷管壳内。
1)、数据总线缓冲器
数据总线缓冲器与系统总线连接,8位双向,与CPU交换信息的通道。这是8253与CPU之间的数据接口,它由8位双向三态缓冲存储器构成,是CPU与8253之间交换信息的必经之路。
2)、读/写控制
读/写控制分别连接系统的IOR#和IOW#, 由CPU控制着访问8253的内部通道。接收CPU送入的读/写控制信号, 并完成对芯片内部各功能部件的控制功能, 因此, 它实际上是8253芯片内部的控制器。
A1A0:端口选择信号,由CPU输入。8253内部有3个独立的通道,加上控制字寄存器,构成8253芯片的4个端口,CPU可对3个通道进行读/写操作3对控制字寄存器进行写操作。 这4个端口地址由最低2位地址码A1和A0来选择。如表所示。
3)、通道选择
(1) CS#——片选信号,由CPU输入,低电平有效,通常由端口地址的高位地址译码形成。
(2) RD#、WR#——读/写控制命令,由CPU输入, 低电平有效。RD#效时,CPU读取由A1A0所选定的通道内计数器的内容。WR#有效时,CPU将计数值写入各个通道的计数器中, 或者是将方式控制字写入控制字寄存器中。CPU对8253的读/写操作。
参考资料:百度百科-8253芯片
10KHz的方波的半周期 =(1/10KHz)/2 =0.00005s = 50μs
计数器初装值 = 50μs/1μs = 50d = 32h
推荐于2017-10-04 · 知道合伙人教育行家
时钟输入周期 =1/1MHz =1μs
10KHz的方波的半周期 =(1/10KHz)/2 =0.00005s = 50μs
计数器初装值 = 50μs/1μs = 50d = 32h
查询方式和中断方式都可以实现。
查询方式:
ORG 0000H
AJMP MAIN
ORG 0200H
MAIN : MOV TMOD , #01H //设置T0为定时方式,工作方式1
MOV TH0 , #3CH //给定时器T0置初值
MOV TL0 , #B0H
SETB TR0 //启动定时器T0
LOOP:JBC TF0 , NEXT //查询计数溢出没有,TF0=1时溢出则转NEXT执行
SJMP LOOP //未溢出则继续查询
NEXT :CPL P1.0 //取反,输出方波,至于你用哪个口输出,可以自己选择
SJMP LOOP