单片机原理与应用凌阳SPCE061A(电子教案)第5章 中 断 系 统_第1页
单片机原理与应用凌阳SPCE061A(电子教案)第5章 中 断 系 统_第2页
单片机原理与应用凌阳SPCE061A(电子教案)第5章 中 断 系 统_第3页
单片机原理与应用凌阳SPCE061A(电子教案)第5章 中 断 系 统_第4页
单片机原理与应用凌阳SPCE061A(电子教案)第5章 中 断 系 统_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机原理与应用凌阳SPCE061A(电子教案)第5章 中 断 系 统 第55章中断系统SPCE061A中断系统5.2概概述5.1中断系统的应用5.35.1概述1中断中断是指计算机在执行某一程序的过程中,由于计算机系统内、外的某种原因而必须终止原程序的执行,转去完成相应的处理程序,待处理结束之后再返回继续执行被终止原程序的过程。 2中断源中断源是指在计算机系统中向CPU发发出中断请求的事件。 中断源可以是人为设定的,也可以是突发的随机事件。 如定时器中断就是由定时器溢出产生的中断。 3中断优先级由于在实际应用系统中往往有多个中断源,且中断申请是随机的,有时还可能会有多个中断源同时提出中断申请,但CPU一次只能响应一个中断源发出的中断申请,这时CPU响应哪个中断请求,就需要用软件或硬件按中断源工作性质的轻重缓急给它们安排一个优先顺序,即所谓的优先级排队。 中断优先级越高则响应优先权就越高。 4中断响应过程( (1)检测中断( (2)保护现场( (3)中断服务( (4)清除中断标志位( (5)恢复现场( (6)中断返回5.2SPCE061A中断系统5.2.1中断类型1软件中断2异常中断3事件中断5.2.2中断源1定时器中断2外部中断3串行通信口中断4触键唤醒中断5时基信号中断5.2.3中断控制1中断控制寄存器( (1)中断控制寄存器P_INT_Ctrl(读/写)(7010H)P_INT_Ctrl控制单元具有读/写属性,其读写时表达的意义不同。 中断控制寄存器的功能如表5-2所示。 中断控制位中断向量中断源说明D15FFF6H FIQ_Fosc/1024Fosc/1024系统时钟1024分频D14IRQ0_Fosc/1024D13FIQ_TMA定时器A A溢出信号表55-22中断控制寄存器功能表中断控制位中断向量中断源说明D12FFF8H IRQ1_TMA D11FFF9H FIQ_TMB定时器B B溢出信号D10FFFAH IRQ2_TMB D9FFFBH IRQ3_EXT2外部信号22中断D8IRQ3_EXT1外部信号11中断D7IRQ3_KEY键盘唤醒中断D6FFFCH IRQ4_4kHz4096Hz时基信号中断D5IRQ4_2kHz2048Hz时基信号中断D4IRQ4_1kHz1024Hz时基信号中断D3FFFDH IRQ5_4Hz4Hz时基信号中断D2IRQ5_2Hz2Hz时基信号中断D1FFFEH IRQ6_TMB1时基发生器11输出选频信号中断D0IRQ6_TMB2时基发生器22输出选频信号中断FFF7H RESET复位信号FFFFH UARTIRQ串行通信口中断FFF5H BREAK软中断中断控制位中断向量中断源说明( (2)清中断标志寄存器P_INT_Clear(写)(7011H)清中断标志寄存器用于清除中断控制标志位。 当CPU响应中断后中断标志位仍为为1,硬件并不自动清除该标志,当进入中断服务程序后,必须将其控制标志清零,否则CPU还会响应该中断。 2中断控制端口配置P_INT_Ctrl(写)P_INT_Ctrl(读)P_INT_Clear(写)功能11允许中断00屏蔽中断,但不清除P_INT_Ctrl(读)单元相应的中断标志位11有中断事件发生00没有中断事件发生11清除中断标志00不改变中断源的状态表55-33中断控制端口配置表3中断控制指令指令格式说明FIQ ON允许FIQ中断FIQ OFF禁止FIQ中断IRQ ON允许IRQ中断IRQ OFF禁止IRQ中断INT FIQ允许FIQ中断,禁止IRQ中断INT IRQ允许IRQ中断,禁止FIQ中断INT FIQIRQ允许FIQ和IRQ中断INT OFF禁止FIQ和IRQ中断表55-44中断控制指令一览表( (1)FIQ ON指令( (2)FIQ OFF指令( (3)IRQ ON指令( (4)IRQ OFF指令( (5)INT指令5.2.4中断向量及优先级SPCE061A单片机每一中断都对应一个向量单元,称为中断向量。 在中断向量单元中存放中断服务程序的入口地址,如表表5-5所示。 中断类型中断向量中断查询顺序RESET FFF7H复位向量00FIQ FFF6H11IRQ0FFF8H22IRQ1FFF9H33IRQ2FFFAH44IRQ3FFFBH55IRQ4FFFCH66IRQ5FFFDH77IRQ6FFFEH88UART、IRQ7FFFFH99表55-55SPCE061A中断优先级5.2.5中断响应1中断响应过程( (1)中断查询( (2)中断响应( (3)中断响应条件2中断请求的撤销3中断服务流程( (1)中断入口( (2)关中断和开中断( (3)现场保护和现场恢复( (4)中断源判断( (5)中断处理( (6)清中断标志位( (7)中断返回5.3中断系统的应用【例例5-4】利用外部中断点亮接在A口的低低8位的8个LED。 SPCE061A单片机有两个外部中断源EXT1和EXT2,外部中断使用的控制寄存器如表5-7所示。 选择使用外部中断EXT1还是外部中断EXT2都可以,只是初始化时略有不同。 选择EXT1初始化IOB2为带上拉电阻的输入端口,选择EXT2初始化IOB3为带上拉电阻的输入端口。 在此例中我们选择EXT1作为中断源。 配置单元属性地址配置单元功能说明P_INT_Ctrl读/写7010H写可控制各中断源允许或禁止中断读可判断产生中断请求的中断源P_INT_Clear写7011H清除中断源的中断请求P_FeedBack写7009H BB口的应用方式控制向量表55-77反馈电路外部中断使用的控制寄存器硬件A口的低8位接8个LED灯。 主程序端口初始化,开放EXT1中断。 外部中断的主程序流程图如图5-9所示,中断服务程序流程图如图5-10所示。 图55-9外部中断主程序流程图图55-10外部中断中断服务程序流程图主程序.include hardware.inc.CODE.PUBLIC_main_mainR1=0x00FF/设置A口的低8位为输出出P_IOA_Attrib=R1P_IOA_Dir=R1R1=0x0000P_IOA_Data=R1R1=0x0000/设置B口带上拉电阻输入P_IOB_Attrib=R1P_IOB_Dir=R1R1=0x0004P_IOB_Data=R1R1=0x0100/开中断IRQ3_EXT1P_INT_Ctrl=R1INT IRQloop NOPJMP loop中断服务程序判断中断源、点亮LED。 .TEXT.PUBLIC_IRQ3_IRQ3INT OFFPUSH R1,R5TOsp/现场保护护R1=0x0100TEST R1,P_INT_Ctrl/判断IRQ3_EXT1中断JNZ irq3_ext1/是,则转至IRQ3_EXT1程序段R1=0x0200TEST R1,P_INT_CtrlJNZ irq3_ext2/判断IRQ3_EXT2irq3_keyR1=0x0080/

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论