硬件资源及应用之二 定时器.pptx

上传人:莉*** 文档编号:88340367 上传时间:2023-04-25 格式:PPTX 页数:19 大小:161.65KB
返回 下载 相关 举报
硬件资源及应用之二 定时器.pptx_第1页
第1页 / 共19页
硬件资源及应用之二 定时器.pptx_第2页
第2页 / 共19页
点击查看更多>>
资源描述

《硬件资源及应用之二 定时器.pptx》由会员分享,可在线阅读,更多相关《硬件资源及应用之二 定时器.pptx(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、会计学1硬件资源及应用之二硬件资源及应用之二 定时器定时器2.1 计数功能所谓计数是指对外部事件(脉冲)进行计数。所谓计数是指对外部事件(脉冲)进行计数。T0和T1分别对应的外部计数引脚为P3.4和P3.5。预先给计数器装入一个计数初值,然后每来一个外部脉冲输入(一般为负跳变)计数器就加1,当计数器计满回零时,能产生溢出中断请求。2.2 定时原理当计数脉冲接入周期变化的定时脉冲信号,可以实现当计数脉冲接入周期变化的定时脉冲信号,可以实现定时。定时。运行过程与计数器一样,只不过根据计数的值和单片机内部的脉冲周期时间,可以确定某一时间段,这样就实现了定时。MCS-51单片机定时脉冲频率为系统晶振频

2、率fosc的12分频,所以计数脉冲的周期正好为一个机器周期计数脉冲的周期正好为一个机器周期计数脉冲的周期正好为一个机器周期计数脉冲的周期正好为一个机器周期。第1页/共19页TCON TF1 TR1 TF0 TR0 IE1IT1IE0IT0TR1 定时定时/计数器计数器0运行控制位。运行控制位。软件置位,软件复位。软件置位,软件复位。TR1=1 定时器定时器1启动启动TR0 定时定时/计数器计数器1运行控制位。运行控制位。(用法与(用法与TR1类似)类似)(88H)三、定时器的控制TF1 T1的溢出中断标志的溢出中断标志 硬件置硬件置1,硬件清,硬件清0(也可软件清(也可软件清0)TF0 T0的

3、溢出中断标志。的溢出中断标志。(同(同TF1,只是针对只是针对T0的)的)其余是关于中断其余是关于中断的设置,前面已的设置,前面已介绍介绍第2页/共19页 外部计数器外部计数器/定时器方式选择位定时器方式选择位 定时方式;定时方式;计数方式。计数方式。TMODT1T0GATE 门控位。门控位。GATE=0 时,由时,由TRi 控制控制Ti工作。工作。GATE=1 时,由时,由TRi 与与INTi=1控制控制Ti工作;工作;M1M0 工作模式选择位(编程可决定四种工作模式)工作模式选择位(编程可决定四种工作模式)。(89H)GATEM1 M0GATEM1M0第3页/共19页四、定时器/计数器的四

4、种工作方式 M1 M0 模式模式 说明说明 0 0 0 13位定时/计数器 高八位TH(7 0)+低五位TL(4 0)注注注注意意意意高高高高位位位位是是是是取取取取满满满满的的的的,低低低低五五五五位位位位不不不不取取取取满满满满,这这这这与与与与以以以以前前前前的的的的绝绝绝绝对跳转指令中的对跳转指令中的对跳转指令中的对跳转指令中的1111位地址取法不同。位地址取法不同。位地址取法不同。位地址取法不同。最最大大定定时时时时间间因因位位数数为为1313位位而而只只有有81928192个个机机器器周周期期,比较适合较短定时的场合比较适合较短定时的场合 。例例1第4页/共19页 M1 M0 模式

5、模式 说明说明 0 1 1 16位定时/计数器 TH(7 0)+TL(7 0)高低位均取满。高低位均取满。高低位均取满。高低位均取满。比比较较适适合合较较长长定定时时的的场场合合,最最大大定定时时时时间间65536个机器周期。个机器周期。M1 M0 模式模式 说明说明 1 0 2 8位计数,初值自动重装 TL(7 0)TH(7 0)自自动动重重新新载载入入初初值值,提提高高定定时时精精度度,非非常常适适合合用用于于循环定时或循环计数的应用循环定时或循环计数的应用.最大定时时间最大定时时间256个机器周期,适合于较短定时。个机器周期,适合于较短定时。第5页/共19页 M1 M0 模式模式 说明说

6、明 1 1 3 T0运行,而T1停止工作,8位定时/计数 前前三三种种工工作作方方式式,定定时时器器T0、T1的的功功能能和和使使用用完完全全相相同同,但但在在工工作作方方式式3下下,两两定定时时器器的的功功能能和和使使用用就就不同了,表现在:不同了,表现在:1)定定时时器器T0分分成成为为两两个个独独立立的的8位位计计数数器器TH0和和TL0。2)TL0可可定定为为计计数数/定定时时方方式式,TR0与与TF0均均为为TL0服服务;务;TH0只能定为定时方式,只能定为定时方式,TR1与与TF1为为TH0服务。服务。3)定时器定时器T1不能在方式不能在方式3下工作。下工作。一一般般在在T1T1用

7、用作作串串行行口口波波特特率率发发生生器器时时才才使使T0T0工工作作在方式在方式3 3第6页/共19页五、定时器/计数器的应用程序设计(4)根据需要开放定时器计数器的中断;(2)对寄存器TMOD写入方式控制字;初始化编程的基本步骤如下:初始化编程的基本步骤如下:(1)确定工作方式,根据定时时间或计数要求,确定计数初值;(5)启动定时器计数器工作.(3)预制定时或计数的初值x;这部分初学是不能理解的,可在掌握以后复习加以巩固第7页/共19页计数初值的计算(1)计数方式下,计数初值的确定:计数方式下,计数初值的确定:根据已知的计数脉冲个数根据已知的计数脉冲个数C,确定初值,可按下式:,确定初值,

8、可按下式:x=M C (M为计数器的模)为计数器的模)方式方式0的模为的模为213,方式,方式1的模为的模为216等。等。例 用定时器T0以方式2实现计数,要计100个脉冲,有关初值应设为多少?方式2为8位计数,模为28=256,则初值:x=256-100=156=9CH第8页/共19页(2)定时方式下,计数初值的确定:定时方式下,计数初值的确定:根据定时时间根据定时时间t,确定初值,可按下式:,确定初值,可按下式:所以其无非是计数值乘以每个定时脉冲的耗时而已。所以其无非是计数值乘以每个定时脉冲的耗时而已。例1 已知单片机晶振频率fosc=6MHz,要求由P1.0口输出一个周期为500s的连续

9、方波信号,用定时器T1以方式1实现定时,采用中断方式完成。解 1)确定计数初值欲连续输出周期为500s的方波,只需在P1.0端连续交替输出高、低电平各为250s的电平信号,所以定时时间为250s。第9页/共19页根据得2)向TMOD寄存器写入方式控制字由T1为定时方式,工作在方式1,可知M1M0=01;运行控制与外部中断无关,取GATE=0;定时器T0未用,有关位设定为0,所以方式控制字为10H。书中的程序使定时的运行与外部中断有关,故为书中的程序使定时的运行与外部中断有关,故为90H90H第10页/共19页3)编写程序,包括载入初值x,确定哪个状态位启动定时器/计数器工作,哪位状态位标识计数

10、溢出,响应定时溢出中断后,使定时器重新载入初值,准备下一次的定时。启动由TR1=1触发。由TF1位判断是否溢出。ORG 0000H AJMP MAIN ORG 001BH AJMP SOFTIM注意:书上缺初始入口程序段:注意:书上缺初始入口程序段:(以后很多情况下将会省去该程序段)(以后很多情况下将会省去该程序段)第11页/共19页 ORG 2000H MOV TMOD,#10H ;置方式控制字初始值置方式控制字初始值 MOV TH1,#0FFH ;置计数初值置计数初值 MOV TL1,#83H SETB EA ;开中断开中断 SETB ET1 ;启动定时器启动定时器LOOP:SETB TR

11、1,;等待中断等待中断HERE:SJMP$AJMP LOOP中断服务程序:中断服务程序:ORG 2400HSOFTIM:MOV TH1,#0FFH ;溢出后重新置初值溢出后重新置初值 MOV TL1,#83H CPL P1.0 RETI 可回到前面的初始化编程步骤以增进理解第12页/共19页例2 书P183,与例1类似,不同在:采取方式0,并要求采用查询方式。这将带来:1)初值不同,但方式0的初值处理有个特殊的地方2)寄存器方式控制字不同.3)对溢出标志位TF1的响应方式不同 查询方式查询方式由软件通过查询发现TF1是否溢出。中断方式中断方式则在T1溢出后,硬件使TF1=1,转向定时中断1入口

12、地址,执行中断服务程序,不占用CPU。4)对溢出标志位TF1的清除方式不同 查询方式查询方式由软件将TF1清零。中断方式中断方式由硬件自动将其TF1清零。第13页/共19页根据得按理似乎应该是事实是这样的吗?事实是这样的吗?事实是将13位二进制数如此划分:忽略前三位,然后自左往右得高八位与低五位。高八位数为FCH,送入TH1;低五位数为03H,送入TL1。注意并不意味着此数为注意并不意味着此数为FC03HFC03H两种表达十六进制写法迵然不同,但二进制是一样的。两种表达十六进制写法迵然不同,但二进制是一样的。返回工作方式返回工作方式0 0将83H和1FH送入TL1与TH1第14页/共19页 O

13、RG 100H MOV TMOD,#00H ;置方式控制字初始值置方式控制字初始值 MOV TH1,#0FCH ;置计数初值置计数初值 MOV TL1,#03H MOV IE,#00H ;禁止中断禁止中断 SETB TR1 ;启动定时器启动定时器LOOP:JB TF1,LOOP1 ;查询计数溢出位查询计数溢出位TF1 AJMP LOOPLOOP1:MOV TH1,#0FCH ;溢出后重新置初值溢出后重新置初值 MOV TL1,#03H CLR TF1 ;计数溢出标志位清计数溢出标志位清0 CPL P1.0 AJMP LOOP 注意哪些方面与中断方式不同注意哪些方面与中断方式不同第15页/共19

14、页例3 已知单片机晶振频率为6MHz,请利用定时器T0和P1.2输出矩形脉冲,定时器工作于方式2,采用中断的方式,其波形如图所示。方式0,1重新加载初始值,由软件实现,增加了定时时间,不精确;而采用方式2,可避免软件反复加载定时初值而带来的误差。根据 TMOD初始化,TMOD=02H,需要设置中断。由TR0启动,由TF0标识计数溢出,每响应一次中断将P1.2翻转一次。第16页/共19页 ORG 2000H MOV TMOD,#02H ;置方式控制字初始值置方式控制字初始值 MOV TH0,#0E7H ;置计数初值置计数初值 MOV TL0,#0E7H SETB EA ;开中断开中断 SETB

15、ET0 ;启动定时器启动定时器 SETB TR0 ;等待中断等待中断 SETB P1.2 HERE:SJMP HERE 中断服务程序:中断服务程序:ORG 000BHLOOP1:CPL P1.2 ;定时中断将输出翻定时中断将输出翻转转 RETI 方式方式2 2不需要软件置初值,定时更精确不需要软件置初值,定时更精确第17页/共19页补充习题补充习题n n设单片机时钟为12MHz,利用定时器T1,使P1.0引脚输出周期为2ms的矩形波,要求占空比为1:2,试编写程序,要求采用中断方式,请问可以采用方式2吗?为什么?如果不行,请采用方式0。n n说明:说明:占空比占空比占空比占空比指高电平(正脉冲)在一个周期内所占的时间比率,指高电平(正脉冲)在一个周期内所占的时间比率,其是数字电路中的一个其是数字电路中的一个重要概念重要概念重要概念重要概念,今后务必掌握。,今后务必掌握。第18页/共19页

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

当前位置:首页 > 应用文书 > PPT文档

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

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