- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 所谓现场是指中断时刻单片机中存储单元中的数据状态。并不包适系统自动把PC、SR进行保护的操作。为了使中断服务的执行不破坏这些数据或状态,以免在中断返回后影响主程序的运行,因此要把它们送入堆栈中保存起来,这就是现场保护。 因为SPCE061A中断源多于中断入口地址,所以当CPU响应中断后,经中断入口地址进入中断服务程序,通过读P_INT_Ctrl可判断产生中断请求的中断源。 6清中断标志位:因为CPU是根据中断标志位来判断并进行响应中断的,除串口中断外,所有的中断标志位不是靠硬件清除,而是软件清除的,所以在中断服务程序中,必须将中断标志清除,否则CPU总是会响应该中断的。清除标志位只要在中断服务程序中即可,位置不是固定,如也可以在中断处理程序前清除中断标志。 * 以上两点是初学者用中断时,最容易出现的错误。 当在程序运行过程中,要改变中断设置时,建议先读取P_INT_Ctrl_New中的内容,然后再根据自己的需要对其进行设置后,再写入控制寄存器。这样可以避免另外的人在移值程序时,出现中断被意外屏蔽的现像。这对编程的严谨性是重要的。 中断响应时间 * 中断服务流程 * 应该注意的地方 * P_INT_Ctrl_New与P_INT_Ctrl P_INT_Ctrl读与写的含意不同 当在程序运行过程中,要改变中断设置时,建议先读取P_INT_Ctrl_New中的内容,然后再根据自己的需要对其进行设置后,再写入控制寄存器。 清中断标志位 除UART中断外,中断服务程序要对中断标志位进行清中断。 SPCE061A的中断 * unSP中断系统的风格; 提供了定时、时基、外部、UART以及软件中断等的十四个中断源; 为用户编写复杂的系统打下硬件基础; 例:利用时基定时0.5s,使A口的8个二极管闪烁。 时基中断有2、4、8、16、32、64、128、256、512、1024、2048、4096Hz信号频率可选 时基信号选择:定时0.5s,2Hz最为方便 时基中断使用的控制寄存器: 配置单元 读写属性 存储地址 功能说明 P_TimerBase_Setup 写 700EH 时基信号发生器输出的选频逻辑TMB1、TMB2频率设定 P_TimerBase_Clear 写 700FH 时基信号发生器复位和时间精确校准 P_INT_Ctrl 读/写 7010H 写:控制各中断允许或禁止;读:判断产生中断请求的中断源 P_INT_Clear 写 7011H 用来清除中断源的中断请求 .RAM C_Flag .CODE .PUBLIC _main _main: R1=0xff; //A口初始化为同相输出口 [P_IOA_Dir]=R1; [P_IOA_Attrib]=R1; R1=0; [P_IOA_Data]=R1; [C_Flag]=R1; R1=0x4; //0100,开放IRQ5_2Hz中断 [P_Int_Ctrl]=R1; INT IRQ; L_Loop: //等待中断发生 NOP; NOP; NOP; NOP; GOTO L_Loop; .TEXT //中断服务子程序 .PUBLIC _IRQ5 _IRQ5: PUSH R1,R5 to [SP]; //现场保护 R1=4; //判断中断源 TEST R1,[P_INT_Ctrl]; JNZ L_IRQ5_2Hz; L_IRQ5_4Hz: //4Hz中断 R1=8; GOTO L_EXIT_INT; L_IRQ5_2Hz: R1=[C_Flag]; [P_IOA_DATA]=R1; //点亮或灭一次 R1^=0xFFFF; //位取反为闪烁做准备 [C_Flag]=R1; L_EXIT_INT: [P_INT_Clear]=R1; //清中断标志位 POP R1,R5 from [SP];//恢复现场 RETI; * * 图为中断系统的中断嵌套示意图。 * 中断技术能实现CPU与外部设备的并行工作,提高CPU的利用率以及数据的输入/输出效率;中断技术也能对计算机运行过程中突然发生的故障做到及时发现并进行自动处理如:硬件故障、运算错误及程序故障等;中断技术还能使我们通过键盘向计算机发出请求,随时对运行中的计算机进行干预,而不用先停机,然后再重新开机等等。 中断源可以人为设定 也可以是为响应突发性随机事件而设置。如定时器中断,它的中断源即是定时器。 * 由于在实际的系统中,往往有多个中断源,且中断申请是随机的,有时可能会有多个中断源同时提出中断申请,但CPU一次只能响应一个中断源发出的中断请求,这时CPU应响应那个中断请
您可能关注的文档
最近下载
- 剑桥王牌教材第二版Think1U2知识清单及作业单v1.4.pdf VIP
- 摩托车培训学校建设项目投资可行性建议书.doc VIP
- 高考语文专题训练-病句(含答案解析)70题.docx VIP
- 2024年太阳能电池片产业海外专利预警分析报告-上海知识产权保护中心.docx
- 小学英语词汇练习及答案.doc VIP
- WSET二级复习试题库(共229题).pdf VIP
- 标准图集-99J201-1 平屋面建筑构造(一).pdf VIP
- 砂浆锚杆工艺性试验方案.docx VIP
- DB32T 4659.5-2024 医院公共卫生工作规范 第5部分:职业卫生.docx VIP
- 中药材(植物药)新品种评价技术规范.pdf-中华人民共和国国.PDF
文档评论(0)