Skip to content

第九章:可编程定时器/计数器芯片8253/54及应用 ​

§ 9.1 引脚及功能 ​

xbtc330399a4213b754a9232c4285be744da

D0~D7数据线

#WR写允许

#RD读允许

包含了3个16位计数器,每个计数器都有三个引脚 计数器0,计数器1,计数器2

GATE0,CLK0,OUT0 GATE1,CLK1,OUT1 GATE2,CLK2,OUT2

CLK为计数脉冲(下降沿计数),能否计数,受GATE控制,GATE为门控信号,有效形式受工作方式控制。OUT为输出端,定时时间到,则输出波形

每个计数器有6个工作方式,方式0~方式5

计数器可以单独工作,也可以级联工作

8253内部有三个控制器端口,可以分别控制三个计数器,但这三个端口占用同一个地址,通过特征位来区分三个不同的端口

xbtc2509f33c7c8b9aac1f4cb47a9f6a3e97

xbtc95efa878e813171fef71c59214ff8762

8253不同于8255,没有reset引脚,加电就工作

§ 9.2 8253的内部结构 ​

xbtcdb9e3321127c7076dcbf1ddcd6fbf5c9

xbtc6f0af149ccb73788ba057d5d827df5b1

我们对每个计数器的工作方式控制计算器里写控制字,可以改变他们的工作方式。

写好工作方式后,就要对计数器赋初值,先写低8位,后写高8位。

CE计数工作单元,可以用GATE信号来控制 写了初值后,8253开始计数,下降沿计数,在第一次计数同步的时候,8253会自动把初值打到CE,随后,如果GATE有效,CE进行减法计数,方式0,方式1,方式2,方式4,方式5都是减法计数,方式3是减2计数

输出锁存器的值始终跟随CE变化,因此,我们可以测试输出锁存器的值来判断CE的状态,但是由于计数器的时钟频率和CPU是异步的,所以要先把输出锁存器的内容锁存住再读出,读走之后自动解锁,输出锁存器继续跟着CE变化

对该端口的写操作是在控制计数寄存器,读的时候是在读取输出锁存器

§ 9.3 工作方式控制寄存器 ​

xbtc2509f33c7c8b9aac1f4cb47a9f6a3e97

方式0 ​

计数结束产生中断 xbtcbc3944b4c9ffbb824ccb73e7a6c1c7b4

方式1 ​

可编程单稳脉冲 xbtca137abebedbf2d10b9d4b5236f67bb0b

方式2 ​

频率发生器 xbtc2fb4e82e6b5239337e16f194438b2f0f

方式3 ​

方波产生器 xbtc6648370cd6016914d8343d9a12c16e8b

方式4 ​

软件触发选通 xbtcef3e80491819aa0552cebf079444de07

方式5 ​

硬件触发选通 xbtcf30e085707416c6c553e57f4d282e7e7

xbtccc81442f17e150f7d0e2ea3b878d4a7a

§ 9.4 8253的应用 ​

xbtc2f1e836f4a93b54fa1d09f53b3b34ca0

xbtc47039413757f40b608773e1240fad2bd

xbtc6e58d2f68720213d2ef4b81e764d9fd7

以笔记为镜,可以知得失