第六章、PIC单片机定时读数.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 定时器/计数器;由单片机内部时序脉冲触发 ----定时 从单片机I/O(RA4—T0CKI)引脚上,检测外部输入的触发脉冲信号(规则或不规则) ----计数;PIC16F877单片机配置3个定时器/计数器模块:;三者的共同点:;8.1 定时器/计数器TMR0 ;8.1 定时器/计数器TMR0 ;8.1 定时器/计数器TMR0 ;8.1 定时器/计数器TMR0 ;8.1 定时器/计数器TMR0 ;8.1 定时器/计数器TMR0 ;1、一个8位宽由时钟信号边沿触发(上升沿或下降沿)的循环累加计数寄存器; 2、TMR0本身也是一个在文件寄存器区(特殊功能寄存器),有特定的地址;寄存器的当前读数值可读、写; 3、具有一个软件可编程的8位预分频器; 4、既可工作于定时器模式,又可工作于计数器模式; 用内部触发信号,指令周期作为时钟信号源时(定时) 用外部触发信号,可定义触发上下沿(计数) 5、递增方式读数,读数器从0XFF跳变到0X00时,读数器溢出,在计数器溢出时,相应的溢出中断标志(T0IF)自动置 位,并可产生溢出中断。 6、8位定时/计数器:定时时间 预分频器;8.1.2 TMR0模块相关的寄存器 ; 主要用于设置定时/计数器TMR0、前后分频器、外INT中断以及RB端口的弱上拉功能等各种控制位。(复位时所有位的状态为 1);Bit2-Bit0/PS2-PS0:分频器分频比选择位 ;Bit3/PSA:分频器分配位,主动参数。 0: 分配给TMR0,作为TMR0的分频器; 1: 分配给WDT,作为WDT的分频器。 Bit4/T0SE:TMR0用于计数器,计数脉冲信号边沿选择位,主动参数。 0: RA4/T0CKI引脚上的下降沿触发; 1: RA4/T0CKI引脚上的上升沿触发。 Bit5/T0CS:定时/计数器TMR0时钟源选择位,主动参数。可确定TMR0工作于定时方式还是计数方式。 0: 由内部指令周期作为TMR0的触发信号,定时使用; 1: 由外部引脚T0CKI上的时钟作为TMR0的触发信号,作计数使用 。 ;Bit6/INTEDG:INT中断信号触发边沿选择位,主动参数。 0: RB0/INT引脚上的下降沿触发; 1: RB0/INT引脚上的上升沿触发。 Bit7/RBPU:B端口弱上拉使能位,主动参数。 0: RB0-RB7引脚弱上拉使能; 1: RB0-RB7引脚弱上拉禁止。 ;主要用于中断控制方式的设置。;PEIE:外围功能模块中断使能控制位。 0: 禁止所有外围功能模块中断; 1: 使能外围功能模块中断。 T0IE:TMR0中断使能控制位。 0: 禁止TMR0中断; 1: 使能TMR0中断。 RBIE:PORTB引脚状态变化中断使能控制位。 0: 禁止PORTB状态变化中断; 1: 使能PORTB状态变化中断 。 ;T0IF:TMR0中断标志位。 0: TMR0没有溢出中断; 1: TMR0读数溢出发生中断,必须用软件将其清除。 INTF:RB0/INT引脚沿跳变中断标志位。 0: 没有发生RB0/INT引脚中断; 1: RB0/INT引脚发生中断,必须用软件将其清除。 RBIF:PORTB引脚状态变化中断标志位。 0: PORTB没有发生状态变化中断; 1: PORTB引脚出现状态变化中断,必须用软件将其清除 。 ;4、RA方向寄存器 (TRISA)4=1,T0CKI为输入方式。 ;8.1.3 TMR0模块电路结构和工作原理;1. 8位计数寄存器TMR0 1)设置定时模式 T0CS=0 定时时间:初值,频率,预分频器。 2)设置计数模式 T0CS=1 计数 T0SE=0,T0SE=1。 分频器 PS2、PS1、PS0 分频比; PSA=0,TMR0分频器;PSA=1,WDT分频器。 ; [例题8-1]计数灯程序设计。自动计数,RC与8位LED相联,间隔时间为一个固定时间0.5s. 这个例子曾用软件延时做过,本例将采用TMR0定时实现。 定时可以通过两种方式实现 不采用中断(查询方式) 采用定时中断 ;TMR0 定时时间的计算公式: t= P ×(28 – X) × T X= 28 – t/(TxP) t:设定的定时时间—uS P:分频器的分频比--2~256 取值为2、4、8、16、32、64、128、256。 X:TMR0的计数初值--0~255 T:指令周期—uS 定时器最短的定时时间:t=2x(256-255)x1uS=2uS 定时器最长的

文档评论(0)

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

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

1亿VIP精品文档

相关文档