(1) 利用T0、T1或T2的定时器t0工作方式功能,实现LED灯周期为500

君,已阅读到文档的结尾了呢~~
实验三 定时器实验 实验报告
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
实验三 定时器实验 实验报告
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口您现在的位置: >
定时器[浏览次数:约16981次]
定时器的分类
  定时器根据工作原理可以为以下:
  1、 接通延时型定时器:接通延时型定时器是各种PLC中最常见最基本的定时器,这种定时器在 SIEMENS的PLC中,称为SD型定时器
  2、 断开延时型定时器:这种定时器是当输入条件00000为ON时无延时作用,只有在输入条件00000为OFF时产生延时作用。在SIEMENS的PLC中,称为SF型定时器
  3、保持型接通延时定时器:这种定时器是当输入条件00000为ON后,即产生锁存功能,即使输入条件00000又变为OFF,仍视输入条件为ON,当定时器的当前值等于设定值时,定时器动作,这种定时器在SIEMENS的PLC中,称为SS型定时器
  4、脉冲型定时器:这种定时器是当输入条件00000为ON后,定时器即时动作,但经过定时器所设定的时间后,即使输入条件00000仍为ON,定时器却变为OFF状态。即这种定时器ON状态的维持时间是由设定值决定的。如果00000为ON的时续时间小于定时器的设定值,定时器的ON状态维持时间为输入条件00000为ON的持续时间。这种定时器在SIEMENS的PLC中,称为SP型定时器。
  5、扩张型脉冲定时器:这种定时器与脉冲型定时器的区别是,只要输入条件00000出现了ON状态,不管其持续时间多长,均可使定时器为ON的维持的时间与定时器的设定值一致。这种定时器在SIEMENS的PLC中,称为SE型定时器。
  定时器按结构可分为机械式、电动式和电子式:
  1、机械式定时器  以发条为原动力,用擒纵调速器控制走时精度,通过齿轮传动和凸轮,按时间控制机构预置的时段操纵执行机构动作。计时精度要求不高的定时器(如风扇定时器、洗衣机定时器、厨房用定时器、照相暗房用定时器、电视机控制用定时器、电灯开关定时器),一般采用无固有振动周期的调速器。这些定时器都是在手动上发条的同时预置时限,定时精度不高,但结构简单,使用方便。计时精度要求高、定时范围在3~12小时的定时器,一般采用摆轮游丝调速器。
  2、电动式定时器  用交流同步电动机或石英步进电机驱动,通过齿轮传动和凸轮簧片触点机构,按预置的时段或时刻控制执行机构。其中短时段控制的电动式定时器可用于程序控制式洗衣机、洗碗机、微波炉、烘箱及时间继电器等;长时段电动式定时器是一种24小时或7天程序控制的开关装置,可预置开关动作多次,最短时间控制间隔一般为15分钟,可用于用户用电情况监控、照明控制、实验室装置控制、空调器控制和自动生产线上某些设备的定时控制等。
  3、电子式定时器  利用石英振荡器或民用交流电的标准频率,经过分频计数组成时间累加器或数字钟,按照预置的时间编码输出控制信号。这种定时器走时精确,时间设定没有误差,定时精度高,控制程序多。其中长时段定时器最小控制时段一般为1分钟,配上微处理器后能精确地编制一年的时间程序,组成多路可编程序的定时器。电子式定时器在工业自动化控制系统中应用广泛,它也是节约能源管理中一种有效的技术措施。电子定时器类的电子定时开关钟,可用于按高、平、低峰用电收取不同电费制度的场合,它将一天内的用电高峰、平峰、低谷时间在定时开关中设定,并分别接通3种电表进行计费。电子式定时器在科学实验中和在微波炉、电饭锅、洗衣机等电器中也有使用
定时器误差补偿方法
  1 前言单片机内部一般有若干个定时器。如8051单片机内部有定时器0和定时器1。在定时器计数溢出时,便向CPU发出中断请求。当CPU正在执行某指令或某中断服务程序时,它响应定时器溢出中断往往延迟一段时间。这种延时虽对单片机低频控制系统影响甚微,但对单片机高频控制系统的实时控制精度却有较大的影响,有时还可能造成控制事故。为扩大单片机的应用范围,本文介绍它的定时器溢出中断与CPU响应中断的时间误差、补偿误差的方法和实例。
  2 误差原因、大小及特点产生单片机定时器溢出中断与CPU响应中断的时间误差有两个原因。一是定时器溢出中断信号时,CPU正在执行某指令;二是定时器溢出中断信号时,CPU正在执行某中断服务程序。
  2.1. CPU正在执行某指令时的误差及大小由于CPU正在执行某指令,因此它不能及时响应定时器的溢出中断。当CPU执行此指令后再响应中断所延迟的最长时间为该指令的指令周期,即误差的最大值为执行该指令所需的时间。由于各指令都有对应的指令周期,因此这种误差将因CPU正在执行指令的不同而不同。如定时器溢出中断时,CPU正在执行指令MOV A, Rn,其最大误差为1个机器周期。而执行指令MOV Rn, direct时,其最大误差为2个机器周期。当CPU正在执行乘法 或除法指令 时,最大时间误差可达4个机器周期。在8051单片机指令系统中,多数指令的指令周期为1~2个机器周期,因此最大时间误差一般为1~2个机器周期。若振荡器振荡频率为fosc,CPU正在执行指令的机器周期数为Ci,则最大时间误差为Δtmax1=12/fosc×Ci(us)。例如fosc=12MHZ,CPU正在执行乘法指令(Ci=4),此时的最大时间误差为: Δtmax1=12/fosc×Ci=12/(12×106)×4=4×10-6(s)=4(μs)
  2.2 CPU正在执行某中断服务的程序时的误差及大小定时器溢出中断信号时,若CPU正在执行同级或高优先级中断服务程序,则它仍需继续执行这些程序,不能及时响应定时器的溢出中断请求,其延迟时间由中断转移指令周期T1、中断服务程序执行时间T2、中断返回指令的指令周期T3及中断返回原断点后执行下一条指令周期T4(如乘法指令)组成。中断转移指令和中断返回指令的指令周期都分别为2个机器周期。中断服务程序的执行时间为该程序所含指令的指令周期的总和。因此,最大时间误差Δtmax2为: Δtmax2=(T1+T2+T3+T4)12/fosc=(2+T2+2+4)12/ fosc=12(T2+8)/ fosc若设fosc=12MHZ,则最大时间误差为: Δtmax2=12(T2+8)/ fosc =12(T2+8)/12×106=(T2+8)×10-6(s)=T2+8(μs)。由于上式中T2一般大于8,因此,这种时间误差一般取决于正在执行的中断服务程序。当CPU正在执行中断返回指令RETI、或正在读写IE或IP指令时,这种误差在5个机器周期内。
  2.3 误差非固定性特点定时器溢出中断与CPU响应中断的时间误差具有非固定性特点。即这种误差因CPU正在执行指令的不同而有相当大的差异。如CPU正在执行某中断服务程序,这种误差将远远大于执行一条指令时的误差。后者误差可能是前者误差的几倍、几十倍、甚至更大。如同样只执行一条指令,这种误差也有较大的差别。如执行乘法指令MUL AB 比执行MOV A, Rn指令的时间误差增加了3个机器周期。这种误差的非固定不仅给误差分析带来不便,同时也给误差补偿带来困难。
  3 误差补偿方法由于定时器产生溢出中断与CPU响应中断请求的时间误差具有非固定性,因此,这种误差很难用常规方法补偿。为此,本文介绍一种新方法。现介绍该方法的基本思路、定时器新初值及应用情况。
  3.1 基本思路为使定时器溢出中断与CPU响应中断实现同步,该方法针对中断响应与中断请求的时间误差,对定时器原有的计数初值进行修改,以延长定时器计数时间,从而补偿误差。在该方法中,当定时器溢出中断得到响应后,即停止定时器的计数,并读出计数值。该计数值是定时器溢出后,重新从OOH开始每个机器周期继续加1所计的值。然后,将这个值与定时器的停止计数时间求和。若在定时器原计数初值中减去这个和形成新计数初值,则定时器能在新计数初值下使溢出中断与CPU响应中断实现同步,从而达到误差的补偿要求。
  3.2 定时器新计数初值若定时器为计数方式,操作方式为1,则计数器初值X0=216-t0×fosc/12。式中fosc为振荡器的振荡频率。t0为需要定时的时间,也为中断的间隔时间。X0为定时器原计数初值。在对定时器溢出中断与CPU响应中断时间误差进行补偿时,定时器的新计数初值X1为:X1=216-t3× fosc/12t3=t0+t1+t2式中t0为中断间隔时间。t1为定时器停止计数时间,该时间为定时器停止计数到重新启动计数之间所有程序指令周期数的总和。t2为定时器溢出中断后,重新从OOH开始直至计数器停止时计的值。在误差补偿中,若将定时器计数初值X1取代X0,则可使定时器下次的溢出中断与CPU响应中断实现同步。
  3.3 实例要求补偿定时器每1ms产生一次溢出中断时的中断响应延迟的误差。若振荡器振荡频率fosc=12MHZ,定时器工作在计数方式,工作模式为1,则补偿中断响应时间误差时的定时器新初值X1为:X1=216-t3× fosc/12=216-(t0+ t1)- t2=216-(1000+ 13)- t2误差补偿程序为: …… 0 CLR EA ;关CPU中断1 CLR TRi ;停止定时器计数2 MOV R0, #OOH ;R0清零3 MOV R0, #LOW(216) ;定时器最大计数值的低8位送R04 MOV A, R05 SUBB A, #LOW(1000+13) ;216的低8位减去( t0+ t1)的低8位送累加器A6 SUBB A, TLi ;216的低8位减去( t0+ t1+ t2)的低8位送TLi7 MOV TLi, A 8 MOV R0, #OOH ;R0清零9 MOV R0, #HIGH(216) ;216 的高8位送R010 MOV A, R0 11 SUBB A, #HIGH(1000+13) ;216的高8位减去( t0+ t1)的高8位送A12 SUBB A, THi ;216的高8位减去( t0+ t1 +t2)的高8位送A13 MOV THi, A14 SETB TRi ;重新启动定时器 …… 在上式和上段程序中,由于fosc=12MHZ,中断间隔时间为1ms,因此t0的机器周期数为1000。由于第1条指令到第14条指令的指令周期的机器周期数之和为13,因此,t1为13个机器周期。CPU虽在执行第一条指令CLR TRi 后停止定时器计数,但在TLi、THi中分别保存了t2的低位数据和高位数据。 4 结束语由于本文介绍的误差补偿方法能对定时器溢出中断与CPU响应中断的非固定性时间误差进行有效补偿,因此,该方法对于提高高频控制系统实时控制精度和扩大单片机应用范围都有较高的实用价值。
定时器基本操作
  F2810/F2812器件上有3个Q9位CPU定时器(TIMERO/1/2)。只有定时器1和2预留给实时操作系统DSP/BIOS使用,只有定时器0可以在就用程序中使用,定时器的功能如图1所示。
  图1 定时器功能框图
  若处理器采用30 MHz的外部时钟,经过锁相环10/2倍频后,系统的时钟工作在150 MHz。图中的定时器选择SYSCLKOUT作为定时器时钟,工作频率也是150 MHz。一旦定时器被使能(TCR-Bit 4=0),定时器时钟经过预定标计数器(PSCH:PSC)递减计数,预定标计数器产生下溢后向定时器的32位计数器(TIMH:TIM)借位p最后定时器计数器产生溢出使定时器向CPU发送中断。定时器中断结构如图2所示。
  每次预定标计数器产生溢出后使用分频寄存器(TDDRH:TDDR)中的值重新装载。同样,32位周期寄存器(PRDH[_]PRD)为32位计数器提供重新装载值。
  图2 定时器中断结构
定时器的比较操作
  每个通用定时器都有一个比较寄存器TxCMPR和一个PWM输出引脚TxPWM。通用定时器计数器的值一直与相关的比较寄存器的值比较,当定时器计数器的值与比较寄存器的值相等时,就产生比较匹配。可通过TxCON[l]位使能比较操作,产生比较匹配后将会有下列操作(如图所示)。
  ●匹配1个时钟周期后,定时器的比较中断标志位置位。
  ●匹配1个CPU时钟周期后,根据寄存器GPTCONA/B相应位的配置情况,PWM的输出将产生跳变。
  ●如果比较中断标志位已通过设置寄存器GPTCONA/B中的相应位启动A/D转换器,则比较中断位置位的同时产生A/D转换启动信号。
  ●如果比较中断未被屏蔽,将产生一个外设申断申请。
  图 通用定时器比较操作功能框图
定时器相关资讯
捷配电子通,电子知识,一查百通!已收录词条9671个
一周热门词条排行
定时器相关技术资料
定时器相关词条
IC热门型号
IC现货型号定时器实验报告_图文_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
定时器实验报告
上传于||文档简介
&&定​时​器​实​验​报​告
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩9页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
工作模式1:模式1与模式0几乎完全相同,唯一的区别就是,模式1中的寄存器TH0和TL0共同构成的是一个16位定时器/计数器来参与操作,因此比模式0中的定时/计数范围更大;工作模式1的结构如下图:
工作模式2:这种模式又称为自动再装入预置数模式;当定时器/计数器的寄存器TH0/TL0的值溢出时,定时器/计数器硬件设备会自动把寄存器TH0/TL0的值清0,以重新开始操作;但是有时候,我们的定时/计数操作是需要多次重复定时/计数的,如果溢出时不做任何处理,那么,在第二轮定时/计数时就是从0开始定时/计数了,而这并不是我们想要的;所以,要保证每次溢出之后,在重新开始定时/计数的操作是我们想要的,那就要把预置数(时间常数)重新装入某个地方;而重新装入预置数的操作是硬件设备自动完成的,不需要人工干预所以,这种工作模式就叫自动再装入预置数方式;既然需要重新装入预置数,那么预置数就必须要存放在某个地方,才能保证重装操作成功;在工作模式2中,把自动重装入的预置数存放在定时器/计数器的寄存器的高8位中,也就是存放在TH0中,而只留下TL0参与定时/计数操作;显然,定时/计数的方位小了很多;注:这个工作模式常用于波特率发生器(串口通讯),T1工作在串口模式2;用于这种方式时,定时器就是为了提供一个时间基准;计数溢出之后,不需要做太多的事情,只做一件事就可以,就是重新装入预置数,再开始重新计数,而且中间不需要任何延时;工作模式2的结构如下图:
工作模式3:由于定时器/计数器T1没有工作模式3,如果把定时器/计数器T0设置为工作模式3,那么TL0和TH0将被分割成两个相互独立的8位定时器/计数器;工作模式3的结构如下图:
四、定时器/计数器的定时/计数范围工作方式0:13位定时器/计数器工作模式,最多可计数2的13次方次,即:8192次,[0,8191];工作方式1:16位定时器/计数器工作模式,最多可计数2的16次方次,即:65536次,[0,65535];工作方式2:8位定时器/计数器工作模式,最多可计数2的8次方次,即:256次,[0,255];工作方式3:8位定时器/计数器工作模式,最多可计数2的8次方次,即:256次,[0,255];预置数的计算公式:预置数=最大值-需要计数的次数;五、定时器/计数器的控制寄存器8051单片机设计了两个8位的特殊功能寄存器来控制定时器/计数器的工作状态;这两个特殊功能寄存器分别是TMOD和TCON;它俩都在特殊功能寄存器区;1、工作模式控制寄存器TMOD(89h):
2、工作状态控制寄存器TCON(88H):
六、定时器/计数器的初始化1、设置定时器/计数器的工作模式TMOD(常用的是模式1:TMOD=0x01);2、装入预置数到THx和TLx中(THx=TLx=MAX(/256)-计数次数);3、如果工作在中断方式,则需要开定时器/计数器的中断TCON中的标志位:TF0/TF1=0/1;4、启动定时器/计数器:TR0/TR1=1;注:由于8051单片机的定时器/计数器使用的时钟脉冲是外部晶振(12MHZ)经过12分频(12MHZ/12=1MHZ)之后的频率,所以,一个时钟脉冲就是1微秒;所以,8192个脉冲=8192微秒=8.192毫秒; 65536个脉冲=65536微秒=65.536毫秒; 256个脉冲=256微秒=0.256毫秒;
阅读(11076)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_083',
blogTitle:'51单片机---定时器/计数器',
blogAbstract:'一、MCS-51单片机的定时器/计数器概念单片机中,脉冲计数与时间之间的关系十分密切,每输入一个脉冲,计数器的值就会自动累加1,而花费的时间恰好是1微秒;只要相邻两个计数脉冲之间的时间间隔相等,则计数值就代表了时间的流逝;因此,单片机中的定时器和计数器其实是同一个物理的电子元件,只不过计数器记录的是单片机外部发生的事情(接受的是外部脉冲),而定时器则是由单片机自身提供的一个非常稳定的计数器,这个稳定的计数器就是单片机上连接的晶振部件;MCS-51单片机的晶振经过12分频之后提供给单片机的只有1MHZ的稳定脉冲;晶振的频率是非常准确的,所以单片机的计数脉冲之间的时间间隔也是非常准确的,这个准确的时间间隔是1微秒;MCS-51单片机外接的',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:3,
publishTime:7,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:5,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'逆向工程',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}有哪些简单的定时器可以取代51单片机的定时器-中国学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
> 信息中心 >
有哪些简单的定时器可以取代51单片机的定时器
来源:互联网 发表时间: 7:21:13 责任编辑:王亮字体:
为了帮助网友解决“有哪些简单的定时器可以取代51单片机的定时器”相关的问题,中国学网通过互联网对“有哪些简单的定时器可以取代51单片机的定时器”相关的解决方案进行了整理,用户详细问题包括:有哪些简单的定时器可以取代51单片机的定时器,具体解决方案如下:解决方案1:
本质上是一个计数器。所以。定时的准确性是由时钟源的稳定性决定的,要取代定时器,时间比较准,对CPU的主频(或主频的分频)信号进行计数?单片机的定时器;4060这些40系列的芯片就可以做的很好;4040&#47不太清楚你的取代是什么意思?你要求的功能比较简单,与计数芯片关系不大,不想用单片机,只要用常见的计数器芯片就可以,比如4020&#47,因为主频一般比较稳定,所以通常也叫定时器
1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答1个回答
相关文章:
最新添加资讯
24小时热门资讯
Copyright © 2004- All Rights Reserved. 中国学网 版权所有
京ICP备号-1 京公网安备02号}

我要回帖

更多关于 keil t0 t1 t2 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信