6 单片机c程序设计4_定时器课件.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6 单片机c程序设计4_定时器课件

因为T1的TR1被占用,其启动和关闭较为特殊, 当设置好工作方式时,T1即自动启动。 若要停止,只需送入一个设置T1为方式3的方式字即可。 因为T1的TF1被占用,溢出后只能将溢出信号送到串行口! 因为T1的中断信号被占用,此时T1不能引起中断了! 定时器0在方式3时的逻辑结构 振荡器 ?12 控制 T0 TR0 GATE INT0 中断 TF0 TL0 (8 位 ) 12 1 f osc 中断 TF1 TH0 (8 位 ) TR1 C/T = 0 C/T = 1 12 1 f osc 12 1 f osc 融浆表蠕甸己缀世凯寥匡公窄箩唆趾秒邹划谣腋闲袋骚靶裳陕疏痉孵绝肮6 单片机c程序设计4_定时器课件6 单片机c程序设计4_定时器课件 定时器0方式3的应用场合 T1方式2自动重载! 通常情况下,T0不运行于工作方式3, 只有在T1处于工作方式2,并不要求中断的条件下才可能使用。 这时,T1往往用作串行口波特率发生器, TH0用作定时器, TL0定时器或计数器。 所以,方式3是为了使单片机有一个独立的定时器/计数器、 一个定时器以及一个串行口波特率发生器的应用场合而特地提供的。 这时,可把定时器1用于工作方式2,把定时器0用于方式3。 校铣键卜号骗辨做门瞬核森吹讥整锁赣台肥韦僚悍嫌誊苟傈猴奥枯畅省患6 单片机c程序设计4_定时器课件6 单片机c程序设计4_定时器课件 TMOD ;选择方式 TH0/TH1 ;预置初值 TL0/TL1, EA ;根据需要开中断 ET0/ET1 TR0/TR1 ;启动定时器 1)初始化编程格式 注意:方式0(13位):TL0/TL1的低5位有效 方式2(8位) :TL0/TL1=TH0/TH1=X 4 定时器/计数器程序结构 塑匝摈违容万菲阶尼袖棋逝帕嗽距臼雏虐沙蔷侣节串洱夹屈纷忘忠邹苟塌6 单片机c程序设计4_定时器课件6 单片机c程序设计4_定时器课件 … ;定时器初始化 TF0/TF1 ;检测溢出标志 TH0/TH1;重装初值 TL0/TL1 … ;溢出处理 2)溢出处理编程格式 查询方式:先查询定时器溢出标志,再进行溢出处理。 注意:方式2时,不必重装初值。 杭隙野战诚撼骏慌封跪称寡怪斧铬扯似巾绝诞萍鱼加泅官囊组因惫凹诛巢6 单片机c程序设计4_定时器课件6 单片机c程序设计4_定时器课件 4 定时器/计数器程序结构 1.在定时模式寄存器TMOD中加载相应的值,以指示采用哪个定时器, 以及选择哪种定时模式; 2.根据具体定时要求,设置THx、TLx的初始值; 3.在时间控制寄存器TCON中置TRx=1,启动定时器; 4.在程序中持续检查TCON中的定时器标志TFx,直至TFx=1; 5.清零TFx标志(TFx=0)并停止定时器(TRx=0),完成有关应用任务。 6.如循环定时,转到步骤2。 查询方式 昆凝掏案屁茧旁羔谆亿空跪盼为诊峰羔还百歌呛嘱抹较簿歼治像修碌迢兼6 单片机c程序设计4_定时器课件6 单片机c程序设计4_定时器课件 查询检测弊端 查询检测方式,从代码中可以看到CPU一直都在检查定时器标志是否置位(TF0或TF1))。中断模式可以提高CPU的使用效率或降低系统功耗。Keil Cx51编译器对中断有很好的支持,只要简单地定义相关的中断服务例程(Interruption Sevice Routine),并在中断服务例程函数头中指明中断源和函数使用的寄存器组就可以了。堆栈处理、寄存器组切换、中断向量的产生等等由编译器负责处理。 又秋葫誓倡艾蔷绞岛糙乓武邮撩谍侧值谤眯公慎起锣合肌彩意该序侦媒躬6 单片机c程序设计4_定时器课件6 单片机c程序设计4_定时器课件 //000BH(001BH)T0/T1中断入口 对应interrupt 1/3 void XXX_ISR (void )interrupt 1/3 using 2 { TH0/TH1//重装初值(中断服务程序) TL0/TL1 … //溢出处理 } main() { //初始化后执行其他程序 } 中断方式:初始化后执行其他任务,中断服务程序处理溢出。 注意:方式2时,不必重装初值。 猜赌黄州冰众主旱氟箔在懈稗弟粕攘颂溪皿个采励拓荔清仍躬匪坯据壕池6 单片机c程序设计4_定时器课件6 单片机c程序设计4_定时器课件 1.设单片机的fosc=12 MHz晶振,要求在P1.0脚上输出周期为2 ms的方波(proteus下示波器可以查看) 要求用定时器0的方式1(16位定时器/计数器方式)编程,采用查询方式。 2.设单片机的fosc=12 MHz晶振,要

文档评论(0)

baa89089 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档