定时器计数器最新PPT课件_第1页
定时器计数器最新PPT课件_第2页
定时器计数器最新PPT课件_第3页
定时器计数器最新PPT课件_第4页
定时器计数器最新PPT课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第8讲 定时器/计数器 n8.1 定时器/计数器概述 n8.2 定时器/计数器的构成 n8.3 定时器/计数器的用法 n8.4 定时器/计数器的控制 n8.5 定时器/计数器的应用(1) n8.6 定时器/计数器的应用(2) 8.1 定时器/计数器概述 n定时器/计数器是MCS-51单片机的重要功能模块 之一。 n在检测、控制及智能仪器等应用中,常用定时器 作实时时钟来实现定时检测、定时控制。还可用 定时器产生毫秒宽的脉冲驱动步进电机。 n计数器主要用于外部事件的计数。 nMCS-51单片机内部有两个16位定时/计数器T0和 T1,它们既可用作定时器,也可用作计数器,应 用哪种,可以通过编程来

2、设定。 n定时器/计数器在MCS-51单片机中的引脚位置: T0:P3.4,T1:P3.5 返回本节 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RST/VPD RXD/P3.0 TXD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7 XTAL2 XTAL1 VSS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 8031 8051 8751 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 2

3、1 22 23 24 VCC P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA/Vpp ALE/PROG PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 8.2 定时器/计数器的构成 n两个定时器两个定时器/计数器(计数器(T0和和T1)。每个 定时器/计数器都是由两个8位计数器构成的 16位计数器,分别由特殊功能寄存器TH0、 TL0和TH1、TL1组成,最大计数值 216=65536 。 n寄存器寄存器TCON。TCON为控制寄存器,用 来控制两个定时器/计数器的启动/停止。 n寄存器寄存器TMOD。TMOD为工

4、作方式控制寄 存器,用来设置定时器/计数器的工作方式 。 返回本节 TCON TH1TL1TH0TL0 TMOD T0T1 P3.4P3.5 CPU 定时/计数器结构示意图 8.3 定时器/计数器的用法 返回本节 时钟振荡器 12分频 1MHz 12MHz 定时/计数器T0中断系统 1 、定时器的用法 定时器的功用是用定时器的功用是用 来确定时间来确定时间。如果要求 单片机在一定的时间后 产生某种控制,可将定 时器/计数器设为定时器 。如下图,将定时/计数 器T0设为定时器,实际 上就是将定时/计数器与 外部中断断开,而与内 部信号接通,对内部信 号进行计数。 时钟振荡器 12分频 1MHz

5、12MHz 定时/计数器T0中断系统 T0 单片机定时器用法示意图 P2.1 +5V 8.3 定时器/计数器的用法 返回本节 单片机的时钟振荡器可产生12MHz的时钟脉冲信号, 它经过12分频后得到1MHz的脉冲信号,1MHz信号 每个脉冲的持续时间为1s。 如果定时器T0对1MHz的信号进行计数,当计到65536 时,将需要65536s,也即65.536ms。65.536ms后 定时器计数达到最大值,会溢出而输出一个中断请 求信号去中断系统,中断系统接受中断请求后,执 行中断子程序,子程序的运行结果将P2.1端口置 “0”,发光二极管发光。 8.3 定时器/计数器的用法 返回本节 任意定时的

6、方法 在上例中,定时器只有在65.536ms后计数达到最大值 时才会溢出,如果需要不到65.536ms定时器就产生 溢出,如1ms,可以对定时器预先进行置数。将定 时器初始值置为64536,这样定时器就会从64536开 始计数,当计到65536时,定时器定时就为1ms而产 生一个溢出信号。 8.3 定时器/计数器的用法 返回本节 2、计数器的用法 计数器的功能是用来计数。计数器的功能是用来计数。在单片机内有一个定时/计数 器T0,可以用编程的方法将它设为计数器,当作计数器用时, 它有16位,最大计数值216=65536。当脉冲信号输入时,计数 器对脉冲进行计数,计数达到最大值65536时,计数

7、器溢出, 会输出一个中断请求信号到中断系统,中断系统接受中断请求 后,执行中断子程序。 任意计数的方法与任意定时的方法类似,也是先进行预 先置数,然后才开始计数。 8.4 定时器/计数器的控制 返回本节 1、定时器/计数器控制寄存器TCON 寄存器寄存器TCON的功能主要是接收各种中断源送来的中断请求信号,的功能主要是接收各种中断源送来的中断请求信号, 同时也对定时器同时也对定时器/计数器进行启动计数器进行启动/停止控制。寄存器停止控制。寄存器TCON的字的字 节节地址是地址是88H,它有,它有8位,每位均位,每位均可进行位寻址可进行位寻址。 各位的地址和名称如下: TCON 位地址 D0D1

8、D2D3D4D5D6D7 IT0IE0IT1IE1TR0TF0TR1TF1 88H89H8AH8BH8CH8DH8EH8FH 外部中断请求标志 及信号方式 定时器/计数器启动及 中断请求标志 8.4 定时器/计数器的控制 返回本节 TF0和和TF1:分别是定时器:分别是定时器/计数器计数器0和和1的中断请求标志位。的中断请求标志位。当定时 器/计数器工作产生溢出时,会将TF0或TF1位置“1”,表示定时 器/计数器有中断请求。 TR0和和TR1:分别是定时器:分别是定时器/计数器计数器0和和1的启动的启动/停止位。停止位。在编程时 ,若将TR0或TR1设置为“1”,那么相应的定时器/计数器就开

9、始 工作,若设置为“0”,相应的定时器/计数器则会停止工作。 IE0、IE1、IT0、IT1:用作中断的控制,在中断将再详细讲述。 在单片机复位时,寄存器在单片机复位时,寄存器TCON的各位均为的各位均为“0” TCON 位地址 D0D1D2D3D4D5D6D7 IT0IE0IT1IE1TR0TF0TR1TF1 88H89H8AH8BH8CH8DH8EH8FH 外部中断请求标志 及信号方式 定时器/计数器启动及 中断请求标志 8.4 定时器/计数器的控制 返回本节 2、工作方式控制寄存器TMOD 寄存器寄存器TMOD的功能是控制定时器的功能是控制定时器/计数器计数器T0、T1 的工作方式和的工

10、作方式和 操作模式。寄存器操作模式。寄存器TMOD的的字节地址是字节地址是89H,高,高4位用来控制位用来控制 定时器定时器/计数器计数器T1,低,低4位用来控制定时器位用来控制定时器/计数器计数器T0,它们,它们 对定时器对定时器/计数器计数器T1、T0的控制功能一样。在上电(给电路的控制功能一样。在上电(给电路 加电源)和复位时,寄存器加电源)和复位时,寄存器TMOD中的数据为中的数据为00H。不可以不可以 对它进行位操作对它进行位操作。寄存器TMOD各位的名称如下: TC / 8.4 定时器/计数器的控制 返回本节 下面以高下面以高4位控制定时器位控制定时器/计数器计数器T1为例来说明各

11、位的具体功能:为例来说明各位的具体功能: GATE:门控位,用来控制计数器的启动是否受外部中断请求信号的影响。门控位,用来控制计数器的启动是否受外部中断请求信号的影响。 GATE=1,计数器的启动受芯片引脚(P3.3)的控制,即除了需要将 寄存器TCON的TR1位置“1”外,还要使 引脚为高电平;GATE=0, 只要寄存器TCON的TR1位置“1”,就可以启动T1开始工作。 : :定时、计数功能设置位。定时、计数功能设置位。 =0,将定时器/计数器设置为定时器工作方 式; =1,将定时器/计数器设置为计数器工作方式。 M1、M0位:定时器位:定时器/ /计数器工作方式选择位。计数器工作方式选择

12、位。M1、M0位取不同值得组合, 可以将定时器/计数器设置位不同的工作方式。M1、M0位不同取值与定 时器/计数器工作方式的关系见下表: 8.4 定时器/计数器的控制 返回本节 M1M0 工作工作方式方式功功 能能 0 0方式0 13位计数器,T0用TH0(8位)和TL0的低5位,T1用TH1(8位)和 TL1的低5位,最大计数值为213=8192 0 1方式1 16位计数器,T0由TH0和TL0构成,T1由TH1和TL1构成。最大计数 值为216=65536 10方式2 带自动重装功能的8位计数器,TL0和TL1为8位计数器,TH0和TH1 存储自动重装载的初值。 10方式3 只用于T0。把

13、T0分为两个独立的8位定时器TH0和TL0。TL0占用T0 的全部控制位,TH0占用T1的部分控制位,此时T1用作波特率发生 器。 8.5 定时器/计数器的应用(1) 返回本节 设晶振为12MHz,使用定时/计数器作为延时控制时, 要求在两灯P0.0和P0.1之间按1s互相闪烁。 8.5 定时器/计数器的应用(1) 返回本节 设晶振为12MHz,使用定时/计数器作为延时控制时, 要求在两灯P0.0和P0.1之间按1s互相闪烁。 设计步骤: 1、系统分析 2、硬件设计 3、软件设计 4、流程图设计 5、ASM程序设计 6、C程序设计 8.5 定时器/计数器的应用(1) 返回本节 单片机单片机AT

14、89C51瓷片电容瓷片电容CAP 30pF电阻电阻RES 晶振晶振CRYSTAL 12MHz 按钮BUTTON点解电容CAP-ELEC发光二极管BIGY发光二极管BIBY 8.5 定时器/计数器的应用(1) 返回本节 程序设计 由于定时器直接延时的最大时间 Tmax=65536s=65.536ms,为延时1s,必须 采用循环计数方式实现。方法为:定时器设延 时50ms(初始值应为:15536s),单片机内部寄 存器加1,然后定时器重新延时,当内部寄存 器计数达20次时,表示延时1s。使用定时器T0 工作在方式1,延时50ms,初始值TMOD为 01H,TH0为3CH,TL0为B0H。 1553

15、6=0011 1100 1011 0000B=3CB0H 8.5 定时器/计数器的应用(1) 返回本节 程序流程图 8.5 定时器/计数器的应用(1) 返回本节 汇编程序 ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV SP,#60H ;初始化堆栈,给定时器0赋初值 MOV TMOD,#01H ;使用16位模式方式1 M1=0 M0=1 MOV TH0,#3CH ;初始化定时器0的溢出间隔时间为50ms MOV TL0,#B0H ;TH为高位,TL为低位 SETB TR0 ;启用定时器0 SETB P0.0 CLR P0.1 MOV R7,#00H ;用R7计数

16、 LOOP: JNB TF0,LOOP ;TF0不是1,无溢出,继续循环,是1,向下执行 MOV TH0,#3CH ;初始化定时器0的溢出时间 MOV TL0,#B0H INC R7 CLR TF0 CJNE R7,#14H,LOOP ACALL LOOP1 ;20次循环闪烁一次 AJMP LOOP LOOP1: MOV R7,#00H CPL P0.0 ;让接P0.0的发光二极管按50ms闪烁 CPL P0.1 RET END 8.5 定时器/计数器的应用(1) 返回本节 #includereg51.h #define uint unsigned int #define uchar unsi

17、gned char sbit P0_0=P00; sbit P0_1=P01; uint t=0; void time0_server_(void) interrupt1 TH0=0 x3C; /定时时间为50ms,12MHz的晶振 TL0=0 xB0; t+; void Init_t0(void) /定时器初始化 TMOD=0X01; /选择方式1 TH0=0 x3C; TL0=0 xB0; EA=1; /开放中断 ET0=1; /定时器中断允许 TR0=1; /启动TR0 8.5 定时器/计数器的应用(1) 返回本节 void main(void) P0_0=1; P0_1=0; Init

18、_t0(); while(1) time0_server_(void) interrupt1 if(t=20) t=0; P0_0=P0_0; P0_1=P0_1; 8.5 定时器/计数器的应用(1) 返回本节 定时/计数器的应用1的运行结果 8.5 定时器/计数器的应用(2) 返回本节 设单片机的晶振频率为12MHz, 使用定时器1,在方式0下由P1.0输出周期为1ms 的等宽正方波,以查询方式完成。 8.5 定时器/计数器的应用(2) 返回本节 设单片机的晶振频率为12MHz, 使用定时器1,在方式0下由P1.0输出周期为1ms 的等宽正方波,以查询方式完成。 8.5 定时器/计数器的应用(2) 返回本节 设单片机的晶振频率为12MHz,使用定时器1,在方式0 下由P1.0输出周期为1ms的等宽正方波,以查询方式完 成。分析如下: 方式0 (M1=0,M0=0):13位计数器,T0用TH0(8位)和TL0的 低5位,T1用TH1(8位)和TL1的低5位,最大计数值为213=8192 要产生1ms的等宽正方波脉冲,只需在P1.0端每隔500s交替输出高、低 电平即可实现。使用12MHz的晶振频率,则1个机器周期为1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论