微机原理(第五章 定时计数器)
微机原理与嵌入式接口技术课件:定时器与计数器
定时器与计数器
6.1 STM32的时钟系统 6.2 定时器 6.3 STM32的通用定时器组 习题6
定时器与计数器
本章要点 ☆ 时钟系统的工作原理与结构, STM32降低处理器功
耗和电磁干扰的时钟方法 ☆ STM32定时器的种类、 特点及应用范围 ☆ STM32定时器进行定时、 脉宽及周期测量、 PWM
定时器 SysTIck、 1 个实时时钟(RTC)和 2 个看门狗定时 器外, 随 Flash 容量和引脚数不同最多可以有 2 个高级控制 定时器、 4 个通用定时器、 4 个简化定时器( SysTIck 、 IWDG、WWDG和RTC)和 2 个基本定时器(见表 6.4)。
定时器与计数器
定时器与计数器
时钟信号的模式, 见表 6.2。
定时器与计数器
定时器与计数器
外接信号源(又称 HSE旁路模式): 此模式下, 由 OSC_IN引脚接入外部时钟信号(频率最高 50 MHz)。
外接石英晶体/ 陶瓷谐振器(HSE晶体): OSC_IN 和 OSC_OUT引脚接石英晶体或陶瓷谐振器(频率 3~25 MHz)。
定时器与计数器
外触发是用外部信号触发计数器开始工作, 以使计数 器的工作与某种外部信号同步。或者利用该信号的上升沿, 或者用其下降沿。 这种触发方式又称硬件触发。
有的计数器还有门控(GATE)信号, 比如, 该信 号为高电平时, 计数器计数; 为低电平时, 停止计数(但 不复位)。 它也可用作计数器的外触发信号。
图 6.3 STM32时钟管理系统
定时器与计数器
其次, 除 USB、 RTC、 IWDG 等少数几个外设外, 处理器内核及其他外设的时钟都是基于 SysClk, 主要有:
《定时计数器》课件
定时计数器的使用步骤
开启定时计数器
在设置好所需参数后,用户可 以启动定时计数器开始计时。
实时监控
在计时过程中,用户可以通过 显示界面实时查看当前计数值 和计时状态。
停止计时
当达到设定时间或需要停止计 时时,用户可以按下停止按钮 ,计时器将停止工作。
重置
若需重新计时,用户可以将计 数值重置为初始状态,并重新
信号。
触发器
触发器是定时计数器的 重要组成部分,用于控 制计数器的开始和停止
。
计数器
计数器用于记录输入信 号的个数,可以是二进
制或十进制。
输出信号
定时计数器的输出信号 可以是控制信号、状态
信号或脉冲信号。
定时计数器的工作流程
01
02
03
04
启动
当输入信号满足一定条件时, 触发器被触发,计数器开始计
定时计数器的基本原理是利用触发器的翻转时刻来记录时间间隔的起始和结束时刻 。
当输入信号的上升沿或下降沿到来时,触发器翻转,记录下当前时刻,从而计算出 时间间隔。
定时计数器的精度取决于触发器的翻转时刻的准确性,因此需要采用高精度的触发 器。
02
定时计数器的分类
机械式定时计数器
机械式定时计数器是最早的定时计数 器类型,它利用机械原理来实现计时 和计数功能。
现不必要的时间误差。
05
定时计数器的维护与 保养
定时计数器的清洁保养
清洁外壳表面
使用干燥的软布擦拭计数器的外 壳表面,以去除灰尘和污垢。
清洁内部组件
定期打开计数器外壳,使用吸尘器 或干燥的软布清洁内部电路板和元 件。
清洁触点
定期检查并清洁计数器的触点,以 确保良好的接触性能。
微机原理实验定时器计数器
微机原理实验定时器计数器YUKI was compiled on the morning of December 16, 2020可编程定时器/计数器(8253)一、实验目的掌握8253的基本工作原理和编程方法。
二、实验内容1.按下图虚线连接电路,将计数器0设置为方式0,计数器初值为N(N≤0FH),用手动逐个输入单脉冲,编程使计数值在屏幕上显示,并同时用逻辑笔观察OUT0电平变化(当输入N+1个脉冲后OUT0遍高电平)。
2.按下图连接电路,将计数器0、计数器1分别设置为方式3,计数初值设为1000,用逻辑笔观察OUT1输出电平的变化(频率1Hz)。
三、编程提示8253控制寄存器地址: 283H—0C403H计数器0地址: 280H—04C400H计数器1地址: 281H—04C401HCLK0连接时钟:1MHz。
2、程序参考流程图四、程序设计及实验调试程序设计的思想及注意事项:第一个实验,在编程时要注意机器识别的ASCII 码和输入数据数字的区别,可以根据书上ASCII 码和输入数据的转换关系,当数据在0—9之间,对数据加30H 即可对应机器识别的ASCII 码,对于A —F 之间则加37H 。
编程时采用了二号功能键输出显示,六号功能键进行输入操作。
第二个实验,在向计数器0和计数器1送初始值时,要注意先送低字节后送高字节,送入的数据应是1000而非1000H ,否则最后出现逻辑笔跳变的时间不是1s 。
实验一:CODE SEGMENTASSUME CS:CODESTART: MOV DX,0C403HMOV AL,00010000B ;计数器0工作方式为0 OUT DX,ALMOV DX,0C400HMOV AL,09H ;送计数器初值OUT DX,ALXUNHUAN: MOV DX,0C400HIN AL,DX ;读计数器的值CMP AL,9JG BIGADD AL,30H ;0到9,显示ASCII码JMP JUDGEBIG: ADDAL,37H ;大于9,显示ASCII码 JMP JUDGEJUDGE: MOV DL,ALMOV AH,02HINT 21H ;使用02H功能输出显示MOV DL,0FFHMOV AH,06HINT 21H ;执行键盘输入操作JZ XUNHUANMOV AH,4CHINT 21H ;返回操作系统CODE ENDSEND START实验中遇到问题及分析:编写程序时,由于要将结果显示在屏幕上,所以要对写入的值读出来,编写MOV DX,0C400H IN AL,DX 语句即可实现。
微机原理实验---定时计数器应用实验
深圳大学实验报告课程名称:微机计算机设计实验项目名称:8254 定时/计数器应用实验学院:信息工程学院专业:电子信息工程指导教师:报告人:学号:**********班级:<1>班实验时间:2011. 05. 26实验报告提交时间:2011. 06. 09教务处制一、实验目的1. 掌握8254 的工作方式及应用编程。
2. 掌握8254 典型应用电路的接法。
二、实验要求1. 计数应用实验。
编写程序,应用8254 的计数功能,使用单次脉冲模拟计数,使每当按动‘KK1+’5 次后,产生一次计数中断,并在屏幕上显示一个字符‘M’。
三、实验设备PC 机一台,TD-PITE 实验装置或TD-PITC 实验装置一套。
四、实验原理1、8254 是Intel 公司生产的可编程间隔定时器。
是8253 的改进型,比8253 具有更优良的性能。
8254 具有以下基本功能:(1)有3 个独立的16 位计数器。
(2)每个计数器可按二进制或十进制(BCD)计数。
(3)每个计数器可编程工作于6 种不同工作方式。
(4)8254 每个计数器允许的最高计数频率为10MHz(8253 为2MHz)。
(5)8254 有读回命令(8253 没有),除了可以读出当前计数单元的内容外,还可以读出状态寄存器的内容。
(6)计数脉冲可以是有规律的时钟信号,也可以是随机信号。
计数初值公式为:n=fCLKi÷fOUTi、其中fCLKi 是输入时钟脉冲的频率,fOUTi 是输出波形的频率。
计数器组成。
8254 的工作方式如下述:(1)方式0:计数到0 结束输出正跃变信号方式。
(2)方式1:硬件可重触发单稳方式。
(3)方式2:频率发生器方式。
(4)方式3:方波发生器。
(5)方式4:软件触发选通方式。
(6)方式5:硬件触发选通方式。
8254 的内部结构框图和引脚图2、8254 的控制字有两个:一个用来设置计数器的工作方式,称为方式控制字;另一个用来设置读回命令,称为读回控制字。
微机原理课件10定时计数器
封装,如 图10.3所示
源 线
V CC
GND
24 12
16
GATE2
数 器
17
OUT2
2
整图理8p-p3t 8 2图5 31的0.3引82脚53信PI号T管脚图
15
1. 与CPU的接口信号
No (1)D0~D7——三态双向数据线。与CPU数据总线相连, 用于传递 CPU与8253之间的数据信息 、 控 制信息和状态信息; (2)CS ——片选信号(Chip Select),输入,低电平有
(2)每个计数器均可以按二进制或BCD码计数;
Image (3)计数器速率可达2MHz;
(4)可编程6种不同的工作方式;
(5)所有输入和输出都与TTL兼容。
8253具有较好的通用性和使用灵活性,几乎适合于任
何一种微处理器组成的系统。
整理ppt
9
2. 8253的内部结构
8253的内部结构如图10.1所示,由数据总线缓冲器、
于计数脉冲的频率和计数器的初值,即:定时时间=时
钟脉冲周期Tc×预置的计数初值n。
对8253来讲,外部输入到CLK引脚上的时钟脉冲 频率不能大于2MHZ,否则需分频后才能送到CLK端。
整理ppt
14
二、8253的引脚信号
8253是一
片具有3个 独立通道 的16位计 数器/定时
D0
8
数 据 线
No D1
Image 编程来控制和改变定时时间,灵活方便,节省
费用。缺点是CPU重复执行的这段程序的本身 并没有什么具体目的,仅为延时,从而降低了 CPU利用率。
整理ppt
6
2.不可编程的硬件定时
No 这种方法采用数字电路中的分频器将
微机原理定时计数器课件
计时、计数、频率测量、时间间隔 测量等。
定时计数器的分类
01
02
03
专用定时计数器
微机系统内部专用的定时 计数器,如Intel 8253/8254等。
可编程定时计数器
具有可编程能力的定时计 数器,如Intel 8254等。
分布式定时计数器
在微机系统中分布式布置 的定时计数器,用于实现 分布式系统的定时/计数功 能。
器的值就会增加一。
当计数器的值与输出比较寄存器 的值相等时,就会产生一个比较 匹配信号,这个信号可以用于触
发相应的操作。
定时计数器有多种工作模式,包 括计数模式、定时模式、中断模
式等。
定时计数器的控制方式
软件控制方式
通过编写程序来控制定时计数器 的启动、停止、比较匹配等操作 。
硬件控制方式
通过硬件电路来控制定时计数器 的启动、停止、比较匹配等操作 。
微机原理定时计数器课件
目录
• 定时计数器概述 • 定时计数器的硬件结构 • 定时计数器的软件编程 • 定时计数器的应用 • 定时计数器的实现方式 • 定时计数器的调试方法
01
定时计数器概述
定时计数器的定义
01
定时计数器
微机系统内部或外部电路中用于产生定时/计数功能的电路或芯片。
02
定时计数器的基本组成
优点
定时计数器专用芯片具有高精度、高可靠性、可扩展等优 点。
应用场景
广泛应用于工业控制、仪器仪表、通信等领域。
采用单片机实现定时计数器
单片机组成
单片机一般由中央处理器、存 储器、定时计数器、输入输出
接口等组成。
工作原理
利用单片机的定时计数器功能 ,通过编程实现定时计数器的 功能。
定时计数器结构及工作原理ppt课件
;p1.0清0 ;启动定时500us ;查询溢出标志,定时到TF0=1转移,且TF0=0.
SJMP LOOP2
4. 方式3:仅对定时/计数器0有效
T0 TH0+TL0
5.
对定时/计数器1,停顿计数。
将定时/计数器0分成两个独立的8位计数器TH0、TL0。
① TL0除仅用8位Reg 外,其他同方式0、 1。 可任务在定时或计数 方式。
MOV TL0 , #131 ;TL0装入时间常数(256-125)
CPL P1.1
;P1.1口得到方波
RETI
ORG 001BH ;T1中断处置程序首地址
MOV TH0 , #06H ;TH0装入时间常数(256-250)
CPL P1.2
;P1.2口得到方波
RETI MAIN: MOV TMOD , #03H ;T0任务于方式3、定时
ORG 000BH ;到中断效力程序
ORG 0100H
MAIN: MOV SP ,#60H MOV TMOD ,#00 ;
方式0 方式1 MOV TM0D ,#01H
MOV TL0,#0CH ;
MOV TL0 , #0CH
MOV TH0 ,#0F0H ;
MOV TH0 , #0FEH
SETB EA
TX才被允许计数。
利用GATE的这一功能②,可测③试INTX 引脚上正脉冲的宽度
〔机对器T0周初期始数化〕编。程其方法如下图: GATE=1. ① T0从0开场计数
T0停顿计数 ④ 读T0的值。 INTXX
程序: ORG 4000H MOV TMOD,#09H
; T0 初始化 ; T0任务于方式1, 定时,
300Ω
P1.7
五定时计数器资料课件
通用型五定时计数器具有计时范围广、 计数精度高、可编程控制等优点;专 用型五定时计数器针对特定应用进行 优化,具有更高的性能和可靠性。
02
五定时计数器的应用
定时器应用
1 2 3
定时器在生产自动化中的应用 在生产线上,定时器可以用来控制机器的运行时 间和速度,确保生产流程的稳定性和效率。
定时器在智能家居中的应用 通过与家电设备的连接,定时器可以用来设置家 电的运行时间和模式,实现智能家居的自动化控 制。
控制方法与技巧
硬件控制
通过微控制器的定时器/计数器硬件模块进行控制,可以实现精确的定时和计数 功能。硬件控制具有速度快、精度高的优点,但需要具备一定的硬件基础。
软件控制
通过编写程序来控制定时器和计数器的启动、停止和复位等操作。软件控制具有 灵活性高、易于实现复杂功能的优点,但需要较高的编程技巧和经验。
定时器在节能环保中的应用 通过设定时间间隔和条件,定时器可以用来控制 家电的能耗,实现节能减排和环保的目的。
计数器应用
计数器在物流管理中的应用
01
在物流领域,计数器可以用来统计物品的数量和种类,帮助企
业实现精确的库存管理和物流调度。
计数器在交通信号控制中的应用
02
通过与交通信号灯的连接,计数器可以用来统计车流量和等待
工作原理
01
02
03
工作流程
五定时计数器通过接收外 部信号或指令,启动相应 的定时器或计数器,进行 计时或计数操作。
计时原理
定时器采用石英晶体振荡 器作为计时基准,通过分 频电路和计数器实现精确 计时。
计数原理
计数器采用输入信号的上 升沿或下降沿触发,记录 事件发生的次数。
分类与特点
5 定时计数器
主程序
定时器T1溢 出中断服 务子程序
单片微机 原理与应用 编程实现在P1.0引脚上输出周期为2ms的方波。
例5-3 利用T0的工作模式0产生1ms的定时,
设单片机的晶振频率ƒosc=12MHz。 解: 方法:定时1ms,对P1.0取反,然后继续定时 (1)设置模式字 2ms TMOD= **** 0000B =00000000B=00H 1ms (2)计算初值
单片微机 原理与应用
5. 3. 3 模式2及其应用
一、模式2时的结构和工作原理
与以前模式区别在于: 可连续计数 计数器为8位自动重装初值计数器,在循环定时 或计数时,不必反复预置计数初值。
单片微机 原理与应用
二、特短, 计数值N和定时时间t的计算 : N= 28- 初值X t=(28- 初值X) *机器周期Tcy 最大计数值为: 28 =256 说明:通常使用定时期T1工作在模式2作为串口 的波特率发生器。
单片微机 原理与应用
单片微机 三、应用举例 原理与应用 例5-1 使用定时器T0定时时间为1ms,选择工 作模式0,ƒosc=6MHz。试确定T0初值,计算最大 定时时间T。
解: (1)求T0的初值X 由公式:t=(213-T0初值)*机器周期Tcy t=1ms=1000μs 机器周期Tcy=12/ƒosc=12/6000000s=2μs 得 1000=( 213 -X)*2 所以初值 X=8192-500=7692=1111000001100B (一定要写全13位) TL0: 00001100B=0CH TL0的低5位和TH0的8位 TH0:11110000B=F0H
因Tcy=1μs,得 10000= (216-X)*1, 10000=65536-X X=55536=D8F0H
微机原理(第五章 定时计数器)
VCC
WR RD CS A1 A0 CLK2 OUT2 GATE2 CLK1 GATE1 OUT1
8253
8253定时/计数器引脚图
2013-9-22 11
1. 计数器
预置寄存器
计数初值存于预置寄存器; CLK OUT 在计数过程中, 减1计数器 减法计数器的值不断递减, GATE 而预置寄存器中的预置不变。 输出锁存器用于写入锁存命令时, 输出锁存器 锁定当前计数值
2013-9-22
17
3.读取计数值
• 对8位数据线,读取16位计数值需分两次 • 计数在不断进行,应该将当前计数值先行 锁存,然后读取:
– 向控制字I/O地址:给8253写入锁存命令 – 从计数器I/O地址:读取锁存的计数值。
读取计数值,要注意读写格式和计数数制
2013-9-22
18
4. 8253的编程命令
2013-9-22 13
3.与处理器接口
• • • • • D0 ~ D7 数据线 A0 ~ A1 地址线 CS* 片选信号 RD* 读信号 WR* 写信号
CS* A1 A0 0 0 0 0
2013-9-22
00 计数器0
A1A0= 01 计数器1 10 计数器2
11 控制字寄存器
系统机
I/O地址 40H 41H 42H 43H 读操作RD* 读计数器0 读计数器1 读计数器2 无操作 写操作WR* 写计数器0 写计数器1 写计数器2 写控制字
初始化 1)写入控制字 2)按控制字要求写入计数初值
例:设三个计数器的端口地址为70H、71H、72H, 控制端口地址73H。计数器0,工作模式2,仅使用 低8位,初值为100,计数值使用二进制。
只读写低字节
最新5-定时计数器原理及应用解析教学讲义ppt
2.1定时/计数器方式寄存器TMOD
Ml M0 操作模式 功 能 筒 述
0 0 模式0 l3位计数器,TLi只用低5位。
0 1 模式1 16位计数器。
10
模式2
8位自动重装计数器。仅TLi作为计数器,而THi的 值在计数中不变。T1i溢出时,THi中的值自动装 入T1i中。
11
模式3 TO分成2个独立的8位计数器。
0 0 模式0 l3位计数器,TLi只用低5位。
01 10 11
模式1 模式2 模式3
16位计数器。
8位自动重装计数器。仅TLi作为计数器,而THi的 值在计数中不变。T1i溢出时,THi中的值自动装 入T1i中。
TO分成2个独立的8位计数器。
1.方式0
方式0构成一个13位定时/计数器。图5-3 是定时器0在方式0时的逻辑电路结构。
不同的工作方式、不同的操作模式下,最 大计数值(溢出值) ,的M值为: 模式0: M=2^13=8192 模式1: M=2^16=65536 模式2: M=2^8=256 模式3: M=2^8=256,定时器T0分成2个独 立的8位计数器,所以TH0、T10的M均为 256。
2.3 定时/计数器的初始化
fosc为机器时钟(振荡器)的振荡频率。
2.3 定时/计数器的初始化
(3) 是否使用中断 根据要求考虑是否采用中断方式,直接对
IE位赋值。 开放中断时,对应位置1; 不使用中断时,可采用程序查询方式,IE
中对应位应清0进行中断屏蔽。 。
2.3 定时/计数器的初始化
(4) 启动定时/计数器工作。
使用SETB TRi指令。
1.2定时/计数器工作原理
当设置了定时器的工作方式并启动定时器 工作后,定时器就按被设定的工作方式独立工 作,不再占用CPU的操作时间,只有在计数器 计满溢出时才可能中断CPU当前的操作 。
片微机的定时器计数器原理及应用推荐PPT演示文稿
中断矢量地址
中断源
外部中断0(INT0) 定时器/计数器0(T0) 外部中断1(INT1) 定时器/计数器1(T1) 串行口(RI、TI) 定时器/计数器2
中断矢量地址
●GATE=1时,由外部中断引脚INT0、INT1和TR0、TR1共 同来启动定时器。当INT0引脚为高电平时,TR0置位启动定时器 T0;当引脚INT1为高电平时,TR1置位,启动定时器T1。
●GATE=0时,仅由TR0和TR1置位来启动定时器T0和T1。
◆C/T:功能选择位
C/T=1时,选择计数功能;
问题及解决方法 6.总结实验目的,写出收
当全灭时,再按一次“-” 键,则全亮
获体会
5.3 中断的控制
5.3.1中断标志
INT0,INT1,T0 及 T1的中断标志存放在 TCON寄存器中; 串行口的中断标志存放在 SCON寄存器中。 定时器/计数器控制寄存器TCON:
◆IT1:INT1的中断申请触发方式控制位 ◆IT0:INT0的中断申请触发方式控制位。
2)TH1、TL1:定时器/计数器1高位字节和低位字节。 字节地址:8DH,8BH,可读可写.
4、定时器/计数器中断:
中断允许寄存器IE 中断优先级寄存器IP 中断矢量
二、定时器/计数器T0、T1 的工作方式
⒈ 方式0: 13位定时器/计数器(M1=0、M0=0) 计数寄存器组成:THx 高8位和TLx的低5位 (TL0- TL4),共13位。
(16ms)
定时初值计算:
初值 X=213- f osc *t
一、定时器/计数器T0、T1 的控制寄存器
《定时计数器及应用》课件
物联网与智能化
随着物联网和智能化技术的发展,定时计数器将更加智能化,能 够与其他设备进行更紧密的集成和协同工作。
定制化与专业化
未来定时计数器将更加定制化和专业化,针对不同领域和应用场景 ,会有更多具有特定功能的定时计数器出现。
节能环保
随着环保意识的提高,未来定时计数器将更加注重节能和环保设计 ,以降低能耗和减少对环境的影响。
专用芯片实现
使用专用的定时计数器芯片,通 过编程配置其工作模式和参数, 实现定时计数功能。
微控制器实现
利用微控制器的定时器/计数器模 块,编写相应的程序,实现定时 计数功能。
基于软件的实现方式
多线程实现
利用操作系统的多线程机制,创建定 时任务线程,通过线程调度实现定时 计数。
延时函数实现
利用编程语言提供的延时函数,如 sleep()或delay()函数,实现简单的定 时计数。
硬件与软件的结合实现方式
嵌入式系统实现
结合微控制器和软件编程,利用微控制器的硬件定时器与软 件程序协同工作,实现更为精确和灵活的定时计数。
结合硬件定时器和软件调度
利用硬件定时器触发中断,在中断服务程序中进行计数,同 时结合操作系统的软件调度,实现高精度、高可靠性的定时 计数。
04 定时计数器的优缺点
05 定时计数器的发展趋势
定时计数器的发展历程
早期阶段
定时计数器最初是为了满 足工业控制和测量需求而 设计的,主要用于简单的 计时和计数功能。
技术发展
随着电子技术和微处理器 技术的进步,定时计数器 的功能逐渐增强,精度和 可靠性得到提高。
智能化
现代定时计数器已经具备 了智能化特点,能够与其 他设备进行通信和控制, 实现更复杂的任务。
微机原理_定时计数器8253
工作方式举例:方式2 二、工作方式举例:方式2
GATE门控 门控 信号
写入计 数初值 写入控 制字 WR GATE CLK OUT
方式2 方式2的工作特点是 计数,输出为持续不 断的周期信号
CLK 输入
计数脉冲 软件写入计数器启动 OUT 可预置初值计数器 计数,输出为持续不 计数, 输出
设计数初值为3 设计数初值为3
—— 启动 启动 启动 —— 启动
允许 —— 允许 允许 允许 ——
三、设置工作方式和计数值 对8253设置工作方式和设置计数值是连续 进行的。 步骤是:
1、对控制端口写:设置工作方式及计数值格式 2、对计数端口写:计数值低8位(可选) 3、对计数端口写:计数值高8位(可选)
控制字格式:
D7 SC1
1.19MHz / 533H = 900Hz
如果需要自定义频率值为263,则可以: MOV DX, 12H MOV AX, 3480H MOV SI, 263 DIV SI ;在AX中就得到了 计数值
音阶和频率的对应关系: 音符 1 2 3 4 5 6 7 1 频率 262 294 330 347 392 440 523 524 音符 1 2 3 4 5 6 7 1 频率 524 588 660 698 784 880 988 1048
8088
译码
A1 A0 AD7 | AD0 /WR /RD
8253
/CS A1 A0 D7 | D0 /WR /RD CLK0 OUT0 GATE0
10HZ频率 发生器
+5V
+5V +5V
0 1 2 3 4 5
定时计数器0
程序段如下
MOV OUT MOV OUT MOV OUT HLT AL , 0011 0000B 43H , AL ;写控制字 AL , 50 40H, AL ; 写计数初值低8位 AL , 0 40H, AL ; 写计数初值低8位
微机原理--定时计数控制接口 ppt课件
计数初值一次有效
当gate为0暂停记数
方式5 硬件触发选通信号
方式5 4
3
WR
CLK
GATE
OUT
43210
定时时间
触发信号是由gate引入才开始记数
3 2 13 2 10
定时时间
各种工作方式的输出波形
方式 0 方式 1 方式 2 方式 3 方式 4 方式 5
0
N0
N
1 0/N
N0 10
N N/2 0/N N/2 0
方式0 计数结束中断
WR CLK GATE
OUT
① ② ③④ ⑤ ⑥ 方式0 n=4
4321 0
计数初值一次有效
④ ①设定工作方式②门控信号高电平③设定计数初值计数值送入计数器⑤计数过程⑥计数结束
方式1 可编程单稳脉冲发生器
WR CLK GATE
OUT
①
②④ ⑤ ⑥
方式1 4
③ 4321 0
计数初值一次有效
43210
43210
43210
43210
记数n为偶数时输出重复周期为n的方波 N为奇数时输出一个(n+1)/(n-1)近似方波
当gate为0暂停记数
方式4 软件触发选通信号
方式4 4
3
WR
CLK
GATE
OUT
4321 0
3 2 3 2 10
软件装入n如果gate为高立即开始记数,只一次有效。要重新记数必须重新装入n
11.3.3 8253的编程
8253加电后的工作方式不确定 8253必须初始化编程,才能正常工作 写入控制字
写入计数初值 读取计数值
D7 D6 D5 D4 D3 D2 D1 D0
微机原理5_定时器
周期,仅在下半个周期启用新值。
(五)模式4:软件触发的选通信号发生器
这是一种软件触发,不能自动重复置数的方式。特点如下: 1、写入控制字后,输出OUT变为高电平,若GATE=1,写完计数初值后, 在下一个时钟脉冲的下降沿到来时,将计数初值写入“减1计数器”, 在下一个CLK的下降沿处开始减1计数。计数为0时输出变为低电平; 维持1个时钟周期后又恢复高电平,输出一直保持高电平。
(四)模式3:方波发生器(输出周期性方波)
模式3也有软、硬2种启动方式,也能自动重复置数,其输出为方波。 其特点如下: OUT输出是占空比为1﹕1或近似1﹕1的方波。此时是作减2计数,写 入初值后,先OUT输出高电平,待减2为零从新计数后,再输出低电平。 输出连续方波的周期为T=N*CLK。 当计数初值为偶数时:输出OUT在前一半计数过程中为高电平,后一 半为低电平,可获得完全对称的方波。
方式4和方式5 两者输出波形相同,计数结束后输出一个宽度为
(五)模式4:软件触发的选通信号发生器 2、GATE=1时,允许计数器工作;GATE=0时,停止计数 器工作,恢复高电平后,计数器又从原设定初值开 始减1计数。 3、计数器工作期间,如果向计数器写入新的初值,则不 影响当前的计数状态,仅在计数回零时,计数器才 按写入的新值开始计数,一旦计数完毕,计数器就 停止工作。
(二)模式1 :可重复触发的单稳态触发器 2、若计数过程中又来了一个门控脉冲GATE的上升沿, 则在下一个CLK 的下降沿重新从初值开始计数,直到计 数值为0,OUT才为高电平,从而使输出脉宽增加。
(二)模式1 :可重复触发的单稳态触发器 3、如果在计数器工作期间写入新的计数初值,则当 前输出脉冲宽度不受影响,只有GATE再次出现上升沿后, 才按新写入的计数值开始工作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.1.2 端口的概念 接口电路:微机可以通过接口电路接收外部设 备送来的信息或将信息发送给外部设备。 分类:可以提供使微机正常工作所需要的辅助 电路; 输入/输出接口电路包括并行接口、串行接口、 专用接口等, 提供CPU与接口直接进行操作的“通道” 每个部件或接口内部都包含有一组寄存器, 这些寄存器通常称为端口,每个端口有一个 端口地址。
2012-8-9 5
端口通常分为三类: 用来传输数据的称为数据端口; 用来存放设备或者部件状态的称为状态端口; 用来存放CPU发出的命令的称为控制端口。 CPU通过数据端口完成数据传输,因此,数据端口 一般是可读可写的; CPU通过状态端口可以检测外设和接口部件当前的 状态,因此,状态端口一般是只读的; CPU通过控制端口传输命令以便控制接口和设备的 动作,因此,控制端口一般是只写的。
2012-8-9 22
8253的工作方式
六种工作方式
计数初值写入初值寄存器后,要经过一个CLK输入后才开始计数
(或,经过一个CLK后,计数初值才到达计数执行部件)
计数器在CLK的下降沿使计数值减1
2012-8-9
23
8253的工作方式
方式0: 计数初值写入CR后,OUT由0到1跳变出现在n+1个时钟 脉冲之后 延迟时间TD=(n+1)TCLK
2012-8-9
17
1.8253的控制字
2012-8-9
18
8253的编程命令
初始化
1)写入控制字 2)按控制字要求写入计数初值
计数器初值计算:N=fCLK/fOUT
例:设三个计数器的端口地址为70H、71H、72H,控制端口地址73H。 计数器0,工作模式2,仅使用低8位,初值为100,计数值使用二进制。
每5秒产生 一个脉冲 +5V
+5V 2MHz
30
8253的应用
程序:
MOV AL, 74H OUT 43H, AL MOV AX, 10000 OUT 41H, AL MOV AL, AH OUT 41H, AL MOV AL, 74H
MOV AL, 34H OUT 43H, AL MOV AX, 1000 OUT 40H, AL MOV AL, AH OUT 40H, AL
2012-8-9
AL,30H 03H,AL AX, 400 00H,AL AL,AH 00H,AL
;控制字写入控制口 ;二进制形式的数据 ;先写低8位,写入通道0
;后写高8位,写入通道0
28
5.2.4 8253 的应用
1. 以2MHz输入8253,实现每5秒定时中断 (设8253端口地址40H~43H) 分析:8253最大初值65536,CLK=2MHz可实现最大时间间隔 65536/(2106)=32.769ms 所以需要两个计数器串联,一个计数器的输出作为另一个计数 器的输入
计数输出寄存器 状态寄存器
OUT
2012-8-9
8
一、计数/定时的工作原理
工作原理:对CLK信号进行减1计数 首先,CPU把控制字写入控制寄存器,计数初始值写入初值 寄存器 计数从初值开始,每当CLK信号出现一次,计数值减1 当计数值减到0,从OUT端输出规定的信号 CLK信号出现时,计数器是否减1,由门控信号GATE控制
2012-8-9 11
二、8253的内部结构
1片8253内部有三个计数器,结构完全相同 8253的内部结构 8253的内部结构如图5-2 所示,主要由以下部 分组成: (1) 数据总线缓冲器 (2) 读/写控制逻辑。 (3) 控制字寄存器。 (4) 计数器0,计数器1, 计数器2。
2012-8-9
2012-8-9
29
8253的应用
计数器1:方式2,OUT1每5ms输出一个脉冲 初值(2106)/(1/0.005)=10000
计数器0:方式2,OUT0每5s输出一个脉冲
初值(1/0.005)/(1/5)=1000
OUT0 GATE0 CLK0 OUT1 GATE1 CLK1
2012-8-9
6
2012-8-9
5.2 可编程定时器/计数器8253
一、计数/定时的工作原理
计数/定时的功能 •对外部事件发生次数进行计数 •计算机系统经常用到定时信号,如DRAM刷新定时
计数和定时本质上是相同的,它们都是对一个输入脉冲进 行计数,如果输入脉冲的频率一定,那么记录脉冲的个数与 所需的时间是一一对应的关系。 例如输入脉冲频率为2MHz,那么计数2106 计时1秒
使用同一个芯片,既能计数,又能定时——定时器/计数器
2012-8-9 7
一、计数/定时的工作原理
组成: 控制寄存器——决定工作模式 状态寄存器——反应工作状态 初值寄存器——计数的初值 计数输出寄存器——CPU从中读 当前计数值 计数器——执行计数操作, CPU不能访问
控制寄存器 初始值寄存器 GATE 计数器 CLK
2012-8-9
9
5.2.1 8253的功能与结构
1.8253的主要功能
⑴ 有3个独立的16位计数器通道。 ⑵ 每个计数器都可以按照二进制 或二—十进制(BCD码)计数。 ⑶ 每个计数器的计数速率可高达2MHz。 ⑷ 每个通道有6种工作方式,可由程序设置 和改变。 ⑸ 所有的输入输出都与TTL兼容。
MOV AL, 14H OUT 73H, AL MOV AL, 100 OUT 70H, AL
2012-8-9 19
8253的编程命令 例:设三个计数器的端口地址为70H、71H、72H,控 制寄存器端口地址73H。计数器1,工作模式1,使用 16位,初值为1234,计数值使用BCD
MOV AL, 73H OUT 73H, AL MOV AX, 1234H OUT 71H, AL MOV AL, AH OUT 71H, AL
12
(1) 数据总线缓冲器。 是8253与CPU数据总线连 接的8位、双向、三态 缓冲器。CPU用输入 输出指令对8253进行 读写的所有信息都是 通过该缓冲器传送的, 内容包括: • CPU在初始化编程时写 入8253的控制字。 • CPU向8253的某一通道 写入的计数值。 • CPU从某一个通道读取 的计数值。
2012-8-9
15
3.8253的引脚功能
8253的引脚按功能可分 为两组: 一组面向三总线 数据总线、控制总线和 地址总线, 另一组面向外部操作。 CLK、GATE、OUT
2012-8-9
16
5.2.2 8253的初始化编程
对8253某一通道的初始化编程涉及两个内容: 首先向控制端口写入通道控制字,由此控制字 确定选中哪个通道、采用什么工作方式和计数 方式、如何写入计数初值等内容, 然后向选中的通道端口写入计数初值。
2012-8-9
MOV AL, 0H OUT 73H, AL IN AL, 70H MOV BL, AL IN AL, 70H MOV BH, AL
21
5.2.3 8253的工作方式
工作方式决定以下内容:
1)门控信号的影响 高电平允许,当GATE=0,即使出现CLK,也不计数 ——方式0,2,3,4 上升沿允许(上升沿触发) ——方式1,5 2)OUT信号的状态 写入控制字后, OUT的状态 计数过程中, OUT的状态 计数终了, OUT的状态 3)计数操作可否重复 不可重复——方式0,4 自动重复——方式2,3 条件重复——方式1,5
2012-8-9 13
CS
(2)读/写控制逻辑。 8253内部操作的控制部分。 它接收输入的信号. 实现片选、内部通道选 择(见表5-1)以及对相 关端口的读/写操作。 A1 A0 端口 0 0 1 0 1 0 通道0 通道1 通道2
1 1
2012-8-9
控制端口
14
(3) 控制字寄存器。在对8253进 行初始化编程时,该寄存器 存放由CPU写入的控制字, 由此控制字来决定所选中通 道的工作方式。此寄存器只 能写入不能读出。 (4) 计数器0,计数器1,计数器 2。 是三个独立的计数器/定时器通 道,各自可按不同的工作方 式工作。
方式1: 单脉冲宽度T=n TCLK 方式2: 对输入端n个时钟脉冲,在输出端仅出现一个时钟脉冲 ——N分频计数器
24
2012-8-9
8253的工作方式 方式3: 例:计数器工作方式3,计数器初值15,时钟脉冲频率 为2MHz,确定OUT端输出方波的特性。 解:TCLK=1/2MHz=500ns 计数器初值15为奇数,输出分频波高电平宽度 TCLK(N+1)/2=4s 输出分频波低电平宽度 TCLK(N-1)/2=3.5s 方式4、5: 触发后n+1个时钟脉冲之后输出端产生选通脉冲信号
2012-8-9
26
5.2.4 8253 的应用
例2 在以8088CPU为核心的系统中,扩展一片8253芯片, 要求通道0对外部脉冲进行计数,计满400个脉冲后向CPU 发出一个中断请求,完成软硬件设计。 分析:首先完成硬件设计。8253与系统总线的连接如下:
2012-8-9
27
题目要求的输出波形 经分析选择方式0。 计数初值为400 确定控制字:00110000B 初始化程序: MOV OUT MOV OUT MOV OUT
2012-8-9 10
一、计数/定时的工作原理
CLK是计数输入信号,计数器对CLK端出现的脉冲个 数进行计数 •CLK端可以输入外部事件 •CLK端可以接入固定频率的时钟信号,从而实 现计时 OUT信号在计数结束时发生变化 •可将OUT作为外部设备的控制信号 •可将OUT作为向CPU申请中断的信号 CPU可以从计数输出寄存器读出当前计数值。 读前,应向控制寄存器发送锁存命令
2012-8-9 20
3.读取通道当前的计数值 8253任一通道的当前计数值,CPU都可用输入指令读取。 8253的通道计数器是16位的,要分两次读至CPU,为避免 在CPU的两次读出过程中出错,在进行读出操作前必须对 相应通道进行锁存,锁存的办法有两种: ① 利用GATE信号使计数过程暂停。 ② 向8253的控制口写入一个令通道锁存器锁存的控制字。 例:设三个计数器的CR/OL端口地址为70H、71H、72H, 控制寄存器端口地址73H。读出计数器0的当前计数值,放 在BX中