51单片机NVIC中断控制设计.doc
《51单片机NVIC中断控制设计.doc》由会员分享,可在线阅读,更多相关《51单片机NVIC中断控制设计.doc(2页珍藏版)》请在三一文库上搜索。
1、51单片机NVIC中断控制设计对于NVIC的任务,可以概括为三个:1.配置中断向量表-如果不配置,则不能进入中断 SCB-VTOR2.配置系统中断分组-决定了第一和第二优先级各占用的位数 SCB-AIRCR3.配置对应中断优先级和使能中断-中断使能 ISER0/1 中断优先级IPR0:15只要按照这样配置,就可以使用中断了1 /*2 *函数: NVIC_Group(u8 group)3 *功能: 设置中断分组4 *参数: group-对应分组号 04 共5组5 *返回: 无6 */7 void NVIC_Group(u8 group)/设置中断优先级分组寄存器8 910 u32 temp,te
2、mp1;11 /设置中断向量表,这里不配置会导致不能进入中断12 SCB-VTOR = NVIC_VectTab_FLASH;13 temp1=(group)/取后三位14 temp1=8;15 temp=SCB-AIRCR; /读取先前的设置16 temp /清空先前分组17 temp|=0X05FA0000; /写入钥匙18 temp|=temp1;19 SCB-AIRCR=temp; /设置分组 寄存器地址0xe000ed00c 可以看cortex m3权威指南20 212223 /*24 *函数: NVIC_Irq_Config(u8 irq,u8 priority)25 *功能: 设
3、置中断irq中断优先级26 *参数: irq-中断号27 priority-中断优先级,4位有效28 0组0:4 1组1:3 2组2:2 3组3:1 4组4:029 有规律的,不难设置,例如组2,想用第一优先级1,第二优先级2,则priority=0110B=0x630 *返回: 无31 */32 void NVIC_Irq_Config(u8 irq,u8 priority)33 34 u8 addr_en,offset_en;35 u8 addr,offset;3637 addr=irq/4;38 offset=irq%4;3940 addr_en=irq/32; /中断使能控制寄存器41 offset_en=irq%32;/中断使能控制位4243 NVIC-ISERaddr_en|=144 NVIC-IPRaddr=priority(offset*8+4);/ (优先级设置)(offset*8+4);45
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 51 单片机 NVIC 中断 控制 设计
链接地址:https://www.31doc.com/p-3244756.html