




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第6章定时器/计数器由单片机内部时序脉冲触发 ----定时 从单片机I/O(RA4—T0CKI)引脚上,检测外部输入的触发脉冲信号(规则或不规则) ----计数PIC16F877单片机配置3个定时器/计数器模块:三者的共同点:8.1定时器/计数器TMR08.1定时器/计数器TMR08.1定时器/计数器TMR08.1定时器/计数器TMR08.1定时器/计数器TMR08.1定时器/计数器TMR01、一个8位宽由时钟信号边沿触发(上升沿或下降沿)的循环累加计数寄存器; 2、TMR0本身也是一个在文件寄存器区(特殊功能寄存器),有特定的地址;寄存器的当前读数值可读、写; 3、具有一个软件可编程的8位预分频器; 4、既可工作于定时器模式,又可工作于计数器模式; 用内部触发信号,指令周期作为时钟信号源时(定时) 用外部触发信号,可定义触发上下沿(计数) 5、递增方式读数,读数器从0XFF跳变到0X00时,读数器溢出,在计数器溢出时,相应的溢出中断标志(T0IF)自动置 位,并可产生溢出中断。 6、8位定时/计数器:定时时间预分频器8.1.2TMR0模块相关的寄存器主要用于设置定时/计数器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.3TMR0模块电路结构和工作原理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)×TX=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 定时器最长的定时时间:t=256x(256-0)x1uS=65536uS 在使用TMR0做定时器时,可以用查询和中断的方法获得定时时间。 1、查询方法: 在将初值写入TMR0时,立即查询T0IF是否等于1,如果T0IF=1,表示时间已到,若T0IF=0,表示时间未到,继续等候。 2、中断方法: 设置中断服务子程序,每当TMR0溢出时,进入中断服务程序,得到一个准确的定时时间。 TMR0的定时程序举例:用TMR0产生10毫秒的

YY****。。
实名认证
内容提供者


最近下载
最新上传
2024年安徽省六安市金寨县二级建造师考试水利水电工程管理与实务考前冲刺试卷及答案.docx
2024年安徽省六安市金寨县二级建造师考试水利水电工程管理与实务考前冲刺试卷完整版.docx
2025年高考河南省化学真题试卷(网络收集版).pdf
2025年高考江苏卷物理真题(网络收集版).pdf
2025年高考山东地理真题(网络收集版).pdf
2025年高考山东卷物理真题(网络收集版).pdf
2025高考广西卷物理真题及答案(网络收集版).pdf
2025年高考安徽卷化学真题及答案(网络收集版).pdf
2025年黑吉辽蒙化学高考真题试卷及答案-黑龙江卷(网络收集版).pdf
2025年高考云南省物理真题及答案(网络收集版).pdf