- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
定时器计数器TMR0,定时器和计数器的区别,定时器计数器,单片机定时器计数器,定时器和计数器,8253定时器计数器实验,可编程定时器计数器,定时器与计数器,定时器计数器区别,定时器计数器实验
8.1 定时器/计数器模块的基本用途 在单品机芯片内部配置的各种外围设备模块中,定时器/计数器模块是一种应用比较灵活的外设模块。那么,定时器/计数器模块究竟有什么用途呢?经过初步分析和归纳,此类模块大致上可以适用于以下3类不同的应用场合: (1)在一些单片机的应用项目中,又是要求单片机在其端口引脚上,向外部电路送出一系列符合一定时序规范的方波信号。例如,空调机中的变频控制,VCD,光盘驱动器,照相机,打印机提示音的音调产生,PWM脉冲宽度调制信号的形成,等等。在对这些应用项目的单片机进行编程时,需要在程序的执行过程中,插入一定时长的延时。对此有两种方案可供选择,一直利用芯片内部现成的硬件资源——可编程定时器,来精确控制输出实现预定的时间间隔;二是采用软件手段——插入一段延时程序。关于软件手段延时,在“PIC汇编语言程序设计基础”章节中已经做过介绍,其缺点,传真机中不仅电动机的驱动,电器设备的是需要占用“机时”,也就是耗费CPU的“精力”。在此仅对第一种方法中用到的硬件资源进行讲解。 (2)在另外一些单片机的应用项目中,经常要求单片机在其引脚上,检测外部电路送来的一系列方波信号的脉宽、周期或频率,以便单片机接收外部电路的输入信号或通信信号。例如,遥控电视机中的红外遥控信号的接收,速度里程表中的转速检测,超声波测距仪中发射波与反射波之间的时间间隔的精确测量,等等。这类应用程序的编写,会用定时器来对“视线未知”的时间间隔进行精确计时。 (3)还有一些单片机应用项目中,需要单片机对其端口引脚上输入的有外部事件产生的触发信号进行精确的计数,依据计数结果来控制完成相应的动作。例如,在饮料的生产和包装车间里,传送带上的易拉罐在移动时,可以借助于红外线透射或者反射方式,获得触发信号并且送入单片机的相应引脚,有单片机内部的可编成计算器来对移过红外探头的易拉罐数量进行计数。每当计数器的累加值达到预设值时,就控制相应装置完成封箱操作。 8.2 PIC系列单片机定时器/ 计数器 TMR0模块的特性 Microchip公司产生的PIC系列单片机也不例外,各款产品内部全部配备有定时器/计数器模块,并且配备的数量也不尽相同。早期研制的PIC单片机产品系列,例如PIC12CXXX/CEXXX系列,PIC16C5X/5XX系列、PIC16C8X/F8X系列中的全部产品、PIC16C62X/CE62X系列中的部分产品,只配置了一个定时器/计数器模块。除了在最早的PIC16C5X系列弹片机中,把该模块叫做RTCC模块之外,在其余所有PIC单片机中都把该模块叫做TMR0模块。近期新研制的PIC单片机产品系列中,大都配置了多个定时器/计数器模块,例如PIC17CXXX系列和PIC18CXXX系列都配置了4个定时器/计数器模块。 在本书中当作样板讲解的PIC16F87X系列单片机都配置了3个定时器/计数器模块,分别记为TMR0、TMR1、TMR2。需要事先声明的是, TMR0、TMR1、TMR2 3个定时器/计数器模块,不仅电路结构上均不相同,而且涉及的初中也各有所异,但是,三者之间也存在着许多的共同之处。具体的分析如下: 不同点有:TMR0为8位宽,有一个可选的预分频器,用于通用目的;TMR1为16位宽,附带一个可编程的预分频器,还附带一个可选的低频时基振荡器,适合与CCP(捕捉/比较/脉宽调制)模块配合使用来实现输入捕捉或输出比较功能;TMR2为8位宽,同时附带一个可编程的预分频器和一个可编程的后分频器,还附带一个周期寄存器和比较器,适合与CCP模块配合使用来实现PWM脉冲宽度调制信号的产生。 相同点:它们的核心部分都是一个由时钟信号触发的按递增规律(即累加方式)工作的循环计数器;都是从预先设定的某一初始值(或0)开始记起,在累积到超过最大值(或者预先设定的某一终了值)时产生溢出,并且同时会建立一个相应的溢出标志(即中断标志位):对于它们的编程方法也大同小异。因此,我们打算首先从中选择一款具备通用性、代表性和相对简单的定时器/计数器,也是各种档次、各款PIC单片机型号内部,普遍都配置了的定时器/计数器模块TMR0,作为本章讲解的模型和重点。至于其他2个定时器/计数器模块TMR1和TMR2,将在后面设专门章节另行讲解。这样安排的目的主要是,为了更好的适应初级读者,以循序渐进的方式接收和认识新技术新知识的需要 定时器/计数器TMR0具有以下特性: 是一个8位宽的由时钟信号上升沿触发的循
文档评论(0)