单片机第二章31课件.pptxVIP

  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文档。上传文档
查看更多
8051内部资源,即8051的片内外围部件,要用特殊功能寄存器或SFR寻址。;5.5 定时器/计数器;8.2 定时器/计数器(Timer/Counter);当T/C工作在定时器时,对振荡源12分频的脉冲计数,即每个机器周期计数值加1,计数频率=fosc/12。;8.2.1 与T/C有关的特殊功能寄存器; 定时器/计数器控制寄存器TCON(Timer/Counter Control Register);定时器/计数器方式控制寄存器TMOD(Timer/Counter Mode Register);(1)GATE——门控位 0:以TRX(X=0,1)来启动定时器/计数器运行。 1:用外中断引脚(INT0*或INT1*)上的高电平和TRX来启动定时器/计数器运行。;(2)M1、M0——工作方式选择位 M1 M0 工 作 方 式 0 0 方式0,13位定时器/计数器 0 1 方式1,16位定时器/计数器 1 0 方式2,8位常数自动重新装载 1 1 方式3,仅适用于T0,T0分成两个 8位计数器,T1停止计数 ; (3) C/T*——计数器模式或定时器模式选择位 0:定时器模式。 1:计数器模式。;8.2.2 T/C的工作方式;13位的T/C,TL的低5位和TH的8位,满计数值为213,但启动前可以预置计数初值。;T/C启动后立即加1计数,当13位计数满时,TH向高位进位。此进位将中断溢出标志TF置1,产生中断请求,表示定时时间到或计数次数到。 若T/C开中断(ET=1)且CPU开中断(EA=1),则当CPU转向中断服务程序时,TF自动清零。;2 方式1;3 方式2;定时器/计数器的方式2工作过程 (X=0,1)。;8位的可自动重装载的T/C,满计数值为28。;4 方式3;TL0可作定时器/计数器,占用T/C0在TCON和TMOD寄存器中的控制位和标志位;TH0只能作定时器,占用T/C1的资源TR1和TF1。此时,T/C1仍可用于方式0、1、2,但不能使用中断方式。;1.工作方式3下的T0 T0分为两个独立的8位计数器:TL0和TH0 。 TL0使用T0的状态控制位C/T*、GATE、TR0、TF0,而TH0被固定为一个8位定时器(不能作外部计数模式),并使用定时器T1的状态控制位TR1和TF1,同时占用定时器T1的中断请求源TF1。 ;2.T0工作在方式3下T1的各种工作方式 当T1用作串行口的波特率发生器时, T0才工作在方式3。 T0处于方式3时, T1可定为方式0、方式1和方式2,用来作为串行口的波特率发生器,或不需要中断的场合。 ;定??器/计数器对输入信号的要求 外部计数脉冲的最高频率为系统振荡器频率的1/24,例如选用12MHz频率的晶体,则可输入500KHz的外部脉冲。 输入信号的高、低电平至少要保持一个机器周期。 ;8.2.3 定时器/计数器的初始化; 2 定时器的计数初值 在定时器方式下,T/C是对机器周期脉冲计数的,如果fosc=6MHz,一个机器周期为2us,则 方式0:13位定时器最大定时间隔=213×2us=16.384ms; 例:2^13*2/(10^6)=0.016384 方式1:16位定时器最大定时间隔=216×2us=131.072ms; 方式2:8位定时器最大定时间隔=28×2us=512us。;若使T/C工作在方式1,fosc=6MHz,要求定时时间为1ms,求计数初值。 如设计数初值为x,则有(216-x)×2us=1000us 或 x=216-500 因此 TH,TL可置为65536-500=65036;3 计数器的计数初值 方式0:13位计数器的满计数值=213=8192; 方式1:16位计数器的满计数值=216=65536; 方式2:8位计数器的满计数值=28=256。;若使T/C工作在计数器2,则要求计数10个脉冲的计数初值。 如设计数初值为x,则有28-x=10 即 x=28-10 因此 TH=TL=256-10;8.2.4 应用实例;例:设单片机的fosc=12MHz,要求在P1.0脚上输出周期为2ms的方波。 方法1:查询方式 解:使用定时器0的方式1编程。定时1ms,每次时间到时P1.0取反。 定时器计数率fosc/12,机器周期1μs, 每个机器周期定时器计数加1,1ms=1000us 需计数次数1000 计数初值 65536-1000;#includereg51.h sbit P1_0=P1^0; void main(void){ TMOD=0x01;

文档评论(0)

天星 + 关注
官方认证
文档贡献者

人人为我,我为人人。

版权声明书
用户编号:5342242001000034
认证主体四川龙斌文化科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510100MA6ADW1H0N

1亿VIP精品文档

相关文档