第七章 常用数字接口电路(8253,8255)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
20
工作方式
方式2
(频率发生器)
软、硬件启动,自动重复计数
装入CW后OUT端变高电平,计数到 最后一个CLK时OUT输出负脉冲,并 连续重复此过程
21Leabharlann Baidu
工作方式2的波形
22
各种工作方式特点
• 方式2(频率发生器) • GATE为计数的控制信号:GATE变低计 数停止,再变高时的下一个CLK下降沿, 按新值重新开始计数 • 每个计数周期结束时(减到1时),OUT 端输出一个TCLK宽度的负脉冲。 • 计数过程自动重复进行 • 计数过程中修改初值不影响本轮计数过 程
D0~D7
IOW IOR
A1 A0
DB 译码器
8255
PA0 D0~D7 |
WR PA7
RD PC0
A1
A0 B口
CS
外设1 数据
状态
数据 外设2
56
工作方式1
• 利用一组选通控制信号控制A端口和B端 口的数据输入输出
• A、B口作输入或输出口,C口的部分位固 定用作A、B口的选通控制信号
• A口、B口在作为输入和输出时的选通信 号不同
7
外部引线及内部结构
连接系统端的主要引线
• D7~D0
A1 A0
• CS
00
• RD
01
• WR
10
• A1,A0
11
• 用于选择四个编址部件之一
选择 计数通道0 计数通道1 计数通道2 控制寄存器
8
外部引线及内部结构
计数通道的主要引线(n = 0~2) •CLKn 时钟脉冲输入,计数器的计时基准 •GATEn 门控信号输入,控制计数器的启停 •OUTn 计数器输出信号,不同工作方式下
8253占用4个接口
地址:
计数器0
DB
计数器1
IOW
计数器2
控制寄存器 IOR
A1
A0
高位地址 A15-A2
(决定8253的基地址)
译码器
8253
D0~D7 WR CLK RD GATE A1 OUT A0
CS
共三组
37
初始化程序流程
非必须
写控制字 写计数值低8位
*写计数值高8位
写入顺序:
可按计数器分别写 入控制字和初值
B组 端口B 端口C的低4位
50
8255与系统的连接示意图
D0~D7
IOW 系
统 IOR

线
A1
A0
A15~A2
DB 译码器
8255
D0~D7 A口
WR
RD
C口
A1
A0 B口
CS
外设
51
三、8255工作方式
基本输入/输出方式(方式0) 选通工作方式(方式1) 双向传送方式(方式2)(仅A口)
某端口工作于哪一种方式,可通过软件编程来指 定。即向8255写入方式控制字来决定其工作方式
或输出口,C口的高/低4位分别定义为A、B口的控 制位和状态位
54
方式0的应用:
• 习惯上:
• A端口和B端口作为8位数据的输入或输出口 • C口的某些位作为状态输入
• 注:
• 若使C端口低4位中某一位作为输入口,则低4 位中其他位都应作为输入口。同时可设高4位 作为输出。
55
8255工作于方式0的连接示意图
43
并行接口8255
• 主要引线功能及结构 • 3种工作方式及其特点 • 应用:
• 芯片与系统的连接 • 芯片的初始化编程 • 数据输入/输出控制程序设计
44
并行接口8255
特点: • 含3个独立的8位并行输入/输出端口,
各端口均具有数据的控制和锁存能力 (C口输入无锁存) • 可通过编程设置各端口的工作方式和 数据传送方向(入/出/双向)
39
8253应用举例(续)
• 确定计数初值: CNT0: 10ms/0.5us = 20000 CNT1: 2MHz/10KHz = 200 CNT2: 5ms/0.5us = 10000
• 确定控制字: CNT0:方式2,16位计数值 00 11 010 0 CNT1:方式3,低8位计数值 01 01 011 0 CNT2:方式0, 16位计数值 10 11 000 0
上升沿采样,下降沿计数
12
二、计数启动方式
程序指令启动————软件启动 外部电路信号启动——硬件启动
GATE端保持为高电平
软件启动过程 写入计数初值后的第2个
CLK脉冲的下降沿开始计数
硬件启动过程 GATE端有一个上升沿
对应CLK脉冲的下降沿开始计数
13
三、工作方式
• 方式0——计数结束中断 • 方式1——可重复触发的单稳态触发器 • 方式2——频率发生器 • 方式3——方波发生器 • 方式4——软件触发选通 • 方式5——硬件触发选通
• 软件方法:用一段程序实现延时
• 利用程序循环延迟指定的时间 • 缺点:CPU占用率?延时精度?兼容?
• 硬件方法:定时/计数器电路
• 利用脉冲计数在设定的时间输出定时信号
8253是一种硬件定时/计数器芯片
5
一、外部引线及内部结构
DB
A1 A0
IOW IOR 片选信号 +5V

8253外部引线
D7-D0
• 计数器(3个)——包括 16位初值寄存器 16位计数寄存器
(减法计数器)
• 控制寄存器—— 存放控制命令字(只写) • 占用4个地址— 3个计数器,1个控制寄存器
11
定时/计数的工作过程
1. 设置8253的工作方式 2. 设置计数初值到初值寄存器 3. 第一个CLK信号使初值寄存器的内容置入
计数寄存器 4. 以后每来一个CLK信号,计数寄存器减1 5. 减到0时,OUT端输出一特殊波形的信号 注:以上计数过程中还受到GATE信号的控制
32
8253
33
四、控制字
• 用于确定各计数器的工作方式 • 8253必须先初始化才能正常工作 • 每个计数器都必须初始化一次 • CPU通过OUT指令把控制字写入控制寄
存器
34
8253控制字的格式
35
五、8253的应用
• 与系统的连接 • 设置工作方式
编程
• 置计数初值
36
与系统的连接示意图
40
8253应用举例(续)
线路连接图:
DB
IOW

IOR
A1
A0
译码器
8253 GATE0
D0~D7 GATE1 GATE2
WR CLK0
RD CLK1 A1 CLK2
A0 OUT0 OUT1
CS OUT2
+5V 2MHz
41
8253应用举例 初始化程序
CNT0: MOV DX, 0123H MOV AL, 34H OUT DX, AL MOV DX, 0120H MOV AX, 20000 OUT DX, AL
CLK0 GATE0
OUT0
A1
A0
CLK1
GATE1
WR
OUT1
RD
CLK1
CS
GATE1
VCC 地
8253
OUT1
通道0 通道1 通道2
6
外部引线及内部结构
8253概貌
• 3个16位的定时/计数器(通道) • 24引脚双列直插式 • 最高计数频率2MHz • TTL电平兼容 • 单电源+5V供电
52
工作方式0
• 8255相当于三个独立的8位简单接口 • 各端口可分别设置为输入口或输出口 • C端口可以分为两个独立的4位端口 • 设置为输出口时有锁存能力,设置为输入
口时无锁存能力
53
方式0的应用
• 用于连接简单外设 • 适用于:
• 无条件输入输出方式 • 查询输入输出方式:把A、B口作为8位数据的输入
连接外设端的引脚:
• PA0~PA7 • PB0~PB7 • PC0~PC7
分别对应A、B、C三 个8位输入/输出端口
三个端口可通过编程分别指定为输入或输出口。
其中,C口即可用作独立的输入/输出口,也可用作
A、B口的控制信号输出或状态信号输入
48
二、结构
49
二. 结构
A组 端口A 端口C的高4位
MOV AL, AH OUT DX, AL CNT1:
…… CNT2:
……
42
8253小结
• 包含3个16位计数器通道 • 4个编址部件:CNT0/1/2和控制寄存器 • 每个计数器通道工作前必须初始化:
• 控制字和计数初值
• 6种工作方式 • 每种工作方式:启动方式、输出波形、
是否可重复计数、写入初值、GATE影响 等方面
2
可编程定时/计数器8253
• 引线功能及计数启动方法 • 6种工作方式及其输出波形 • 8253的使用
• 芯片与系统的连接 • 芯片的初始化编程
3
定时/计数器的用途
可以实现定时与计数两个功能,可用于
• 系统时钟 • DRAM刷新 • 定时采样 • 实时控制 • 脉冲计数 • ……
4
如何实现定时
D6 D7 VCC 25 PB7 PB 6
PB 5 PB 4 21 PB3
46
引线(续)
连接系统端的主要引线:
• D0~D7 • CS
A1 A0 00
选择 端口A
• RD
0 1 端口B
• WR
1 0 端口C
• A0,A1
1 1 控制寄存器
• RESET——复位信号,接系统总线的RESET
47
引线(续)
17
工作方式
方式1
(单稳态触发器)
硬件启动,不自动重复计数 装入初值后OUT端变高电平 计数开始OUT端变为低电平 计数结束OUT输出高电平
18
方式1的波形
19
各种工作方式特点
• 方式1(单稳态触发器) • 门控信号GATE端的跳变触发计数,可 重复触发(非自动) • 若下一次GATE上升沿提前到达,则 OUT端负脉冲拉宽为两次计数过程之和 • 计数过程中写入新初值不影响本次计 数
输入
输出
57
C口的信号功能(方式1输入)
58
C口的信号功能(方式1输入)
26
工作方式
方式4
(软件触发选通)
软件启动,不自动重复计数 装入CW后输出端变高电平 计数结束输出一个CLK宽度的负脉冲
27
工作方式4的波形
28
各种工作方式特点
• 方式4(软件触发选通) • 计数过程中,GATE端应保持高电平 • 每写入一次初值,计数一个周期,然后 停止计数 • 每个计数周期结束时(减到0时), OUT端输出一个TCLK宽度的负脉冲 • 计数过程中修改初值不影响本轮计数过 程
29
工作方式
方式5
(硬件触发选通)
硬件启动,不自动重复计数 OUT端波形与方式4相同
30
工作方式5的波形
31
各种工作方式特点
• 方式5(硬件触发选通) • 写入初值时,GATE端应保持低电平。 • GATE每出现一次正脉冲,计数一个周 期,然后停止计数。 • 每个计数周期结束时(减到0时), OUT端输出一个TCLK宽度的负脉冲。 • 计数过程中修改初值不影响本轮计数过 程。
产生不同波形
9
8253的内部结构
~
D0
数据
D7
总线缓
冲器
RD

WR A0
读/写

A1
逻辑

CS
线
控制 寄存器
编址部件3
编址部件0
计数器 0
CLK 0 GATE 0 OUT 0
计数器 1
CLK1 编址部件1
GATE 1 OUT1
计数器 2
编址部件2
CLK 2 GATE 2 OUT 2
10
编程结构—程序员的观点
第七章 常用数字接口电路
1
接口电路概述
• CPU与外设之间信息交换的通道 • 信息缓冲、信息变换、电平转换、联络控制 • 分类: 功能 传送方式 传送的信息类型
输入接口 并行接口 数字量的输入/输出接口 输出接口 串行接口 模拟量的输入/输出接口
• 8086系统中最常用的数字接口电路芯片
• 8253、8255、8250
也可先写所有计数 器控制字,再写入 它们的初值
38
8253应用举例
• 采用8253作定时/计数器,其接口地址为 0120H~0123H
• 输入8253的时钟频率为2MHz • 计数器0: 每10ms输出1个CLK脉冲宽的负脉冲
计数器1: 产生10KHz的连续方波信号 计数器2: 启动计数5ms后OUT输出高电平 • 画线路连接图,并编写初始化程序
14
工作方式
方式0
(计数结束中断)
软件启动,不自动重复计数 装入CW后OUT端变低电平 计数结束OUT输出高电平
15
方式0的波形
16
各种工作方式特点
• 方式0(计数结束中断) • 计数过程中,GATE端应保持高电平 • 每写入一次初值计数一个周期,然后停止 计数 • 计数结束OUT输出高电平 • 计数过程中可随时修改初值重新开始计数
23
工作方式
方式3
(方波发生器)
软、硬件启动,自动重复计数 装入CW后OUT端变高电平 然后OUT连续输出对称方波
前 N/2或(N+1)/2 个CLK,OUT为高, 后N/2或(N-1)/2 个CLK, OUT为低。
24
工作方式3的波形
25
各种工作方式特点
• 方式3(方波发生器) •OUT输出方波,前半周期为高,后 半周期为低。 •计数过程中修改初值不影响本半轮 计数过程。 •其余的与方式2 类似。
45
一、引线
共40个引脚
PA3 1 PA 2 PA 1 PA 0
RD 5 CS GND A1 A0 PC7 10 PC 6 PC 5 PC 4 PC 0 PC1 15 PC 2
PC 3 PB 0
PB 1 PB 2
40 PA4
PA 5 PA 6 PA 7
WR 35 RESET
D0
D1 D2 D3 30 D4 D5
相关文档
最新文档