电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

定时 计数器〖教案〗PIC单片机

51页
  • 卖家[上传人]:工****
  • 文档编号:441824
  • 上传时间:2017-02-26
  • 文档格式:PDF
  • 文档大小:839.38KB
  • / 51 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第五章定时/计数器第五章定时/计数器第五章定时/计数器第五章定时/计数器第五章定时/计数器第五章定时/计数器5.1 定时/计数器功能5.1 定时/计数器功能5.2 定时和计数器硬件结构5.2 定时和计数器硬件结构5.3 定时/计数器工作方式5.3 定时/计数器工作方式5.4 定时/计数器编程5.4 定时/计数器编程第五章定时/计数器第五章定时/计数器5.1 定时定时/计数器功能计数器功能5.1 定时定时/计数器功能计数器功能541定时功能定时功能所谓定时功能就是通过来自单片机内部的时钟脉冲作计数脉冲,使计数器计数,即每个机器周期计数器加所谓定时功能就是通过来自单片机内部的时钟脉冲作计数脉冲,使计数器计数,即每个机器周期计数器加1,计数值达到予置值后,定时,计数值达到予置值后,定时/计数模块产生溢出。计数模块产生溢出。542计数器功能计数器功能所谓计数是指对外部事件进行计数。外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外来脉冲进行计数。所谓计数是指对外部事件进行计数。外部事件的发生以输入脉冲表示,因此计数功能的实质就是对外来脉冲进行计数。第五章定时/计数器第五章定时/计数器5.

      2、2 定时和计数器硬件结构定时和计数器硬件结构5.2 定时和计数器硬件结构定时和计数器硬件结构PIC16F877单片机配置了3个定时器/计数器模块,分别为TMR0、TMR1和TMR2。PIC16F877单片机配置了3个定时器/计数器模块,分别为TMR0、TMR1和TMR2。共同点:它们的核心部分都是一个由时钟信号触发,按递增方式累加工作的循环计数器;从预先设定的某一初始值开始累计,在累计到计数器产生溢出,并同时建立一个相应的溢出中断标志。共同点:它们的核心部分都是一个由时钟信号触发,按递增方式累加工作的循环计数器;从预先设定的某一初始值开始累计,在累计到计数器产生溢出,并同时建立一个相应的溢出中断标志。三者的不同点:TMR0为8位宽,有一个可选的预分频器,用于通用目的,可用于定时和计数;TMR1为16位宽,附带一个可编程的预分频器和一个可选的低频时基振荡器,适合与CCP(捕捉/比较脉宽调制)模块配合使用来实现输入捕捉或输出比较功能,也可用于定时和计数;TMR2为8位宽,附带一个配合使用来实现PWM脉冲宽度调制信号的产生,只能用于定时。三者的不同点:TMR0为8位宽,有一个可选的预分频器,

      3、用于通用目的,可用于定时和计数;TMR1为16位宽,附带一个可编程的预分频器和一个可选的低频时基振荡器,适合与CCP(捕捉/比较脉宽调制)模块配合使用来实现输入捕捉或输出比较功能,也可用于定时和计数;TMR2为8位宽,附带一个配合使用来实现PWM脉冲宽度调制信号的产生,只能用于定时。第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构5.2 定时和计数器硬件结构定时和计数器硬件结构5.2.1定时器定时器/计数器计数器TMR0的硬件结构的硬件结构1.定时器定时器/计数器计数器TMR0具有以下特点具有以下特点(1)TMR0是一个8位宽的由时钟信号上升沿触发的循环累加计数寄存器。(1)TMR0是一个8位宽的由时钟信号上升沿触发的循环累加计数寄存器。(2)有一个专用的外部触发信号输入端(2)有一个专用的外部触发信号输入端(T0CKI)。)。(3)TMR0也是一个在文件寄存器区域内统一编址的寄存器,地址为01H或101H,用户用软件方式可直接读/写计数器的内容。(3)TMR0也是一个在文件寄存器区域内统一编址的寄存器,地址为01H或101H,用户用软件方式可直接读

      4、/写计数器的内容。(4)具有一个软件可编程的8位预分频器。(4)具有一个软件可编程的8位预分频器。第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构5.2 定时和计数器硬件结构定时和计数器硬件结构5.2.1定时器定时器/计数器计数器TMR0的硬件结构的硬件结构1.定时器定时器/计数器计数器TMR0具有以下特点(5)当使用内部触发信号,即指令周期作为时钟信号源时,模块具有以下特点(5)当使用内部触发信号,即指令周期作为时钟信号源时,模块TMR0工作于定时方式,触发方式为固定上升沿触发有效。在计数器溢出时,相应的溢出中断标志T01F自动置位,并可产生溢出中断。(6)当外部时钟信号源时,模块工作于定时方式,触发方式为固定上升沿触发有效。在计数器溢出时,相应的溢出中断标志T01F自动置位,并可产生溢出中断。(6)当外部时钟信号源时,模块TMR0工作于计数方式,触发方式可由程序设置位上升沿触发或下降触发有效。在计数器溢出时,也可产生溢出中断。工作于计数方式,触发方式可由程序设置位上升沿触发或下降触发有效。在计数器溢出时,也可产生溢出中断。第五章定时/计数器第五章

      5、定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构5.2 定时和计数器硬件结构定时和计数器硬件结构5.2.1定时器定时器/计数器计数器TMR0的硬件结构的硬件结构2与定时器与定时器/计数器计数器TMR0模块相关的寄存器模块相关的寄存器(1)选项寄存器)选项寄存器OPTION_REG(2)中断控制寄存器)中断控制寄存器INTCON第五章定时/计数器第五章定时/计数器表5-1 与TMR0模块相关的寄存器寄存器的名称和符号寄存器地址寄存器内容Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0定时器/计数器TMR001H/101H8位累加计数寄存器选项寄存器OPTION_REG81H/181HRBPUINTEDGT0CST0SEPSAPS2PS1PS0中断控制寄存器INTCON0BH/8BH/10B/H/18BHGIEPEIET0IEINTERBIET0IFINTFRBIF端口RA方向寄存器TRISA85HTRISA5TRISA4TRISA3TRISA2TRISA1TRISA0第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构PS2 P

      6、S1 PS0TMR0比率WDT比率0001:21:10011:41:20101:81:40111:161:81001:321:161011:641:321101:1281:641111:2561:128第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构3 定时器定时器/计数器计数器TMR0模块的电路结构和工作原理模块的电路结构和工作原理第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构4.分频器4.分频器分频器实际上也是一个分频器实际上也是一个8位累加计数器,它只能配合位累加计数器,它只能配合TMR0或或WDT输出的时钟由输出的时钟由PS2PS0设定分额比,这个分频比由设定分额比,这个分频比由OPTION_REG寄存器中的寄存器中的PS2PS0决定。决定。5.TMR0累加计数寄存器累加计数寄存器TMR0有定时器和计数器两种工作模式。这两种模式之间的差异是触发信号的来源不同。有定时器和计数器两种工作模式。这两种模式之间的差异是触发信号的来源不同。TMR0的工作模式由的工作模式由T0CS位(选项寄存器位(选项寄存器OPTI

      7、ON_REG)决定)决定表53 TMR0的工作模式T0CSTMR0工作模式触发信号的来源0定时器计数器的触发信号取自内部指令周期1计数器计数器的触发信号取自外部引脚T0CKI电平的上升沿/下降沿第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构5.2.2定时器定时器/计数器计数器TMR1的硬件结构的硬件结构定时器/计数器TMR1不仅可作通用的定时器和计数器;而且利用内置的低频时基振荡器,还可实现实时时钟RTC功能;通过TMR1与CCP模块配合使用,定时器/计数器TMR1又可实现输入捕捉和输出比较功能。定时器/计数器TMR1不仅可作通用的定时器和计数器;而且利用内置的低频时基振荡器,还可实现实时时钟RTC功能;通过TMR1与CCP模块配合使用,定时器/计数器TMR1又可实现输入捕捉和输出比较功能。定时器/计数器TMR1是一个16位的可读可写的计数寄存器,由高低两字节组成(TMR1H和TMR1L)16位寄存器从0000H到FFFFH加1计数,然后回到0000H。在从FFFFH到0000H的过程中,置位中断标志位TMR1IF。定时器/计数器TMR1还带有一个

      8、3位的可编程预分频器和一个内置的低功耗低频时基振荡器。定时器/计数器TMR1是一个16位的可读可写的计数寄存器,由高低两字节组成(TMR1H和TMR1L)16位寄存器从0000H到FFFFH加1计数,然后回到0000H。在从FFFFH到0000H的过程中,置位中断标志位TMR1IF。定时器/计数器TMR1还带有一个3位的可编程预分频器和一个内置的低功耗低频时基振荡器。第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构5.2.2定时器定时器/计数器计数器TMR1的硬件结构的硬件结构1定时器定时器/计数器计数器TMR1模块具有的特点模块具有的特点(1)一个16位的由时钟信号上升沿触发的累加计数寄存器对TMR1H:TMR1L;(1)一个16位的由时钟信号上升沿触发的累加计数寄存器对TMR1H:TMR1L;(2)TMR1H和TMR1L是在RAM中统一编址的寄存器对,地址为0EH和0FH,可用软件方式读/写TMR1寄存器对的内容;(2)TMR1H和TMR1L是在RAM中统一编址的寄存器对,地址为0EH和0FH,可用软件方式读/写TMR1寄存器对的内容;(3)一个

      9、可选用的(3)一个可选用的3位可编程的预分频器;位可编程的预分频器;第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构5.2.2定时器定时器/计数器计数器TMR1的硬件结构的硬件结构1定时器定时器/计数器计数器TMR1模块具有的特点模块具有的特点(4)累加计数的信号源可选择内部系统时钟、外部触发信号或自带时基振荡器信号;(4)累加计数的信号源可选择内部系统时钟、外部触发信号或自带时基振荡器信号;(5)既可工作于定时器模式,又可工作于计数器模式,还可用作实时时钟RTC;(5)既可工作于定时器模式,又可工作于计数器模式,还可用作实时时钟RTC;(6)在计数器溢出时,相应的溢出中断标志自动置位,并可产生溢出中断。(6)在计数器溢出时,相应的溢出中断标志自动置位,并可产生溢出中断。第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构5.2.2定时器定时器/计数器计数器TMR1的硬件结构的硬件结构2 与定时器与定时器/计数器计数器TMR1模块相关的寄存器模块相关的寄存器表5-4 与TMR1模块相关的寄存器寄存器的名称和符号寄存器地

      10、址寄存器内容Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0中断控制寄存器INTCON0BH/8BH/10BH/18BHGIEPEIET0IEINTERBIET0IFINTFRBIF第一外设中断使能寄存器PIR1OCPSPIFADIFRCIFTXIFSSPIFCCP1IFTMR2IFTMR1IF第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构5.2.2定时器定时器/计数器计数器TMR1的硬件结构的硬件结构2 与定时器与定时器/计数器计数器TMR1模块相关的寄存器模块相关的寄存器PIE18CHPSPIEADIERCIETXIESSPIECCP1IETMR2IETMR1IETMR1L0EH16位TMR1计数寄存器低字节寄存器TMR1H0FH16位TMR1计数寄存器高字节寄存器T1CON10HT1CKPS1T1CKPS0T1OSCENT1SYNCTMR1CSTMR1ON第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构5.2.2定时器定时器/计数器计数器TMR1的硬件结构的硬件结构3 定时器定时器/计数器计

      11、数器TMR1模块的电路结构和原理模块的电路结构和原理第五章定时/计数器第五章定时/计数器0 : 表 示 选 择 内 部 时 钟 源 (fcsc/4=Tcyc指令周期);1:表示选择外部时钟源,即时钟信号来源于外部引脚或者自带振荡器。0:表示TMR1外部输入时钟与系统时钟保持同步;1:表示TMR1外部输入时钟与系统时钟不保持同步。0:表示禁止TMR1振荡器起振,使“非”门的输出端呈高阻状态;1:表示使能TMR1发振荡器起振。T1CKPS1 T1CKTS0 分频比0 0 1:10 1 1:21 0 1:41 1 1:8B7B6B5B4B3B2B1B0T1CKPST1CKPS0T1OSCET1SYNCTMR1CSTMR1ON第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构TMR1有两种工作方式:定时器方式和计数器方式,其中计数器方式又分为同步计数器工作方式和异步计数器工作方式。TMR1的时钟信号或触发信号共有4种获取方式:TMR1有两种工作方式:定时器方式和计数器方式,其中计数器方式又分为同步计数器工作方式和异步计数器工作方式。TMR1的时钟信号或触发信号

      12、共有4种获取方式:(1)由内部系统时钟4分频后获取,即取自指令周期;(1)由内部系统时钟4分频后获取,即取自指令周期;(2)从RC0/T1OSO/T1CKI引脚获取;(2)从RC0/T1OSO/T1CKI引脚获取;(3)从RC1/T1OSI/CCP2引脚获取;(3)从RC1/T1OSI/CCP2引脚获取;(4)自带振荡器产生。(4)自带振荡器产生。第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构4定时器定时器TMR1应注意的问题应注意的问题(1)当对的寄存器TMR1H或TMR1L进行初始化时,预分频器将会自动清0。(1)当对的寄存器TMR1H或TMR1L进行初始化时,预分频器将会自动清0。(2)在寄存器对TMR1H:TMR1L进行写操作时,可以使预分频器清0。当TMR1处于运行状态时,对于寄存器TMR1H或TMR1L值进行的写操作,可能会写入不希望的值。(2)在寄存器对TMR1H:TMR1L进行写操作时,可以使预分频器清0。当TMR1处于运行状态时,对于寄存器TMR1H或TMR1L值进行的写操作,可能会写入不希望的值。(3)TMR1工作于异步计数器方

      13、式时,不能作为CCP模块的输入捕捉或输出比较的时间基准。(3)TMR1工作于异步计数器方式时,不能作为CCP模块的输入捕捉或输出比较的时间基准。第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构4定时器定时器TMR1应注意的问题应注意的问题(4)在上电复位(POR)或者其他复位时,TMR1H:TMR1L的内容保持原有数值,不会复位到0000H。(4)在上电复位(POR)或者其他复位时,TMR1H:TMR1L的内容保持原有数值,不会复位到0000H。(5)在上电复位或者掉电复位时,控制寄存器T1CON的内容将回到00H,并关闭TMR1,且预分频器的分频比设定为缺省值1:1。在所有的其他复位时,均不会影响T1CON寄存器的值。(5)在上电复位或者掉电复位时,控制寄存器T1CON的内容将回到00H,并关闭TMR1,且预分频器的分频比设定为缺省值1:1。在所有的其他复位时,均不会影响T1CON寄存器的值。(6)如果在复位时需要将TMR1H和TMR1L的内容回到00H,可以用程序实现,即先半TMR1关闭,然后分别将寄存器TMR1H和TMR1L清0。(6)如果在复

      14、位时需要将TMR1H和TMR1L的内容回到00H,可以用程序实现,即先半TMR1关闭,然后分别将寄存器TMR1H和TMR1L清0。第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构5.2.3定时器定时器TMR2的硬件结构的硬件结构定时器定时器TMR2模块是一个模块是一个8位定时器,带一个位定时器,带一个4位宽的可编程预分频器、一个位宽的可编程预分频器、一个4位宽的可编程后分频器和一个可编程位宽的可编程后分频器和一个可编程8位周期寄存器位周期寄存器PR2。但是定时器。但是定时器/计数器计数器TMR2只能工作于定时器模式;因此它不仅可以为主同步串行端口只能工作于定时器模式;因此它不仅可以为主同步串行端口MSSP模块(模块(SPI模式)提供波特率时钟;还可以与模式)提供波特率时钟;还可以与CCP模块配合使用,提供脉宽调制模块配合使用,提供脉宽调制PWM功能的时基信号。功能的时基信号。第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构5.2.3定时器定时器TMR2的硬件结构的硬件结构1定时器定时器TMR2的特点的特点(1)(1

      15、)TMR2是一个是一个8位宽的累加计数寄存器;位宽的累加计数寄存器;(2)(2)TMR2在在RAM空间内统一编址,地址为空间内统一编址,地址为011H;(3)可用软件方式直接读(3)可用软件方式直接读/写写TMR2的内容;的内容;(4)具有可编程的(4)具有可编程的4位预分频器,有位预分频器,有1:1、1:4、1:16,共,共3种分频比;种分频比;(5)具有可编程的(5)具有可编程的4位后分频器位后分频器,有有16种分频比;种分频比;第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构5.2.3定时器定时器TMR2的硬件结构的硬件结构(6)带有一个(6)带有一个8位周期寄存器位周期寄存器PR2,这个寄存器的值由用户设置这个寄存器的值由用户设置;(7)只能由内部系统时钟来触发定时器的增量,因此只工作于定时器模式;(7)只能由内部系统时钟来触发定时器的增量,因此只工作于定时器模式;(8)具有溢出次数经过分频的溢出中断功能;(8)具有溢出次数经过分频的溢出中断功能;(9)不管哪种复位,都会将(9)不管哪种复位,都会将TMR2清清0。但。但TMR0和和TMR1寄

      16、存器的内容不受复位的影响;寄存器的内容不受复位的影响;(10)(10)TMR2可以被软件关闭。可以被软件关闭。第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构5.2.3定时器定时器TMR2的硬件结构的硬件结构2 与定时器与定时器TMR2模块相关的寄存器模块相关的寄存器表510 与TMR2模块相关的寄存器寄存器的名称和符号寄存器地址寄存器内容Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0中断控制寄存器INTCON0BH/8BH/10BH/18BHGIEPEIET0IEINTERBIET0IFINTFRBIF第二外设中断使能寄存器PIE28DH-保留-EEIEBCLIE-CCP2IE第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构5.2.3定时器定时器TMR2的硬件结构的硬件结构2 与定时器与定时器TMR2模块相关的寄存器模块相关的寄存器第二外设中断标志寄存器PIR20DH-保留-EEIFBCLIF-CCP2IF工作寄存器TMR211H8位TMR2计时寄存器控制寄存器T2CON12HTOUTPS3TO

      17、UTPS2TOUTPS1TOUTPS0TMR2ONT2CKPS1T2CKPSO周期寄存器PR292HTMR2定时周期寄存器第五章定时/计数器第五章定时/计数器5.2 定时和计数器硬件结构定时和计数器硬件结构3 定时器定时器TMR2模块的电路结构模块的电路结构第五章定时/计数器第五章定时/计数器0:表示关闭TMR2,可以降低功耗;1:表示启用TMR2。TOUTPS3TOUTPS0 后分频器分频比0000 1:10001 1:20010 1:30011 1:4111 1 1:16T2CKPS1T2CKPS0预分频器分频比0 0 1:10 1 1:41 0 1:161 1 1:16B7B6B5B4B3B2B1B0TOUTPS3TOUTPS2TOUTPS1TOUTPS0TMR2ON T2CKPS1T2CKPSO第五章定时/计数器第五章定时/计数器5.3 定时定时/计数器工作方式计数器工作方式5.3.1定时工作方式定时工作方式1定时器定时器/计数器计数器TMR0模块的定时工作方式模块的定时工作方式当当T0CS(OPTION_REG)=0时,时,TMR0模块被设置为定时器模式,触发信号为片内的指令

      18、周期信号。当计数寄存器写入初始值时,模块被设置为定时器模式,触发信号为片内的指令周期信号。当计数寄存器写入初始值时,TMR0便开始或重新启动累加计数。若没有使用分频器,便开始或重新启动累加计数。若没有使用分频器,TMR0会在每个指令周期信号(时钟周期的会在每个指令周期信号(时钟周期的4倍)到来时自动加倍)到来时自动加1。若使用分频器,。若使用分频器,TMR0会在指令周期信号分频某个倍数后产生的信号时自动加会在指令周期信号分频某个倍数后产生的信号时自动加1,这时,这时TMR0最长固有定时时间将达到最长固有定时时间将达到65535us。第五章定时/计数器第五章定时/计数器5.3 定时定时/计数器工作方式计数器工作方式5.3 定时定时/计数器工作方式计数器工作方式5.3.1定时工作方式定时工作方式1定时器定时器/计数器计数器TMR0模块的定时工作方式模块的定时工作方式对对8位定时器位定时器TMR0来说,不使用分频器时,定时时间的计算公式为:来说,不使用分频器时,定时时间的计算公式为:(28 计数初值 计数初值) 指令周期,指令周期,使用分频器时,定时时间的计算公式为:使用分频器时,定时时间的

      19、计算公式为:分频比分频比(28 计数初值 计数初值) 指令周期指令周期分频比取值为分频比取值为2、4、8256。第五章定时/计数器第五章定时/计数器5.3 定时定时/计数器工作方式计数器工作方式5.3 定时定时/计数器工作方式计数器工作方式5.3.1定时工作方式定时工作方式1定时器定时器/计数器计数器TMR0模块的定时工作方式模块的定时工作方式若晶振频率为若晶振频率为4MHz,则机器周期为,则机器周期为1 s,定时器,定时器TMR0最小定时时间为:最小定时时间为:28 (28 1) 1 = 1 s定时器定时器TMR0最大定时时间为:(最大定时时间为:(28 0) 1256= 65536 s如设定定时时间为如设定定时时间为t,指令周期为,指令周期为T,分频比为,分频比为P,不使用分频器时,计数寄存器写入的初始值,不使用分频器时,计数寄存器写入的初始值X为:为:X=X=28 t /T t /T使用分频器时,那么计数寄存器写入的初始值使用分频器时,那么计数寄存器写入的初始值X为:为:X=28t /(TP)第五章定时/计数器第五章定时/计数器5.3 定时定时/计数器工作方式计数器工作方式5.3

      20、 定时定时/计数器工作方式计数器工作方式5.3.1定时工作方式定时工作方式2定时器定时器/计数器计数器TMR1模块的定时工作方式模块的定时工作方式首先强调的是TMR1可以被禁止工作,以降低能耗。要关闭定时/计数模块TMR1只要将TMR1使能位TMR1ON清0,首先强调的是TMR1可以被禁止工作,以降低能耗。要关闭定时/计数模块TMR1只要将TMR1使能位TMR1ON清0,“与与”门G1的一个引脚被低电平封锁,就使得累加计数器保持静止状态。门G1的一个引脚被低电平封锁,就使得累加计数器保持静止状态。对对16位定时器位定时器TMR1来说,如选择内部时钟源,则定时时间的计算公式为:来说,如选择内部时钟源,则定时时间的计算公式为:分频比分频比(216 计数初值计数初值) 指令周期。指令周期。分频比取值为分频比取值为1、2、4、8。第五章定时/计数器第五章定时/计数器5.3 定时定时/计数器工作方式计数器工作方式5.3 定时定时/计数器工作方式计数器工作方式5.3.1定时工作方式定时工作方式2定时器定时器/计数器计数器TMR1模块的定时工作方式模块的定时工作方式若晶振频率为若晶振频率为4MHz,

      21、则机器周期为,则机器周期为1s,定时器,定时器TMR1最小定时时间为:最小定时时间为:216 (216 1) 11 = 1s定时器定时器TMR1最大定时时间为:最大定时时间为:8(8(216 0) 1= 524288s0.5s如设定定时时间为如设定定时时间为t,指令周期为,指令周期为T,分频比率为,分频比率为P,那么预置的计数初值,那么预置的计数初值X为:为:X=X=216t /(TP)t /(TP)第五章定时/计数器第五章定时/计数器5.3 定时定时/计数器工作方式计数器工作方式5.3 定时定时/计数器工作方式计数器工作方式5.3.1定时工作方式定时工作方式3定时器定时器TMR2模块的定时工作方式模块的定时工作方式定时器TMR2模块只有一种工作方式,即定时器工作方式.时钟信号由内部系统时钟4分频后获取,即取自指令周期信号.定时器TMR2模块只有一种工作方式,即定时器工作方式.时钟信号由内部系统时钟4分频后获取,即取自指令周期信号.(1)用作周期可调的时基发生器(1)用作周期可调的时基发生器如指令周期为如指令周期为T,分频比为,分频比为P1,周期寄存器预赋值为,周期寄存器预赋值为PR2

      22、,则该周期的计算式为,则该周期的计算式为T TTMR2TMR2=TP1(PR2+1)=TP1(PR2+1)第五章定时/计数器第五章定时/计数器5.3 定时定时/计数器工作方式计数器工作方式5.3 定时定时/计数器工作方式计数器工作方式5.3.1定时工作方式定时工作方式3定时器定时器TMR2模块的定时工作方式模块的定时工作方式(2)用作延时可调的周期性定时器)用作延时可调的周期性定时器如指令周期为如指令周期为T,预分频比为,预分频比为P,周期寄存器预赋值为,周期寄存器预赋值为PR2,后分频比为,后分频比为P2,则该超时溢出周期为,则该超时溢出周期为T TTMR2IFTMR2IF=TP1(PR2+1)P2=TP1(PR2+1)P2(3)用作普通定时器(3)用作普通定时器如指令周期为如指令周期为T,预分频比为,预分频比为P1,则定时时间为则定时时间为P1(2P1(28 8-X)T-X)T第五章定时/计数器第五章定时/计数器5.3 定时定时/计数器工作方式计数器工作方式第五章定时/计数器第五章定时/计数器5.3 定时定时/计数器工作方式计数器工作方式5.3.2计数器工作方式计数器工作方式1 定

      23、时器定时器/计数器计数器TMR0模块的计数器模式模块的计数器模式对对8位定时器位定时器TMR0来说,不使用分频器时,计数范围为:来说,不使用分频器时,计数范围为:(28 计数初值计数初值) 使用分频器时,定时时间的计算公式为:使用分频器时,定时时间的计算公式为:分频比分频比(28 计数初值计数初值) 分频比取值为分频比取值为2、4、8256。第五章定时/计数器第五章定时/计数器5.3 定时定时/计数器工作方式计数器工作方式5.3.2计数器工作方式计数器工作方式2 定时器定时器/计数器计数器TMR1模块的计数器工作方式模块的计数器工作方式当TMR1CS控制位置时,TMR1工作于计数器方式,时钟来自于外部引脚或自带低频振荡器。当TMR1设定为计数器方式时,在其开始增量之前,必须有一个下降沿。当TMR1随着外部触发信号递增时,发生在上升沿当TMR1CS控制位置时,TMR1工作于计数器方式,时钟来自于外部引脚或自带低频振荡器。当TMR1设定为计数器方式时,在其开始增量之前,必须有一个下降沿。当TMR1随着外部触发信号递增时,发生在上升沿第五章定时/计数器第五章定时/计数器5.4 定时定时/计数

      24、器编程计数器编程5.4.1定时实例定时实例【5-3】用定时器TMR1产生一个50HZ的方波,由RC.0输出,设晶振频率为【5-3】用定时器TMR1产生一个50HZ的方波,由RC.0输出,设晶振频率为4MHz。解:由题意知,方波的周期T=1/50=0.02s=20ms,用TMR1定时t=10ms,设分频比解:由题意知,方波的周期T=1/50=0.02s=20ms,用TMR1定时t=10ms,设分频比P取值为取值为8,指令周期为,指令周期为1s,则计数初值X为,则计数初值X为X=X=216t /(TP)=t /(TP)=21610000/(18)=FF8310000/(18)=FF83程序清单如下:程序清单如下:第五章定时/计数器第五章定时/计数器5.4 定时定时/计数器编程计数器编程LISTP=16F873LISTP=16F873INCLUDEP16F873.incINCLUDEP16F873.incORG000H;程序起始地址ORG000H;程序起始地址NOP;ICD必需的空操作NOP;ICD必需的空操作BSFSTATUS,RP0;选择寄存器体1BSFSTATUS,RP0;选择寄存器体

      25、1CLRFTRISC;设置C口为输出CLRFTRISC;设置C口为输出BCFSTATUS,RP0;选择寄存器体0BCFSTATUS,RP0;选择寄存器体0CLRFPORTC;清C口CLRFPORTC;清C口LOOPLOOPMOVLW0FBHMOVLW0FBHMOVWFTMR1H;设定TMR1高位初值MOVWFTMR1H;设定TMR1高位初值MOVLW1EHMOVLW1EH第五章定时/计数器第五章定时/计数器5.4 定时定时/计数器编程计数器编程MOVWF TMR1L;设定TMR1低位初值MOVWF TMR1L;设定TMR1低位初值MOVLWB11110000;设置定时器工作方式,MOVLWB11110000;设置定时器工作方式,MOVWFT1CON分频比为1:8MOVWFT1CON分频比为1:8BSFT1CON,TMR1ON;启动定时器TMR1BSFT1CON,TMR1ON;启动定时器TMR1LOOP1BTFSSPIR1,TMR1IF;是否溢出?LOOP1BTFSSPIR1,TMR1IF;是否溢出?GOTOLOOP1;未溢出,等待GOTOLOOP1;未溢出,等待BCFPIR1,TMR1

      26、IF;溢出,清溢出标志BCFPIR1,TMR1IF;溢出,清溢出标志MOVLWB00000001;对RC0求反MOVLWB00000001;对RC0求反XORWFPORTC,1XORWFPORTC,1GOTOLOOP;循环GOTOLOOP;循环ENDEND第五章定时/计数器第五章定时/计数器5.4 定时定时/计数器编程计数器编程5.4.2计数器实例计数器实例【5-5】试用定时器TMR0作外部工件计数器,外部工件信号由T0CKI端引入,TMR2作定时器,每隔一秒钟检测一次TMR0的计数值,当检测到100个工件时使RC.0端输出信号反相,程序不断循环控制RC.0端的输出.】试用定时器TMR0作外部工件计数器,外部工件信号由T0CKI端引入,TMR2作定时器,每隔一秒钟检测一次TMR0的计数值,当检测到100个工件时使RC.0端输出信号反相,程序不断循环控制RC.0端的输出.解:外部工件信号由T0CKI端引入单片机,设置TMR0为计数工作方式,TMR2为定时工作方式,定时时间与软件一起实现为1秒。定时器TMR0的计数初值为(取分频比解:外部工件信号由T0CKI端引入单片机,设置TMR0为计数

      27、工作方式,TMR2为定时工作方式,定时时间与软件一起实现为1秒。定时器TMR0的计数初值为(取分频比P为为1)计数初值计数初值=28100=156=9CH将TMR2设计成定时4ms秒,设预分频比将TMR2设计成定时4ms秒,设预分频比P取值为取值为16,指令周期为,指令周期为1s,则TMR2的计数初值X为,则TMR2的计数初值X为X =2X =28 8- t / PT=256-4000/16=06H- t / PT=256-4000/16=06H寄存器的计数值为250,即十六进制的FAH。寄存器的计数值为250,即十六进制的FAH。第五章定时/计数器第五章定时/计数器5.4 定时定时/计数器编程计数器编程程序清单如下:程序清单如下:COUNTEQU20HCOUNTEQU20HSTATUS EQU03HSTATUS EQU03HZEQU02HZEQU02HPR0EQU05PR0EQU05PR1EQU06PR1EQU06OPTION_REGEQU81HOPTION_REGEQU81HINTCON EQU0BHINTCON EQU0BHPIR2EQUODHPIR2EQUODHPIE2EQU8

      28、DHPIE2EQU8DHTMR2EQU0EHTMR2EQU0EHTMR0EQU01HTMR0EQU01HT1CONEQU10HT1CONEQU10HTRISAEQU85HTRISAEQU85H第五章定时/计数器第五章定时/计数器5.4 定时定时/计数器编程计数器编程CLRFPORTA;清A、C口CLRFPORTA;清A、C口CLRFPORTCCLRFPORTCCLRFT2CON;停止TMR2工作CLRFT2CON;停止TMR2工作CLRFTMR0;清TMR0、TMR2寄存器CLRFTMR0;清TMR0、TMR2寄存器CLRFTMR2CLRFTMR2CLRFINTCON;关中断CLRFINTCON;关中断BSFSTATUS,RP0;选择存储体1BSFSTATUS,RP0;选择存储体1CLRFOPTION_REG;停止TMR0CLRFOPTION_REG;停止TMR0BSFTRISA,4;设置RA4为输入口、RC0为输出口BSFTRISA,4;设置RA4为输入口、RC0为输出口BCFTRISC,0BCFTRISC,0第五章定时/计数器第五章定时/计数器5.4 定时定时/计数器编程计数器编程

      29、CLRFPIE1;关外围中断CLRFPIE1;关外围中断CLRFPIE2CLRFPIE2BCFSTATUS,RP0;选择存储体0BCFSTATUS,RP0;选择存储体0CLRFPIR1;清标志位CLRFPIR1;清标志位MOVLW 0FAH;计数寄存器赋值500MOVLW 0FAH;计数寄存器赋值500MOVWF COUNTMOVWF COUNTMOVLW F4H;设置TMR0为外部输入计数器状态MOVLW F4H;设置TMR0为外部输入计数器状态MOVWF OPTION_REGMOVWF OPTION_REGMOVLW 03H;设置TMR2为普通定时器MOVLW 03H;设置TMR2为普通定时器MOVWF T2CONMOVWF T2CONMOVLW 06H;TMR2赋初值MOVLW 06H;TMR2赋初值MOVWF TMR2MOVWF TMR2第五章定时/计数器第五章定时/计数器5.4 定时定时/计数器编程计数器编程LOOP1 BSF T2CON,2;启动TMR2LOOP1 BSF T2CON,2;启动TMR2LOOP2 BTFSSPIR1,1;TMR2是否溢出?LOOP2 BTFS

      30、SPIR1,1;TMR2是否溢出?GOTOLOOP2;否,等待GOTOLOOP2;否,等待MOVLW 06H;重新给TMR2赋初值MOVLW 06H;重新给TMR2赋初值MOVWF TMR2MOVWF TMR2DECFSZCOUNT;1秒定时是否到?1秒未到转DECFSZCOUNT;1秒定时是否到?1秒未到转GOTOLOOP1;1秒未到再次启动TMR2GOTOLOOP1;1秒未到再次启动TMR2MOVLW 0FAH;重新给计数寄存器赋值500MOVLW 0FAH;重新给计数寄存器赋值500MOVWF COUNTMOVWF COUNTBTFSS INTCON,2;TMR0是否溢出?BTFSS INTCON,2;TMR0是否溢出?第五章定时/计数器第五章定时/计数器5.4 定时定时/计数器编程计数器编程GOTOLOOP1;继续下一次检测GOTOLOOP1;继续下一次检测BTFSS PORTC,0;对RC0求反BTFSS PORTC,0;对RC0求反GOTOCBGOTOCBBCFPORTC,0BCFPORTC,0GOTOABGOTOABCB BSFPORTC,0CB BSFPORTC,0AB

      31、 GOTOLOOP1;返回循环。AB GOTOLOOP1;返回循环。第五章定时/计数器第五章定时/计数器本章小节1、熟悉PIC16F87X单片机的定时/计数器功能PIC16F87X单片机有3个定时器/计数器模块,它们的共同点是其核心部分都是一个由时钟信号触发,按递增方式累加工作的循环计数器;从预先设定的某一初始值开始累计,在累计到计数器产生溢出,并同时建立一个相应的溢出中断标志。TMRO可用于定时控制、延时、对外部事件计数和检测等场合。TMR1不仅可作通用的定时器和计数器;而且利用内置的低频时基振荡器,还可实现实时时钟RTC功能;通过TMR1与CCP模块配合使用,定时器/计数器TMR1又可实现输入捕捉和输出比较功能。1、熟悉PIC16F87X单片机的定时/计数器功能PIC16F87X单片机有3个定时器/计数器模块,它们的共同点是其核心部分都是一个由时钟信号触发,按递增方式累加工作的循环计数器;从预先设定的某一初始值开始累计,在累计到计数器产生溢出,并同时建立一个相应的溢出中断标志。TMRO可用于定时控制、延时、对外部事件计数和检测等场合。TMR1不仅可作通用的定时器和计数器;而且利用内

      32、置的低频时基振荡器,还可实现实时时钟RTC功能;通过TMR1与CCP模块配合使用,定时器/计数器TMR1又可实现输入捕捉和输出比较功能。第五章定时/计数器第五章定时/计数器本章小节TMR2只能工作于定时器模式。只能工作于定时器模式。2、熟悉3个定时器/计数器模块的硬件结构、熟悉3个定时器/计数器模块的硬件结构定时器定时器/计数器计数器TMR0模块可分为模块可分为4个组成部分,计数寄存器个组成部分,计数寄存器TMR0、分频器、各种控制逻辑电路和看门狗定时器、分频器、各种控制逻辑电路和看门狗定时器WDT。定时器/计数器TMR1模块的内部结构也分为4部分,即输入信号选择控制电路、预分频器、同步控制电路和累加计数寄存器。定时器/计数器TMR1模块的内部结构也分为4部分,即输入信号选择控制电路、预分频器、同步控制电路和累加计数寄存器。TMR2由由5部分构成,预分频器、部分构成,预分频器、TMR2累加计数器、比较器、累加计数器、比较器、PR2寄存器和后分频器。寄存器和后分频器。第五章定时/计数器第五章定时/计数器本章小节3、熟练掌握与定时器/计数器模块相关的寄存器3、熟练掌握与定时器/计数器模块相关的寄存器4、熟练掌握定时/计数器工作方式4、熟练掌握定时/计数器工作方式对对8位定时器位定时器TMR0来说,不使用分频器时,定时时间的计算公式为:来说,不使用分频器时,定时时间的计算公式为:(28 计数初值计数初值) 指令周期,指令周期,使用分频器时,定时时间的计算公式为:使用分频器时,定时时间的计算公式为:分频比分频比(28 计数初值计数初值) 指令周期指令周期如设定定时时间为如设定定时时间为t,指令周期为,指令周期为T,分频比为,分频比为P,不使用分频器时,计数寄存器写入的初始值,不使用分频器时,计数寄存器写入的初始值X为:为:X=X=28 t /Tt /T第五章定时/计数器第五章定时/计数器本章小节6、熟练掌握定时/计数器编程技术6、熟练掌握定时/计数器编程技术

      《定时 计数器〖教案〗PIC单片机》由会员工****分享,可在线阅读,更多相关《定时 计数器〖教案〗PIC单片机》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.