8.1 .


47 views
Uploaded on:
Category: Home / Real Estate
Description
? 8 ? ???/???? DMA ???. 8.1 ???/???????? 8.2 ??????/??? 8253 8.3 DMA ??????? 8.4 DMA ??? 8237A. 8.1 ???/????????. 8.1.1 ???????? 8.1.2 ?????? ???? ???? 8.1.3 ??????/????????. 8.1.1 ????????. ?????????????????????????????????
Transcripts
Slide 1

第 8 章 计数器/定时器与 DMA 控制器 8.1 计数器/定时器的工作原理 8.2 可编程计数器/定时器 8253 8.3 DMA 传送的基本原理 8.4 DMA 控制器 8237A

Slide 2

8.1 计数器/定时器的工作原理 8.1.1 微机系统中的定时 8.1.2 外部定时方法 软件定时 硬件定时 8.1.3 可编程计数器/定时器的工作原理

Slide 3

8.1.1 微机系统中的定时 微机系统常常需要为处理器和外设提供时间标记,或对外部事件进行计数。 内部定时是计算机本身运行的时间基准或时序关系,计算机每个操作都是按照严格的时间节拍执行的。 外部定时是外部设备实现某种功能时,本身所需要的一种时序关系

Slide 4

8.1.2 外部定时方法 软件定时 它是利用 CPU 内部定时机构,运用软件编程,循环执行一段程序而产生的等待延时。 硬件定时 采用可编程通用的定时/计数器或单稳延时电路产生定时或延时

Slide 5

控制寄存器 数据总线 计数脉冲输入 CLK 计数初值寄存器 地址总线 门控脉冲输入 GATE CPU 计数器 控制总线 输出 OUT 计数输出寄存器 8.1.3 可编程计数器/定时器的工作原理 计数器,即在设置好计数初值后,便开始对外部触发脉冲作减 1 计数,减为 0 时,输出一个信号 定时器,即在设置好定时常数后,便对外部时钟信号作减 1 计数,并按定时常数不断地产生时钟周期整数倍的定时间隔

Slide 6

8.2 可编程计数器/定时器 8253 8.2.1 8253 内部结构及引脚功能 8.2.2 8253 的工作方式及特点 8.2.3 8253 的编程 8.2.4 8253 的应用举例

Slide 7

8.2.1 8253 内部结构及引脚功能 1 . 8253 的内部结构 2 . 8253 的引脚功能

Slide 8

CLK 0 GATE 0 OUT 0 数据总线 缓冲器 D 7 ~ D 0 计数器 0 内部总线 WR RD A 0 A 1 CS CLK 1 GATE 1 OUT 1 读/写 逻辑 计数器 1 控制字 寄存器 CLK 2 GATE2 0 OUT 2 计数器 2 图 8-2 8253 内部结构 1. 8253 的内部结

Slide 9

D 7 D 6 D 5 D 4 D 3 D 2 D 1 D 0 1 2 3 4 5 6 7 8 9 10 11 12 V CC WR RD CS A 1 A 0 CLK 2 OUT 2 GATE 2 CLK 1 GATE 1 OUT 1 24 23 22 21 20 19 18 17 16 15 14 13 8253 CLK 0 OUT 0 GATE 0 GND 图 8-3 8253 引脚 2. 8253 的引脚功能 表 8-1 8253 计数器的选择与操作

Slide 10

8.2.2 8253 的工作方式及特点 方式 0 — 低电平输出( GATE 信号上升沿继续计数) 方式 1 — 低电平输出( GATE 信号上升沿重新计数) 方式 2 — 周期性负脉冲输出 方式 3 — 周期性方波输出 方式 4 — 单次负脉冲输出(软件触发) 方式 5 — 单次负脉冲输出(硬件触发)

Slide 11

① ② ③ CLK WR OUT n=5 5 4 3 2 1 0 n=5 WR GATE OUT 5 4 3 2 1 0 n=9 n=4 WR OUT 9 8 4 3 2 1 0 图 8-4 8253 的方式 0 时序波形 方式 0— — 低电平输出( GATE 信号上升沿继续计数)

Slide 12

① ② ③ CLK n=4 WR GATE OUT 4 3 2 1 0 4 3 2 1 0 GATE OUT n=3 n=2 WR GATE OUT 3 2 1 0 2 1 0 图 8-5 8253 的方式 1 时序波形 方式 1— — 低电平输出( GATE 信号上升沿重新计数)

Slide 13

CLK WR OUT n=4 ① ② ③ 4 3 2 1 0 3 2 1\' n=4 n=3 WR OUT 4 3 2 1 0(3) 2 1 (0) 3 n=3 WR OUT GATE 3 2 1 0 3 2 1 0 1 图 8-6 8253 的方式 2 时序波形 方式 2— — 周期性负脉冲输出

Slide 14

① ② CLK WR OUT n=4 2 n=5 WR OUT 2 3 图 8-7 8253 的方式 3 时序波形 方式 3— — 周期性方波输出

Slide 15

① ② ③ CLK WR OUT n=5 5 4 3 2 1 0 GATE OUT 5 4 3 2 1 0 n=3 n=2 WR OUT 3 2 1 0 2 1 0 图 8-8 8253 的方式 4 时序波形 方式 4— — 单次负脉冲输出(软件触发)

Slide 16

CLK n=4 ① ② WR GATE OUT 5 4 3 2 1 0 GATE OUT 5 4 5 4 3 2 1 0 图 8-9 8253 的方式 5 时序波形 方式 5— — 单次负脉冲输出(硬件触发)

Slide 17

8.2.3 8253 的编程 设定方式控制字 设定计数初值

Slide 18

SC 1 SC 0 RW 1 RW 0 M 2 M 1 M 0 BCD 计数格 式选择 1 十进制计数 0 二进制计数 000 方式 0 001 方式 1 ×10 方式 2 ×11 方式 3 100 方式 4 101 方式 5 00 计数器 0 01 计数器 1 10 计数器 2 11 无意义 工作方式选择 读/写 控制 00 计数器锁存 01 只读/写计数器低字节 10 只读/写计数器高字节 11 读/写计数器 16 位数 先低字节,后高字节 图 8-10 8253 的方式控制字 设定方式控制字

Slide 19

设定计数初值 例 8-1 设 8253 计数器 0 工作于方式 3 下,计数初值为 6000 (十进制格式),试写出其初始化程序。(设 8253 计数器 0 ,计数器 1 ,计数器 2 及控制端口地址分别为 40H ~ 43H 。) 根据题目要求, 8253 方式控制字应为 00110111 ,具体程序如下: MOV DX , 43H ;设定控制端口 MOV AL , 37H ;写入控制字 OUT DX , AL MOV DX , 40H ;设计数器 0 MOV AL , 0 ;写计数初值低字节 OUT DX , AL MOV AL , 60 ;写计数初值高字节 OUT DX , AL

Slide 20

例 8-2 假定 8253 的 4 个端口地址分别为 310H 、 312H 、 314H 、 316H ,输入脉冲频率为 2MHz ,编写出用计数器 0 输出频率为 2kHz 方波的初始化程序。 分析: 根据题目要求,采用计数器 0 、工作方式 3 、二进制计数。 计数初值 N= ( 2×106 )/( 2×103 ) =1000 。 方式控制字为 00110110B ,即 36H 。 MOV DX , 316H MOV AL , 36H OUT DX , AL MOV AX , 1000 MOV DX , 310H OUT DX , AL MOV AL , AH OUT DX , AL

Slide 21

8.2.4 8253 的应用举例 例8- 3 例8- 4 例8- 5 例8- 6

Slide 22

MOV AL , 76H OUT 76H , AL MOV AX , 1000 OUT 72H , AL MOV AL , AH OUT 72H , AL MOV AL , 36H OUT 76H , AL MOV AX , 2000 OUT 70H , AL MOV AL , AH OUT 70H , AL 设系统为 8253 分配的端口地址为 70H ~ 76H ,其中 76H 为控制字寄存器端口地址, 70H 、 72H 、 74H 分别为计数器 0 、 1 、 2 的端口地址。若输入脉冲频率为 2MHz ,编写出用计数器 0 输出频率为 1Hz 方波的初始化程序。 分析:由于输入时钟频率为 2MHz ,而输出方波频率为 1Hz ,计算出计数器初值 N= ( 2×106 )/1=2×106 。此数超出 16 位计数器所能够表示的范围。为了解决这一问题,可先通过计数器 1 将 2MHz 的输入脉冲变成 2kHz 方波,然后用 OUT1 输出的方波作为计数器 0 的输入时钟。计数器 1 的计数初值 N= ( 2×106 )/( 2×103 ) =1000 ,计数器 0 的计数初值 M= ( 2×103 )/1=2×103 。 例 8-3

Slide 23

DACK 0 BRD 74LS74 DREQ 0 (8237) D Q IOR IOW 74LS138 U 26 RD WR CS A 1 A 0 D 7 ~ D 0 U 73 A B C G 2A G 2B G 1 A 5 A 6 A 7 A 8 A 9 AEN Y 2 8253-5 IRQ 0 (8259) OUT 0 OUT 1 OUT 2 GATE 0 GATE 1 GATE 2 D Q (8255) PB 0 U 21 CLK 0 CLK 1 CLK 2 74LS175 PCLK RESETDRV 图 8-11 8253 与系统总线的连接 > C Q 例8 - 4 IBM PC/XT 系统板上 8253 的 3 个计数器的使用。

Slide 24

启动转换 OUT 0 CLK 0 GATE 0 8253 ( 方式 2) ( 方式 1) ( 方式 3) A/D 转换子系统 OUT 1 GATE 1 CLK 1 手动/继电器开关 +5V OUT 2 GATE 2 CLK 2 时钟发生器 例 8-5 8253 的 3 个计数器串级连接起来,为某 A/D 子系统提供可调用的启动采样频率信号。 设 8253 的端口地址为 304H , 305H , 306H , 307H 。初始值 L , N 为二进制数,且小于 256 , M 为 BCD 数,且大于 100 。 MOV AL , 14H OUT 307H , AL MOV AL , L OUT 304H , AL MOV AL , 73H OUT 307H , AL MOV AX , M OUT 305H , AL MOV AL , AH OUT 305H , AL MOV AL , 96H OUT 307H , AL MOV AL , N OUT 306H , AL

Slide 25

+5V 工件 OUT 0 光源 TNT 光敏电阻 R 5MHz 8255PA 4 CLK 1 GATE 1 OUT 1 驱动器 扬声器 例 8-6 MOV AL , 15H OUT 43H , AL MOV AL , 80 OUT 40H , AL STI LOOP : HLT JMP LOOP MOV AL , 01H OUT 80H , AL MOV AL , 77H OUT 43H , AL MOV AL , 0 OUT 41H , AL MOV AL , 25 OUT 41H , AL CALL D5S MOV AL , 0 OUT 80H , AL 图 8-13 所示为一自动计数系统。当工件从光源与光敏电阻之间通过时, CLK0 端即可接收到一个脉冲信号,由计数器 0 计数。每当有 80 个工件通过后,由输出端 OUT0 输出一个负脉冲作为中断请求信号通知 CPU 。 CPU 在处理该中断的中断服务程序中启动计数器 1 ,由 OUT1 产生 2000Hz 的方波�

Recommended
View more...