网站大量收购闲置独家精品文档,联系QQ:2885784924

单片机系统设计与应用实例课件作者韩志军主编第四章节.ppt

单片机系统设计与应用实例课件作者韩志军主编第四章节.ppt

  1. 1、本文档共87页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1)工作方式0 T0的等效逻辑结构 在计数工作方式下,计数器的计数值范围是: ??????????1~8192(2的13方) 当为定时工作方式时,定时时间的计算公式为: ?????????( 8192 -计数初值)×晶振周期×12 或??? ( 8192 -计数初值)×机器周期 其时间单位与晶振周期或机器周期相同。 如果单片机的晶振选为6.000MHz,则最小定时时间为: ???? [8192—(8192—1)]×1/6×10-6×12=2×10-6(s)=2(us) 最长定时时间为: ?????(8192—0)×1/6×10-6×12=16384×10-6(s)=16384(us)。 2)工作方式1 T0的等效逻辑结构 在工作方式1下,计数器的计数值范围是: ??????????1~65536(2的16方) 当为定时工作方式1时,定时时间的计算公式为: ?????????(65536—计数初值)× 晶振周期×12 或??? (65536—计数初值)× 机器周期 其时间单位与晶振周期或机器周期相同。 如果单片机的晶振选为6.000MHz,则最小定时时间为: ????? [65536—(65536—1)]×1/6×10-6×12=2×10-6(s)=2(us) 最长定时时间为: ????? (65536—0)×1/6×10-6×12=131072×10-6(s)=131072(us)。 3)工作方式2 T0的等效逻辑结构 方式2与方式0、1的区别: 工作方式0和工作方式1的最大特点就是计数溢出后,计数器为全0,因而循环定时或循环计数应用时就存在反复设置初值的问题,这给程序设计带来许多不便,同时也会影响计时精度。 工作方式2就具有自动重装载功能,即自动加载计数初值,所以也有的文献称之为自动重加载工作方式。在这种工作方式中,16位计数器分为两部分,即以TL0为计数器,以TH0作为预置寄存器,初始化时把计数初值分别加载至TL0和TH0中,当计数溢出时,不再象方式0和方式1那样需要“人工干预”,由软件重新赋值,而是由预置寄存器TH以硬件方法自动给计数器TL0重新加载。 方式2在串口通讯时,常用作波特率发生器。 4)工作方式3 ? 如果定时/计数器0工作于工作方式3,那么定时/计数器1的工作方式就因为自己的一些控制位已被定时/计数器0借用,只能工作在方式0、方式1或方式2下,等效电路参见下图: 2.怎样编制计数程序? 首先必须对定时计数器进行初始化,然后再开启定时或计数。简单的总结一下,定时计数器的初始化包括以下内容。 (1)确定工作方式——对TMOD赋值; 如:任务中的MOV TMOD,#06H指令,设定T0为计数器工作方式。 (2)预置定时计数器中计数的初值——直接写入TH和TL; 如:任务中的MOV TH0,#00H 两条指令,设定计数初值。 MOV TL0,#00H (3)根据需要开放定时器/计数器的中断——对IE位赋值; (4)启动定时器/计数器; 如:任务中的SETB TR0 指令 初值的计算方法 X=M-计数值 M是定时器的最大计数值。视工作方式不同而不同。 工作方式0: 13位定时/计数方式,因此,最多可以计到2的13次方,也就是8192次。 工作方式1: 16位定时/计数方式,因此,最多可以计到2的16次方,也就是65536次。 工作方式2和工作方式3:都是8位的定时/计数方式,因此,最多可以计到2的8次方,也说是256次。 预置值计算: 用最大计数量减去需要的计数次数即可。 通过上面的任务,我们掌握了计数程序的编制方法,下面我们再看看定时程序怎样编制。 首先我们看一下下面的程序段。 MOV TMOD,#01H MOV TL0,#00H MOV TH0,#4CH SETB TR0 以上程序是任务一中的定时程序段,它的初始化过程和计数方式类似。 MCS-51单片机的定时器/计数器应用举例: 利用定时器/计数器实现固定时间的定时 利用定时器/计数器实现对外来信号脉冲的计数 利用定时器/计数器实现对外来信号脉冲信号脉宽的测量 第四节 定时器/计数器的应用 实例一:定时器/计数器实现固定时间的定时 题目:利用T0,使用工作方式0,在单片机的P1.0输出一个周期为2ms,占空比为1:1的方波信号。 解:周期为2ms,占空比为1:1的方波信号,只需要利用T0产生定时,每隔1ms将P1.0取反即可。 编程步骤: 计算TMOD的值        由于GATE=0;M1M0=00;C/T=0;        所以 (TMOD)=00H 计算初值(单片机振荡频率为12MHZ)  所

您可能关注的文档

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档