第06章定时器-计数器
- 格式:ppt
- 大小:389.02 KB
- 文档页数:66


单片机作业
1
定
时
器
计
数
器
的
应
用
探测一班
1011020119
李赛
单片机作业
2
定时器计数器的应用系统设计
一. 系统分析
设计一个简单的单片机应用系统,要求如下:晶振为12MHZ,使用定时器计数器1(T1)作为延时控制,利用I/O端口P0点亮三只灯,三只灯(如P0.0、P0.1、P0.2)交替闪烁,间隔1s。
二. 系统功能框图设计
晶振
单
片
机
P0.0灯
P0.1灯
复位 P0.2灯
定时计数器
三.系统硬件设计
单片机AT89C51 瓷片电容CAP30PF 电阻RES 晶振CRYSTAL
12MHZ 按钮BUTTON
电解电容CAP-ELEC 发光二级管LED-BIBY 发光二级管LED-BIGY 发光二级管LED-BIRG 单片机作业
3
四.系统软件、原理图设计
该系统的原理图如图1所示
图1系统的原理图
五.程序流程图设计 单片机作业
4 开始
定时/计数器初始值设置
P0.0清0、P0.1置1、P0.2置1
启动定时/计数器1
定时/计数器是否延时25ms?
启动定时/计数器重新赋值
是否循环40次(延时1s)?
P0.0、P0.1取反
定时/计数器是否延时25ms?
启动定时/计数器重新赋值
是否循环80次(延时1s)?
P0.1、P0.2取反
N
N 定时/计数器是否延时25ms?
启动定时/计数器重新赋值
是否循环120次(延时1s)?
P0.0、P0.2取反
重新计循环次数
N N N
` N
Y
Y
Y
Y
Y
单片机作业
5 六.系统的程序设计
汇编程序:
ORG 0000H
LJMP MAIN
ORG 0100H
MAIN: MOV SP,#60H ;初始化堆栈
51单⽚机定时器计数器详解
第六章定时器/计数器
6.1 定时器的结构及⼯作原理6.2 定时器的控制
6.3 定时器的⼯作模式及其应⽤
第六章定时器/计数器
实现定时⼀般有多种⽅法:1. 利⽤软件实现(延时程序)
优点:简单,控制⽅便;缺点:CPU效率低。2. 外部硬件实现:单稳态定时器、计数定时器
优点:CPU效率⾼;缺点:修改参数⿇烦。3. 利⽤计数器实现输⼊脉冲定时器/计数器作⽤主要包括产⽣各种时标间隔、记录外部事件的数量等,是单⽚机中最常⽤、最基本的部件之⼀。
外来脉冲
定时计数定时器/计数器功能⽰意图
6.1 定时器/计数器的结构及⼯作原理6.1.1 定时器/计数器的基本结构
MCS-51单⽚机有⼆个定时器/计数器,每个定时器/计数器由⼏个专⽤寄存器组成。
TMOD(89H )⾼四位TMOD(89H )低四位⽅式寄存器TCON(88H)
TCON(88H)控制寄存器*8DH 8BH 8CH 8AH TH1 TL1TH0 TL0数据寄存器(16位)
定时器T1定时器T0
定时器/计数器的结构如下图所⽰。
定时器/计数器的基本结构框图
申请P3.5or P3.4or 8DH 8BH
8CH 8AH
6.1.2 定时器/计数器的⼯作原理定时器/计数器结构原理图
INTx P3.Y
GATE :门控制位
:定时/计数控制位TC/x=0,1Y=2,3Z=4,5
⼀. 对外部输⼊信号的计数功能
当T0或T1设置为计数⼯作⽅式时,计数器对来⾃输⼊引脚P3.4(T0)和P3.5(T1)的外部信号计数。
若前⼀个机器周期采样值为1,后⼀个机器周期采样值为0,则计数器加1。所以计数器计数的频率最⾼为fosc 的1/24。
B
D
EH
T H >1个机器周期
T L >1个机器周期
L
⼆. 定时功能:
定时器/计数器的定时功能也是通过计数实现的,它的计数脉冲是由单⽚机的⽚内振荡器输出经12分频后产⽣的信号,即为对机器周期计数。
INTx P3.Y
例如:
晶振频率=12MHz 机器周期=1us ,计数1次=1us ,计数频为=1MHz 。
ORG 0000H
START: LJMP MAIN
ORG 0100H
MAIN: MOV SP, #2FH
CLR EA
CLR ET1
MOV TMOD, #00010000B
MOV TH1, #0FFH
MOV TL1, #9CH
SETB TR1
LOOP: JNB TF1, LOOP
MOV TH1, #0FFH
MOV TL1, #9CH
CLR TF1
CPL P1.0
LJMP LOOP
END
#include
sbit zhong=P1^1;
void main()
{
IE=0x82;
TMOD=0x02;
TH0=0x88;
TL0=0x88;
TR0=1;
while(1);
}
void T0Isr() interrupt 1
{
zhong=!zhong;
}
ORG 0000H
START: LJMP MAIN
ORG 0100H
MAIN: MOV SP, #2FH
CLR EA
CLR ET0
CLR ET1
MOV TMOD, #00010010B
MOV TH0, #37H
MOV TL0, #37H
MOV TH1, #0FEH
MOV TL1, #0D4H
SETB TR0
LOOP: JNB TF0, LOOP
CPL P1.0
SETB TR1
CLR TF0
CLR TR0
LOOP1: JNB TF1, LOOP1
CPL P1.0
SETB TR0
MOV TH1, #0FEH
MOV TL1, #0D4H
CLR TF1
CLR TR1
LJMP LOOP
END
定时器/计数器及实验
MCS-51单片机可提供两个16位的定时/计数器:定时/计数器1和定时/计数器0。它们均可用作定时器或事件计数器,为单片机系统提供计数和定时功能。
12.1 定时/计数器的结构及工作原理
图12-1为定时/计数器的结构框图。由图12-1可见,定时/计数器的核心是一个加1计数器,加1计数器的脉冲有两个来源,一个是外部脉冲源,另一个是系统的时钟振荡器。计数器对两个脉冲源之一进行输入计数,每输入一个脉冲,计数值加1。当计数到计数器为全1时,再输入一个脉冲就使计数值回零,同时从最高位溢出一个脉冲使特殊功能寄存器TCON(定时器控制寄存器)的某一位TF0或TF1置1,作为计数器的溢出中断标志。如果定时/计数器工作于定时状态,则表示定时的时间到,若工作于计数状态,则表示计数回零。所以,加1计数器的基本功能是对输入脉冲进行计数,至于其工作于定时还是计数状态,则取决于外接什么样的脉冲源。当脉冲源为时钟振荡器(等间隔脉冲序列)时,由于计数脉冲为一时间基准,所以脉冲数乘以脉冲间隔时间就是定时时间,因此为定时功能。当脉冲源为间隔不等的外部脉冲发生器时,就是外部事件的计数器,因此为计数功能。
图12-1 定时/计数器结构框图
用作“定时器”时,在每个机器周期寄存器加1,也可以把它看作是在累计机器周期。由于一个机器周期包括12个振荡周期,所以,它的计数速率是振荡频率的1/12。如果单片机采用12MHz晶体,则计数频率为1MHz,即每微秒计数器加l。这样不但可以根据计数值计算出定时时间,也可以反过来按定时时间的要求计算出应计数的预置值。
用作“计数器”时,MCS-51在其对应的外输入端T0(P3.4)或T1(P3.5)有一个输入脉冲的负跳变时加1。最快的计数速率是振荡频率的1/24。
定时/计数器T0由两个8位特殊功能寄存器TH0和TL0构成,定时/计数器T1由两个8位特殊功能寄存器TH1和TL1构成。方式寄存器TMOD用于设置定时/计数器的工作方式,控制寄存器TCON用于启动和停止定时/计数器的计数,并控制定时/计数器的状态。对于每一个定时/计数器其内部结构实质上是一个可程控加法计数器,由编程来设置它工作在定时状态或计数状态。8位特殊功能寄存器TH0和TL0(或TH1和TL1)可被程控为不同的组合状态(13位、16位、两个分开的8位等),从而形成定时/计数器四种不同的工作方式,这也只需用指令改变TMOD的相应位即可。