版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、会计学1C的定时器计数器的定时器计数器2定时方法概述定时计数器结构和工作原理定时计数器的控制寄存器 定时器的四种工作方式 定时器的应用第1页/共45页3一、定时方法概述软件定时:软件定时靠执行一个循环程序以进行时间延迟。特点是时间精确,且不需要外加硬件电路。但软件定时要占用CPU开销,因此软件定时的时间不宜太长。 采用时基电路定时:特点是(定时功能全部由硬件电路完成)不占CPU时间,但需通过改变电路的元件参数来调节定时时间,在使用上不够灵活方便。采用可编程芯片定时:这种定时方法是通过对系统时钟脉冲的计数来实现的。计数值通过程序设定,改变计数值,也就改变了定时时间,使用起来既灵活有方便。 结论:
2、MCS-51单片机把定时电路集成在芯片中,称之为定时器/计数器。 8051型单片机有两个定时/计数器,分别称为定时器/计数器0和定时器/计数器1。 第2页/共45页4二、定时计数器结构和工作原理定时器方式寄存器主要用于设定定时器的工作方式定时器控制寄存器主要用于控制定时器的启动与停止,并保存T0、T1的溢出和中断标志定时器0定时器1第3页/共45页5定时/计数器的结构框图16位的定时器/计数器实质上是一个加l计数器,可实现定时定时和计数计数两种功能,其功能由软件控制和切换。定时器属硬件定时和计数,是单片机中效率高而且工作灵活的部件。第4页/共45页6第5页/共45页7第6页/共45页81、工作
3、方式寄存器TMODM0M1C/T0GATE0M0M1C/ T1GATE1TMOD字节字节地址地址89H D7 D6 D5 D4 D3 D2 D1 D0控制控制T0T0控制控制T1T1方式选方式选择择0000:方式:方式0 00101:方式:方式1 11010:方式:方式2 21111:方式:方式3 3定时定时/ /计数选择计数选择0 0:定时器:定时器1 1:计数器:计数器门控位三、定时计数器的控制寄存器第7页/共45页9GATE:门控制位,用于控制定时器的启动是否受外部中断源信号的影响。GATE=0时,与外部中断无关, 由TCON寄存器中的TRx位控制启动。GATE=1时,由控制位TRx和引
4、脚 共同控制启动,只有在没有外部中断请求信号的情况下(即外部中断引脚 =1时),才允许定时器启动。 INTxINTx第8页/共45页102、定时控制寄存器(TCON)当定时器1计满溢出时,由硬件自动使TF0置1,并申请中断。对该标志位有两种处理方法,一种是以中断方式工作,即TF0置1并申请中断,响应中断后,执行中断服务程序,并由硬件自动使TF0清0;另一种以查询方式工作,即通过查询该位是否为1来判断是否溢出,TF0置1后必须用软件使TF0清0。GATE=0时,用软件使TR0置1即启动定时器1,若用软件使TR0清0则停止定时器1。GATE=1时,用软件使TR1置1的同时外部中断INT0的引脚输入
5、高电平才能启动定时器0。第9页/共45页113、中断允许控制寄存器EX0ET0EX1ET1ESET2EAIE字节字节地址地址A8HA8H D7 D6 D5 D4 D3 D2 D1 D0定时定时/ /计数器计数器1 1中中断允许控制位断允许控制位定时定时/ /计数器计数器0 0中中断允许控制位断允许控制位0 0:允许中断:允许中断1 1:禁止中断响应:禁止中断响应中断允许总控制位中断允许总控制位第10页/共45页124、中断优先级寄存器IP(字节地址B8H)第11页/共45页13四、定时计数器的四种工作方式定时器定时器T0T0、T1T1的工作方式的工作方式第12页/共45页141、工作方式0(1
6、3位计数器)TR1=1TR1=1启动计数启动计数GATE0=0GATE0=0时时:GATE0=1GATE0=1时时:TR1=1TR1=1且且INT1=1INT1=1启动计数启动计数启停控制定时计数选择定时计数选择1313位计数器位计数器第13页/共45页15 计数工作方式计数工作方式: : 最大的计数值为最大的计数值为81928192(2 21313) 预置的初值:预置的初值:X= 2X= 21313-N-N定时工作方式定时工作方式: :定时时间的计算公式为:定时时间的计算公式为: T=T=(2 21313计数初值)计数初值)晶振周期晶振周期1212?如晶振频率为如晶振频率为6MHZ/12MH
7、Z6MHZ/12MHZ,求最小定时时间和,求最小定时时间和最小定时时间最小定时时间 机器周期机器周期预置的初值:预置的初值:13212TX 晶振周期第14页/共45页16【例】 单片机晶振频率为12MHz,若产生1ms定时,采用方式0,试计算初值X。X=1110000000011000B=E018H所以(TH)=E0H,(TL)=18H。解:预置的初值: 1313362212121 10 s 8192-12 10 Hz12 7192D 1C18H 00011100000 11000BTTX晶振频率晶振周期15141312111098/43210THTL第15页/共45页172、工作方式1(16
8、位计数器)1616位计数器位计数器第16页/共45页18 计数工作方式计数工作方式: : 最大的计数值为最大的计数值为6553665536(2 21616) 预置的初值:预置的初值:X= 2X= 21616-N-N定时工作方式定时工作方式: :定时时间的计算公式为:定时时间的计算公式为: T=T=(2 21616计数初值)计数初值)晶振周期晶振周期1212?如晶振频率为如晶振频率为6MHZ/12MHZ6MHZ/12MHZ,求最小定时时间和最,求最小定时时间和最小定时时间小定时时间 预置的初值:预置的初值:X= 2X= 21616-T/(-T/(晶振周期晶振周期12)12)第17页/共45页19
9、【例】 单片机晶振频率为12MHz,若产生1ms定时,采用方式1,试计算初值X。所以(TH)=FCH,(TL)=18H。解:预置的初值: 1616362212121 10 s 6553612 10 Hz12 64536D FC18H 11111100 00011000BTTX晶振频率晶振周期1514131211109876543210THTL第18页/共45页20【例】【例】已知晶振频率已知晶振频率fosc=12MHzfosc=12MHz,使用定时器,使用定时器0 0以工作方式以工作方式1 1,在输出周期为,在输出周期为2ms2ms的的连续正方波脉冲。试编写相关程序。连续正方波脉冲。试编写相关
10、程序。 解:解:计算初值计算初值:TH0=FC HTH0=FC H,TL0=18 HTL0=18 H。 ORG 0000HORG 0000H LJMP MAIN LJMP MAIN ;跳转到主程序;跳转到主程序 ORG 000BH ORG 000BH ;T0T0的中断入口地址的中断入口地址 LJMP DVT0 LJMP DVT0 ;转向中断服务程序;转向中断服务程序 ORG 0100HORG 0100H MAIN MAIN:MOV SP,#60H ;MOV SP,#60H ;设堆栈指针设堆栈指针 MOV MOV TMODTMOD,#01H #01H ;置;置T0T0工作于方式工作于方式1 /1
11、 /初始化初始化TMODTMOD MOV TH0 MOV TH0,#0FCH #0FCH ;装入计数初值装入计数初值 /装入初值装入初值 MOV TL0MOV TL0,#018H #018H SETB ET0 SETB ET0 ;T0T0开中断开中断 /中断设置中断设置 SETB EA SETB EA ;CPUCPU开中断开中断 SETB TR0 SETB TR0 ;启动;启动T0 /T0 /启动定时器启动定时器 SJMP $ SJMP $ ;等待中断;等待中断 DVT0DVT0:CPL P1.0 CPL P1.0 ;取反输出;取反输出 MOV TH0MOV TH0,#0FCH #0FCH ;
12、重新装入计数值重新装入计数值 MOV TL0MOV TL0,#018H #018H RETI RETI ;中断返回;中断返回 ENDEND第19页/共45页21查询方式:查询方式: ORG 0000H ORG 0000H LJMP MAIN LJMP MAIN ;跳转到主程序;跳转到主程序 ORG 0100HORG 0100H MAIN MAIN:MOV MOV TMODTMOD,#01H #01H ;置;置T0T0工作于方式工作于方式1 /1 /初始化初始化TMODTMOD LOOP: MOV TH0 LOOP: MOV TH0,#0FCH #0FCH ;装入计数初值装入计数初值 /装入初值
13、装入初值 MOV TL0MOV TL0,#018H #018H SETB TR0 SETB TR0 ;启动;启动T0 /T0 /启动定时器启动定时器 JNB TF0JNB TF0,$ $ ;查询;查询TF0TF0标志,如为标志,如为1 1,说明,说明T0T0溢出,溢出, ;则往下执行;则往下执行 CLR TF0CLR TF0 ;清除;清除TF0TF0中断标志位中断标志位 CLR TR0 CLR TR0 ;T0T0溢出,关闭定时器溢出,关闭定时器 CPL P1.0 CPL P1.0 ;状态取反;状态取反 SJMP LOOPSJMP LOOP END END 第20页/共45页223、工作方式2(
14、自动装载初值的8位计数器)注:注:适用于需要重复定时或计数的场合。适用于需要重复定时或计数的场合。 定时精度比较高,但定时时间较短。定时精度比较高,但定时时间较短。用作定时或计数时的加1计数器用作赋值(保存初值)。第21页/共45页23例、已知晶振频率例、已知晶振频率fosc=6MHzfosc=6MHz,要求使用定时器,要求使用定时器0 0以工作方式以工作方式2 2产生产生100100s s定定时,在输出周期为时,在输出周期为200200s s的连续正方波脉冲。试编写相关程序。的连续正方波脉冲。试编写相关程序。 解:解:计算初值计算初值:8866221212100 10 s 2566 10 H
15、z12 206D0CEH11001110BTTX 晶振频率晶振周期 MOV TMOD MOV TMOD,#02H#02H ;设置定时器;设置定时器0 0为工作方式为工作方式2 2 MOV TH0 MOV TH0,#0CEH #0CEH ;设置计数初值;设置计数初值 MOVMOV,TL0TL0,#0CEH#0CEH SETB TR0 SETB TR0;启动定时;启动定时LOOPLOOP:JBC TF0JBC TF0,LOOP1LOOP1;查询计数溢出;查询计数溢出 AJMP LOOPAJMP LOOPLOOP1LOOP1:CPL P1.0CPL P1.0;输出方波,初值自动装入;输出方波,初值自
16、动装入 AJMP LOOPAJMP LOOP第22页/共45页24例例6-3 6-3 当当T0T0()引脚上发生负跳变时,从引脚上输出一个周期为()引脚上发生负跳变时,从引脚上输出一个周期为1ms1ms的的方波方波, ,如图所示。(系统时钟为如图所示。(系统时钟为6MHz6MHz)(1 1)工作方式选择)工作方式选择T0T0为方式为方式1 1计数计数,初值,初值 0FFFFH0FFFFH,即外部计数输入端,即外部计数输入端T0T0()发生一次负跳()发生一次负跳变时,变时,T0T0加加1 1且溢出,溢出标志且溢出,溢出标志TF0TF0置置“1”1”,发中断请求。在进入,发中断请求。在进入T0T
17、0中断程中断程序后,启动序后,启动T1T1。T1T1定义为方式定义为方式2 2定时定时。在。在T0T0脚发生一次负跳变后,启动脚发生一次负跳变后,启动T1T1每每500500 s s产生一次中产生一次中断,在中断服务程序中对求反,使产生周期断,在中断服务程序中对求反,使产生周期1ms1ms的方波。的方波。第23页/共45页25(2 2)计算)计算T1T1初值初值设设T1T1的初值为的初值为X X: 则则 (2(28 8-X)-X)2 21010-6-6=5=51010-4-4 X=2 X=28 8-250=6=06H-250=6=06H(3 3)程序设计)程序设计 ORG 0000HORG 0
18、000H RESET: LJMP MAIN RESET: LJMP MAIN ;复位入口转主程序;复位入口转主程序 ORG 000BHORG 000BH LJMP IT0P LJMP IT0P ;转;转T0T0中断服务程序中断服务程序 ORG 001BHORG 001BH LJMP IT1P LJMP IT1P ;转;转T1T1中断服务程序中断服务程序 ORG 0100HORG 0100H MAIN: MOV SP,#60HMAIN: MOV SP,#60H ACALL PT0M2 ; ACALL PT0M2 ;调用对调用对T0T0、T1T1初始化子程序初始化子程序 LOOPLOOP: MOV
19、 CMOV C,F0F0 JNC LOOP JNC LOOP ;T0T0没有产生中断,等待没有产生中断,等待T0T0中断中断 SETB ET1 SETB ET1 ;允许;允许T1T1中断中断 SETB TR1 SETB TR1 ;启动;启动T1T1 SJMP $ SJMP $ 第24页/共45页26PT0M2PT0M2:MOV TMOD,#25H MOV TMOD,#25H ;初始化,;初始化,T1T1为方式为方式2 2定时,定时,T0T0为方式为方式1 1计数计数 MOV TL0,#0FFH MOV TL0,#0FFH ;T0T0置初值置初值 MOV TH0,#0FFHMOV TH0,#0F
20、FH SETB ET0 SETB ET0 ;允许;允许T0T0中断中断 MOV TL1,#06H MOV TL1,#06H ;T1T1置初值置初值 MOV TH1,#06HMOV TH1,#06H CLR F0 CLR F0 SETB EA ; SETB EA ;开中断开中断 SETB TR0SETB TR0 ;启动;启动T0T0 RET RETIT0P: CLR TR0 IT0P: CLR TR0 ;T0T0中断服务程序,停止中断服务程序,停止T0T0计数计数 SETB F0 ;SETB F0 ;建立建立T0T0产生中断的标志产生中断的标志RETIRETI IT1P: CPL P1.0 IT
21、1P: CPL P1.0 ;T1T1中断服务,位取反中断服务,位取反 RETIRETI END END第25页/共45页274 4、工作方式、工作方式3 3为什么定时为什么定时/ /计数器计数器T1T1无工作方式无工作方式3 3?两个独立的计数器两个独立的计数器注:当注:当T1用作串行口的波特率发生器时,用作串行口的波特率发生器时,T0才工作在方式才工作在方式3。TH0TH0被固定为被固定为1 1个独立个独立的的8 8位定时器(无外部位定时器(无外部计数功能),并使用计数功能),并使用T1T1的资源(的资源(TR1TR1、TF1TF1)TL0TL0使用使用T0T0的资源(的资源(TR0TR0、
22、TF0TF0、INT0INT0、GATEGATE、G/TG/T)第26页/共45页28例:假设某MCS-51应用系统的两个外中断源已被占用,设置T1工作在方式2,作波特率发生器用。现要求增加一个外部中断源,并控制引脚输出一个5kHz的方波。设系统时钟为12MHz。第27页/共45页29第28页/共45页30第29页/共45页31第30页/共45页32 MOV TCON,#15HMOV TCON,#15H;启动;启动T0 T0 或用或用SETB TR0SETB TR0 MOV IE,#9FH MOV IE,#9FH ;允许所有中断;允许所有中断 SJMP $SJMP $TL0INTTL0INT:
23、MOV TL0,#0FFH MOV TL0,#0FFH ;TL0TL0中断服务程序中断服务程序,TL0,TL0重新装入初值重新装入初值 SETB SETB TR1 ;TR1 ;启动启动TH0TH0定时定时 RETIRETITH0INT: MOV TH0,#9CH ;TH0TH0INT: MOV TH0,#9CH ;TH0中断服务程序。中断服务程序。TH0TH0重新装入初值重新装入初值 RETIRETI第31页/共45页33初始化程序应完成如下工作:对TMOD赋值,以确定T0和T1的工作方式。计算初值,并将其写入TH0、TL0或TH1、TL1。中断方式时,则对IE赋值,开放中断。使TR0或TR1
24、置位,启动定时/计数器定时或计数。小结:第32页/共45页34五、定时器的应用1、门控制位GATE的应用测量脉冲宽度GATE=0时,与外部中断无关, 由TCON寄存器中的TRx位控制启动。GATE=1时,由控制位TRx和引脚 共同控制启动,只有在没有外部中断请求信号的情况下(即外部中断引脚 =1时),才允许定时器启动。 INTxINTx第33页/共45页35ORG 0000HRESET: AJMP MAIN ;复位入口转主程序 ORG 0100H MAIN: MOV SP,#60H MOV TMOD,#90H ;T1为方式1定时控制字 MOV TL1,#00H MOV TH1,#00HLOOP
25、0: JB P3.3,LOOP0;INT1高,则循环 SETB TR1 ;如INT1为低,启动T1LOOP1: JNB P3.3,LOOP1;INT1低,则循环LOOP2: JB P3.3,LOOP2 ;INT1高,则循环CLR TR1 ;停止T1计数 MOV A,TL1 ;T1计数值送A将A中的T1计数值送显示缓冲区转换成显示的代码 LOOP3: LCALL DIR ;调用显示子程序DIR显示T1计数值 AJMP LOOP3 ; 第34页/共45页362、实时时钟的设计实时时钟实现的基本思想实时时钟实现的基本思想: :如何获得如何获得1 1秒的定时秒的定时? ?可把定时时间定为可把定时时间定
26、为100ms100ms,采用中断方式进行溢出次数的累计,计满,采用中断方式进行溢出次数的累计,计满1010次,即得到秒计时。次,即得到秒计时。如何保存秒、分、时?如何保存秒、分、时?片内片内RAMRAM中规定中规定3 3个单元作为秒、分、时单元,具体安排如下:个单元作为秒、分、时单元,具体安排如下: 42H42H:“秒秒”单元单元 ;41H41H:“分分”单元;单元;40H40H:“时时”单元单元如何实现从秒到分,从分到时?如何实现从秒到分,从分到时?从秒到分,从分到时是通过软件累加并进行比较的方法来实现的。从秒到分,从分到时是通过软件累加并进行比较的方法来实现的。第35页/共45页37时钟主
27、程序流程时钟主程序流程中断服务程序流程中断服务程序流程第36页/共45页38例:将定时器T0扩展为外部中断源。解解:将定时器T0设定为方式2(自动恢复计数初值),TH0和TF0的初值均设置为FFH,允许T0中断,CPU开放中断,源程序如下:MOVTMOD,#06H MOV TH0,#0FFHMOVTL0,#0FFHSETBTR0SETBET0SETBEA T0引脚每输入一个负跳变,TF0都会置1,向CPU请求中断 T0T0脚相当于边沿触发的外部中断源输入线。脚相当于边沿触发的外部中断源输入线。3、作为外部中断源第37页/共45页39第38页/共45页40第39页/共45页41选择题:选择题:1
28、 1定时定时/ /计数器计数器T0T0在在GATE = 1GATE = 1时运行的条件有(时运行的条件有( )。)。A AP3.2 = 1 B.P3.2 = 1 B.设置好定时初值设置好定时初值 开启中开启中2 2对定时器对定时器 0 0 进行关中断操作,需要复位中断允许控制寄存器的:进行关中断操作,需要复位中断允许控制寄存器的: (A) EA (A) EA 和和 ET0ET0 (B) EA (B) EA 和和 EX0 EX0 (C) EA (C) EA 和和 ET1ET1 (D) EA (D) EA 和和 EX1EX13 3在下列寄存器中,与定时器在下列寄存器中,与定时器 / / 计数器控制
29、无关的是:计数器控制无关的是: (A) TCON(A) TCON (B) SCON (B) SCON (C) IE(C) IE (D) TMOD (D) TMOD 4 4 与定时工作方式与定时工作方式 0 0 和和 1 1 相比较,定时工作方式相比较,定时工作方式 2 2 不具备的特点是:不具备的特点是: (A) (A) 计数溢出后能自动恢复计数初值计数溢出后能自动恢复计数初值 (B) (B) 增加计数器的位数增加计数器的位数 (C) (C) 提高了定时的精度提高了定时的精度 (D) (D) 适于循环定时和循环计数适于循环定时和循环计数 5 5MCS-51MCS-51单片机定时器工作方式单片机定时器工作方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度地产开盘活动现场导览服务合同
- 2024年度东莞市物联网服务租赁合同
- 2024年度广告投放合同具体投放方案和费用3篇
- 2024年度甲乙丙丁戊己庚辛壬癸丁四方场地租赁协议
- 2024年度环保合同:不锈钢制品生产环境污染治理协议
- 2024年度箱包制造代工服务合同
- 2024年度云计算数据中心建设合作协议
- 2024年度二婚离婚财产分配合同
- 2024年度瓷砖铺贴工程保险合同
- 2024年度个人健康IC卡数据管理与隐私保护合同
- 高中生物必修一,人教版 5.3 细胞呼吸-有氧呼吸课件
- 铭记历史爱我中华课件
- 全自动洗胃机操作流程及注意事项
- 地籍调查表(宅基地)模板
- 《树立正确的婚恋观》课件
- 安全培训:预防滑倒和摔伤
- 康复科护士的病人安全与防护知识
- 水利专业的职业生涯规划书
- 人教版2023-2024学年数学六年级上册 第四单元《比》单元真题拔高卷(参考答案)人教版
- 智能制造的智能化和数字化
- 离心机安全应急预案
评论
0/150
提交评论