第8章 定时计数器

合集下载

第八章 8253定时计数器(例程)

第八章 8253定时计数器(例程)
➢ 正常情况下,即GATE=1,对计数器置入时常数N后, 要经过N+1个时钟周期才能使OUT输出高电平;
➢ 在计数过程中,如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章定时计数器

单片机原理及应用课件教学配套课件陈桂友孙同景第8章定时计数器
单片机原理及应用
1/45
第8章 定时/计数器
8.1 8051单片机的定时/计数器
8.2 MSC1211的定时器与脉宽调制
5:04:06
版权所有。
单片机原理及应用
2/45
在计算机控制中可供选择的定时方法
(1)软件定时
执行一个循环程序来实现。
(2)硬件定时
定时全部由硬件电路完成,不占用CPU时间, 但需要通过改变电路的元件参数来调节定时时 间,在使用控制上不够方便,同时增加了开发成 本。
5:04:06
TL0 TH0 (低5位) (8位)
TF0
中断
控制
TL0 TH0 (低8位) (8位)
TF0
控制
中断
版权所有。
单片机原理及应用
方式2 OSC 12分频
T0(P3.4)
C/T=0 C/T=1
TR0
GATE INT0(P3.2)
方式3
OSC T0(P3.4)
定时器工作方式控制寄存器TMOD
地址
D7
D6 D5 D4
D3
D2
D1
D0 复位值
定时器1
定时器0
89H GATE C/ T
M1
M0 GATE C/ T
M1 M0
00H
定时器控制寄存器 TCON
地址
D7 D6
D5
D4
D3
D2
D1
D0 复位值
88H TF1 TR1 TF0 TR0 IE1
IT1IE0I源自08/454、定时/计数器量程的扩展
8051单片机中提供的定时/计数器可以使用户很方便地实现定时和对外 部事件计数。但是在实际应用中,需要的定时时间或计数值可能超过定时/ 计数器的定时或计数能力,特别是8051单片机的系统时钟频率较高时,定时 能力就更为有限。为了满足需要,有时需要对8051单片机的定时计数能力进 行扩展。定时能力和计数能力扩展的方法相同,在此主要对定时能力的扩展 进行讨论,计数能力的扩展可参考定时能力扩展的方法进行。

微型计算机原理及接口技术第8章8253

微型计算机原理及接口技术第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后,是否重新计数:否 应用:用于定时

微机原理及应用ch8-stu

微机原理及应用ch8-stu
19
方式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码)计数。

单片机原理与应用(方怡冰)1-10

单片机原理与应用(方怡冰)1-10
先修课程:数字电路、C语言程序设计
单元0:什么是单片机
本课程《微机原理与接口技术》,主要学习某种型号的微 处理器及其接口电路的结构、工作原理、设计应用。
本课程选择microchip公司的PIC16F877A单片机为学习对 象。
CPU与存储器/寄存器关系是哈佛架构、2级流水线。 接口电路丰富。 8位CPU,适合入门学习。 单片机设计软件、硬件开发套件等易得,理论学习和实践
5.1 中断逻辑
图5-1 PIC16F87X中断逻辑图
5.2 与中断逻辑有关的寄存器
5.2.1 中断控制寄存器INTCON 5.2.2 选项寄存器OPTION-REG INTEDG,这是与上述的外部中断有关的控制位。
1=选择RB0/INT上升沿触发; 0=选择RB0/INT下降沿触发。
5.3 端口RB做中断信号输入时的工作原理 5.3.1 外部中断输入端RB0/INT
用举例
4.1 RA端口
输入\输出端口分别是RA、RB、RC、 RD、RE
图4-2 RA4端口内部结构 图4-1 RA0-3、5端口内部结构
拓展:用汇编指令在RA端口电路上说明电 路工作原理
4.2 RB端口
拓展视:频用:C指用令汇在编R指B端令口在电RB路端上口说电明路上说明 电路工作原理 图4-3 RB0-3端口内部结构
第3脚:V0为液晶显示器对比度调整端
第4脚:RS为寄存器选择,高电平时选择 数据寄存器、低电平时选择指令寄存器
第5脚:RW为读写信号线,高电平时进行 读操作,低电平时进行写操作
第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令 第7~14脚:D0~D7为8位双向数据线 第15~16脚:背光灯电源正负极

PLC应用技术 第8章 变频器控制

PLC应用技术 第8章 变频器控制
PLC应用三菱机型)
第1章 可编程控制器认知 第2章 FX系统资源 第7章 模拟量控制 第3章 基本指令 第6章 状态法编程
第8章 变频器控制 第4章 定时器计数器指令
第9章 工业网络控制 第5章 应用指令 第10章 上位机监控组态
第11章 三菱大中型PLC
第 8章
变频器控制
3 1 2 3 4
8.1 变频器基础 8.2 三菱A800变频器 8.3 变频器开关量控制 8.4 变频器模拟量控制
变频器知名企业有瑞士ABB、德国西门子、日本安川、日 本三菱、美国艾默生等,国产有汇川、英威腾、安邦信、 欧瑞等。在此以三菱FR-A800系列为例,说明变频器在 PLC控制系统中的应用技术。 由三菱电机株式会社生产的三菱变频器,是世界知名的变 频器之一,在世界各地占有率比较高。 变频器可接收开关量、模拟量、通信数据,具体讲有面板 控制、JOG点动控制、多段速控制、模拟量控制、通信控 制等方式。 变频器在使用前,需设置相关参数。主要包括控制方式、 参数显示、频率、电动机参数、加减速时间等。根据使用 场合不同,还要设置一些更专业的参数。
2.变频器的基本结构
交-直-交变频器,其基本结构如图8-1所示,由主 回路,包括整流器、中间直流环节、逆变器和控制 回路组成,现将各部分的功能分述如下:
2.变频器的基本结构 (1)整流器。电网侧的变流器是整流器,它的作用是把 三相(也可以是单相)交流整流成直流。 (2)直流中间电路。直流中间电路的作用是对整流电路 的输出进行平滑,以保证逆变电路及控制电源得到质量 较高的直流电源。 (3)逆变器。负载侧的变流器为逆变器。逆变器的主要 作用是在控制电路的控制下将直流平滑输出电路的直流 电源转换为频率及电压都可以任意调节的交流电源。 (4)控制电路。变频器的控制电路包括主控制电路、信 号检测电路、门极驱动电路、外部接口电路及保护电路 等几个部分,其主要任务是完成对逆变器的开关控制, 对整流器的电压控制及完成各种保护功能。

第八章 可编程计数器定时器8253及其应用

WR
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章定时计数器


二、初始化编程 (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


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章 常用可编程接口芯片


;执行锁存命令
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内部寄存
输入
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机应用技术
第8章
定时/计数器
8.1 STC12C5410AD单片机的定时/计数器
8.2 STC12C5410AD的PCA/PWM模块
1/49
单片机应用技术
在计算机控制中可供选择的定时方法
(1)软件定时 执行一个循环程序来实现。 (2)硬件定时 定时全部由硬件电路完成,不占用CPU时间,但需要 通过改变电路的元件参数来调节定时时间,在使用控制上 不够方便,同时增加了开发成本。 (3)可编程定时器定时 由单片机内部的定时模块单元完成。
13/49
单片机应用技术
【例8-l】 设计利用定时/计数器T0、T1端作为外部中断源输入线进行外部中断源扩充 的程序。 解:为了扩充外部中断源,可以利用定时/计数器工作于计数状态时,T0(P3.4) 或T1(P3.5)引脚上发生负跳变,计数器增1这一特性,把P3.4、P3.5作为外部中断源 请求输入线,使计数器的计数值为-1(即0FFH),则外部T0、T1输入一个脉冲即计数溢 出,从而置位相应的中断请求标志,以此来申请中断,则相当于扩充了一根/INT线。 编程时,将T0置为方式2计数,计数初值0FFH,计数输入端T0(P3.4)发生一次负 跳变,计数器加1并产生溢出标志向CPU申请中断,中断处理程序使累加器A内容减1,送 P1口,然后返回主程序。汇编语言程序清单如下:
扩展方法: (1)软件扩展方法 扩展方法是在定时器中断服务程序中对定时器中断请求进行 计数,当中断请求的次数达到要求的值时才进行相应的处理。例 如,某事件的处理周期为1s,但由于受到最大定时时间的限制, 无法一次完成定时,此时可以将定时器的定时时间设为以10ms 为一个单位,启动定时器后的每一次定时器溢出中断产生10ms 的定时,进入中断服务程序后,对定时器的中断次数进行统计, 每100次定时器溢出中断进行一次事件的处理,然后再以同样的 方式进入下一个周期的事件处理。
11/49
单片机应用技术
(2)硬件扩展方法 硬件扩展方法可以使用外接通用定时器芯片对单片机的定时 能力进行扩展,如使用定时/计数器芯片8253,也可以利用单片 机自身的资源对定时能力进行扩展。 由于单片机的定时器没有对外输出引脚,所以两个16位的定 时/计数器不能直接连在一起,可以通过单片机的端口P0~P3实 现连接。下图给出了一种具体的连接方法。
3/49
单片机应用技术
单片机中的微处理器、寄存器TCON和TMOD与定时/ 计数器T0、T1之间的关系
P3.5 7 TH1 内部总线 0 7 TL1 0 7 TH0 0 7 TL0 P3.4 0
CPU的 微处理器
TCON
TMOD
AUXR
4/49
单片机应用技术
2、定时/计数器方式和控制寄存器 定时器工作方式控制寄存器TMOD
方式1
12分频 OSC/12 OSC 不分频 OSC/1 T0(P3.4) TR0 GATE INT0(P3.2) T0x12=0,1 0 1
C/T=0 C/T=1 控制
TH0 TL0 (低8位) (8位)
TF0
中断
8/49
单片机应用技术
方式2
12分频 OSC/12 OSC 不分频 OSC/1 T0(P3.4)
2)C/
T
:功能选择位。用于“计数器”或“定时器”功能的选择。
3)GATE:门控位。GATE用于选通控制。
5/49
单片机应用技术
定时器控制寄存器 TCON
地址 88H
D7
TF1
D6
TR1
D5
TF0
D4
TR0
D3
IE1
D2
IT1
D1
IE0
D0
IT0
复位值
00H
1)TF1:定时器/计数器1溢出标志位。
T0x12=0,1 0 1
C/T=0 C/T=1 控制
TL0 (8位)
TF0
中断
TR0 GATE INT0(P3.2)
12分频 OSC/12 OSC T0x12=0,1 0 1
重装载 TH0 (8位)
方式3
不分频 OSC/1 T0(P3.4)
C/T=0 C/T=1
TL0 (8位) 控制
TF0
中断
TR0 GATE INT0(P3.2) 12分频 OSC/12 OSC 不分频 OSC/1 T0x12=0,1 0 1 TR1
15/49
单片机应用技术
【例8-2】 设系统时钟频率为6MHz,利用定时器T0定时,每隔1s 将P1.0的状态取反。
思路:将定时器的定时时间设为50ms,在中断服务程序中对定时器溢
出中断请求进行计数,当计够20次时,将P1.0的状态取反,否则直接 返回主程序。 选择定时器T0的工作方式:软件启动、定时方式、16位定时器, 方式字为01H。由于系统时钟频率为6MHz,12分频时,计数单位为 2μ s。定时器T0的装入初值为
N 2n
Tc Tu
n=8,13或16
10/49
单片机应用技术
系统时钟频率为6MHz,进行12分频时,定时器的最大定时能力
位数 最大定时能力
8
13
T=(28 -0)×2μs=512μs
T=(213 -0)×2μs=16384μs=16.384ms
16
T=(216 -0)×2μs=131072μs=131.072ms
$include ORG LJMP ORG LJMP ORG MAIN: MOV MOV MOV SETB SETB SETB HERE: LJMP T0_ISR: MOV RETI END (STC12.INC) ;包含STC12C5410AD单片机寄存器定义文件 0000H MAIN ;转主程序 000BH ;定时器T0中断服务程序入口地址 T0_ISR ;转中断服务程序 0100H ;主程序的存放起始地址 MOV SP,#60H ;给栈指针赋初值 TMOD,#06H ;定时器T0工作于方式2 TL0,#0FFH ;送时间常数 TH0,#0FFH ET0 ;允许T0中断 EA ;CPU开中断 TR0 ;启动T0计数器 HERE ;等待 DEC A ;T0中断服务程序 P1,A ;累加器A内容减1送P1口
STC12C5410AD单片机内部有 ★两个16位的定时/计数器 ★四路可编程计数器阵列(Programmable Counter Array, PCA )/脉宽调制(Pulse Width Modulation,PWM)。
2/49
单片机应用技术
8.1
STC12C5410AD单片机的定时/计数器
1、定时/计数器的结构及工作原理
T0 定 器 式 时 方 P1.0
T1(P3.5)
T1 计 器 式 数 方
1)T0设置为16位定时器方式,当T0溢出时,执行T0的中断服务 程序。在T0的中断服务程序中将P1.0取反。这样在P1.0将输出一个方 波,其周期为T0定时时间的2倍。设T0的定时时间为TIME,则由P1.0 输出的方波的周期为2×TIME。 2)T1设置为16位计数器方式,将P1.0输出的方波接到T1的定时 器外部输入端T1(P3.5),作为定时/计数器1的外部计数脉冲,其每个 周期的下降沿使T1加1。设计数器T1的计数脉冲数为COUNT,则当T1 溢出时,总定时时间T为:T = 2×TIME×COUNT。
12/49
单片机应用技术
5、定时/计数器编程举例 定时/计数器的应用编程主要有两点:一是能正确初始化,包 括写入控制字,进行时间常数的计算并装入;二是中断服务程序的
编写,即在中断服务程序中编写实现定时完成的任务代码。一般情
况下,定时/计数器初始化部分的步骤大致如下: (1)设置工作方式,将控制字写入TMOD寄存器。 (2)设置分频方式,将控制字写入AUXR寄存器。默认的情 况是12分频(兼容传统8051单片机),因此,如果使用传统8051 单片机模式,可以不进行设置。 (3)把定时/计数初值装入TLX、THX寄存器。 (4)置位ETX允许定时/计数器中断(如果需要)。 (5)置位EA使CPU开放中断。 (6)置位TRX以启动定时/计数。
1)T0x12:定时器0速度控制位。 0:定时器0的速度是传统8051单片机定时器的速度,即12分频。 1:定时器0的速度是传统8051单片机定时器速度的12倍,即不分频。 2)T1x12:定时器1速度控制位。 0:定时器1的速度是传统8051单片机定时器的速度,即12分频。 1:定时器1的速度是传统8051单片机定时器速度的12倍,即不分频。
2)TR1:定时器T1的运行控制位。
3)TF0:定时器/计数器0溢出标志位。 4)TR0:定时器T0的运行控制位。 TCON的0~3位与外部中断有关。
6/49
单片机应用技术
AUXR:辅助寄存器
地址 8EH D7 T0x12 D6 T1x12 D5 UART_M0x6 D4 EADCI D3 ESPI D2 ELVDI D1 D0 复位值 000000XXB
OSC 12分频或不分频 C/T=0 C/T=1 控制信号 加1 计数器 TFX 中断
TX端
定时/计数器的核心是一个加1计数器,加1计数器的脉冲有两 个来源,一个是外部脉冲源,另一个是系统的时钟振荡器。计数 器对两个脉冲源之一进行输入计数,每输入一个脉冲,计数值加1 。当计数到计数器为全1时,再输入一个脉冲就使计数值回零,同 时从最高位溢出一个脉冲使特殊功能寄存器TCON(定时器控制 寄存器)的某一位TF0或TF1置1,作为计数器的溢出中断标志。
14/49
单片机应用技术
对应的C语言程序如下: #include “stc12.h” //包含STC12C5410AD单片机寄存器定义文件 unsigned char cnt; void timer0_ISR (void) interrupt 1 //T0中断函数 { cnt = cnt- -; //在C语言程序中,使用变量cnt代替汇编语言中的累加器A P1 = cnt; } void main(void) { cnt=0xff; TMOD=0x06; //定时器0工作于方式2 TL0=0xff; TH0=0xff; TR0=1; ET0=1; EA =1; while(1); //等待中断 }
相关文档
最新文档