织梦做网站如何套取别人网站的模板,网站未备案怎么访问,成都网站建设,php网站开发报告[计算机软件及应用]第05章接口芯片1第5章 可编程接口芯片 5.2 可编程定时器/计数器8254 计算机系统中经常要用到定时信号#xff0c;如定时检测、定时扫描和时钟定时等#xff0c;定时方法通常有以下三种#xff1a; (1)软件定时 (2)不可编程的硬件定时 (3)可编程的硬件定时…[计算机软件及应用]第05章接口芯片1第5章 可编程接口芯片 5.2 可编程定时器/计数器8254 计算机系统中经常要用到定时信号如定时检测、定时扫描和时钟定时等定时方法通常有以下三种 (1)软件定时 (2)不可编程的硬件定时 (3)可编程的硬件定时 许多场合还需要对脉冲信号进行计数。 本节介绍Intel 8254定时计数器芯片它是一种的可编程的定时器件。 Intel 8254主要特性 (1)3个独立的16位定时/计数通道。 (2)每个通道有6种工作方式。 (3)最高计数频率为10MHz。 (4)可以按二进制或BCD码两种方式计数。 (5)定时时间长短可用软件设置可由软件或硬件控制开始计数或停止计数。 (6)可以同时锁存1~3个计数器的计数值和状态值供CPU读取。 5.2.1 8254的内部结构与外部引脚 数据总线缓冲器 8254与系统数据总线相连的接口电路。 通过数据总线缓冲器CPU用指令对8254进行读/写 (1)8254初始化编程时写入控制字。 (2)CPU向某一计数器写入计数初值。 (3)CPU读出计数器的当前计数值。 2. 读/写控制逻辑 接收来自CPU的控制信号 读信号RD# 写信号WR# 片选信号CS# 芯片内部寄存器寻址信号A1A0 3计数器0~2 8254有3个结构完全相同的定时器/计数器通道: 0,1,2 每个通道包含: 一个8位的控制字寄存器 三个16位的初值寄存器、减1计数器和结果输出锁存器。 每个通道有3根专用的信号线 CLK计数/定时脉冲输入端每输入一个脉冲减1操作 OUT计数值减到零时由输出端OUT输出结束信号 GATE门控信号允许或停止计数 CLK脉冲 8254作外部事件计数器时CLK引脚上的计数脉冲从外部输入这些脉冲的间隔可以不相等。 8254用作定时器时CLK引脚的输入信号是精确的时钟脉冲。 8254的定时时间T时钟脉冲周期tc×计数初值n 4. 控制寄存器 控制寄存器是一个只能写入的寄存器它接收从CPU来的控制字并由控制字的D7、D6位的编码决定控制字写入哪个计数器的控制寄存器。 在对8254进行编程时CPU用输出指令向它写入控制字由此确定各计数器通道的工作方式、读写格式和计数的数制。 5. Intel 8254的引脚 (1)CS#: 片选信号接IO端口译码电路的输出 (2)RD#, WR# 读写控制信号 (3)D7~D0 数据线与系统数据总线相连 (4)A1A0 接地址总线低2位用于片内端口的选择。A1A000选择通道0A1A001选择通道1A1A010选择通道2A1A011选择控制端口。 (5)每个通道有三根对外的信号线 CLKOUT 和 GATE。 4. 方式3方波发生器 ①输出为周期性的方波。若计数值为N则输出方波的周期是N个CLK脉冲的宽度。 ②写入控制字后输出将变为高电平.当写入计数初值后就开始计数,输出仍为高电平;当计数到初值一半时,输出变为低电平直至计数到0,输出又变为高电平重新开始计数。 ③若计数值为偶数则输出对称方波。如果计数值为奇数则前(N1)/2个CLK脉冲期间输出为高电平后(N—1)/2个CLK脉冲期间输出为低电平。 ④GATE信号能使计数过程重新开始。GATE1允许计数GATE0禁止计数。停止后OUT将立即变高开当GATE再次变高以后计数器将重新装入计数初值重新开始计数。 5. 方式4软件触发选通 写入方式控制字后OUT输出高电平。 写入初值经过一个CLK脉冲开始减1计数计到0时OUT输出为低电平持续一个CLK脉冲周期后再恢复到高电平。 GATE1时允许计数GATE0禁止计数并把输出维持在当时的电平。 如果GATE1时在计数过程中改变计数值则在写入新值后的下一个时钟下降沿计数器立即按新的初值开始计数。 6. 方式5硬件触发选通 ①写入控制字后输出为高电平。在设置了计数值后计数器并不立即开始计数而是由门控脉冲的上升沿触发启动。当计数到0时输出一个CLK周期的负脉冲并停止计数。当门控脉冲再次触发时才能再计数。 ②在计数过程中如果再次用门控脉冲触发则使计数器重新开始计数此时输出还保持为高电平直到计数为0才输出负脉冲。 ③如果在计数过程中改变计数值只要没有门控信号的触发不影响计数过程。当有新的门控脉冲的触发时不管是否计数到0