历史上的今天
返回首页

历史上的今天

今天是:2025年02月16日(星期日)

正在发生

2020年02月16日 | PIC877a定时器、中断系统总结

2020-02-16 来源:eefocus

简介: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个);

推荐阅读

史海拾趣

Hei Inc Optoelectronic Division公司的发展小趣事
由于控制电路涉及到高温和高压等危险因素,因此需要采取必要的安全防护措施,如设置过热保护、过流保护等。
Grayhill公司的发展小趣事
首先检查电路连接是否正确,确保所有元件都已正确接入电路。
ATOP_Technologies公司的发展小趣事

面对未来,ATOP Technologies制定了明确的战略规划。公司将继续加大在研发和创新方面的投入,推动产品向高端化、智能化方向发展。同时,ATOP Technologies还将积极拓展新的应用领域和市场渠道,寻求更多的合作伙伴和机会。此外,公司还将注重人才培养和团队建设,为公司的长远发展奠定坚实的基础。

这些故事只是ATOP Technologies发展历程中的一部分,每个故事都反映了公司在不同阶段的努力和成就。然而,由于具体细节可能涉及公司内部信息,因此我无法提供更为详细和具体的故事内容。如需了解更多关于ATOP Technologies的信息,建议查阅相关新闻报道或公司官方资料。

Dolphin Interconnect Solutions Asa公司的发展小趣事

Dolphin Interconnect Solutions ASA深知创新是企业发展的根本动力。因此,公司不断投入研发资源,鼓励员工进行创新实践。同时,Dolphin还注重人才培养和引进,建立了一支高素质、专业化的技术团队。这些人才为公司的发展提供了源源不断的创新动力。

富之光(Fujicon)公司的发展小趣事

面对制造业的数字化转型趋势,富致科技也积极拥抱变革。公司投入大量资源建设数字化工厂,引入先进的自动化设备和信息化管理系统,实现生产流程的智能化和精细化。通过数字化转型,富致科技不仅提高了生产效率和产品质量,还降低了运营成本,为企业的可持续发展注入了新的动力。同时,公司还注重培养数字化人才,为企业的未来发展储备了宝贵的人力资源。

FILTRONETICS Inc公司的发展小趣事

FILTRONETICS Inc成立于1970年代,初期专注于滤波器技术的研发与生产。在那个时代,随着通信技术的快速发展,对高质量滤波器的需求日益增长。公司研发团队通过不懈努力,成功研发出了一种新型LC滤波器,该滤波器在频率选择性和插入损耗方面表现出色,迅速获得了市场的认可。这一技术突破不仅巩固了FILTRONETICS在滤波器领域的地位,也为公司的后续发展奠定了坚实的基础。

问答坊 | AI 解惑

有哪位高手在5.0上作过视频相关的东西的

我现在想做个程序,在一段时间没有对系统进行任何操作时,就自动播放一段视频!avi格式和mpeg格式均可,请问谁又相关资料!可否共享一下,小弟不甚感激!~~…

查看全部问答>

我现在做.net开发,如果从事单片机或嵌入式开发,学哪个有比较好点?需要多长时间可以上手!用什么平台最好!

各位朋友,本人计算机应届生.我现在做.net开发, 不过我想问下如果从事单片机,需要多长时间可以上手?…

查看全部问答>

Mk7A22,兼容s3f9454,性价比优

研发兼销售工程师:李泳生   13760155692   075581580452  QQ:252859106(技术交流) Mk7A22,兼容s3f9454,性价比优,同比优惠15%,比同类产品优惠15%。广泛应用于锂电池,镍氢电池充电控制,家电控制,温度检测等。 ...…

查看全部问答>

基于SI4432的微功率无线通信模块

    刚刚接触RF,计划用LPC1114和si4432做一个无线通信模块,大家有没有相关资料给参考一下,谢谢 了!…

查看全部问答>

ADC共使用4通道,每次2通道通过DMA读取;怎么实现2组切换?

现在我的程序里面需要用到ADC的4个通道, 1.ADC1_0,ADC2_1为一组,负责320组数据,每次16个数据的采集工作; 2.ADC1_10,ADC2_11为一组,负责对另外输入ADC信号进行处理; 两组不会同时工作,请问程序中怎么样设置和实现?…

查看全部问答>

角速度传感器

本帖最后由 paulhyde 于 2014-9-15 04:03 编辑 对于2011电子大赛很有价值,欢迎下载  …

查看全部问答>

【团购】ALIENTEK 战舰STM32F103ZET6开发板+2.8液晶

团购价格:前10名购买者418元。                 第11至20名购买者428元。                 第21之后购买者448元。 注:本款开发板的淘 ...…

查看全部问答>

逻辑分析仪DIY硬件idea

这个帖子仅仅是一个idea,不代表逻辑分析仪最终的实现思路。希望大家提出宝贵建议。 既然要做逻辑分析仪,就会涉及到硬件设计,在坛子里大多数坛友都是都是抱着学习,分享的心态的。 做一个假设,我们逻辑分析仪直接设计成一块板子。 大家在上面 ...…

查看全部问答>

苦恼中ing

为啥用芯币兑换的下载积分不见了,还准备下资料呢 不开心。。。…

查看全部问答>