定时器计数器 (2)精选PPT.ppt

上传人:石*** 文档编号:48382670 上传时间:2022-10-06 格式:PPT 页数:42 大小:3.32MB
返回 下载 相关 举报
定时器计数器 (2)精选PPT.ppt_第1页
第1页 / 共42页
定时器计数器 (2)精选PPT.ppt_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《定时器计数器 (2)精选PPT.ppt》由会员分享,可在线阅读,更多相关《定时器计数器 (2)精选PPT.ppt(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、定时器计数器第1页,此课件共42页哦6.1 定时定时/计数器概述计数器概述5151系列内部有系列内部有系列内部有系列内部有2 2个个个个1616位的定时位的定时位的定时位的定时/计数器计数器计数器计数器T0T0、T1T15252系列内部有系列内部有系列内部有系列内部有3 3个个个个1616位的定时位的定时位的定时位的定时/计数器计数器计数器计数器T0T0、T1T1、T2T2功能:功能:定时定时计数计数串行口的波特率发生器串行口的波特率发生器定时定时定时定时/计数器的可编程特性:计数器的可编程特性:计数器的可编程特性:计数器的可编程特性:确定其工作方式是定时还是计数确定其工作方式是定时还是计数确

2、定其工作方式是定时还是计数确定其工作方式是定时还是计数 预置定时或计数初值预置定时或计数初值预置定时或计数初值预置定时或计数初值 当定时时间到或计数终止时,要不要发中断请求当定时时间到或计数终止时,要不要发中断请求当定时时间到或计数终止时,要不要发中断请求当定时时间到或计数终止时,要不要发中断请求 如何启动定时或计数器工作如何启动定时或计数器工作如何启动定时或计数器工作如何启动定时或计数器工作 T2T2可编程可编程可编程可编程可可 编编 程程 的的第2页,此课件共42页哦1、结构、结构CPUCPUTH1(8TH1(8位位位位)TL1(8TL1(8位位位位)T1T1 T1T1(P P 3.53.

3、5)(8DH)(8DH)(8BH)(8BH)7 07 07 07 0TH0(8TH0(8位位位位)TL0(8TL0(8位位位位)T0T0 T0T0(P P 3.43.4)(8CH)(8CH)(8AH)(8AH)7 07 07 07 0TCON(88H)TCON(88H)TMOD(89H)TMOD(89H)启启启启动动动动 启启启启动动动动 溢溢溢溢出出出出溢溢溢溢出出出出工工工工作作作作方方方方式式式式工作方式工作方式工作方式工作方式图图图图6-1 6-1 定时定时定时定时/计数器逻辑结构计数器逻辑结构计数器逻辑结构计数器逻辑结构第3页,此课件共42页哦结构结构2个个16位位T/C分别由分别由

4、8位计数器位计数器TH0、TL0、TH1、TL1组成组成“+1”计数计数器器控制寄存器控制寄存器TCON:控制:控制T/C的启停、中断等的启停、中断等方式寄存器方式寄存器TMOD:控制:控制T/C的工作方式的工作方式2、工作原理、工作原理 定时器定时器定时器定时器定时输入信号:机器内部振荡信号的定时输入信号:机器内部振荡信号的定时输入信号:机器内部振荡信号的定时输入信号:机器内部振荡信号的1212分频分频分频分频即每一个机器周期做一次即每一个机器周期做一次即每一个机器周期做一次即每一个机器周期做一次“+1”+1”运算运算运算运算T0T1 第4页,此课件共42页哦1 1个机器周期个机器周期个机器

5、周期个机器周期=12=12振荡脉冲振荡脉冲振荡脉冲振荡脉冲计数速率为振荡频率的计数速率为振荡频率的计数速率为振荡频率的计数速率为振荡频率的1212分频分频分频分频若单片机的晶振主频为若单片机的晶振主频为若单片机的晶振主频为若单片机的晶振主频为12MHz12MHz则计数周期为则计数周期为则计数周期为则计数周期为 1 1 s s 计数器计数器计数器计数器由外部引脚(由外部引脚(由外部引脚(由外部引脚(T0T0为为为为P P3.4 3.4,T1T1为为为为P P3.53.5)输入计数脉冲)输入计数脉冲)输入计数脉冲)输入计数脉冲外部输入脉冲宽度应大于外部输入脉冲宽度应大于外部输入脉冲宽度应大于外部输

6、入脉冲宽度应大于2 2个机器周期个机器周期个机器周期个机器周期T T CYCYT T CYCY外部输入脉冲发生负外部输入脉冲发生负 跳变时,进行跳变时,进行“+1”计数计数下降沿下降沿下降沿下降沿高电平高电平高电平高电平低电平低电平低电平低电平T T CYCY:为机器周期为机器周期为机器周期为机器周期第5页,此课件共42页哦6.2 6.2 定时器的控制定时器的控制 定时器共有两个控制字,由软件写入定时器共有两个控制字,由软件写入TMOD和和TCON两个两个8位寄存器,用来设置位寄存器,用来设置T0或或T1的操作模式的操作模式和控制功能。当和控制功能。当89C51系统复位时,两个寄存器所有系统复

7、位时,两个寄存器所有位都被清位都被清0。第6页,此课件共42页哦一、工作模式控制寄存器一、工作模式控制寄存器TMODGATEC/T M1 M0 GATE C/T M1 M0LSBMSB(89H)TMOD控制控制控制控制T1T1控制控制控制控制T0T0门控位门控位门控位门控位功能选择位功能选择位功能选择位功能选择位工作模式选择工作模式选择工作模式选择工作模式选择第7页,此课件共42页哦GATEC/T M1 M0 GATE C/T M1 M0INT1 INT0引脚输入电平的控制引脚输入电平的控制GATE:门控位。设定门控位。设定T1、T0运行时,是否受运行时,是否受GATE=GATE=0 0 不受

8、外部中断控制不受外部中断控制不受外部中断控制不受外部中断控制C/T=0 0 0 0 模式模式模式模式0 130 13位计数器位计数器位计数器位计数器 0 1 0 1 模式模式模式模式1 161 16位计数器位计数器位计数器位计数器 1 0 1 0 模式模式模式模式2 2 可自动可自动可自动可自动重新装载重新装载重新装载重新装载初值初值初值初值的的的的8 8位计数器位计数器位计数器位计数器 1 1 1 1 模式模式模式模式3 T03 T0分为分为分为分为2 2个个个个8 8位计数器,位计数器,位计数器,位计数器,T1T1停止计数停止计数停止计数停止计数M1M0 操作方式操作方式功功 能能表表表表

9、6-1 6-1 操作模式选择操作模式选择操作模式选择操作模式选择1 1 受外部中断控制受外部中断控制受外部中断控制受外部中断控制0 0 为定时功能为定时功能为定时功能为定时功能1 1为计数功能为计数功能为计数功能为计数功能第8页,此课件共42页哦二、控制寄存器二、控制寄存器TCONTCONLSBMSB(88H)TCONTF1 TR1 TF0 TR0 IE1IT1 IE0IT0T T1 1、T T0 0 启启启启/停控制位停控制位停控制位停控制位T T1 1、T T0 0 溢出标志位溢出标志位溢出标志位溢出标志位与外部中断与外部中断INT1 1、INT0 0有关有关已在中断系统介绍已在中断系统介

10、绍“0”0”停止停止停止停止“1”1”启动启动启动启动“1”1”有溢出有溢出有溢出有溢出“0”0”无溢出无溢出无溢出无溢出可编程可编程可编程可编程 可控制可控制可控制可控制“+1”+1”亦可由指令清亦可由指令清亦可由指令清亦可由指令清“0”0”工作工作工作工作“1”1”“0 0”记录有无溢出记录有无溢出记录有无溢出记录有无溢出第9页,此课件共42页哦一、模式一、模式0 0及应用及应用当当时,为定时工作方式。其定时时间为:时,为定时工作方式。其定时时间为:当当时,为计数工作方式。时,为计数工作方式。6.3 6.3 定时器的四种模式及应用定时器的四种模式及应用 模式模式0 0是选择定时器(是选择定

11、时器(T0T0或或T1T1)的高)的高8 8位和低位和低5 5位位组成的一个组成的一个1313位定时器位定时器/计数器。如计数器。如图图6-76-7是是T0T0在模在模式式0 0时的逻辑电路结构。时的逻辑电路结构。TLTL4 40 0第10页,此课件共42页哦方式方式方式方式0 M1M0=00 0 M1M0=00 T0(P 3.4)GATETR0INT0振荡器振荡器12TL0TL05 5位位位位TH0TH08 8位位位位TF0TF0中中中中断断断断KKC/T=0C/T=0C/T=1C/T=1控制控制控制控制图图图图6-7 6-7 定时定时定时定时/计数器方式计数器方式计数器方式计数器方式0 0

12、逻辑图逻辑图逻辑图逻辑图1 11 11 1“+1”+1”中中中中断断断断1313位计数器位计数器位计数器位计数器TF0TF0“+1”+1”“+1+1”第11页,此课件共42页哦编制初始化程序:编制初始化程序:1)写)写TMOD;2)确定确定IE、IP;3)写计数初值;写计数初值;4)启动计数()启动计数(TRi)例例1、设设计计一一个个能能产产生生t=1ms的的周周期期方方波波信信号号发发生生器器,试试编编程程。其中其中fosc=12MHZ。解:当解:当T0处于工作模式处于工作模式0时,加时,加1计数器为计数器为13位,设位,设T0的初值为的初值为X;(213X)(1/fosc)12=500

13、所以,所以,X=7692=1E0CH。C/T=0,GATE=0第12页,此课件共42页哦=0001 1110 000 0 1100B,1E0CH01100TL011110000TH0F0H0CH先将低五位放入先将低五位放入TL0中,再将剩余的数从右中,再将剩余的数从右向左数出八位放入向左数出八位放入TH0中。中。第13页,此课件共42页哦 ORG 0000H LJMP MAIN ORG 000BH LJMP INSE1 ORG 1000H MAIN:MOV SP,#60H MOV TL0,#0CH MOV TH0,#0F0H MOV TMOD,#00H SETB TR0 SETB ET0 SE

14、TB EA SJMP INSE1:MOV TL0,#0CH MOV TH0,#0F0H CPL P1.0 RETI(1 1)定时器溢出中断方式)定时器溢出中断方式第14页,此课件共42页哦(2)查询方式)查询方式 ORG 1000H MOV TMOD,#00H MOV TL0,#0CH MOV TH0,#0F0H SETB TR0 LOOP:JBC TF0,NEXT SJMP LOOP NEXT:MOV TL0,#0CH MOV TH0,#0F0H CPL P1.0 SJMP LOOP 第15页,此课件共42页哦二、模式二、模式1 1及应用及应用用于定时工作方式时,定时时间为:用于定时工作方式

15、时,定时时间为:用于计数工作方式时,计数长度为:用于计数工作方式时,计数长度为:2 216166553665536(个外部脉冲)(个外部脉冲)该模式对应的是一个该模式对应的是一个16位的定时器位的定时器/计数器,见计数器,见图图6-8。其结构与操作几乎与模式。其结构与操作几乎与模式0完全相同,唯一的完全相同,唯一的差别是:在模式差别是:在模式1中,寄存器中,寄存器TH0和和TL0是以全部是以全部16位位参与操作。参与操作。第16页,此课件共42页哦方式方式方式方式1 M1M0=01 1 M1M0=01 T0(P 3.4)GATETR0INT0振荡器振荡器12TL0TL08 8位位位位TH0TH

16、08 8位位位位TF0TF0中中中中断断断断KKC/T=0C/T=0C/T=1C/T=1控制控制控制控制图图图图6-8 6-8 定时定时定时定时/计数器方式计数器方式计数器方式计数器方式1 1逻辑图逻辑图逻辑图逻辑图1616位计数器位计数器位计数器位计数器“+1”+1”1 1中中中中断断断断TF0TF0“+1”+1”“+1”+1”第17页,此课件共42页哦三、模式三、模式2 2及应用及应用用于定时工作方式时,定时时间为:用于定时工作方式时,定时时间为:用于计数工作方式时,计数长度为:用于计数工作方式时,计数长度为:2 28 8256256(个外部脉冲)(个外部脉冲)模式模式2把把TL0(TL1

17、)配置成一个可以自动重装载的)配置成一个可以自动重装载的8位定时器位定时器/计数器,如计数器,如图图6-9所示。所示。第18页,此课件共42页哦模式模式模式模式2 M1M0=10 2 M1M0=10 可可可可自动自动自动自动重装载重装载重装载重装载的的的的8 8位计数器位计数器位计数器位计数器TH0TH0(TH1TH1)被定义为赋值寄存器)被定义为赋值寄存器)被定义为赋值寄存器)被定义为赋值寄存器TL0TL0(TL1TL1)被定义为计数器)被定义为计数器)被定义为计数器)被定义为计数器图图图图6-9 6-9 定时定时定时定时/计数器方式计数器方式计数器方式计数器方式2 2逻辑图逻辑图逻辑图逻辑

18、图 T0(P3.4)GATETR0 INT0振荡器振荡器12TL0TL08 8位位位位TF0TF0中中中中断断断断KKC/T=0C/T=0C/T=1C/T=1控制控制控制控制TH0TH08 8位位位位重装载重装载重装载重装载重装载重装载重装载重装载1 1“+1”+1”中中中中断断断断TL0TL0 8 8位位位位TF0TF0“+1+1”“+1”+1”第19页,此课件共42页哦例:当例:当P3.4引脚上的电平发生负跳变时,从引脚上的电平发生负跳变时,从P1.0输输出一个出一个500s同步脉冲。请编程实现该功能。同步脉冲。请编程实现该功能。解解(1)模式选择)模式选择首先选首先选T0为模式为模式2,

19、外部事件计数方式。当,外部事件计数方式。当P3.4引脚上的电平发生负引脚上的电平发生负跳变时,跳变时,T0计数器加计数器加1,溢出标志,溢出标志TF0置置1;然后改变;然后改变T0为为500 s定时定时工作方式,并使工作方式,并使P1.0输出由输出由1变为变为0。T0定时到产生溢出,使定时到产生溢出,使P1.0引脚引脚恢复输出高电平,恢复输出高电平,T0又恢复外部事件计数方式。如下图:又恢复外部事件计数方式。如下图:外部计数方式外部计数方式500 s500 s外部计数方式外部计数方式定时方式定时方式定时方式定时方式P3.4P1.0第20页,此课件共42页哦(2)计算初值)计算初值T0工作在外部

20、事件计数方式,当计数到工作在外部事件计数方式,当计数到0FFH时,再加时,再加1计数器就会溢出。设计数初值为计数器就会溢出。设计数初值为X,当再出现一次外部,当再出现一次外部事件时,计数器溢出。则事件时,计数器溢出。则 X+128 X=11111111B=0FFHT0工作在定时方式时,设晶振频率为工作在定时方式时,设晶振频率为6MHZ,500 s相相当于当于250个机器周期。因此,初值个机器周期。因此,初值X为:为:(28X)2 s500 s X=6=06H第21页,此课件共42页哦(3 3)程序清单)程序清单 ORG 0100HSTART:MOV TMOD,#06H MOV TH0,#0FF

21、H MOV TL0,#0FFH SETB TR0LOOP1:JBC TF0,PTFO1 SJMP LOOP1PTRO1:CLR TR0 MOV TMOD,#02H MOV TH0,#06H MOV TL0,#06H CLR P1.0 SETB TR0 LOOP2:JBC TF0,PTFO2 SJMP LOOP2 PTFO2:SETB P1.0 CLR TR0 SJMP START如图如图第22页,此课件共42页哦四、模式四、模式3 3及应用及应用 工作模式工作模式3对对T0和和T1大不相同。大不相同。若将若将T0设置位模式设置位模式3,TL0和和TH0被分成为两个相互独立被分成为两个相互独立的

22、的8位计数器,如位计数器,如图图6-11所示。所示。第23页,此课件共42页哦振荡器振荡器121/12f0scTL0TL08 8位位位位TF0TF0中中中中断断断断KKC/T=0C/T=0C/T=1C/T=1控制控制控制控制1/12f0sc T0(P3.4)GATETR0INT0KKTH0TH08 8位位位位TF1TF1中中中中断断断断控制控制控制控制1/12f0scTR1图图图图6-116-11定时定时定时定时/计数器方式计数器方式计数器方式计数器方式3 3逻辑图逻辑图逻辑图逻辑图1 1TH0TH0借用了借用了借用了借用了T1T1的的的的TR1TR1和和和和TF1TF1,因此控制了因此控制了

23、因此控制了因此控制了T1T1的中断的中断的中断的中断此时此时此时此时T1T1只能用在一些不要中断的情况下只能用在一些不要中断的情况下只能用在一些不要中断的情况下只能用在一些不要中断的情况下“+1”+1”“+1”+1”1 1“+1+1”“+1”+1”TF0TF0TF1TF1 中中中中 断断断断 中中中中 断断断断“+1+1”第24页,此课件共42页哦 TH1(8位)位)TL1(8或或5位)位)串行口串行口12分频分频foscC/T=0C/T=1T1(P3.5)12分频分频foscC/T=0C/T=1T1(P3.5)TL1(8位)位)TH1(8位)位)串行口串行口重装入重装入(a)T1模式模式1(

24、或模式(或模式0)(b)T1模式模式2图图6-12 T0模式模式3下的下的T1结构结构fosc第25页,此课件共42页哦 例:设某用户系统中已使用了两个外部中断源,并置定时器例:设某用户系统中已使用了两个外部中断源,并置定时器T1工作在模式工作在模式2,作串行口波特率发生器用。现要求再增加一个,作串行口波特率发生器用。现要求再增加一个外部中断源,并由外部中断源,并由P1.0引脚输出一个引脚输出一个5kHz的方波。的方波。fosc12MHz。解:为了不增加其他硬件开销,可设置解:为了不增加其他硬件开销,可设置T0工作在模式工作在模式3计数方计数方式,把式,把T0的引脚作附加的外部中断输入端,的引

25、脚作附加的外部中断输入端,TL0的计数初值的计数初值为为FFH,当检测到,当检测到T0引脚电平出现由引脚电平出现由1至至0的负跳变时,的负跳变时,TL0产生溢出,申请中断。这相当于边沿触发的外部中断产生溢出,申请中断。这相当于边沿触发的外部中断源。源。T0模式模式3下,下,TL0作计数用,而作计数用,而TH0可用作可用作8位的定时器,位的定时器,定时控制定时控制P1.0引脚输出引脚输出5kHz的方波信号。的方波信号。第26页,此课件共42页哦TL0的计数初值为的计数初值为FFH,TH0的计数初值的计数初值X计算如下:计算如下:P1.0的方波频率为的方波频率为5kHz,故周期,故周期T=1/(5

26、kHz)=0.2ms用用TH0定时定时100s时,时,X=256-10012/12156 ORG 0000H LJMP MAIN ORG 000BH LJMP TLOINT ORG 001BH LJMP THOINT第27页,此课件共42页哦 ORG 0030HMAIN:MOV TMOD,#27H;T0为模式为模式3,计数方式;,计数方式;T1为模式为模式2,定时方式,定时方式 MOV TL0,#0FFH ;置置TL0计数初值计数初值 MOV TH0,#156 ;置置TH0计数初值计数初值 MOV TH1,#data ;data是根据波特率要求设置的常数(即初值)是根据波特率要求设置的常数(即

27、初值)MOV TL1,#data MOV TCON,#55H ;外中断外中断0,外中断,外中断1边沿触发,启动边沿触发,启动T0 MOV IE,#9FH ;开放全部中断开放全部中断 SJMP$()TL0溢出中断服务程序(由溢出中断服务程序(由000BH转来)转来)TLOINT:MOV TL0,#0FFH ;TL0重赋初值重赋初值 (中断处理)(中断处理)RETI TH0溢出中断服务程序(由溢出中断服务程序(由001BH转来)转来)THOINT:MOV TH0,#156 CPL P1.0 RETI第28页,此课件共42页哦 T0定定时时/计计数数,而而T1停停止止计计数数,但但可可作作波波特特率

28、率发发生生器器。T0分分成成两两独独立立定定时时/计数器计数器TL0和和TH0。TL0使用使用C/T、GATE、TR0、/INT0、TF0定时定时/计数,计数,TH0使用使用TR1、TF1 因此,只能用于定时因此,只能用于定时 模式模式3时,时,T1可定时为模式可定时为模式0、1、2的定时的定时/计数,但不可中断,所计数,但不可中断,所以一般只作串口波特率发生器用。以一般只作串口波特率发生器用。第29页,此课件共42页哦小结:小结:1、89C51单片机内有几个定时计数器?单片机内有几个定时计数器?如何计数?如何计数?2、T0、T1有几种工作模式?有几种工作模式?3、编程应用前要事先确定的参数有

29、几个?、编程应用前要事先确定的参数有几个?第30页,此课件共42页哦P3.2P3.3例例1:利用门控位利用门控位GATE测量波形参数:宽度和周期。测量波形参数:宽度和周期。解:解:复习复习GATE的用法:的用法:GATE=0时,时,TRi=1,即可启动即可启动Ti定时定时/计数计数 GATE=1时,时,TRi=1,且且 =1,才启动定时才启动定时/计数。计数。被测信号:被测信号:89C51启动启动T0,开,开始计数始计数TN五、五、定时定时/计数器的应用计数器的应用关闭关闭T0,停止计数启动,停止计数启动T1,开始计数,开始计数TP关闭关闭T1,停止计数,停止计数第31页,此课件共42页哦 O

30、RG 0000H LJMP MAIN ORG 0050HMAIN:MOV TMOD,#99H ;T0、T1均工作在定时,均工作在定时,;模式;模式1,GATE=1 MOV A,#00H ;T0、T1赋计数初值赋计数初值00H,;定时最长时间为定时最长时间为00000 65536 MOV TL0,A MOV TH0,A MOV TL1,A MOV TH1,A 图图第32页,此课件共42页哦TEST0:JNB P3.2,TEST0 ;判断判断P3.2的电平,若为低电平,则等待的电平,若为低电平,则等待 SETB TR0 ;若为高电平,则启动若为高电平,则启动T0TEST1:JB P3.2,TEST

31、1 ;判断判断P3.2的电平,若为高电平,则继续计数的电平,若为高电平,则继续计数 CLR TR0 ;否则,停止;否则,停止 SETB TR1 ;启动启动T1TEST2:JB P3.3,TEST2 ;判断判断P3.3的电平,若为高电平,则继续计数的电平,若为高电平,则继续计数 CLR TR1 ;否则,停止否则,停止T1计数计数 MOV R0,#35H ;保存保存T0及及T1的计数值的计数值 MOV R0,TH0 INC R0 MOV R0,TL0 INC R0 MOV R0,TH1 INC R0 MOV R0,TL1 END图图第33页,此课件共42页哦例例2 用用T0监视一生产流水线,每生产

32、监视一生产流水线,每生产100个工件,个工件,发出一包装命令,包装成一箱,并记录其箱数发出一包装命令,包装成一箱,并记录其箱数 P P1.01.0 T T0 0VccVcc包装机包装机包装机包装机包装命令包装命令包装命令包装命令100100个个个个光源光源光源光源第34页,此课件共42页哦GATEGATE C/TC/TM1M1M0M0控制控制T1控制控制T0TMODTMOD选模式选模式选模式选模式2 2选计数器选计数器选计数器选计数器INT0不参与控制不参与控制0 1 1 00 1 1 0 计数初值计数初值X=2864H=9CH 用用P1.0启动外设发包装命令启动外设发包装命令 用用R5R4作

33、箱数计数器作箱数计数器 模式字模式字TMOD=06H图图第35页,此课件共42页哦程序:程序:程序:程序:MOV TMOD,#06MOV P1.0,#0MOV R5,#0MOV R4,#0MOV TH0,#9CHMOV TL0,#9CHSETB EASETB ET0SETB TR0SJMP$ORG 000BHAJMP COUNT;P1.0为低为低;箱数计数器清箱数计数器清“0”;置置T0工作模式工作模式;计数初值送计数器计数初值送计数器;T0开中断开中断;CPU开中断开中断;启动启动T0;模拟主程序模拟主程序;T0中断入口中断入口;转向中断服务转向中断服务图图第36页,此课件共42页哦COUN

34、T:MOV A,R4ADD A,#1MOV R4,AMOV A,R5ADDC A,#0MOV R5,ASETB P1.0MOV R3,#100DLY:NOPDJNZ R3,DLYCLR P1.0RETI中断服务:中断服务:中断服务:中断服务:;箱计数器加箱计数器加“1”;启动外设包装启动外设包装;给外设足够时间给外设足够时间;延时延时;停止包装停止包装;中断返回中断返回图图第37页,此课件共42页哦例例3:用:用89C51单片机的定时器和中断功能试制一个单片机的定时器和中断功能试制一个“航标灯航标灯”。设。设fosc=12MHz,具有如下功能:,具有如下功能:(1)航标灯在黑夜应能定时闪闪发光

35、,设定时间隔为)航标灯在黑夜应能定时闪闪发光,设定时间隔为2s,即亮,即亮2s,熄,熄灭灭2s,并以此为周期循环。,并以此为周期循环。(2)当白天到来时,航标灯应熄灭,停止定时器工作。)当白天到来时,航标灯应熄灭,停止定时器工作。VcVcT1T2P1.7/INT089C51第38页,此课件共42页哦n根据以上分析,可编写出如下控制程序:根据以上分析,可编写出如下控制程序:n设设T0定时定时50ms,选择模式,选择模式1,计数初值,计数初值X为:为:nX=216-12501000/12=3CB0HnR7软件计数软件计数21000/5040nT0定时和定时和R7计数可以延迟计数可以延迟2s。图图第

36、39页,此课件共42页哦主程序:主程序:ORG 0000H AJMP MAIN ORG 0003H AJMP WBINT ORG 000BH AJMP T0INTMAIN:MOV SP,#30H CLR P1.7 CLR IT0 CLR PX0 SETB EX0 SETB EAHERE:AJMP HERE;外部中断;外部中断0入口地址入口地址;T0中断入口中断入口;设置堆栈指针;设置堆栈指针;设灯的初态为;设灯的初态为“灭灭”;外部中断;外部中断0为电平触发方式为电平触发方式;外部中断;外部中断0为低优先级为低优先级;允许外部中断;允许外部中断0中断中断;CPU允许中断允许中断;等待外部中断请

37、求;等待外部中断请求图图第40页,此课件共42页哦外部中断外部中断0中断服务程序中断服务程序(由(由0003H转来)转来)WBINT:MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH SETB PT0 SETB TR0 SETB ET0 MOV R7,#40HERE1:JNB P3.2,HERE1 CLR ET0 CLR TR0 CLR P1.7 RETI;T0定时,模式定时,模式1;T0计数初值计数初值;设;设T0为高优先级中断为高优先级中断;启动;启动T0;T0开中断开中断;软件计数值;软件计数值;查询;查询/INT0引脚电平,为低(黑夜)引脚电平,为低(黑夜),等待,等待T0中断中断图图第41页,此课件共42页哦定时器定时器0中断服务程序中断服务程序(由(由000BH转来)转来)T0INT:MOV TL0,#0B0H MOV TH0,#3CH DJNZ R7,EXIT MOV R7,#40 CPL P1.7 EXIT:RETI END;重赋;重赋T0初值初值;软件计数为;软件计数为0吗?吗?;计数已到,重赋初值;计数已到,重赋初值;输出取反控制灯;输出取反控制灯“亮亮”或或 “灭灭”;中断返回;中断返回图图第42页,此课件共42页哦

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 资格考试

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁