第七章定时计数器-公开课件(精选).ppt

第七章定时计数器-公开课件(精选).ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本章介绍的主要内容 ★ 定时计数器结构和工作原理 ★ 定时计数器的控制寄存器 ★ 定时计数器的应用编程 ★ 51系列单片机片内有二个十六位定时/计数器:定时器0(T0)和定时器1(T1)。 ★ 两个定时器都有定时或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合 ★ 定时/计数器实际上是16位加1计数器。 T0由2个8位持殊功能寄存器TH0和TL0构成, T1由2个8位持殊功能寄存TH1和TL1构成。 ★每个定时器都可由软件设置为定时工作方式或 计数工作方式。 ★T0和T1受特殊功能寄存器TMOD和TCON控制。 1. 定时工作方式 ★ 设置为定时工作方式时,定时器计数的脉冲是由51单片机片内振荡器经12分频后产生的。 ★每经过一个机器周期定时器(T0或T1)的数值加1直至计数满产生溢出。 如:当8051采用12MHz晶体时,每个机器周期为1μs,计5 个机器周期即为5 μs,即定时5 μs 。 2. 计数工作方式 ★ 设置为计数工作方式时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数。 ★ 当输入脉冲信号产生由1至0的下降沿时,定时器的值加1, 在每个机器周期CPU采样T0和T1的输入电平。若前一个机器周期采样值为高,下一个机器周期采样值为低,则计数器加 1。 ★ 由于检测一个1至0的跳变需要二个机器周期,故最高计数频率为振荡频率的二十四分之一。 ★ 虽然对输入信号的占空比无特殊要求,但为了确保某个电平在变化之前至少被采样一次,要求电平保持时间至少是一个完整的机器周期。 ★ GATE:门控信号 GATE=0,TRx=1时即可启动定时器工作 ; GATE=1, TRx=1 INTx=1才可启动定时器工作。 ★ C/T:定时器/计数器选择位 C/T=1,为计数器方式; C/T=0,为定时器方式。 ★ M1 M0 工作模式选择位 M1M0=00 工作方式0(13位方式)。 M1M0=01 工作方式1(16位方式)。 M1M0=10 工作方式2(8位自动再装入方式)。 M1M0=11 工作方式3(T0为2个8位方式)。 ★TF0:T0溢出中断请求标志。 TF0=1,T0有溢出中断请求。 TF0=0,T0无溢出中断请求。 ★TR0:T0运行控制位。 TR0=1,启动T0工作。 TR0=0,停止T0工作。 ①查询方式: #include reg51.h void main(void) { P1=0x01; / *第一只LED亮*/ TMOD=0x10 ; / *定时器1方式1*/ TR1=1; /*启动T/C0 */ void main(void){ TMOD=0x10; /*T1工作在定时方式1*/ P1=0x01; /*第一只LED亮*/ TH1=0x3c;TL1=0xb0;/*预置计数初值*/ EA=1;ET1=1; /*CPU开中断,允许T1中*/ TR1=1; /*启动T1开始定时*/ do{ }while(1); } /*等待中断*/ ORG 0000H MAIN:CLR P1.7 SETB P1.0 MOV TMOD,#61H MOV TH1,#0FBH MOV TL1,#0FBH SETB TR1 LOOP1:CPL P1.7 LOOP2:MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 LOOP3: JBC TF0,LOOP4 SJMP LOOP3 LOOP4:CPL P1.0 JBC TF1,LOOP1 AJMP LOOP2 END 方法2:T0每隔100ms中断一次,利用软件对T0的中断次数进行计数,中断10次即实现了1秒的定时。 ORG 000BH ;T0中断服务程序入口 AJM

文档评论(0)

小米兰 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档