单片机技术和实践教案chap6.pptVIP

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

第六章:MCS-51的定时计数器; 定时/计数器是单片机系统一个重要的部件,其工作方式灵活、编程简单、使用方便,可用来实现定时控制、延时、频率测量、脉宽测量、信号发生、信号检测等。此外,定时/计数器还可作为串行通信中波特率发生器。; 80C51单片机内部有两个定时/计数器T0和T1,其核心是计数器,基本功能是加1。 对外部事件脉冲(下降沿)计数,是计数器;对片内机周脉冲计数,是定时器。 计数器由二个8位计数器TH、TL组成。 定时时间和计数值可以编程设定,其方法是在计数器内设置一个初值,然后加1计满后溢出。调整计数器初值,可调整从初值到计满溢出的数值,即调整了定时时间和计数值。 定时/计数器作为计数器时,外部事件脉冲必须从规定的引脚输入。且外部脉冲的最高频率不能超过时钟频率的1/24。;1、实现定时方法;* ;设置为定时应用时 用作定时器:此时设置为定时器模式,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期Tcy就是定时时间t 。 设置为计数应用时 用作计数器:此时设置为计数器模式,外部事件计数脉冲由T0(P3.4)或T1(P3.5)引脚输入到计数器。每来一个外部脉冲,计数器加1。但单片机对外部脉冲有基本要求:脉冲的高低电平持续时间都必须大于1个机器周期。;2.2定时器/计数器的结构;3、定时器/计数器的控制;;;; TMOD功能:确定定时器的工作方式及功能选择。;D7;计数器工作方式选择; 方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成TL0的低5位溢出时(TL0的低三位弃之不用)向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。;工作方式0_应用分析;TF1;工作方式1(M1M0=01)经常用到 方式1是16位计数结构的工作方式,其计数器由TH0全部8位和TL0的全部8位构成。其逻辑电路和工作情况与方式0完全相同,所不同的只是计数 器的位数。  MCS-51单片机之所以设置几乎完全一 样 的方式0和方式1,是出于与 MCS-48单片机兼容的要求。因为,MCS-48单片机的定时器/计数器是13位的计数结构。;工作方式1_应用分析;4.3 定时器/计数器的工作方式2;工作方式2_应用分析; 8位计数器 TL0作计数器,TH0作预置寄存器使用,计数溢出时,TH0中的计数初值自动装入TL0,即TL0是一个自动恢复初值的8位计数器。 在使用时,要把计数初值同时装入TL0和TH0中。 优点是提高定时精度,减少了程序的复杂程度。 优点:定时初值可自动恢复,TH0中存放初值; 缺点:计数范围小。 适用于需要重复定时,而定时范围不大的应用场合。 ;4.4 定时器/计数器的工作方式3 ;T0: 组织成TL0和TH0两个8位定时/计数器 T1: 不再是定时/计数器了 T1 的TR1和TF1出借给TH0当控制位使用,剩下的TH1/TL1寄存器只能当作普通寄存器用。   除了不具备计数及自动加载功能外,几乎可以工作方式2的T1所取代。看不出存在的理由,但存在是事实 ;? THx/TLx赋初值:THx赋高8位,TLx赋低8位;定时器(方式1)应用程序举例:;分析:已知Fosc = 6MHz 则: (机器周期)1Tm=12Tc=12/6MHz=2?S 100mS÷2 ?S = 50000 16位定时器最大数值为: 216 = 65536 (=0FFFFH+1) 故选择方式1工作可以满足要求。 计算初值:65536-50000=15536=3CB0H;初始化:MOV TMOD,#01H ;选 T0 方式 1 MOV TH0, #3CH ;赋初值高8位 MOV TL0, #0B0H ;赋初值低8位 SETB TR0 ;启动 T0定时 若需要定时器0产生中断还应当写如下语句: SETB ET0 ;开T0中断允许 SETB EA ;开总中断允许 以及相应的中断服务程序。;? THx/TLx赋相同初值 在TLx计数达到0FFH 再加“1”时,TL0 将溢出,进位位直接进入“TFx”去申请 中断,同时打开三态门,使THx中的值 自动重装(Copy)进TLx;分析:   Fosc = 6MHz 1机器周期 = 2 ?S 1KHz方波周期 = 1 mS 半个方波周期 =50

文档评论(0)

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

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

1亿VIP精品文档

相关文档