- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
ARMCortex-M3嵌入式控制技术
——基于STM32F103RCT6
STM32F103硬件系统与KEILMDK工程
第五章
按键与中断处理
本章将介绍嵌套向量中断控制器NVIC的工作原理,阐述STM32F103RCT6微控制器外部输入中断的工作原理。接着,以用户按键为例,详细解释NVIC中断的寄存器类型和库函数类型的程序设计方法。然后,介绍ZLG7289B芯片驱动LED灯、按键和数码管的原理和程序设计方法1NVIC中断工作原理2GPIO外部输入中断3用户按键中断实例4ZLG7289B按键、LED灯和数码管
5.1NVIC中断工作原理嵌套向量中断控制器NVIC相关的中断管理工作主要有开放中断、关闭中断、设置中断请求标志、读中断请求标志、清除中断请求标志和配置中断优先级等。嵌套向量中断控制器NVIC的寄存器有ISER0、ISER1、ICER0、ICER1、ISPR0、ISPR1、ICPR0、ICPR1、IABR0、IABR1、IPR0~IPR14和STIR
NVIC寄存器序号地址寄存器名称描述10xE000E100ISER0中断开放寄存器ISER0[0]~ISER0[31]、ISER1[0]~ISER1[27]依次对应中断号为0~59的中断,各位写0无效,写1开放中断0xE000E104ISER120xE000E180ICER0中断关闭寄存器ICER0[0]~ICER0[31]、ICER1[0]~ICER1[27]依次对应中断号为0~59的中断,各位写0无效,写1关闭中断0xE000E184ICER130xE000E200ISPR0中断设置请求状态寄存器ISPR0[0]~ISPR0[31]、ISPR1[0]~ISPR1[27]依次对应中断号为0~59的中断,各位写0无效,写1请求中断0xE000E204ISPR140xE000E280ICPR0中断清除请求状态寄存器ICPR0[0]~ICPR0[31]、ICPR1[0]~ICPR1[27]依次对应中断号为0~59的中断,各位写0无效,写1清中断标志0xE000E284ICPR150xE000E300IABR0中断活跃位寄存器(只读)IABR0[0]~IABR0[31]、IABR1[0]~IABR1[27]依次对应中断号为0~59的中断,各位读出1,表示相应中断活跃0xE000E304IABR160xE000E400~0xE000E438IPR0~IPR14中断优先级寄存器共有16个优先级,优先级号从0~15,优先级号0表示的优先级最高,优先级号15表示的优先级最低70xE000EF00STIR软件触发中断寄存器第[8:0]位域有效,写入0~59中的某一中断号,则触发相应的中断
中断优先级配置寄存器每个IPR寄存器用于设置4个NVIC中断的优先级,32位的IPR寄存器的4个字节的低4位均无效,只有高4位有效,故可以设置的优先级号为0~15。根据图5-1,如果设置EXTI2中断的优先级号为10,则需要将IPR2的第[7:4]位域设为10。当两个中断具有不同的优先级号时,优先级号小的中断优先级高;当两个中断具有相同的优先级号时,中断号小的中断优先级高。
异常号4~15的优先级配置寄存器可配置优先级的异常的优先级号由3个系统手柄优先级寄存器(SHPR1~3)设置,其地址依次为0xE000ED18、0xE000ED1C和0xE000ED20序号异常号异常名称位域配置名称寄存器14MemManage[7:0]PRI_4SHPR125BusFault[15:8]PRI_536UsageFault[23:16]PRI_647保留[31:24]PRI_758保留[7:0]PRI_8SHPR269保留[15:8]PRI_9710保留[23:16]PRI_10811SVCall[31:24]PRI_11912DebugMonitor[7:0]PRI_12SHPR31013保留[15:8]PRI_131114PendSV[23:16]PRI_141215SysTick[31:24]PRI_15
5.2GPIO外部输入中断根据寄存器AFIO_EXTICR1~4(见第4章表4-3),可从GPIO口中选择16个管脚配置为16个外部中断的输入端,如图5-2所示。注意:对于STM32F103RCT6芯片,只有PA、PB、PC和PD[2:0]有效,其余管脚无效。
EXTI模块共有19根线路,除了外部中断EXTI0~EXTI15外,还有EXTI16、EXTI17和EXTI18,这三根线路分别与PVD输出、RTC报警事件和USB唤配事件相连接。EXTI模块有共6个寄存器,即中断屏蔽寄存器EXTI_IMR、事件屏蔽寄存
您可能关注的文档
- STM32F103硬件系统与KEIL MDK工程 第06章 定时器.pptx
- STM32F103硬件系统与KEIL MDK工程 第02章 STM32F103微控制器.pptx
- STM32F103硬件系统与KEIL MDK工程 第08章 存储器管理.pptx
- STM32F103硬件系统与KEIL MDK工程 第10章 μCOS-II系统与移植.pptx
- STM32F103硬件系统与KEIL MDK工程 第04章 LED灯控制与KEIL MDK工程框架.pptx
- STM32F103硬件系统与KEIL MDK工程 第13章 消息邮箱与消息队列.pptx
- STM32F103硬件系统与KEIL MDK工程 第11章 μCOS-II任务管理.pptx
- STM32F103硬件系统与KEIL MDK工程 第09章 LCD屏与温度传感器.pptx
- STM32F103硬件系统与KEIL MDK工程 第07章 串口通信与声码器.pptx
- 第03章 STM32F103学习平台.pptx
文档评论(0)