




免费预览已结束,剩余24页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章定时器/计数器,内容提要:5.1定时器/计数器功能5.2定时器和计数器硬件结构5.3定时器/计数器工作方式5.4定时器/计数器编程,内容要求:1、熟悉PIC16F87X单片机的定时/计数器功能。2、熟悉3个定时器/计数器模块的硬件结构。3、熟悉掌握与定时器/计数器模块相关的寄存器。4、熟练掌握定时器/计数器工作方式。5、熟练掌握定时器/计数器编程技术。,5.1定时/计数器功能5.1定时/计数器功能5.4.1定时器功能起定时延时作用和在规定的引脚上输出一定宽度的方波信号。所谓定时功能就是通过来自单片机内部的时钟脉冲作计数脉冲,使计数器计数,即每个机器周期计数器加1,计数值达到予置值后,定时/计数模块产生溢出。,5.1定时/计数器功能5.1定时/计数器功能5.4.2计数器功能所谓计数是指对外部事件进行计数。外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外来脉冲进行计数。,5.2定时和计数器硬件结构PIC16F877单片机配置了3个定时器/计数器模块,分别为TMR0、TMR1和TMR2。共同点:它们的核心部分都是一个由时钟信号触发,按递增方式累加工作的循环计数器;从预先设定的某一初始值开始累计,在累计到计数器产生溢出,并同时建立一个相应的溢出中断标志。三者的不同点:TMR0为8位宽,有一个可选的预分频器,用于通用目的,可用于定时和计数;TMR1为16位宽,附带一个可编程的预分频器和一个可选的低频时基振荡器,适合与CCP(捕捉/比较脉宽调制)模块配合使用来实现输入捕捉或输出比较功能,也可用于定时和计数;TMR2为8位宽,附带一个配合使用来实现PWM脉冲宽度调制信号的产生,只能用于定时。,5.2.1定时器/计数器TMR0的硬件结构*TMR0可以用于定时控制、延时、对外部事件进行计数和检测等场合。*TMR0可以使用内部系统时钟,也可以使用外部始终。*TMR0用于内部定时或对外计数时都不占用CPU时间。1.定时器/计数器TMR0具有以下特点:(1)TMR0是一个8位宽的由时钟信号上升沿触发的循环累加计数寄存器。(2)有一个专用的外部触发信号输入端(T0CKI-RA4)。(3)TMR0也是一个在文件寄存器区域内统一编址的寄存器,地址为01H或101H,用户用软件方式可直接读/写计数器的内容。(4)具有一个软件可编程的8位预分频器。,(5)当使用内部触发信号,即指令周期作为时钟信号源时,模块TMR0工作于定时方式,触发方式为固定上升沿触发有效。在计数器溢出时,相应的溢出中断标志T0IF自动置位,并可产生溢出中断。(6)当外部时钟信号源时,模块TMR0工作于计数方式,触发方式可由程序设置位上升沿触发或下降沿触发有效。在计数器溢出时,也可产生溢出中断。,2与定时器/计数器TMR0模块相关的寄存器(1)选项寄存器OPTION_REG(1)是作为定时器还是作为计数器(2)决定分频器的分频系数(3)时钟是上升沿/下降沿触发(2)中断控制寄存器INTCON(1)中断总控制-允许/禁止(2)各类中断的控制(3)各类中断的标志(3)RA口方向寄存器TRISA当TMR0工作于计数器时,RA4必须设为输入,以便从该脚输入时钟脉冲信号。(4)定时器/计数器TMR08位累加计数寄存器,与计数和定时无关,3定时器/计数器TMR0模块的电路结构和工作原理,4.分频器和控制逻辑电路分频器实际上也是一个8位累加计数器,它只能配合TMR0或WDT输出的时钟由PS2PS0设定分频比,这个分频比由OPTION_REG寄存器中的PS2PS0决定。5.TMR0累加计数寄存器TMR0有定时器和计数器两种工作模式。这两种模式之间的差异是触发信号的来源不同。TMR0的工作模式由T0CS位(选项寄存器OPTION_REG)决定,TMR0定时时间的计算公式:t=P(28X)TX=28t/(TxP)t:设定的定时时间uSP:分频器的分频比-2256取值为2、4、8、16、32、64、128、256。X:TMR0的计数初值-0255T:指令周期uS定时器最短的定时时间:t=2x(256-255)x1uS=2uS定时器最长的定时时间:t=256x(256-0)x1uS=65535uS,TMR0的定时程序举例:用TMR0产生10毫秒的定时时间,步骤如下:(1)求出10毫秒定时时间对应的计数初值X=28t/(TxP)=256-10000/(1x64)=256-156=100(64H)(2)根据题目的要求,对OPTION_REG配置(3)将(X=100)写入TMR0计数寄存器(4)等待T0IF溢出,溢出时,定时时间已到,TMR0定时器延时10毫秒程序举例:BSFSTATUS,RP0MOVLW05H;Fosc/64,分频器分配给TMR0,MOVWFOPTION_REG;上升沿出发TMR0递增,BCFSTATUS,RP0;内部时钟;MOVLW64HMOVWFTMR0;定初值写入TMR0,;并启动TMR0LOOPBTFSSINTCON,T0IF;是否溢出?GOTOLOOP;没溢出,继续等待;BCFINTCON,T0IF;定时器0标志位清0GOTO$;程序在原地踏步,TMR0定时器延时1000毫秒程序举例:BSFSTATUS,RP0MOVLW05H;Fosc/64,分频器分配给TMR0,MOVWFOPTION_REG;上升沿出发TMR0递增,BCFSTATUS,RP0;内部时钟MOVLW.100MOVWFCOUNTLOOPMOVLW64HMOVWFTMR0;定初值写入TMR0,并启动TMR0LOOP1BTFSSINTCON,T0IF;是否溢出?GOTOLOOP1;没溢出,继续等待;BCFINTCON,T0IF;定时器0标志位清0DECFSZCOUNT,1GOTOLOOPGOTO$;程序在原地踏步,用定时器TMR0产生一个50Hz方波从RC0输出程序举例:BSFSTATUS,RP0MOVLW05H;Fosc/64,分频器分配给TMR0,MOVWFOPTION_REG;上升沿出发TMR0递增,CLRFTRISC;C口为输出BCFSTATUS,RP0;内部时钟;LOOPMOVLW64HMOVWFTMR0;定初值写入TMR0,并启动TMR0LOOP1BTFSSINTCON,T0IF;是否溢出?GOTOLOOP1;没溢出,继续等待;BCFINTCON,T0IF;定时器0标志位清0MOVLWB00000001XORWFPORTC,1;对RC0求反GOTOLOOP;继续循环,5.2.2定时器/计数器TMR1的硬件结构定时器/计数器TMR1不仅可作通用的定时器和计数器;而且利用内置的低频时基振荡器,还可实现实时时钟RTC功能;通过TMR1与CCP模块配合使用,定时器/计数器TMR1又可实现输入捕捉和输出比较功能。定时器/计数器TMR1是一个16位的可读可写的计数寄存器,由高低两字节组成(TMR1H和TMR1L)16位寄存器从0000H到FFFFH加1计数,然后回到0000H。在从FFFFH到0000H的过程中,置位中断标志位TMR1IF。定时器/计数器TMR1还带有一个3位的可编程预分频器和一个内置的低功耗低频时基振荡器。,5.2.2定时器/计数器TMR1的硬件结构1定时器/计数器TMR1模块具有的特点:(1)一个16位的由时钟信号上升沿触发的累加计数寄存器对TMR1H:TMR1L;(2)TMR1H和TMR1L是在RAM中统一编址的寄存器对,地址为0EH和0FH,可用软件方式读/写TMR1寄存器对的内容;(3)一个可选用的3位可编程的预分频器;(4)累加计数的信号源可选择内部系统时钟、外部触发信号或自带时基振荡器信号;(5)既可工作于定时器模式,又可工作于计数器模式,还可用作实时时钟RTC;(6)在计数器溢出时,相应的溢出中断标志自动置位,并可产生溢出中断。,5.2.2定时器/计数器TMR1的硬件结构2.与定时器/计数器TMR1模块相关的寄存器(1)PIE1外设中断使能寄存器(2)PIR1外设中断标志寄存器(3)INTCON中断控制寄存器(4)T1CONTMR1控制积存器(5)TMR1LTMR1计数寄存器低字节(6)TMR1HTMR1计数寄存器高字节参见表5-2有关TMR1、TMR2模块电路结构不介绍。,TMR1定时时间的计算公式:t=P(216X)TX=216t/(TxP)t:设定的定时时间uSP:分频器的分频比-18取值为1、2、4、8X:TMR1H和TMR1L的计数初值-065535T:指令周期uS定时器最短的定时时间:t=1x(65536-65535)x1uS=1uS定时器最长的定时时间:t=8x(65536-0)x1uS=524288uS,TMR1的定时程序举例:用TMR1产生10毫秒的定时时间,步骤如下:(1)求出10毫秒定时时间对应的计数初值X=216t/(TxP)=65536-10000/(1x8)=65536-1250=64286(FB1EH)(2)根据题目的要求,对T1CON配置(3)将(X=FB1E)写入TMR1H和TMR1L计数寄存器(4)将T1SCEN位置1,启动TMR1开始定时(4)等待PIR1的TMR1IF位为1,为1时,定时时间已到,TMR1的定时程序举例:LISTP=16F877A;列表伪指令INCLUDEP16F877A.INC;把包含文件含入源程序_CONFIG3F39H;设置配置位中振荡方式为XT,其它全部禁止或关闭;*COUNTEQU20HORG0 x000;主程序开始地址GOTOMAIN;跳转到主程序ORG0005H;主程序开始地址为0005HMAINMOVLW0F1H;31HMOVWFT1CON;设定定时器工作方式,分频比为1:8;*;定时0.5秒;X=65536-t/(TxP)=65536-500000/(1x8)=3036=0BDCH;MOVLW0BHMOVWFTMR1H;设定TMR1高位初值MOVLW0DCH;MOVWFTMR1L;设定TMR1低位初值;*BSFT1CON,TMR1ON;启动定时器TMR1LOOP1BTFSSPIR1,TMR1IF;是否溢出?GOTOLOOP1;没溢出,继续等待BCFPIR1,TMR1IF;已溢出,清TMR1溢出标志;*GOTO$;程序在原地踏步END;源程序结束,本章小节1、熟悉PIC16F87X单片机的定时/计数器功能PIC16F87X单片机有3个定时器/计数器模块,它们的共同点是其核心部分都是一个由时钟信号触发,按递增方式累加工作的循环计数器;从预先设定的某一初始值开始累计,在累计到计数器产生溢出,并同时建立一个相应的溢出中断标志。TMRO可用于定时控制、延时、对外部事件计数和检测等场合。TMR1不仅可作通用的定时器和计数器;而且利用内置的低频时基振荡器,还可实现实时时钟RTC功能;通过TMR1与CCP模块配合使用,定时器/计数器TMR1又可实现输入捕捉和输出比较功能。,TMR2只能工作于定时器模式。2、熟悉3个定时器/计数器模块的硬件结构定时器/计数器TMR0模块可分为4个组成部分,计数寄存器TMR0、分频器、各种控制逻辑电路和看门狗定时器WDT。定时器/计数器TMR1模块的内部结构也分为4部分,即输入信号选择控制电路、预分频器、同步控制电路和累加计数寄存器。TMR2由5部分构成,预分频器、TMR2累加计数器、比较器、PR2寄存器和后分频器。,3、熟练掌握与定时器/计数器模块相关的寄存器4、熟练掌握定时/计数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 写字楼专业知识培训课件
- 飞机透明件制造胶接装配工技能等级考核试卷及答案
- 公司玻璃热加工工合规化技术规程
- 做主播签合作协议书
- 真空电子器件装配工工具生命周期管理考核试卷及答案
- 稀土电解工创新项目落地考核试卷及答案
- 高空作业机械操作工岗位现场作业技术规程
- 广东省华师附中实验学校2026届八年级数学第一学期期末质量跟踪监视试题含解析
- 辽宁省盘锦市名校2026届九年级数学第一学期期末学业质量监测试题含解析
- 医学心理学概述
- 墩柱安全教育培训课件
- 新版中华民族共同体概论课件第十五讲新时代与中华民族共同体建设(2012- )-2025年版
- 2025年全国《家庭教育指导师》考试模拟试题(附答案)
- 2026届房山区高三开学考试语文试题及参考答案
- 桡骨骨折复位内固定术
- 2025至2030年中国办公设备租赁行业市场深度分析及发展前景预测报告
- 新版机动车交通事故责任强制保险合同
- 2024-2025学年江苏省南通市海安市高二(上)月考物理试卷(10月份)(含答案)
- 造白渣原则及渣况判断
- 23秋国家开放大学《液压气动技术》形考任务1-3参考答案
- 大班健康《贪吃的大嘴鱼》
评论
0/150
提交评论