第8章常用接口芯片定时计数器
第八章 8253定时计数器(例程)
![第八章 8253定时计数器(例程)](https://img.taocdn.com/s3/m/cd12ba5704a1b0717ed5ddad.png)
➢ 在计数过程中,如GATE变为低电平,这时只是暂停计数 ,等待GATE信号变为高电平后,计数器继续“减1”计数
例题,向8253的A1A=0 11B的地址写入0011 0000B,则表示 计数器0设置成方式0,并且采用16位时常数,假设时常数为 1500,则计数器0的初始化程序段如下:
通过计数通道的端口地址可以访问通道中的CR、OL,当对通 道进行写操作时,实际上表示将计数初值(即时常数)写入CR; 当对通道进行读操作时,表示将从OL中读取计数值。
8253的控制字
定时/计数器8253一共有6种工作方式,由控制字 寄存器的内容来设定。方式控制字如下所示:
D7 D6 D5 D4 D3 D2 D1 D0 SC1 SC0 RL1 RL0 M2 M1 M0 BCD
电源(+5V) 地
连接去向 CPU
译码电路 CPU CPU CPU 外部
外部 外部
/ /
8253的原理结构及工作原理
每个计数通道主要包含四个部件: 计数寄存器CR(Conut Register, 16位)、 计数工作单元CE(Counting Element, 16位)、 输出锁存器OL(Output Latch, 16位)、 控制字寄存器(Control Word Register, 8位)。
计数过程中写入新的时常数,它只能在下一次分频脉冲后起作用
方式2的特点:
➢在置方式2的控制字后,OUT端变为高电平;
➢在置入时常数后,下一个CLK脉冲期间,将时常数从CR读 入CE,并开始“减1”计数;
➢当CE计数到01时,在OUT端输出一个负脉冲,并重新读入 时常数进行计数;
微型计算机原理及接口技术第8章8253
![微型计算机原理及接口技术第8章8253](https://img.taocdn.com/s3/m/1c2a704e58fb770bf78a55ca.png)
计数器/定时器的内部结构
8253内部包含三个完全一样的计数器/定时器通道, 每个通道的工作是完全独立的
每个通道包含:
① 一个8位控制字寄存器:由编程设定该通道的工作方式、读 写格式和数制
② 一个16位计数初值寄存器:由程序设定初始计数值,可分 成高8位和低8位两个部分,可作8位寄存器使用
③ 一个计数器执行部件(实际的计数器):实际上是一个16 位减法计数器,它的起始值是初始寄存器的值,由程序设 定。可分成高8位和低8位两个部分
优点:电路结构简单,价格便宜,通过 改变电阻或电容值,可以在一定的定时 范围内改变定时时间
缺点:电路在硬件已连接好的情况下, 定时时间和范围就不能由程序来控制和 改变,而且定时精度也不高
555定时器外部引脚和内部结构
可编程硬件定时
定时原理:利用可编程定时器/计数器芯 片附加硬件电路实现定时
输出信号的波形由工作方式决定,同时还要受 到GATE引脚上的门控信号控制,它决定是否 允许计数
计数器/定时器的定时功能
当加到CLK引脚上的脉冲为精确的时钟脉 冲,可实现定时的功能。
定时时间决定于计数脉冲的频率和计数 器的初值。
定时时间=时钟脉冲周期×预置的计数初值
计数器/定时器的计数功能
方式1:可编程单稳态输出方式
写入控制字后OUT初始状态:高电平 门控信号GATE的作用:①高电平或低电平均不起作用;
②只有在GATE发生由低到高的正跳变,输出OUT由高
到低跳变,并开始计数;③在计数过程中,若GATE产 生负跳变,不影响计数;④在计数器回0之前,GATE 又产生由低到高的正跳变,8253又将初始值装入,重 新开始计数,使生成脉冲加宽。 计数过程中OUT状态:保持低电平 计数结束OUT状态:发生由低到高的正跳变。 计数器回0后,是否重新计数:否 应用:用于定时
第8章计数器8253
![第8章计数器8253](https://img.taocdn.com/s3/m/6d8894e481c758f5f61f6769.png)
OUT DX, AL;写入工作方式控制字
MOV AL, 46H;计数值的低字节
MOV DX, 04C0H;设置8253计数器0地址
OUT DX, AL;写入计数值的低字节
MOV AL, 10110100B;二进制,方式2,写入16位数,计数器2
MOV DX, 04C6H;控制口地址
OUT DX, AL
(1) 输出锁存器锁存或停止计数以保存当前计数值 读出当前的计数值有两种方法: ① 把当前计数值输出的锁存器锁存 ② 通过GATE门控信号发一低电平信号,使计数 执行单元不作减1操作,计数过程停止。
9
(2) 从输出锁存器读数
注意:读8位和读16位的问题
若是读16位的数据,需分两次读出。
先读低字节,再读高字节,即执行两次输入指令。
moval30h控制字送almovdx126h控制口地址送dxoutdxal向控制口写入控制字moval88h低8位计数值是88hmovdx120h通道0端口地址送dxoutdxal向通道0写入计数初值的低8位moval66h高8位计数值为66houtdxal向通道0写入计数初值的高8位21例假设8253的计数器0工作在方式5按二进制计数计数初值为46h
方式2、方式3中,可用电平触发,也可上升沿触发。
13
1. 方式0——计数结束产生中断
该方式下,门控信号决定计数的停止或继续,装入 初值决定计数过程重新开始。计数过程波形图为:
14
2. 方式1——可重复触发的单稳态触发器 该方式是在门控信号的作用下才开始计数
15
3. 方式2——分频器 该方式下用门控信号达到同步计数的目的
16
4. 方式3——方波发生器 工作过程同方式2,只是输出的脉宽不同。
微机原理及应用ch8-stu
![微机原理及应用ch8-stu](https://img.taocdn.com/s3/m/4f20e02cccbff121dd36838b.png)
方式4 软件触发选通信号
5、方式4—软件触发选通(软件起始触发,软/硬件可重触发)
方式4
4
3
WR
CLK
GATE
4 3 2 1 0
OUT 特点:一次计数;
3 2
3 2 1 0
GATE上升重新、高允许、下降停止、低禁止计数; WR#写[重写]后下个计数周期自动有效; OUT计数前为高,计数时不变,计数值为0时输出1个CLK的负脉冲
第8章 定时计数控制接口
西南石油大学计算机科学学院 教师 郑 津
如何设计实现抢答器?
问题:
抢答过程中倒计时如何实现?
2
定时器和计数器
在计算机系统中,需要一些定时信号以实现定时控制, 如定时刷新、定时中断、定时检测、定时扫描等等,也 需要有计数器能对外部事件计数。
定时器:由计数电路构成,通过记录高精度晶振脉冲信号 的个数,输出准确的时间间隔。 计数器:若用于记录外设脉冲信号的个数(进而获知外设 的某种状态),常又称为计数器。 要实现定时控制,有两种方法:软件定时、硬件定时。
④ ⑤ ① 计 ③ 数 计 设 计 设 值 数硬 数定 送定 结件 过计 入工 束启 程数 计作 动 初 数方 值 器式
2、方式1—可编程单稳脉冲(硬件起始触发,硬件可重触发) ⑥ ②
WR CLK
GATE ③ 4 OUT
16
3
2
1
0
方式1 可编程单稳脉冲
2、方式1—可编程单稳脉冲(硬件起始触发,硬件可重触发)
4
教学重点
• 8253的引脚
• 8253的6种工作方式
• 8253的编程
• 8253在IBM PC系列机上的应用
5
8.1 8253/8254定时个计数器有6种工作方式; 按二进制或十进制(BCD码)计数。
第8章可编程定时器计数器8253及其应用精品PPT课件
![第8章可编程定时器计数器8253及其应用精品PPT课件](https://img.taocdn.com/s3/m/9525c866376baf1ffd4fad42.png)
《Microcomputer Technology》 12.10.2020
可编程定时器/计数器的概念
❖ 软件控制的硬件定时器
➢ 定时方式 ❖计数制 ❖输出波形 ❖触发方式 ❖循环方式
➢ 计数间隔
❖ 控制寄存器
第8章 可编程计数器/定时器8253及其应用 9
《Microcomputer Technology》 12.10.2020
《Microcomputer Technology》 12.10.2020
8.1 接口原理
❖ 接口电路中的电路单元
➢ 输入/输出数据锁存器和缓冲器:用以解决CPU 与外设之间速度不匹配的矛盾,以及起隔离和缓 冲的作用;
➢ 控制命令和状态寄存器:以存放CPU对外设的控 制命令,以及外设的状态信息;
第8章 可编程计数器/定时器8253及其应用 2
第8章
《Microcomputer Technology》 12.10.2020
可编程定时器/计数器 8253及其应用
❖ 接口原理 ❖ 8253的基本工作原理
➢ 8253的内部结构和引脚信号 ➢ 8253的编程 ➢ 8253的工作方式
❖ 8253的应用举例
第8章 可编程计数器/定时器8253及其应用 1
第8章 可编程计数器/定时器8253及其应用 11
《Microcomputer Technology》 12.10.2020
可编程定时器/计数器的工作原理
❖ CLK信号
➢ 周期性时钟信号,定时器功能; ➢ 非周期性事件计数信号,计数器功能。
❖ 计数输出锁存器Байду номын сангаасL
➢ 通常跟随计数执行单元的内容而变化 ➢ 当接收到CPU锁存命令时就锁存当前的计数值
微机原理-8253
![微机原理-8253](https://img.taocdn.com/s3/m/64b8b9e69b89680203d82526.png)
8253工作方式特点: 8253工作方式特点: 工作方式特点
方式0 在写入控制字后,输出端即变低,计数结束后, 方式0,在写入控制字后,输出端即变低,计数结束后,输 出端由低变高,常用该输出信号作为中断源。 出端由低变高,常用该输出信号作为中断源。 方式1 用来产生单脉冲。 方式1,用来产生单脉冲。 方式2 用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲 方式2,用来产生序列负脉冲,每个负脉冲的宽度与CLK脉冲 CLK 的周期相同。 的周期相同。 方式3 用来产生连续的方波。方式2和方式3 方式3,用来产生连续的方波。方式2和方式3都实现对时钟 脉冲进行n分频。 脉冲进行n分频。 方式4和方式5 波形相同,都在计数器回0 方式4和方式5的波形相同,都在计数器回0后,从OUT端输出 OUT端输出 一个负脉冲,其宽度等于一个时钟周期。 一个负脉冲,其宽度等于一个时钟周期。 方式0 方式0、1和4,计数初值装进计数器后,仅一次有效。方式2,3 计数初值装进计数器后,仅一次有效。方式2 在减1计数到0值后,8253会自动将计数值重装进计数器 会自动将计数值重装进计数器。 和5,在减1计数到0值后,8253会自动将计数值重装进计数器。
可编程定时器/计数器8253
8253可编程定时器 计数器的主要性能: 可编程定时器/计数器的主要性能 可编程定时器 计数器的主要性能: 个独立的16位计数器 有3个独立的 位计数器 个独立的 工作方式可编程控制 计数脉冲频率0~2MHz 计数脉冲频率 可以按二进制或BCD码计数 可以按二进制或BCD码计数 使用单一+5V电源 电源 使用单一
方式2:频率发生器(n分频器)
CLK
WR
GATE OUT
n=4
4
3 2
1 0 4 3
第八章 可编程计数器定时器8253及其应用
![第八章 可编程计数器定时器8253及其应用](https://img.taocdn.com/s3/m/6c7f78cfa1c7aa00b52acb05.png)
LSB=4 CR=4
CLK GATE
OUT CRCE 4 CRCE 2 4 CRCE 2 4 CRCE 2 4 CRCE 2 4
8253方式3 计数初值为奇数时的波形 CW=16H WR LSB=5
CR=5
CLK GATE OUT
CRCE
5 4
CRCE 2 5 2
CRCE 5 4
CRCE 4 3
8253方式0
两种特殊情况:
中途改变计数初值
CW=10H WR CR=3 CLK GATE OUT CR=3 LSB=3
LSB=3
CRCE 3 2
CRCE 1 3 2
1
0
8253方式1
2、方式1——可编程单稳态输出方式
时序图
CW=12H WR
LSB=3 CR=3
CLK GATE
OUT
CRCE
CRCE 3 2
1
0
8253方式1
工作过程
① 写入控制字,OUT立即变为高,并保持不变。 ② 写计数初值N,只有当GATE形成一个上升沿时,才在
下一个时钟脉冲的下降沿,将n装入实际计数器,同 时OUT由高变为低,开始减1计数(再来一个脉冲)。
③ 计数期间,OUT一直为低;当计数结束(计数值为0)
8253综述
Intel 8253是一种可编程的计数器/定时器芯片。 8253内部具有3个独立的16位计数器通道,通过对
它进行编程,每个计数器通道均有6种工作方式,并 且都可以按2进制或10进制2种格式进行计数,最高 计数频率能达到2MHz。 8253还可用作可编程方波频 率产生器、分频器、程控单脉冲发生器等。
教材第八章内容
第八章 可编程计数器/定时器8253及应用
第8章定时计数器
![第8章定时计数器](https://img.taocdn.com/s3/m/fb9dbcdc80eb6294dd886c9a.png)
二、初始化编程 (1)计数器0 MOV OUT MOV OUT OUT
AL,00110110B ;方式3,二进制计数。 43H,AL AL,0 40H,AL 40H,AL ;初值为 0 (最大)
(2)计数器1 MOV OUT MOV OUT
(3)计数器2 MOV OUT MOV OUT MOV OUT
8253控制字格式
(2 )数据读 /写格式( D5D4 )。 CPU 向计数器写入初值和读取它们的
当前状态时,有几种不同的格式。
(3)工作方式(D3D2D1)。8253的每个计数器可以有6种不同的工作 方式,由这三位决定。每一种方式的特点,随后介绍。 (4)数制选择(D0)。8253的每个计数器有两种计数制:二进制计数 和BCD码计数,由这位决定。
AL,01010100B ;方式2,只写低8位,二进制计数。 43H,AL AL,12H 41H,AL
AL,10110110B ;方式3,二进制计数。 43H,AL AX,0533H 42H,AL AL,AH 42H,AL
三、实验三 1、方式0,手动输入脉冲:
L0
2、方式3:分频器 L0
1HZ
返回
数结束后,自动以新的初值计数。
WR
CW=14h LSB=4
CLK
3
2
1
0
3
2
1
0
GATE OUT
四、 方式3—方波速率发生器 方式3和方式2的输出都是周期性的,它们的主要区别是,方式3在计 数过程中OUT输出有一半时间为高,另一半时间为低。具体地说,当初值
N为偶数时,OUT的高低输出各一半,当N为奇数时,高电平为(N+1)/2,
7.3.2 8253-PIT的控制字
第八章__定时器计数器8253
![第八章__定时器计数器8253](https://img.taocdn.com/s3/m/8ef2ed90dd88d0d233d46a18.png)
3.
引脚及其功能
• 数据线D7~D0:双向、三态。用于将8253/8254芯片与 系统数据总线相连,在芯片与CPU之间传送数据、命令 、状态信息。 • A1A0:片内端口选择线,输入。这两根线一般接到系 统地址总线的A1、A0 上。当-CS=0时8253/8254芯片被 选中,这两位地址线用来选择片内四个端口地址(三个 计数器的端口和一个控制字寄存端口),以便进行读写。 (当A1A0=00、01、10时,分别选计0、计1、计2) • 当A1A0=11时选中片内的控制寄存器,将命令字写入其 中。该控制寄存器只写,不可读。 • CLK:计数器时钟(计数脉冲)输入端。三个独立的 计数器,各自有一个独立的输入时钟脉冲信号CLK0、 CLK1、CLK2,每输入一个时钟脉冲信号CLK,计数器 中同步递减计数器CE的当前计数值便减1,进行计数或 定时控制。
2.
方式1(可编程单脉冲发生器)
• 在该方式中,写入方式命令字和装入计数初 值到计数寄存器后,计数器输出端OUT为高 电平。在GATE输入端出现一个上升沿后,计 数器使输出端OUT降为低电平,开始计数; 当计数值减到0,输出端恢复为高电平,完成 一个单脉冲输出过程。 显然输出端负脉冲的宽度与计数值的大小有 关,设预置计数值为N,计数时钟周期为TCLK, 那么输出负脉冲宽度就是N×TCLK。所以这是 一个可编程控制的单稳态发生器,如下图所 示。
(1) 控制字写入计数器时,所有的控制逻辑电路立即复位, 输出端OUT进入初始状态。该初始状态与工作方式有关, 设置成方式0时,OUT的初始状态为低电平,设置成其他工 作方式,OUT的初始状态为高电平。 (2) 初始值写入初值计数器CR以后,要经过一个时钟脉冲的 上升沿和下降沿,将初值送入计数执行单元,计数执行单 元从下一个时钟开始进行计数。 (3) 通常,在时钟脉冲CLK的上升沿对门控信号GATE进行采 样,各计数器的门控信号的触发方式与工作方式有关。在 方式0、方式4中,门控信号为电平触发;方式1、方式5中, 门控信号为上升沿触发;方式2、方式3中,即可用电平触 发,也可用上升沿触发。 (4) 在时钟脉冲的下降沿计数器进行计数。0是计数器所能 容纳的最大初值,因为用二进制计数时,16位计数器,0 相当于216,用BCD码计数时,0相当于104。
微机原理及接口技术课件第8章 常用可编程接口芯片
![微机原理及接口技术课件第8章 常用可编程接口芯片](https://img.taocdn.com/s3/m/d5bb2c96ee06eff9aff8071b.png)
;执行锁存命令
MOV DX,CS+0
;计数器0端口地址
IN AL,DX 内容
;读计数输出锁存器中的低8位
MOV AH,AL
;保护
IN AL,DX 内容
;读计数疏忽锁存器中的高8位
XCHG AH,AL
;AX中是输出锁存命令瞬间,计数执行 单元中的计数值
13
8.2.3 8253的工作方式
8253 的工作方式:
在计数期间CPU又送来新的计数初值,不影响当前计数过程。计数器计数到0, OUT端输出高电平。一直等到下一次GATE信号的触发,才会将新的计数初值装入, 并以新的计数初值开始计数过程,如图8-4(c)所示。8253方式1下三种情况的时序 波形图,如图8-4所示。
18
8.2.3 8253的工作方式
8253方式1时序波形图
接口芯片的地址码经译码后接通芯片的片选端,对读操作而言,怎样使 输入端口的信息由数据总线进入CPU,数据何时读入CPU,这些都由读信号 控制。对于输出接口,当CPU对接口进行输出数据的操作时,发出写信号。 在PC系统中,对I/O接口的操作由IN、OUT指令完成。
3
8.1可编程接口芯片概述
3. 可编程 目前所用的接口芯片大部分是多通道、多功能的。所谓多通道就是指一
0:二进制计数 1:十进制计数
其中:D7 D6用于选择定时器;D5 D4用于确定时间常数的读/写格式;D3 D2用来 设定计数器的工作方式;D0用来设定计数方式。
11
8.2 可编程定时/计数器接口芯片8253
例题8.1 8253控制字写入示例
MOV DX,CS+3
;8253控制寄存器端口地址,设置8253内部寄存
输入
(精)第8章 可编程DMA控制器8237A
![(精)第8章 可编程DMA控制器8237A](https://img.taocdn.com/s3/m/44916ed66aec0975f46527d3240c844768eaa046.png)
和当前字计数器,以及一个6位的工作方式寄存器。片内还
各有一个可编程的命令寄存器、屏蔽寄存器、请求寄存器、
状态寄存器和暂存寄存器,以及不可编程的字数暂存器和地
址暂存器等。
2. 8237A的引脚 8237A是一种具备40个
引脚的双列直插式DIP封 装的芯片,如图8-2所示。
8.3 8237A的工作方式 8237A在系统中可以有两种功能:一种功能是系统总线的主 控者,这是它工作的主方式。在取代CPU控制DMA传送时,它 应 提供存储器的地址和必要的读写控制信号,数据是在I/O设备 与存储器之间通过数据总线直接传递;另一种功能是在成为主控 者之前,必须由CPU对它编程以确定通道的选择、数据传送的模 式、存储器区域首地址、传送总字节数等等。在DMA传送之后 ,也有可能由CPU读取DMA控制器的状态。这时8237A如同一般 I/O端口设备一样,是系统总线的从设备,这是8237A工作的从方 式。
8.5 8237A的编程及应用
1. 8237A编程的一般步骤 在进行DMA传输之前,CPU要对8237A进行初始化编程, 设 定工作模式及参数等。通常,其编程内容主要包括以下几 步: 1 输出总清除命令,使8237A处于复位状态,做好接收 新命令的准备; 2 根据所选通道,写入相应通道的基地址寄存器和当前 地址寄存器的初始值; 3 写入基字节计数寄存器和当前字节计数寄存器的初始 值; 4 写入方式控制寄存器,以确定8237A的工作方式和传 送类型; 5 写入屏蔽寄存器; 6 写入命令寄存器,以控制8237A的工作; 7 写入请求寄存器。
DMA EQU 00H OUT DMA+0DH,AL MOV AX,6000H OUT DMA+00H,AL MOV AL,AH OUT DMA+00H,AL MOV AX,0400H DEC AX OUT DMA+01H,AL MOV AL,AH OUT DMA+01H,AL
微型计算机原理与接口技术第八章课后答案
![微型计算机原理与接口技术第八章课后答案](https://img.taocdn.com/s3/m/617423d0360cba1aa811da0e.png)
第八章1. 8253芯片有哪几个计数通道?每个计数通道可工作于哪几种工作方式?这些操作方式的主要特点是什么?答:8253内部包含3个完全相同的计数器/定时器通道,即0~2计数通道,对3个通道的操作完全是独立的。
8253的每个通道都有6种不同的工作方式。
方式0——计数结束中断方式:当对8253的任一个通道写入控制字,并选定工作于方式0时,该通道的输出端OUT立即变为低电平。
要使8253能够进行计数,门控信号GATE 必须为高电平。
经过n十1个脉冲后,计数器减为0,这时OUT引脚由低电平变成高电平。
OUT引脚上的高电平信号,一直保持到对该计数器装入新的计数值,或设置新的工作方式为止。
在计数的过程中,如果GATE变为低电平,则暂停减1计数,计数器保持GATE有效时的值不变,OUT仍为低电平。
待GATE回到高电平后,又继续往下计数。
方式1——可编程单稳态输出方式:当CPU用控制字设定某计数器工作于方式1时,该计数器的输出OUT立即变为高电平。
GATE出现一个上升沿后,在下一个时钟脉冲的下降沿,将n装入计数器的执行部件,同时,输出端OUT由高电平向低电平跳变。
当计数器的值减为零时,输出端OUT产生由低到高的正跳变,在OUT引脚上得到一个n个时钟宽度的负单脉冲。
在计数过程中,若GATE产生负跳变,不会影响计数过程的进行。
但若在计数器回零前,GATE又产生从低到高的正跳变,则8253又将初值n装入计数器执行部件,重新开始计数,其结果会使输出的单脉冲宽度加宽。
方式2——比率发生器:当对某一计数通道写入控制字,选定工作方式2时,OUT端输出高电平。
如果GATE为高电平,则在写入计数值后的下一个时钟脉冲时,将计数值装入执行部件,此后,计数器随着时钟脉冲的输入而递减计数。
当计数值减为1时,OUT端由高电乎变为低电平,待计数器的值减为0时,OUT引脚又回到高电平,即低电平的持续时间等于一个输入时钟周期。
与此同时,还将计数初值重新装入计数器,开始一个新的计数过程,并由此循环计数。
第8章__8155芯片
![第8章__8155芯片](https://img.taocdn.com/s3/m/fc4a2d8883c4bb4cf6ecd1a5.png)
➢ 256B的静态RAM; ➢ 两个可编程的8位并行I/O口PA和PB; ➢ 一个可编程的6位并行I/O口PC; ➢ 一个可编程14位减计数器TC; ➢ 8位地址锁存器。
8155的引脚封装图
12 13 14 15 16 17 18 19
AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7
问题的提出
❖ MCS-51系列单片机内部有4个双向的8位并行I/O端口: ❖ P0、P1、P2和P3口。 ❖ 在实际的应用系统中,P0、P2、P3口往往用来代替系统
总线使用,数据口仅剩下P1口了。另外,单片机内部I/O 口的功能也过于简单,只有数据锁存和缓冲功能,而没有 状态寄存和命令寄存功能,难以满足复杂的I/O操作的要 求。 ❖ 鉴于单片机的I/O资源比较有限,在实际应用中不得不使 用扩展的方法,以增加I/O口的数量,强化I/O的功能。
IO/M PC3
WR PC4
RD PC5
PB
8
AINTR ABF ASTB BINTR BBF BSTB
8
端口数据线
至CPU 至外设 自外设 至CPU 至外设 自外设 端口数据线
带联络信号的应答式输出时序
INTR CPU WR
OUTPUT BF
MOVX @DPTR,A MOVX @DPTR,A 端口数据
PC0 PC1 PC2 PC3 PC4 PC5
37 38 39 1 2 5
芯片引脚功能:
三态地址/数据 复用线
地址锁存线
RAM及IO选择
CPU
复位端
读选通信号线 写选通信号线
片选线
AD0
PA0
AD1
PA1
AD2
PA2
AD3 AD4 AADD56 AD7
第8章 输入输出方法及常用的接口电路
![第8章 输入输出方法及常用的接口电路](https://img.taocdn.com/s3/m/13078dc7a1c7aa00b52acb84.png)
A1 A0 00~10 00~10 11
RD
0 1 1
WR
1 0 0
CS
0 0 0
操 作 A口、B口、C口→数据总线(读操作) 数据总线→A口、B口、C口(写操作) 数据总线→控制寄存器(写操作)
表8.2 8255A端口选择及操作功能表
A1 0 0 1 0 0 1 1 × 1 × A0 0 1 0 0 1 0 1 × 1 ×
0 0 0 0 0 0 0 1 0 0
输入操作(读)
输出操作(写)
断开功能
3.A组和B组控制电路 作用:接收来自CPU的读/写控制部分的信号和CPU送 入的控制字,然后分别决定各端口的功能。 ①A组控制电路控制端口A和C的高4位(PC7~PC4); ②B组控制电路控制端口B和C的低4位(PC3~PC0)。 ③根据控制字对端口C的某位实现“置0”或“置1”的操作。 4.数据总线缓冲器
2.状态端口 状态端口用于暂存反映外部设备工作状态的信息。 输入时,CPU应检测外设欲输入的信息是否准备就 绪,如果已准备好,则CPU可以读入信息,否则CPU等 待“就绪”信号的出现后再读入; 输出时,CPU应检测外设是否已处于准备接收状态, 即外设为“空”状态,若是“空”状态,则CPU输出数 据至外设。若外设处于“忙”状态,则CPU不能向外设 输出信息。这种“空”、“忙”、“就绪”均为状态信 息。 3.控制端口
图8.1 主机通过接口与外设相连
8.1.2 基本I/O接口 输入接口电路最基本的功能是三态缓冲,即通过一 组三态缓冲器保证任意时刻仅允许被CPU选中的设备经 由接口与CPU通信; 输出电路最基本的功能是锁存数据,保证外设能够 正确接收到信息。 1.基本输入接口 三态门电路是起缓冲和隔离作用的。只有当CPU选 中此接口即三态门选通时,才允许选定的输入设备将数 据送至系统数据总线,而其他没有选中的输入设备,此 时相应的接口三态门“关闭”,从而达到与数据总线隔 离的目的。
微机原理及单片机应用技术第8章 80C51的中断与定时计数器
![微机原理及单片机应用技术第8章 80C51的中断与定时计数器](https://img.taocdn.com/s3/m/8712d4aaf61fb7360a4c6531.png)
定时/计数器的结构
T1引脚
TH1
TL1
TH0
T0引脚
TL0
机器周 期脉冲
TH1、TL1
内部总线
TH0、TL0
TF1 TR1 TF0 TR0 GATE C/T M1 M0 GATE C/T M1 M0
TCON
TMOD
TCON
外部中断相关位
T1方式
T0方式
TMOD
2020/10/27
21
计数脉冲源
定时/计数器的工作原理
76543210
TCON TF1 TR1 TF0 TR0
字节地址:88H
TFx:Tx溢出标志位。响应中断后TFx有硬件自动清0。 用软件设置TFx可产生同硬件置1或清0同样的效果。
TRx:Tx运行控制位。置1时开始工作;清0时停止工作。 TRx要由软件置1或清0(即启动与停止要由软件控制)。
2020/10/27
2020/10/27
24
定时/计数器的控制示意图
M1M0 工作方式
说
明
00 方式0 13位定时/计数器
01 方式1 16位定时/计数器
10 方式2 8位自动重装定时/计数器
11
方式3
T0分成两个独立的8位定时/计数器; T1此方式停止计数
注意:TMOD不能进行位寻址
2020/10/27
26
控制寄存器TCON
第八章 80C51的中断系统与定时计数器
8.1 80C51单片机的中断系统 8.2 80C51中断处理过程 8.3 80C51单片机的串行口
8.1 80C51单片机的中断系统
5.1.1 80C51中断系统的结构
中断的概念
与子程序调用相似 但有本质的区别
8253工作原理
![8253工作原理](https://img.taocdn.com/s3/m/9536ad2eaaea998fcc220ef2.png)
7.3 可编程串行接口芯片8251A
7.3.1 8251A的基本性能 8251A是可编程的串行通信接口芯片,基本性能如下: (1)两种工作方式。同步方式和异步方式。同步方式下, 波特率为0~64K;异步方式下,波特率为0~19.2K。 (2)同步方式下的格式。每个字符可以用5、6、7或8位来 表示,并且内部能自动检测同步字符,从而实现同步。除此 之外,8251A也允许同步方式下增加奇/偶校验位进行校验。 (3)异步方式下的格式。每个字符也可以用5、6、7或8位 来表示,时钟频率为传输波特率的1、16或64倍,用1位作为 奇/偶校验,1个启动位,并能根据编程为每个数据增加1个 、1.5个或2个停止位。可以检查假启动位,自动检测和处理 终止字符。 (4)全双工的工作方式。其内部提供具有双缓冲器的发送 器和接收器。 (5)提供出错检测。具有奇偶、溢出和帧错误三种校验电 路。
(5)方式3:方波速率发生器。
特点:与方式2类似,只是进行减2操作,直到0时, OUT变低 ,并自动重新写入计数值减2操作,直到0时, OUT变高。一 般作为方波发生器使用。
(6)方式4:软件触发的选通信号发生器。
特点:写入控制字寄存器后,输出OUT就变高;GATE为高计数,为低停止计 数;不自动重新计数,需要重新将计数值写入计数器后开始计数;计数到0时 ,OUT变为低,经过一个CLK周期 后变为高。不自动重新计数,只有重新软 件写入计数值,同时GATE为高时开始计数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
16
应用实例1 对时钟脉冲进行分频
– 对实验平台提供的时钟脉冲信号(1MHZ)进行分频, 产生1HZ时钟脉冲信号。 将1HZ时钟脉冲信号输出到 一个发光二极管上(发光二极管的点亮、熄灭交替进 行)。
– 画出硬件线路图,写出初始化程序。在实验平台上调 试,演示。
– 问题1:应该采用哪一种工作方式? – 问题2:首先确定计数初值。若计数初值超出了计数器
mov dx,307h
;设置方式控制字
mov al,10 11 011 0B
out dx,al
mov dx,306h
;设置计数初值
mov ax,533h
;计数初值为533H
out dx,al
;先送低字节
mov al,ah
out dx,al
;后送高字节
2021/2/28
2、读/写控制逻辑: 8253内部操作的控制部分。 按照CPU发来的读写信号及地址信号产生相应的控制信
号,来选择读/写操作的端口、控制数据的传送方向,以 及对控制寄存器的写入。
3、控制字寄存器: 控制字寄存器是8位的,只能写不能读。 在初始化编程时,CPU写入方式控制字到控制字寄存器
中,用以选择计数通道及其相应的工作方式。
2021/2/28
3
4、计数器0、计数器1、计数器2
– 内部结构相同、功能相同;有各自独立的端口 地址;有6种不同的工作方式。
– 每个计数通道都由计数初值寄存器、减1计数 器和计数值锁存器这三个组成。
– 计数初值提前写入到计数通道。
– 时钟脉冲从 CLK端输入。每输入一个时钟脉冲, 减1计数器减1;当减1计数器为0时,计数结束。
计数器/定时器Intel 8253
– 8253的内部结构 – 8253的引脚 – 8253的工作方式 – 8253的初始化 – 8253的应用
2021/2/28
1
• 8253的内部结构
2021/2/28
2
1、数据总线缓冲器: 8位双向三态缓冲器。 通过编写程序向8253写入确定8253工作方式的命令; 向计数寄存器装入计数初值;读出当前计数值。
• 减1计数器(16位):用于进行减1操作,每来一个时钟脉 冲,就作减1运算,直至将计数初值减为0为止。
• 计数值锁存器(16位):锁存减1 计数器的内容,以供读 出和查询。
2021/2/28
6
• 8253的引脚
D7 D6 D5 D4 D3 D2
D1 D0
CLK0 OUT0
12
8253工作方式 –方式3
方式3 4 WR
CLK
GATE OUT
43210
43210
43210
43210
2021/2/28
13
0方式、1方式:计数结束后输出高电平 计数初值 = 定时时间 / 输入脉冲周期
2方式、3方式:重复计数,输出周期脉冲 计数初值 = fCLK / fOUT = 输入脉冲频率/输出脉冲频率
④ 计数值送入减1计数器 计数器工作: ⑤ 计数过程 ⑥ 计数结束
①
②④ ⑤
⑥
方式1
4
WR
CLK
GATE
③
OUT
4321 0
2021/2/28
11
8253工作方式 –方式2
方式2 4 WR
CLK
GATE OUT
43210
43210
43210
43210
2021/2/28
GATE0
GND
1
24
2
23
3
22
4
21
5
20
6 8253 19
7
18
8
17
9
16
10
15
11
14
12
13
Vcc WR RD CS A1 A0 CLK2 GATE2 OUT2 CLK1 GATE1 OUT1
2021/2/28
7
面向CPU的信号线: (8215)3与数系据统总数D据0~D总7线线相,连为。三态输入/输出线,用于将 (2)片选线 CS* (3)读信号 RD*,有效时表示对8253进行读操作。 (4)写信号 WR*,有效时表示对外253进行写操作。
2021/2/28
14
• 8253的初始化
– 设置控制字:选择计数通道,确定其工作方式。 – 设置计数初值:写入到对应的计数通道中,确定计数
定时时间。
• 8253的工作方式控制字
2021/2/28
15
例, 选择2号计数器,工作在3方式,计数初值为533H, 采用二进制计数。计数器的端口地址为:304H ~ 307H。 其初始化程序如下。
面向I/O设备的信号线:
(6)计数器时钟信号CLK:为计数器提供时钟信号。
(7)计数器门选控制信号GATE:用来禁止、开始
计数器的计数过程。
(8)计数器输出信号OUT:当计数值减为0时,计
数器输出信号OUT,表示计数或定时已到。
ห้องสมุดไป่ตู้
2021/2/28
9
8253工作方式 – 方式0
初始化: ① 设定工作方式 ② 设定计数初值
启动计数器: ③计数值送入减1计数器。
计数器工作: ④ 计数过程
⑤ 计数结束
WR CLK GATE
①
方式0
OUT
②③ ④ ⑤ 4
4321 0
2021/2/28
10
8253工作方式 – 方式1
初始化: ① 设定工作方式 ② 设定计数初值 启动计数器: ③ 硬件启动 (GATE的上升沿)
2021/2/28
4
• 计数器内部结构
锁存器读出当前值
计数值锁存器(16位)
CLK GATE
&
减1计数器(16位)
OUT
计数初值寄存器(16位)
装入/读出初值
2021/2/28
5
• 计数初值寄存器(16位):用于存放计数初值,其长度为 16位,故最大计数值为65536。此寄存器的初值同减1计 数器的初值在初始化时同时装入的。
(5)地址线 A1A0 ,用于选择8253片内的寄存器。 占用四个连续的端口地址,分别对应于三个计数初值寄 存器端口和一个控制寄存器端口。
A1A0 =00 A1A0 =01 A1A0 =10 A1A0 =11
计数器0 计数器1 计数器2 控制寄存器
2021/2/28
8