单片机应用技术-定时计数器综合应用
单片机原理及应用 第06章定时计数器

20
6.5 定时器/计数器的编程
初始化
1 根据要求给方式寄存器TMOD送一个方式控制 字,以设定定时器的工作方式; 2 根据需要给TH和TL选送初值,以确定需要的 定时时间或计数的初值; 3 根据需要给中断允许寄存器IE送中断控制字, 以开放相应的中断和设定中断优先级;
也可用查询方式来响应定时器。
JBC TF1,RP1 SJMP DEL2
30
6.6.4 长定时时间的产生
例 假设系统时钟为6MHz,编写定时器T0产生 1秒定时的程序。 (1)T0工作方式的确定 定时时间较长,采用哪一种工作方式? 由各种工作方式的特性,可计算出: 方式0最长可定时16.384ms;
方式1最长可定时131.072ms; 方式2最长可定时512μs。 选方式1,每隔100ms中断一次,中断10次为1s。
8
6.3 定时/计数器的4种工作方式 方式0、方式1(13位、16位定时计数方式)
T1工作于方式0的等效框图(M1M0=00、01)
GATE=0、A=1、TR1=1 GATE=1、INT1=1、TR1=1。注意定时器初值与定时时间的不同
9
6.3.1 方式0、方式1的说明 定时/计数器T1工作在方式0时,为13位的计数器,由TL1 的低5位和TH1的8位所构成。TL1低5位溢出向TH1进 位,TH1计数溢出置位TCON中的溢出标志位TF1。 GATE位的状态决定定时/计数器运行控制取决于TR1 一个条件还是TR1和INT1引脚这两个条件。 当GATE=0时,A点电位恒为1,则只要TR1被置为1,B 点电位即为1,定时/计数器被控制为允许计数(定时/计 数器的计数控制仅由TR1的状态确定,TR1=1计数, TR1=0停止计数)。 当GATE=1时,B点电位由INT1输入的电平和TR1的状 态确定,当TR1=1,且INT1=1时,B点电平才为1,才 允许定时器/计数器计数(计数控制由TR1和INT1二个条 件控制)。 方式1时,TL1的8位都参与计数,因而属于16位 定时/计数器。其控制方式,等效电路与方式0完全相 10 同。
定时器

单片机应用技术
一、定时方法概述
定时方法 硬件延时 软件延时 可编程定时 由硬件电路实现延时,长时间延时; 通过执行循环而获得延时,短时间延时; 通过对系统时钟脉冲的计数而获得延时。
二、定时器/计数器的结构和工作原理
1、结构
定时器T1 定时器
计数溢出 置标志位
定时器T0 定时器
设置T0工 设置T0工 作方式 启动/ 启动/停 止T0工作 T0工作
四、定时器/计数器工作方式 定时器 计数器工作方式
注意:定时计数器的计数范围与初值X 注意:定时计数器的计数范围与初值X的计算
1、定时器的计数规律: 、定时器的计数规律: T0从某初值X,对脉冲计数到1111111111111B(213D=8192D)溢出 计数个数:213-X 2、最大计数范围:从初值X=0D,计数到1111111111111B(213D) 、最大计数范围: 3、定时时间: 、定时时间: 计数个数为213-0=8192D
1 (2 − x) × ×12 = 250×10−6 6×106
13
X=8067D=1F83H=0001 1111 1000 0011B 故 TH0= 1 1111 100高8位=FCH 100高 TL0=0000 0011B低5位=03H 0011B低
单片机应用技术
(3) 编写程序。采用查询TF0的状态来控制P1.0输出 编写程序。采用查询TF0的状态来控制P1.0输出 MOV TMOD,#00H TMOD, ;置T0为方式0 ;置T0为方式0 MOV TH0,#0FCH TH0, ;送计数初值 MOV TL0,#03H TL0, SETB TR0 ;启动T0 ;启动T0 LOOP: LOOP: JBC TF0, NEXT TF0, ;查询定时时间到否? ;查询定时时间到否? SJMP LOOP NEXT: NEXT: CLR TF0 ; 对溢出标志位清0 对溢出标志位清0 MOV TH0,#0FCH ;重赋计数初值 TH0, MOV TL0,#03H TL0, CPL P1.0 ;输出取反 SJMP LOOP ; 重复循环 采用查询方式的程序很简单,但在定时器整个计数过程中,CPU要不断查询 采用查询方式的程序很简单,但在定时器整个计数过程中,CPU要不断查询 溢出时标志TF0的状态, 这就占用了CPU工作时间,以致CPU的效率不高。采用 溢出时标志TF0的状态, 这就占用了CPU工作时间,以致CPU的效率不高。采用 定时溢出中断方式,可以提高CPU的效率。 定时溢出中断方式,可以提高CPU的效率。
认识单片机的定时器计数器

void main(void) { TMOD=0x01;
TH0=-25000/256; TL0=-25000%256; TR0=1; ET0=1; EA=1; while(1); } void timer0(void) interrupt 1 { TH0=-25000/256;
TL0=-25000%256; P10=~P10; }
根据定时时间T,及公式(1)、(2)分别可以求出初 值N为:
方式1: N=216-T×fosc/12
(3)
方式2、方式3 :N=28-T×fosc/12 (4)
如果fosc=12MHZ,以上公式可简化为
方式1: N=216-T
方式2、方式3 :N=28-T
例如:系统的时钟频率是12MHz,在方式1下,如果希望定时 器/计数器T0的定时时间T为10ms,则初值N =216-T=6553610000=55536
任务一、认识单片机的定时器/计数器
一、定时器/计数器及其应用 在单片机应用系统中,定时或计数是必不可少的。例如: 测量一个脉冲信号的频率、周期,或者统计一段时间里 电机转动了多少圈等。常用的定时方法有:
1、软件定时 软件定时是依靠执行一段程序来实现的,这段程序本身 没有具体的意义,通过选择恰当的指令及循环次数实现 所需的定时,由于执行每条指令都需一定的时间,执行 这段程序所需总的时间就是定时时间。 软件定时的特点是无需硬件电路,但定时期间CPU被占 用,增加了CPU的开销,因此定时时间不宜过长,而且 定时期间如果发生中断,定时时间就会出现误差。
led=_crol_(led,1); 满10次变量led左移1位送P0口
P0=led;
}
}
[案例3] 用定时器的计数方式实现外部中断。如图 所示,P0口控制8只发光管轮流点亮,发光管点 亮时间为500ms,单脉冲电路控制发光管的移动 方向,按下单脉冲按钮,发光管左移,再按下发 光管右移 。
单片机实验之定时器计数器应用实验二

、实验目的1 、掌握定时器/计数器计数功能的使用方法。
2 、掌握定时器/计数器的中断、查询使用方法。
3 、掌握Proteus 软件与Keil 软件的使用方法。
4、掌握单片机系统的硬件和软件设计方法。
、设计要求1 、用Proteus 软件画出电路原理图,单片机的定时器/计数器以查询方式工作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满 100个脉冲,则取反P1.0 口线状态,在P 1.0 口线上接示波器观察波形。
2、用Proteus 软件画出电路原理图,单片机的定时器/计数器以中断方式工 作,设定计数功能,对外部连续周期性脉冲信号进行计数,每计满 200个脉冲, 则取反P1.0 口线状态,在P 1.0 口线上接示波器观察波形。
通过本实验弄清楚了定时/计数器计数功能的初始化设定(TMOD 初值的计 算,被计数信号的输入点等等),掌握了查询和中断工作方式的应用。
七、思考题1、利用定时器0,在P1.0 口线上产生周期为200微秒的连续方波,利用定 时器1,对P1.0 口线上波形进行计数,满50个,则取反P1.1 口线状态,在P 1.1 口线上接示波器观察波形。
tJI-JTTALlRSTIPO 1 Z^Cil POiPD 3/jfiD3 IPCLW/MH FD-5/^CB”血P2 O/jtS PNUMa P 2 .2/AJOPI F3JD/RKDP1 且1门池F1 2P1 .3P3^/|NT1 卩11 .4P3.4Z1D P1.5 P3 .5fT1 尸1P3.0AA/RP1I.7 P3.?/RD17三、电路原理图 18HQAT69C52P 2 .4/A12P2 5/A13 P2P2 .7XA1«5蝕丘2Q 37答:程序见程序清单四、实验程序流程框图和程序清单1、定时器/计数器以查询方式工作,对外部连续周期性脉冲信号进行计数,MAIN: MOV IE, #00HMOV TMOD, #60H MOV TH1, #9CH MOV TL1, #9CH SETB TR1LOOP: JNB TF1, LOOP CLRTF1 CPL P1.0 AJMP LOOP ENDC 语言程序:#in elude <reg52.h> sbit Y=P1A0; void mai n() {EA=0; ET1=0; TMOD=0x60;TH1=0x9C;计数数值初始化中断断 艙化!l[启动 =时器1 器一、r动 启N箱 * 1溢断清计数溢出标志—1 ~ P1.(口线取反TL 仁 0x9C; while(1) { TR1=1; while(!TF1); TF1=0; Y=!Y; } }2、定时器/计数器以中断方式工作,对外部连续周期性脉冲信号进行计数, 每计满200个脉冲,则取反P1.0 口线状态。
51单片机定时计数器的工作原理

51单片机定时计数器的工作原理
51单片机是一种常用的微控制器,它具有多个定时计数器,其中包括定时器0和定时器1。
这些定时计数器是通过内部时
钟源提供的脉冲进行计数的。
定时器0和定时器1是独立的计数器,它们可以用于不同
的应用。
这里我们将主要关注定时器0的工作原理。
定时器0
由一个八位计数器和一个控制寄存器组成。
当定时器0启动时,它会根据时钟源提供的脉冲进行计数,每个脉冲会使计数器的值增加1。
定时器0的计数范围为0-255,即八位二进制数。
通过控制寄存器,我们可以设置定时器0的工作模式、计
数器的初始值以及时钟源的频率。
定时器0可以以不同的方式工作,包括定时模式和计数模式。
在定时模式下,我们可以设置一个初始值,并在每次计数
器增加到该值时产生一个中断。
这样就可以实现精确的定时功能。
定时器0的中断服务程序可以完成各种操作,例如控制其他外设、延时等。
在计数模式下,定时器0将简单地计数外部触发信号的脉
冲次数。
这可以用于测量外部事件的时间间隔或频率。
需要注意的是,定时器0的工作需要通过编程来完成。
我
们可以使用汇编语言或C语言来配置定时器0的寄存器,并
设计相应的中断服务程序。
51单片机定时器的工作原理是通过定时器0和定时器1实
现计数功能。
定时器0可以在定时模式或计数模式下工作,通过设置计数值和时钟源频率,实现精确的定时功能或测量外部
事件的时间间隔或频率。
编程则是必不可少的,通过配置寄存器和编写中断服务程序来实现定时器的工作。
《单片机应用技术》000-9(周君芝)课件 项目三 中断系统与定时计数器的应用

3.1.3 中断系统的结构
IE0: 外部中断 INT0 的请求标志位。当CPU检测到外部中断请求时,该标志位置“1”;当
CPU转向中断服务程序时,由硬件自动置“0”(只适用于边沿触发方式)。 IT1和IE1:
外部中断 INT1 的触发方式控制位和请求标志位,其含义与IT0和IE0相同。
3.1.3 中断系统的结构
在电平触发方式中,当CPU转向中断服务程序时,不能自 动清除IE标志位,也不能由软件进行清除。因此应在中断返回 前撤销引脚上的低电平,否则就会产生CPU多次响应一次中断 的错误。
3.1.2 中断的特点
中断的特点主要 有分时操作、实 时处理、故障处
理等。
分时操作 实时处理
故障处理
只有当服务对象向CPU发出中断请求时,CPU才去 为它服务,无中断请求时CPU正常工作,这样单片机可 以为多个对象服务,从而大大地提高了CPU的工作效率。
利用中断技术,各个服务对象可以根据需要随时 向CPU发出中断请求,CPU可及时发现和处理中断请 求并为之服务,以满足实时控制的要求。
位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H
功能
用于定时/计数器
用于中断
TCON的位名称、位地址及功能
IT0: 外部中断 INT0 的触发方式控制位,由软件进行置“1”和置“0”。当IT0=1时,为
边沿触发方式(即当引脚P3.2出现下降沿脉冲信号时,中断请求有效);当IT0=0时, 为电平触发方式(即当引脚P3.2为低电平信号时,中断请求有效)。
1.中断源
向CPU发出中断请求的信号称为中断源。51系列单片机中有5个中断源,其中2个外部中 断源,3个内部中断源,具体如下。
INT0 外部中断,由引脚
8051单片机定时器及应用课件

计数脉 冲输入
加1计数器
19
6.3 定时器的工作方式——方式0
TH1
D12 D11 D10 D9 D8 D7 D6 D6
TL1
× × × D4 D3 D2 D1 D0
在这种方式下,16位寄存器TH1和TL1只用13位, 由TH1的8位和TL1的低6位组成。TL1的高3位不定。
15
16
第6章 定时器/计数器及其应用
➢ 6.3 定时器的工作方式
17
6.3 定时器的工作方式 MCS-51的定时器T0有4种工作方式:
即:方式0,方式1,方式2,方式3。 MCS-51的定时器T1有3种工作方式:
即:方式0,方式1,方式2。
18
6.3 定时器的工作方式——方式0
6.2.1 方式0
其定时时间为: (216-初值)×振荡周期×12
例如:若晶振频率为12MHz,则最长的定时时间为 (216-0)×(1/12)×12us=66.636ms
24
6.3 定时器的工作方式——方式2
6.3.3 方式2
M1、M0=10 ,为自动恢复初值的8位计数器,等效框图如 下: TLx作为8位计数器,THx作为重置初值的缓冲器。
数的是MCS-51内部产生的标准脉冲,通过 计数脉冲个数实现定时。 所以,定时器和计数器本质上是一致的,在 以后的叙述中将定时器/计数器笼统称为定 时器。
2
3
第6章 定时器/计数器及其应用
6.1 定时器的结构及工作原理 6.2 定时器的TMOD和TCON寄存器 6.3 定时器的工作方式
6.3.1 方式0 6.3.2 方式1 6.3.3 方式2 6.3.4 方式3
第3次《单片机原理与应用》-定时计数器

定时器初始化编程:
使用定时器工作之前,先写入控制寄存器, 确定好定时器工作方式。 初始化编程格式:
MOV TMOD,# 方式字 MOV THx,#XH MOV TLx,#XL (SETB EA ) (SETB ETx) SETB TRx ;选择方式 ;装入Tx时间常数 ;开Tx中断 ;启动Tx定时器
TMOD,#01H ;设置T0为方式1定时
ACALL PT0M0
HERE: AJMP HERE
;调用初始化子程序PT0M0
;原地循环,等待中断
22
PT0M0: MOV
TL0,#0CH
;T0初始化,装初值的低8位
MOV
TH0,#0FEH
;装初值的高8位
;允许T0中断 ;总中断允许 ;启动T0 ;中断子程序,T0重装初值 ;P1.0的状态取反
本例,主程序用一条转至自身的短跳转指令来代替。
21
参考程序如下:
ORG 0000H ;程序入口 ;转主程序 ;T0中断入口 ;转T0中断处理程序IT0P ;主程序入口 ;设堆栈指针
RESET: AJMP MAIN ORG 000BH
AJMP IT0P ORG MAIN: MOV MOV 0100H SP,#60H
2)中断方式:初始化后执行其它任务,中断服务程序处理溢出。 ORG 0000H LJMP MAIN ORG 000BH(001BH) ;Tx中断入口 LJMP PTS MAIN: … ;初始化后执行其他程序 PTS: … ;溢出中断服务程序 MOV THx,#XH ;重装时间常数 MOV TLx,#XL RETI
即T0每隔1ms产生一次中断,CPU响应中断后,在中断服务 子程序中对P1.0取反。为此要做如下几步工作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
项目五定时/计数器综合应用
课时(学时)8学时
终极目标 1.能完成单片机的定时器/计数器相关电路的设计;
2.能应用C语言程序完成单片机定时器初始化及相关编程控制,实现对
定时器应用于相关电路的设计、运行及调试。
促成目标 1.掌握定时器/计数器的基本工作原理;
2.掌握定时器/计数器的基本结构及相关寄存器的设置;
3.掌握C语言关于定时器的相关编程;
4.会利用单片机的定时器/计数器实现定时和计数功能。
教学重点 1.定时器/计数器的基本结构;
2.定时器/计数器工作方式;
3.定时器/计数器有关寄存器;
4.C语言关于定时器的相关编程;
5.霓虹灯控制系统设计与实现。
教学难点 1. 定时器/计数器工作方式;
2.霓虹灯控制系统设计与实现;
3. 电子钟设计与实现。
教学内容一、工作模块12 生产线自动打包系统
1.认识定时器/计数器;
2.生产线自动打包控制电路;
3.生产线自动打包控制程序;
二、工作模块13 霓虹灯控制系统
1.定时器/计数器工作方式;
2.定时器/计数器有关寄存器;
3.霓虹灯控制系统设计与实现;
三、工作模块14 电子钟设计与实现
1.电子钟电路设计;
2.电子钟程序设计。
教学手段多媒体演示及实训练习相结合
教学方法设计 1.项目驱动
2.教学做一体。