历史上的今天
返回首页

历史上的今天

今天是:2024年11月19日(星期二)

正在发生

2018年11月19日 | 少走弯路,PIC单片机中断总结

2018-11-19 来源:eefocus

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


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


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


void low_isr(void);


void high_isr(void);


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


#pragma code low_vector=0x18//低优先级中断入口,转自21ic基础知识


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;


}


推荐阅读

史海拾趣

Electroswitch公司的发展小趣事

进入21世纪后,Electroswitch开始积极实施国际化战略。公司通过收购和兼并等方式,不断拓展海外市场。同时,公司还加强了与国际知名企业的合作,共同开发新产品和新技术。这些举措使得Electroswitch的国际化水平得到了显著提升,也为公司的未来发展奠定了坚实的基础。

三环(CCTC)公司的发展小趣事

面对全球化的市场趋势和竞争压力,三环(CCTC)公司制定了国际化战略和全球布局计划。公司将继续加大研发投入力度,提升自主创新能力;同时积极拓展国际市场,加强与国际知名企业的合作与交流;此外还将加强人才培养和引进工作,打造一支高素质、专业化的国际化团队。通过这些措施的实施,三环(CCTC)公司将不断提升自身实力和市场竞争力,为成为全球领先的电子企业而不懈努力。

AIC [Analog Intergrations Corporation]公司的发展小趣事

三环(CCTC)公司自1970年成立以来,便致力于电子基础材料、电子元件和通信器件的研发与生产。在创立初期,公司面临着技术落后和资金短缺的困境,但通过不懈的努力和持续的研发投入,逐渐在电子行业中崭露头角。公司积极引进国外先进技术和设备,同时培养了一支高素质的研发团队,为后续的发展奠定了坚实的基础。

AMD(超微)公司的发展小趣事

近年来,三环(CCTC)公司更加注重产品品质和品牌建设。公司建立了完善的质量管理体系和检测手段,确保产品质量稳定可靠。同时,公司加强了品牌宣传和推广力度,提高了品牌知名度和美誉度。通过不断提升产品品质和加强品牌建设,公司赢得了更多客户的信任和支持,实现了可持续发展。

Good Will Instrument Co., Ltd.公司的发展小趣事

近年来,三环(CCTC)公司更加注重产品品质和品牌建设。公司建立了完善的质量管理体系和检测手段,确保产品质量稳定可靠。同时,公司加强了品牌宣传和推广力度,提高了品牌知名度和美誉度。通过不断提升产品品质和加强品牌建设,公司赢得了更多客户的信任和支持,实现了可持续发展。

德芯半导体(Doeshare)公司的发展小趣事

德芯半导体自成立以来,就致力于半导体技术的研发与创新。公司拥有一支由电子学材料学博士、硕士和教授组成的专家团队,他们不断在半导体MEMS技术上取得突破。这些技术创新不仅推动了产品的发展,还使德芯半导体在智能家居、智能制造等领域的应用中取得了显著的成绩。公司通过与国内外先进企业的合作,采用OEM的合作方式,委托完成关键的工序工艺,确保了产品的高品质。

问答坊 | AI 解惑

电机驱动模块电路

电机驱动模块电路…

查看全部问答>

每次都要发帖 然后才能下载

本帖最后由 paulhyde 于 2014-9-15 08:58 编辑 每次都要发帖 然后才能下载  …

查看全部问答>

教你如何选购监控摄像头

选购摄像机总是有人存在一些误区,比如洋品牌就好,还有价格要越低越好,下面我就说说真正需要注意的几点是什么吧!     第一、经济性     当前安防产品同质化很严重,进口的与国产的相差无几,所以朋友们不要盲目的崇拜洋 ...…

查看全部问答>

下载NK.BIN至开发板的步骤

现在我只有一个NK.BIN文件,想了解怎样才能把它下载至2440的开发板…我现在可以下载NK.NB0文件,但是不了解怎样下载NK.BIN文件,希望了解的大拿给指点指点……

查看全部问答>

WinCE的explorer.exe不启动直接启动自己的应用程序会有什么样的影响?

提一个关于WinCE启动的问题,在很多地方看到WinCE不启动explorer.exe,用自定义的应用程序替换,我有几个问题想寻求解答: 1、explorer.exe的完整的功能是哪些? 2、如果不启动这个功能,在VS2005下写的程序(基于compact Frame work)还能不能用 ...…

查看全部问答>

希望有机会尝试尝试3517上的powervr SGX的威力

这个图形加速器的驱动TI给出了现成的module,基于Linux的 里边基本全了,module源文件,app-test,看看README就都明白啦 还没尝试过POWERVR的杀伤力到底有多强 不知道SEED提供的底板是否有LCD,如果有就基本完美啦,否则还得自己想办法弄L ...…

查看全部问答>

小试256点fft,望圈圈、lut1lut、香版主指教

我使用MDK3.22,首先已按照lut1lut的帖子修改了汇编代码。数据源参考了圈圈的“FFT结果的物理意义”中的数据,我把圈圈的256个数据*1024然后作的四舍五入取整。结果与圈圈文章中分析的基本一致,第0点、50点、75点数据比较大,此三点数据为( ...…

查看全部问答>

stm32串口1,2,3,4为什么1,2可以,3,4就不行啊。

USART_InitStructure.USART_BaudRate = 115200;     USART_InitStructure.USART_WordLength = USART_WordLength_8b;     USART_InitStructure.USART_StopBits = USART_StopBits_1;     USART_InitStructure. ...…

查看全部问答>

单片机提高篇

本帖最后由 paulhyde 于 2014-9-15 09:31 编辑 推荐一些较好的网站  …

查看全部问答>