- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PIC18F单片机的中断嵌套的C语言编程方法
PIC18F单片机的中断嵌套的C语言编程方法
PIC18F4520单片机提供多个中断源及一个中断优先级功能,可以给大多数中断源分配高优先级或者低优先级.高优先级中断向量地址为0008H,低优先级中断向量地址为0018H。高优先级中断事伯将中断所有可参正在进行的低优先级中断。有10个寄存器用于控制中断的操作。它们是:RCONINTCONINTCON2INTCON3PIR1和PIR2PIE1和PIE2IPR1和IPR2通常,用三个位控制中断源的操作。它们是:标志位 表明发生了中断事件使能位 允许程序跳转转到中断向量地址处执行(当标志位置1时)优先级 用于选择是高优先级还是低先级通过将IPEN位(RCON7)置1,可使能中断优先级功能。当使能中断优先级时,有2位可使能全局中断。将GIEH位(INTCON7)置1,可使能所有优先级位置1(高优先级)的中断。将GIEL位(INTCON6)置1,可使能所有优先级位清零(低优先级)的中断。当中断标志位、使能位以及相应的全局中断使能位均被置1时,程序将立即跳转到中断地址0008H或0018H,具体地址取决于优先级位的设置。通过设置相应的使能位可以禁止单个中断。注意:系统复位时IPEN位为零(默认状态)时,便会禁止中断优先级功能,此时中断与PIC16系统中档单片机相兼容。在兼容模式下,所有中断均跳转到地址0008H执行。
下面是在SP9608-PIC增强型单片机开发板利用PIC18F4520单片机来实现的数字频率计数器功能,程序中使用了T0用为外部信号源输入,通TMR0来实现对信号源的频率计数。TMR3作为定时器,来产生1mS数码管扫描时基和1S秒时基信号。为了提高频率计数的准确度,采用中断嵌套技术来完成,将TMR3产生1mS的定时信号作为高优先级中断,TMR0作为频率计数溢出中断作为低先级中断。源程序采用MCC18编译器和MPLAB7.50版本的集成开发环境,调试工具采用ICD2;具体源程序如下:系统时钟:采用外部的12MHz晶振经过内部PLL的4倍频到48MHz。(HS-PLL配置位)#include p18cxxx.h
#define TRUE 1#define FALSE 0#define HIGH 1#define LOW 0
rom unsigned char LEDDATA[]={??? 0x3F,0x06,0x5B,0x4F,0x66,??? 0x6D,0x7D,0x07,0x7F,0x6F,??? 0x40,0x00,};struct TIMER_STRUCT{unsigned int Interval;unsigned char Enable;};struct TIMER_STRUCT Timer1S;struct T0_T1_STRUCT{unsigned int High_Byte;unsigned int Low_Byte;unsigned long Result;};struct T0_T1_STRUCT My_T0,My_T1;struct LED_STRUCT{unsigned char DotPointer;unsigned char ScanPointer;unsigned char Buffer[8];};struct LED_STRUCT NumberLED;
void PIC18F_High_isr (void);void PIC18F_Low_isr (void);#pragma code high_vector_section=0x8void high_vector (void){_asm goto PIC18F_High_isr _endasm}#pragma code low_vector_section=0x18void low_vector (void){_asm goto PIC18F_Low_isr _endasm}#pragma code//---中断高优先级---//#pragma interrupt PIC18F_High_isrvoid PIC18F_High_isr (void){if(TRUE==PIR2bits.TMR3IF)??? {?? PIR2bits.TMR3IF=FALSE;????? TMR3H=(65536-11965)/256;????? TMR3L=(65536-11965)%256;?? ???? ???? if(FALSE==Timer1S.Enable)?????? {????? Timer1S.Interval++;????? if(1000==Timer
您可能关注的文档
最近下载
- 工程观感质量评价标准.pdf VIP
- 2023-2024 学年高中语法专项练习单选100题-现在完成时-学生版.docx VIP
- 2023-2024 学年高中语法专项练习单选100题-非谓语动词-学生版.docx VIP
- 一种隔离RS485与RS422兼容电路.pdf VIP
- 2023-2024 学年高中语法专项练习单选100题-构词法-转化法-学生版.docx VIP
- 2023-2024 学年高中语法专项练习单选100题-时态辨析-学生版.docx VIP
- 2023-2024 学年高中语法专项练习单选100题-主谓一致-学生版.docx VIP
- 2023-2024 学年高中语法专项练习单选100题-被动语态-学生版.docx VIP
- 2023-2024 学年高中语法专项练习单选100题-动词-学生版.docx VIP
- 2023-2024 学年高中语法专项练习单选100题-虚拟语气-学生版.docx VIP
文档评论(0)