第8章 计数器定时器与DMA控制器
定时器

;8253控制口地址 ;通道0工作在方式0 ;8253通道0地址 ;给通道0送计数值
;通道1工作在方式3 ;8253通道1地址
;给通道1送计数初值低8位 ;给通道1送计数值高位
;通道2工作在方式0
MOV MOV OUT MOV OUT MOV MOV OUT MOV MOV OUT MOV OUT MOV OUT STI FF:
发声子程序:
SSP PROC NEAR ;8253初始化: MOV AL,10110110B ;计数器2,模式3,初值16位,二进制 OUT 43H, AL MOV AX, 1983 ; 计数初值=1.19MHZ600HZ=1983 OUT 42H,AL ;送计数初值低位字节 MOV AL,AH OUT 42H,AL次 ;送计数初值高位字节
方式0——计数结束产生中断
图 8-22
方式0——计数结束产生中断
方式1——可编程的单脉冲(单稳)触发器
高
图 8-22
单脉冲触发器
方式2——分频器( 速率发生器)
图 8-23
分频器
方式3——方波发生器
图 8-23 方波发生器
方式4——软件触发的选通信号发生器
图 8-23 软件触发的选通信号发生器
计数初始值=时钟频率*T
8_2_1 8253芯片内部结构
1.数据总线缓冲器 往计数器设置计数初值; 从计数器读取计数值; 往控制寄存器设置控制字。 2.读/写逻辑电路 A1 A0:端口选择 0 0:通道0(0号计数器) 0 1:通道1(1号计数器) 1 0:通道2(2号计数器) 1 1:控制字寄存器
3.通道0、通道1、通道2
计数器0:CLK0——计数器0的时钟输入。 GATE0——计数器0的门脉冲控制输入。 OUT0——计数器0的输出。 计数器1 计数器2
微型计算机原理及接口技术第8章8253

计数器/定时器的内部结构
8253内部包含三个完全一样的计数器/定时器通道, 每个通道的工作是完全独立的
每个通道包含:
① 一个8位控制字寄存器:由编程设定该通道的工作方式、读 写格式和数制
② 一个16位计数初值寄存器:由程序设定初始计数值,可分 成高8位和低8位两个部分,可作8位寄存器使用
③ 一个计数器执行部件(实际的计数器):实际上是一个16 位减法计数器,它的起始值是初始寄存器的值,由程序设 定。可分成高8位和低8位两个部分
优点:电路结构简单,价格便宜,通过 改变电阻或电容值,可以在一定的定时 范围内改变定时时间
缺点:电路在硬件已连接好的情况下, 定时时间和范围就不能由程序来控制和 改变,而且定时精度也不高
555定时器外部引脚和内部结构
可编程硬件定时
定时原理:利用可编程定时器/计数器芯 片附加硬件电路实现定时
输出信号的波形由工作方式决定,同时还要受 到GATE引脚上的门控信号控制,它决定是否 允许计数
计数器/定时器的定时功能
当加到CLK引脚上的脉冲为精确的时钟脉 冲,可实现定时的功能。
定时时间决定于计数脉冲的频率和计数 器的初值。
定时时间=时钟脉冲周期×预置的计数初值
计数器/定时器的计数功能
方式1:可编程单稳态输出方式
写入控制字后OUT初始状态:高电平 门控信号GATE的作用:①高电平或低电平均不起作用;
②只有在GATE发生由低到高的正跳变,输出OUT由高
到低跳变,并开始计数;③在计数过程中,若GATE产 生负跳变,不影响计数;④在计数器回0之前,GATE 又产生由低到高的正跳变,8253又将初始值装入,重 新开始计数,使生成脉冲加宽。 计数过程中OUT状态:保持低电平 计数结束OUT状态:发生由低到高的正跳变。 计数器回0后,是否重新计数:否 应用:用于定时
定时器计数器TMR0课件

04 读取计数值
一旦定时器计数器停止,我们可 以使用一个指令来读取计数值。 这个指令将返回定时器计数器的 当前值,我们可以使用这个值来 执行其他操作或进行其他计算。
06
TMR0定器数器的 解决方案
定时器溢出问题
总结词
当定时器计数达到最大值时,如果没有正确处理溢出情况,会导致定时器无法正常工作。
详细描述
用于设置定时器的时钟源频率,可以根据 需要选择不同的分频值。
自动重载寄存器
模式寄存器
用于设置定时器的溢出值,当定时器计数 值达到该值时,定时器会自动重载并产生 中断。
用于设置定时器的工作模式,包括正常模 式和定时模式等。
工作模式配置
正常模式
在正常模式下,TMR0会一直计数直 到达到自动重载值,然后重新开始计 数。当计数值达到预设值时,会触发 中断。
C语言编程示例
初始化TMR0
在C语言中,我们需要使用特定的函数来初始化 TMR0定时器计数器。这些函数通常在微控制器 的库文件中提供,用于设置定时器的模式、预分 频器和计数值等参数。
停止TMR0
当定时器计数器完成计数后,我们需要使用一个 函数来停止TMR0。这个函数将停止定时器计数 器的计数,并允许我们读取计数值。
功能
TMR0可以用于产生定时中断、 PWM(脉宽调制)信号、测量时 间间隔等。
TMR0在微控制器中的作用
01
02
03
实时时钟
TMR0可以作为实时时钟 使用,提供系统当前时间 信息。
事件触发
TMR0可以用于触发特定 事件或操作,例如在特定 时间间隔后执行某个任务。
时间测量
TMR0可以用于测量时间 间隔,例如检测输入信号 的频率或周期。
说明这是计算机科学专业01级的教学大纲,教师可根据实际授课时.

说明:这是计算机科学专业01级的教学大纲,教师可根据实际授课时数进行适当的调整。
《微型计算机技术》教学大纲一、大纲说明课程编号:052111课程名称(中文):《微型计算机技术》课程名称(英文):Micro Computer Technology适用专业:计算机科学与技术专业课程属性:学科基础课课程学时:总学时72 讲授学时50 实验学时22课程学分:4先修课程:模拟电路、数字逻辑、计算机组成原理、汇编语言程序设计二、课程的性质和任务1.课程的性质微型计算机技术是计算机科学与技术专业本科生的一门必修课程,是为培养满足计算机应用领域对计算机应用人才的需要而设置的。
本课程以介绍硬件知识为主,但构成一个微型计算机应用系统时,还必须具有用汇编语言编制源程序的能力,软硬件结合是本课程的一个特点。
另外,本课程又是一们实践性较强的课程,所以必须通过实践环节加深和提高对课程内容的理解,理论联系实践、理论指导实践是本课程的又一个特点。
2.课程的任务本课程的任务是通过学习,较深入地了解微型计算机系统的基本组成、体系结构和工作模式,掌握典型接口(包括软件和硬件)的基本工作原理及应用。
使学生具有微型计算机应用系统的分析能力和初步设计能力,为后继课程的学习打下基础。
三、教学内容、教学要求第1章微型计算机概述教学内容(1) 微型计算机的特点和发展;(2) 微型计算机的分类;(3) 微处理器、微型计算机和微型计算机系统;(4) 微型计算机的应用;(5) 课程宗旨及内容安排。
教学要求了解:微型计算机的特点、发展、分类;了解:微机系统的基本组成,微处理器、微型计算机和微机系统的区别;掌握:微型计算机的基本结构及重要组成部件的功能;了解:微型计算机的应用领域。
第2章 8086 微处理器教学内容(1) 8086的编程结构;(2) 8086的引脚信号和工作模式;(3) 8086的操作和时序;(4) 8086的存储器组织和I/O组织。
教学要求掌握:总线接口部件和执行部件的组成及功能;理解:总线接口部件和执行部件的动作管理的原理;掌握:8086/8088的各引脚信号的功能;了解:8086和8088在引脚功能上的区别;掌握:最大和最小两种工作模式的概念和原理;掌握:总线周期的基本概念,理解指令周期、总线周期和时钟周期的区别和联系;了解:系统的复位和启动操作原理;掌握:最大最小工作模式下的读写操作时序;掌握:中断的定义和工作原理及中断系统的概念;理解:最小模式下的总线保持,最大模式下的总线操作;掌握:8086的存储组织和I/O组织的基本概念。
计数器8253A

;计数器2,先低后高字节 ;写命令字 ;计数初值 ;写计数值低位
;写计数值高位
例
8253工作为计数器 1,方式 3,初值为4020D
0 1 1 1 0 1 1 1 77H
编程 MOV AL,77H OUT 43H,AL ;写计数器 1 的控制字 MOV AL,20H OUT 41H,AL ;写计数器 1 的低 8 位初值 MOV AL,40H OUT 41H,AL ;写计数器 1 的高 8 位初值
方式0—计数结束产生中断
预置初值之后,OUT仍保持低电平。 只有当计数器中计数值减为0时,OUT 才会输出高电平并维持
计数初值寄存器CR在延迟一个CLK脉 冲后传到CE中,因此N+1个CLK脉冲 后计数值才变为0 GATE=0,计数停止;1,继续计数 计数过程中可重写或改变计数值
方式0特点: (1)计数器只计数一遍 (2)输出信号OUT会在N+1个CLK脉冲后变高 (3)GATE变低电平可以停止计数过程 (4)改变计数立即有效
MOV
AL,40H ;设初值40H(高8位)
OUT
0E1H,AL
方式2—分频器
计数器减到1时,OUT仅输出一个CLK 脉宽的低电平,然后自动装入重新计 数 GATE由低变高会重新装入初值 新初值在下次计数才起作用
方式2特点:
(1)不用重新设置计数值,通道可以连续工作
(2)以GATE信号停止计数。在GATE变成高电平后的 下一个CLK脉冲,计数器恢复原来的初值,重新计 数
A0 A1
RD 读/写逻辑
WR
CS
控制字寄存器
计数器0 计数器1 计数器2
内部总 线
CLK0 GATE0 OUT0
CLK1 GATE1 OUT1
微机原理与接口技术9章8253

定时器/计数器
• 主要内容
– 定时与计数 – 可编程定时器/计数器接口芯片8253
定时与计数
• 定时技术在微机系统中必不可少
– 微机的工作在标准时钟控制下完成 – 为外设提供实时时钟 – 向外设定时发出控制信号
• 定时中断、定时检测、定时扫描、定时显示……
– 对外部事件进行计数
定时与计数
• 定时与计数
可编程定时/计数芯片8253
• 8253的工作方式
– 方式4——软件触发的选通信号发生器
• 波形图
可编程定时/计数芯片8253
• 8253的工作方式
– 方式4——软件触发的选通信号发生器
• 工作特点
– 计数由软件启动,每次写入计数初值只启动一次 计数 – 当计数值为N时,则间隔N+1个CLK脉冲输出一 个负脉冲(计数一次有效) – 在计数过程中,可由GATE信号控制暂停。当 GATE=0时,暂停计数;当GATE=1时,继续计 数 – 在计数过程中写入新的计数初值,则按新的初值 重新开始计数
可编程定时/计数芯片8253
• 8253的工作方式
– 方式5——硬件触发的选通信号发生器
• 波形图
可编程定时/计数芯片8253
• 8253的工作方式
– 方式5——硬件触发的选通信号发生器
• 工作特点
– 计数由GATE上升沿启动,只要GATE端给触 发脉冲,则会装入计数值,并开始计数 – 在这种方式下,若设置的计数值是N,则在 GATE脉冲后,经过(N+1)个CLK,OUT端 才输出一个负脉冲 – 在计数过程中修改计数初值,不会影响本次计 数,只有GATE端再次触发时,才按新的计数 值计数
微机原理与接口技术
第九章 8253
第6讲 定时器与计数器

TMOD T0引脚 0 M0 1 M1 C/T 0 机器周期 GATE M0 1 INT0引脚 M1 C/T GATE D7 D0
工作方式2结构
定时器T0工作方式2结构
溢出 申请 中断 申请 中断 TCON TF1 TR1 TF0 TR0 溢出 TH0 8位 T0引脚 1 TL0 8位 &
≥1
四、定时计数器控制寄存器
1、工作方式控制寄存器TMOD
C/T用于选择定时或计数方式,定时计数器4种工作方式 可通过TMOD中的M1、M0进行选择。
MCS-51单片机将门控位GATE、定时计数方式选择位C/T、
工作方式选择位M1、M0组合在工作方式控制寄存器TMOD 中,TMOD是特殊功能寄存器,字节地址为89H。TMOD共8位, 低4位用于T0的工作方式选择,高4位用于T1的工作方式选择。 各位定义如下:
每个计数脉冲使加1计数器加1。(f< fosc/24 ,)
4. 加1计数器
加1计数器由特殊功能寄存器TH0与TL0组成,工作前应
先将TH0与TL0置初值Count。然后由定时或计数脉冲使加1计
数器加1,当加1计数器加到FFFFH后再加1时,发生溢出回零,
硬件自动将中断标志TF0置1,并以此向CPU发中断请求。 溢出回零后硬件要完成以下几项工作: ① 将溢出标志TF0置1。 ② 以TF0=1为标志向CPU发中断请求信号。 ③ 若CPU响应,则在响应过程中由硬件将TF0清零。并转入中断 处理程序执行定时或计数任务。
工作方式
00; 01; M1M0 = 10; 11;
加1计数器位数
13位 16位
加1计数器
TH15~8,TL4~0 TH15~8,TL7~0
方式0 方式1 方式2 方式3
第5章定时计数器 (2)

5.4 8XX51定时/计数器的应用程序设计
5.4.3 应用编程举例 例1 如图所示,
P1中接有八个发光二极管, 编程使八个管轮流点亮,每 个管亮100ms,设晶振为 6MHz。 分析利用T1完成100ms的定时、 当P1口线输出“1”时,发光二 极管亮,每隔100ms”1”左移一 次,采用定时方式1,先计算计 数初值: MC=2μs 100ms/2μs =50000=C350H C =10000H-C350H=3CB0H
★若将T0设置为模式3,TL0和TH0被分成为两个互相独立的8位计数器
TH0和 TL0 。
★TL0可工作为定时方式或计数方式。占用原T0的各控制位、引脚和 中断源。即C/T、GATE、TR0、TF0和T0 (P3.4)引脚、INT0 (P3.2) 引脚。 TH0只可用作定时功能,占用定时器T1的控制位TR1和T1的中断标 志位TF1,其启动和关闭仅受TRl的控制。
ORG 0000H
AJMP
AJMP
MAIN
;T0中断服务程序入口 ;主程序开始 ;T0定时100ms IP0
ORG 000BH ORG 0030H MAIN:CLR P1.7
MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H
SETB
SETB
ET0
EA
5.4 8XX51定时/计数器的应用程序设计
本章介绍的主要内容
★ ★
★
定时计数器结构和工作原理 定时计数器的控制寄存器
定时计数器的应用编程
5· 1 8XX51定时/计数器结构和工作原理
★51系列单片机片内有两个十六位定时/计数器:定时器0(T0) 和定时器1(T1)。 ★两个定时器都有定时或事件计数的功能,可用于定时控制、 延时、对外部事件计数和检测等场合。 ★定时/计数器实际上是16位加1计数器。 T0由2个8位持殊功能寄存器TH0和TL0构成, T1由2个8位持殊功能寄存器TH1和TL1构成。 ★每个定时器都可由软件设置为定时工作方式或 计数工作方式。