历史上的今天
返回首页

历史上的今天

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

正在发生

2020年02月16日 | 关于PIC中断程序应用

2020-02-16 来源:eefocus

简介:PIC单片机有多个中断源,16系列只有一个中断入口,18系列有两个中断入口,不同编译器下书写格式又不大一样。网上资源千篇一律,也不够系统,只是简单的罗列程序,代码生存的环境不一样也少有说明。在此做个简单的总结,因为又走了弯路...


1.先说18系列(MCC18编译器下):


MPLAB C18不自动把中断服务程序放在中端向量处。通常将GOTO指令放在中断向量处,从而把控制权转交给相应中断服务程序。


void low_isr(void);


void high_isr(void);


*****************************低级中断入口及服务子程序************************************/


#pragma code low_vector=0x18//低优先级中断入口


void interrupt_at_low_vector(void)


{


_asm GOTO low_isr _endasm


}


#pragma interrupt low_isr


#pragma code


void low_isr(void)


{


//低优先级中断服务函数写在这里


}


*****************************高级中断入口及服务子程序************************************/


#pragma code high_vecotr=0x08//高优先级中断入口


void interrupt_at_high_vector(void)


{


_asm GOTO high_isr _endasm


}


#pragma code


#pragma interrupt high_isr


void high_isr(void)


{


//高优先级中断服务函数写在这里


}


2.再说18系列(PICC18编译器下):


//void PIC18F_High_isr(void);


//void PIC18F_Low_isr(void);


*****************************低级中断服务子程序************************************/


#pragma interrupt lowlow_priority PIC18F_Low_isr


void PIC18F_Low_isr (void)


{


//低优先级中断服务函数写在这里


}


*****************************高级中断服务子程序************************************/


#pragma interrupt PIC18F_High_isr


void PIC18F_High_isr (void)


{


//高优先级中断服务函数写在这里


}


3.三说16系列(PICC编译器下)(只有一个中断入口,无所谓高了就):


void interrupt isr (void)


{


//中断服务函数写在这里


}


void init_interrupt()


{


GIE=0;


PEIE=1;


IPEN=1;


//TMR1IE=1;


//TMR1IF=0;


//TMR1IP=0;


//TMR1L=61;


//T1CON=0xC7;//set up timer0 - 8bit -prescaler




//TMR0IE=1;


//TMR0IF=0;


//TMR0IP=0;


//TMR0L=61;


//T0CON=0xC7;//set up timer0 - 8bit -prescaler 1:256


GIE=1;


}


就写到这里吧,留着自己看,不再这再走弯路

推荐阅读

史海拾趣

Electronicon Kondensatoren GmbH公司的发展小趣事

随着全球市场的不断变化和发展,ELECTRONICON积极实施国际化战略,拓展海外市场。公司在全球范围内建立了完善的销售和服务网络,为客户提供及时、高效的服务。未来,ELECTRONICON将继续秉承“质量为本、客户至上”的经营理念,不断创新和发展,为电子行业的繁荣做出更大的贡献。

Alliance Fiber Optics Products Inc公司的发展小趣事

随着技术的不断进步,AFOP在光纤元件领域取得了重大突破。公司成功研发出一系列高品质的光纤元件和集成模块,如波分复用光电二极管、光衰减器等,这些产品在光网通信领域具有广泛的应用。同时,AFOP还注重产品升级和迭代,根据市场需求和客户反馈,不断优化产品性能和质量,赢得了客户的广泛认可。

Crocus Technology公司的发展小趣事

随着技术的不断成熟和市场需求的变化,Crocus Technology开始拓展其产品线。2015年,公司成功推出了首款磁开关产品,这标志着公司在磁传感器领域迈出了重要的一步。随后,公司又陆续推出了位置传感和2D传感器产品,进一步巩固了其在磁传感器市场的地位。

C&D公司的发展小趣事

C&D公司深知品质是企业的生命线,因此始终坚守品质至上的原则。公司建立了严格的质量管理体系,从原材料采购到生产制造,再到产品出厂,每一个环节都严格把控,确保产品的品质达到最高标准。同时,C&D公司还注重品牌建设,通过广告宣传、社交媒体营销等方式,提升品牌知名度和美誉度。

绿宝石(BERYL)公司的发展小趣事

随着国内市场的饱和,绿宝石公司开始积极拓展国际市场。公司加强了与国际知名企业的合作,共同开发新产品、新技术。同时,绿宝石公司还在海外设立了研发中心和生产基地,以便更好地服务全球客户。通过一系列的市场拓展和国际化战略,绿宝石公司的国际影响力不断提升。

EPIC公司的发展小趣事

Epic Games一直关注并支持独立游戏开发者的发展。过去,独立开发者有机会与Epic Store签订协议以获得财务支持或提高游戏的知名度。然而,随着市场环境的变化和金融合约结构的转变,独立开发者面临着越来越多的挑战。尽管如此,Epic Games仍然致力于提供支持和资源来帮助独立开发者克服障碍、实现创新并推动整个游戏行业的进步。通过与独立开发者的紧密合作和持续支持,Epic Games不仅促进了游戏行业的多样性发展,也为自己赢得了广泛的好评和声誉。

问答坊 | AI 解惑

上传一本Keil C实例教程

一共5个PDF文档。 [ 本帖最后由 lycdl 于 2008-7-10 12:16 编辑 ]…

查看全部问答>

单片机常用子程序

本帖最后由 paulhyde 于 2014-9-15 09:28 编辑 很多的常用模块程序,希望对初学者还说有一定的帮助,更容易上手~~  …

查看全部问答>

嵌入式通信设备开发

通过介绍二层交换机、7信令分析仪、ATM信元收发卡和GSM信令测试仪等真正的通信设备的开发来说明MPC8260在通信设备开发过程,市面上非常少见。 辅以大量代码、分析和注释,使读者很快能进行嵌入式通信设备的开发。信令分析仪动辄几万,有的甚至几十 ...…

查看全部问答>

各位高手,最近在做一个大型PC软件移植到WINCE平台的项目,请教几个问题!

公司项目需要,最近一直在准备将公司原来的PC平台的一个软件移植到WINCE5.0下,由于软件很大,今天移植了一个模块,发现原来软件需要的winbase.h里的_lopen()函数在Wince的相应库里面没有实现,还有就是PC平台的setupapi.h在Wince平台下没有找到这 ...…

查看全部问答>

stc下载线用不了

stc单片机xtal2和xtal1为什么没有电压…

查看全部问答>

简单的创意——年发电量4720万千瓦

一个简单的想法,可以存储不少能量   2月25日消息,桥梁始终暴露在自然环境下,经受着各种气候条件和天气状况的考验。令人感到不解的是,一直以来人们未曾想过借助这些巨大的人造结构利用生态友好型天然能源。现在,意大利设计师提出了建造 ...…

查看全部问答>

TI赠送的28035和28027的开发板原理图(controlsuite中找不到的)

TI赠送的28035和28027的开发板原理图(controlsuite中找不到的)    …

查看全部问答>

富士通DIY家庭物联网整合帖(未完)

这几天开始最后的整合,我首先从厨房的部分开始的,因为厨房的做的比较完善,这里感谢下。根据他的修改说明,对电路进行相应的修改。但是复位电路没有按照他的要求进行修改。插上LAUCHPAD的调试线,通电下载。果然错误来了(如下图,估计很多同学都 ...…

查看全部问答>

第二周beaglebone试用开发板芯片测试单桨时发现是假了

板子做好一段时间了之前没怎么理会它上的全性能测试M3 M4 系列它是兼优了无刷电机projcet的所以就没多大理会 结果今天应用它下载单桨测试程序是发现有问题老提示。。警告提示但我们买的芯片的型号是没问题的啊但想起以前我们遇到的问题一想起我觉的 ...…

查看全部问答>

提问+自己做的16*16点阵亮度不均应该怎么解决

自己diy的一个16*16的点阵,使用4个595级联 可是为什么亮度不均 ,如果 明显哪一行点亮的点越多哪一行就暗   上图!  虽然年快过去了0.0 …

查看全部问答>