第十章 定时器、并行及串.ppt

第十章 定时器、并行及串

第十章 定时器、并行及串行接口       主要内容 可编程计数/定时器Intel 8254 可编程并行接口Intel 8255A 可编程串行输入/输出接口芯片8250 接口电路综合设计举例 10.1 可编程计数/定时器Intel 8254 Intel 8253/8254是可编程间隔定时器PIT(Programmable Interval Timer)。 8254是8253的改进型,比8253具有更优良的性能。 在Intel 8l5EP芯片组的8280lBA中也集成了8254。 8254的基本功能 (1) 有3个独立的16位减法计数器:CNT0、CNT1、CNT2;  (2) 每个计数器都可按二进制计数或十进制(BCD码)计数;  (3) 每个计数器可编程工作于6种不同工作方式; (4)8254-2每个计数器允许的最高计数频率为10MHz(8253为2MHz,8254为8MHZ,8280lBA中集成的8254为14.31818MHZ);  (5) 8254有读回命令,除了可以读出当前计数器的内容外,还可以读出状态寄存器的内容。8253仅可以读出当前计数器的内容。 一、 8254的内部结构及引脚功能 1.内部结构及引脚 数据总线缓冲器 用于和CPU数据总线接口的8位双向三态缓冲器。 读写控制逻辑 接受来自CPU的读写控制信号。 /RD 读控制信号,输入,低电平有效。 /WR 写控制信号,输入,低电平有效。 A1?A0 选通地址线,输入,用来选择3个计数器和控制字寄存器。 /CS 片选信号,输入,低电平有效。 8254/8253控制与寻址关系 ? /CS /WR /RD A1 A0 操 作 0 0 1 0 0 CPU初值写计数器0(CNT0) 0 0 1 0 1 CPU初值写计数器1(CNT1) 0 0 1 1 0 CPU初值写计数器2(CNT2) 0 0 1 1 1 CPU控制字写控制寄存器 0 1 0 0 0 读CNT 0计数值到CPU 0 1 0 0 1 读CNT1 计数值到CPU 0 1 0 1 0 读CNT2 计数值到CPU 1 X X X X 无操作 控制字寄存器 用于寄存来自CPU的控制字。8253控制字寄存器只能写入,不能读出。 计数器0、1、2 3个计数器结构:有一个计数初始值寄存器、减法计数器、输出锁存器和状态寄存器。 初始值寄存器(16位)用于存放计数初值,最大计数值为65536。 减法计数器(16位)初值装入计数器后,从CLK的第二个脉冲开始,每来一个脉冲计数器减1。 输出锁存器(16位)用于锁存减1计数器的内容,使CPU在读操作时能得到计数器的稳定值。 状态寄存器(8253无) 保存当前控制字寄存器的内容、输出状态以及初始值寄存器内容是否已装入计数器的状态。必须先锁存再读取。 计数器控制端 GATE 门控信号输入端,用以控制计数或复位。通常当其为低电平时,禁止计数器的工作。 CLK 时钟脉冲输入端。 OUT 计数到零(或定时时间到)脉冲输出端。  (1)软启动(GATE=1) 在该方式下, CPU写入初值后,CLK的第一个脉冲将初值装入计数器,减法计数器在CLK时钟作用下,从CLK的第二个脉冲开始每来一个脉冲计数器减1。  (2)硬启动 启动前GATE=0。在CPU写入初值,并在GATE端得到启动正脉冲之后,CLK的第一个脉冲将初值装入计数器,从CLK的第二个脉冲开始每来一个脉冲计数器减1。 8253的工作方式 一、方式0(软件启动,不自动重复计数) 二、方式1(硬件启动,可重复触发,可编程单脉冲) 三、方式2(速率发生器) 四、方式3(方波发生器) 五、方式4(软件触发选通) 六、方式5(硬件触发选通) 1.控制字格式 工作方式控制字(8位)   D7D6 ──计数器/控制字寄存器选择控制位 D7D6 =00,选计数器0; D7D6=01,选计数器1;

文档评论(0)

1亿VIP精品文档

相关文档