- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
45 中断程序编写_外部中断举例
Sunplus SPCE061A 微控制器 带中断处理的外部中断程序编写的基本过程 讲解目的 通过举例了解SPCE061A带中断编程的方法。 通过举例对中断编程进行归类,提高学习效率。 巩固中断编程知识,为后面的系统编程打好基础。 任务的提出 通过中断形式指示按键状态,如果是按键一按下,红色的二极管点亮,如果是按键二按下,绿色的二极管点亮。 分析SPCE061A可以使用的中断源 SPCE061A具有14个中断源,可以使用EXT1,EXT2中断源完成此任务。EXT1 接按键一,EXT2 接按键二,在程序中判断是哪个中断源引起的中断,然后点亮对应的二极管指示。 硬件电路图 程序的设置问题 根据硬件电路图可以设置IO口,由于前面已经讲述,这里略 设置中断寄存器 中断控制寄存器P_INT_Ctrl 清除中断标志控制单元P_INT_Clear 激活和屏蔽中断控制单元P_INT_Ctrl_New 中断控制寄存器单元 P_INT_Ctrl控制单元具有可读可写属性 写中断控制寄存器的某位为1时,即允许该位所代表的中断被开放 读中断控制寄存器确定CPU响应的中断 P_INT_Ctrl寄存器的各位意义见下表 P_INT_Ctrl单元表 清除中断标志控制单元 清除中断标志控制单元主要用于清除中断控制标志位,当CPU响应中断后,会将中断标志置1,当进入中断服务程序后,要将其控制标志清零,否则 CPU总是执行该中断。P_INT_Clear寄存器的每一位均对应一个中断,同上表。 激活和屏蔽中断控制单元 当写P_INT_Ctrl_New单元时,与写P_INT_Ctrl单元功能相似;当读该控制单元时,只作为了解激活那一中断的功能使用,与其写入值是一致的。 根据任务设置寄存器 注意 即使设置了中断寄存器,打开中断,程序还是不能进入中断,需要使用中断控制指令。 FIQ ON:该指令用来开通FIQ中断 FIQ OFF:该指令用来屏蔽FIQ中断 IRQ ON:该指令用来开放IRQ中断 INT OFF:该指令用来屏蔽IRQ中断 INT:该指令是用来设置允许/禁止FIQ和IRQ中断 中断控制指令举例 复习 中断编程的共性 共性一:主函数程序结构 主函数的编程,基本的程序结构是: 1、初始状态的设置。 2、打开中断。 3、主循环中清看门狗。 主函数汇编程序基本模版 共性二:主函数中进行清狗与等待中断处理 在主循环里主要进行清看门狗操作,可 以设置标志位,标志位在中断中改变, 循环中如果标志满足条件,执行相应功 能,不符合就等待中断。 实例 共性三:中断服务函数程序结构 中断服务函数的编程,基本的程序结构是: 1、关闭中断。 2、打开中断。 3、主循环中清看门狗。 中断函数汇编程序基本模板与实例比较 总结 前面进行了外部中断编程的讲解,我们看到了一个带中断编程的基本过程,关于别的中断编程,它们的编程框架类似,并且在开发环境下可找到各模块编程的实例,这边将不进行讲解了,接下来将讲一个多个模块混合编程的实例,进一步加强对SPCE061A编程的理解。 凌阳科技大学计划网站: 凌阳科技大学计划邮箱: E_mail: unsp@ 凌阳科技大学计划客服中心: Tel: 0102911 凌阳科技大学计划技术支持中心: Tel: 0102919 EXT1 EXT2 IRQ3_EXT1 IRQ3_EXT2 IRQ2_TMB FIQ_TMB IRQ1_TMA FIQ_TMA IRQ0_fosc/1024 FIQ_fosc/1024 b8 b9 b10 b11 b12 b13 b14 b15 IRQ3_TMB2 IRQ3_TMB1 IRQ3_2Hz IRQ3_4Hz IRQ3_1kHz IRQ3_2kHz IRQ3_4kHz IRQ3_KEY b0 b1 b2 b3 b4 b5 b6 b7 _main: int off …… R1 = 0x0300; [P_INT_CTRL] = r1; …… int irq; _main: int off …… R1 = 0x0300; [P_INT_CTRL] = r1; …… int irq; 初始化IO 开外部中断1,2中断 进入循环,等待中断 清看门狗 模版 初始化 打开中断 进入循环,等待中断 清看门狗 实例 .define xxx xxxx .code .public _main; _main: … INT OFF 〔xxx〕=Rx [P_INT_Ctrl] = Rx … INT IRQ Loop: [P_Wat
您可能关注的文档
最近下载
- 横河涡街流量计第10版DY中文说明书.pdf VIP
- 混凝土挡土墙施工方案..doc VIP
- 六年级梦想之星英语初赛试卷含答案.doc VIP
- 智慧养老机构运营与管理:智慧养老机构健康服务管理PPT教学课件.pptx VIP
- 语文练习部分六年级第一学期(答案).pdf VIP
- 新22G02 钢筋混凝土结构构造 .docx VIP
- 《应急管理》ppt课件.pptx VIP
- 智慧养老机构运营与管理:智慧养老机构生活和快乐服务PPT教学课件.pptx VIP
- 商务部对外贸易司-汽车行业:2022中国二手车出口国别指南.docx VIP
- 智慧养老机构运营与管理:智慧养老机构出入院管理PPT教学课件.pptx VIP
文档评论(0)