PIC877a定时器、中断系统总结

发布者:未来画家最新更新时间:2020-02-16 来源: eefocus关键字:PIC877a  定时器  中断系统 手机看文章 扫描二维码
随时随地手机看文章

简介:PIC877a定时器、中断系统总结:定时,计数从其内部工作方式分析一般表现为计数累加功能,通常是由特定的时钟脉冲来触发驱动。PIC16F877单片机有14个中断源,每个中断源都可配置有一个中断使能位(IE)和一个中断标志位(IF)。


1.定时器:(3个TMR0,TMR1,TMR2)


TMR0,8位位累加定时、计数寄存器,并带有预分频器。若考虑预分频器的效果,其固有定时为65ms。如果用作通用计数器,可采用外部T0CK1作为计数触发信号。


与TMR0相关的寄存器:TMR0(初始值),OPTION_REG(选择项寄存器T0CS,T0SE,PSA,PS2~PS0),INTCON(中断控制寄存器:GIE,T0IE,T0IF),TRISA(要求外部信号T0CK1担任TMR0的触发计数功能,此时该引脚必须设定为输入方式,0,RA4作为一般的输出引脚;1,作为输入引脚,为T0CK1提供一个通道)。


定时,计数从其内部工作方式分析一般表现为计数累加功能,通常是由特定的时钟脉冲来触发驱动。但这个时钟采用内部时钟,则称之为承担定时功能;也可由外部引脚输入的时钟,即触发计数,则称之为计数器功能。OPTION_REG:T0CS(T0 clock select:0内,1外)。


TMR1,16位累加定时/计数寄存器对TMR1H:TMR1L,预分频器和内置低功耗低频时基振荡器。若做通用计数器,可采用外部T1CK1作为计数触发信号。另外,利用内置的低频时基振荡器,可实现实时时钟RTC输出等功能,并可在系统休眠模式下,照常实现计数工作。还有,与CCP模块配合使用,实现输入信号边沿的捕捉和输出信号的比较功能,在频率检测和脉冲宽度测量中得到广泛应用(此时必须采用同步计数。)。(同样,T1CS选择内部系统时钟,设为定时方式;外部时钟,设为计数方式)


与TMR1相关的寄存器:INTCON(中断控制寄存器),T1CON,PIE1(perpheral外围,第一外围中断),PIR1,TMR1L,TMR1H


T1CON:TMR1ON,TMR1ON计数1启/0停。TMR1CS:时钟源选择位(0,内定时;1,外计数)。/T1SYNC:TMR1外部输入时钟与系统时钟同步控制为主动参数(只有工作于计数方式时,才能进行同步设置)0:TMR1外部引脚时钟信号或者自带振荡器信号与系统时钟保持同步;1:异步。/T1OSCEN:TMR1自带振荡器使能位,主动参数。0:禁止TMR1低频振荡器工作,1:使能。T1CKPS1~T1CKPS0预分频器的分频比选择位。T1OSO和T1OSI跨接石英晶体和电容构成很常用的振荡电路,工作频率取决于外接晶体,外接振荡器的最大好处在于即使单片机进入休眠模式,相应的器件任然能够处于工作状态。


TMR2,8位专用定时器,不能承担外部信号的计数功能。主要由一个可编程预分频器,一个可编程后分频器和一个可编程8位周期寄存器PR2等部件构成。TMR2有一个非常强大的功能,就是利用周期寄存器PR2与CCP模块进行配合,提供脉宽调制pwm功能的时基信号,可以承担各类电机的变频调速功能。在主同串行SPI模式通信中,TMR2模块还可以提供波特率时钟信号。8位周期寄存器PR2,其数值由用户输入,TMR2的计数溢出与该设置值有关,因而可产生浮动溢出效果。TMR2的计数溢出并不表示中断标志TMR2IF置位,而对溢出次数经过后分频处理后才有可能达到溢出中断的效果,是TMR2IF置位。不管哪种复位都会将TMR2寄存器清零。


相关寄存器:INTCON,PIE1,PIR1,TMR2,T2CON,PR2(定时周期寄存器)


溢出:TMR2与PR2实时对比时间的长短,一旦两者内容匹配即刻发出“溢出”信息,比较溢出并不能直接产生溢出中断,而仅仅作为后分频器的计数脉冲,只有当后分频器在产生溢出时,才回将溢出中断标志位TMR2IF置位。


分频器:预先分频对于进入TMR2的时钟信号进行分频。而后分频器主要是对比较匹配输出的时序信号进行分频,可以连续选择16种不同的分频比。


定时方式:即可承担一般的定时功能,又能够与CCP模块配合形成独特的脉宽调整PWM方式。(TMR2C触发信号来自于内部系统时钟,所以当单片机处于休眠状态时,TMR2就将停止累加计数。)作为通用定时器使用时,PR2的值固定为FFH。T=P1*P2*(256-K).浮动“溢出”周期,特别在变频电机控制中,就是利用TMR2浮动“溢出”功能获得周期可调的时基发生器,可以与CCP模块配合实现PWM脉宽调制。信号周期的大小取决于周期寄存器PR2和两个分频器所设定的分频器所设定的分频比。TMR2“溢出”周期的计算式为:T=P1*P2*(PR2+1)。


2.中断系统


PIC16F877单片机有14个中断源,每个中断源都可配置有一个中断使能位(IE)和一个中断标志位(IF)。原则上着14种中断源没有优先级之分,只能依靠软件的前后处理来满足轻重缓急,合用一个中断服务程序入口地址。中断源14个中断源可分2类:一类是基本中断源或称内部中断源3个,(外部触发中断INT,TMR0溢出中断和RB端口电平变化中断;)另一类是特殊中断源或称外部中断源共11个。


对于内部3个中断源,中断使能条件有2个:一个是中断源本身使能位,另一个是总中断使能位GIE。 对于11个外部中断源,中断使能条件有3个:一个是中断源本身使能位,二个是总中断使能位GIE,三个是外围中断使能位PEIE。(当开放多个中断源时,必须逐个判别中断源的标志位才能唯一确定真正的中断源。只有执行RETFIE,才会返回主程序断点处的下一条指令继续执行。GIE会自动清零,其他需要软件清零)。1专用存储器备份,2中断源识别(依次检测)3中断应急服务程序(中断响应时不允许出现中断嵌套)。


OPTION_REG;INTCON;PIE1(8个);PIR1(8个);PIE2(3个);PIR2(3个);

关键字:PIC877a  定时器  中断系统 引用地址:PIC877a定时器、中断系统总结

上一篇:关于PIC中断程序应用
下一篇:PIC 里面关于CONFIG( ) 配置位

推荐阅读最新更新时间:2024-11-17 06:21

MSP430F5529 (六)定时器Timer_A-2
6.4 捕获比较模块 这是在以上介绍的基础上正式讲TA的重要功能。 先看一个寄存器TACCTL0-TACCTL6:(TA中最复杂的寄存器,用到的时候查表啦) CMx:捕获模式设定 00 不捕获 01 上升沿捕获 10 下降沿捕获 11上升和下降沿都捕获 CCISx:捕获源的选择 00 CCIxA 01 CCIxB 10 GND 11 VCC SCS:同步捕获源,设定是否与时钟同步 0 异步捕获 1 同步捕获 SCCI:选择的CCI输入信号由EQUx信号锁存,并可通过该位读取。 CAP: 0-比较模式 1-捕获模式 OUTMOD:
[单片机]
MSP430F5529 (六)<font color='red'>定时器</font>Timer_A-2
STVD中断函数写法
一、寄存器开发方式 1)以定时器TIM4为例,首先对TIM4的相关寄存器进行初始化,打开TIM4的中断,注意在STVD+COSMIC的开发环境下,开总中断使用语句_asm( rim ); void TIM4_init(void) //TIM4 init { TIM4_CR1=0x80; TIM4_PSCR=0x07; //clock div : 128 (T=8us) TIM4_ARR=125; //interrupt per 1ms TIM4_IER=0x01; //enable update interrupt _asm( rim ); //enable EA TI
[单片机]
三菱plc编程定时器编程咋输入
三菱PLC(Programmable Logic Controller,可编程逻辑控制器)是一种广泛应用于工业自动化控制领域的设备。在三菱PLC中,定时器是实现时间控制功能的重要组件。本文将详细介绍三菱PLC定时器的编程方法和应用场景。 1. 定时器的基本概念 定时器是一种用于测量时间间隔的设备,它可以在PLC程序中实现延时、计时等功能。三菱PLC中的定时器有多种类型,包括T、TW、TD等,每种类型的定时器都有其特定的应用场景。 2. 定时器的分类 2.1 T型定时器 T型定时器是最常用的定时器类型,它可以设置一个预设的时间值,当PLC程序运行到定时器指令时,定时器开始计时,直到达到预设时间后,定时器输出一个信号。 2.2 T
[嵌入式]
PIC单片机原理
据统计,我国的单片机年容量已达1-3亿片,且每年以大约16%的速度增长,但相对 于世界市场我国的占有率还不到1%。这说明单片机应用在我国才刚刚起步,有着广阔的前景。培养单片机应用人才,特别是在工程技术人员中普及单片机知识有着重要的现实意义。 当今单片机厂商琳琅满目,产品性能各异。针对具体情况,我们应选何种型号呢?首先,我们来弄清两个概念:集中指令集(CISC)和精简指令集(RISC)。采用CISC结构的单片机数据线和指令线分时复用,即所谓冯.诺伊曼结构。它的指令丰富,功能较强,但取指令和取数据不能同时进行,速度受限,价格亦高。采用RISC结构的单片机数据线和指令线分离,即所谓哈佛结构。这使得取指令和取数据可同时进行,且由于一般指
[单片机]
PIC16F877A TMR0定时器实验2
/*********PIC16F877A TMR0定时器实验2******* 使用前置分频器,为实现精确定时,不应对TMR0进行重复写入操作 PS2 PS1 PS0 0 0 0 2 分频 0 0 1 4 分频 0 1 0 8 分频 0 1 1 16 分频 1 0 0 32 分频 1 0 1 64 分频 1 1 0 128分频 1 1 1 256分频 TMR0用作定时器时,定时器时钟=系统时钟/4 前置分频器分配给TMR0,对输入时钟256分频 如果MCU 4MHZ ,TMR0定时频率=1000000/(256*256) ***********************
[单片机]
需更换电池的倒计时数字定时器
只需 MCU、LCD、32kHz 晶振以及一个电阻即可构成一部基本的倒计时定时器,而且只需一颗普通的钮扣电池就能实现连续超过 10 年的工作时间。有两大关键性设计可最小化功耗并尽可能延长电池使用寿命,一是认真选择电池,二是充分利用 MCU 的低功耗模式。   我们之所以选择 CR2032 锂离子钮扣电池,主要是因为它占地较小,可以支持便携式应用,放电曲线较平,可直接驱动LCD,无需补偿,而且漏电极低,能够实现更长的工作时间。典型的 CR2032 额定容量为 "200mA,工作时间可维持数小时。为了实现连续工作 10 年的设计目标,平均系统电流消耗应不得超过 2.28μA,电流消耗的计算方式为电池能量值除以应用的工作寿命,如
[单片机]
STM32学习笔记(4):通用定时器基本定时功能
TIMER基本定时功能 1.STM32的Timer简介 STM32中一共有11个定时器,其中2个高级控制定时器,4个普通定时器和2个基本定时器,以及2个看门狗定时器和1个系统嘀嗒定时器。其中系统嘀嗒定时器是前文中所描述的SysTick,看门狗定时器以后再详细研究。今天主要是研究剩下的8个定时器。 定时器 计数器分辨率 计数器类型 预分频系数 产生DMA请求 捕获/比较通道 互补输出 TIM1 TIM8 16位 向上,向下,向上/向下 1-65536之间的任意数 可以 4 有 TIM2 TIM3 TIM4 TIM5 16位 向上,向下,向上/向下 1-65536之间的任意数 可以 4
[单片机]
STM32F107VCT6的通用定时器的输入捕获功能配置
将TIM4配置成输入捕获功能用于计算矩形波的周期。 #define NVIC_Priority_Timer4 1 void TIM4_Init_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; TIM_ICInitTypeDef TIM_ICInitStructure; //输入捕获结构体 TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; //时基结构体 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABL
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved