本文介绍EZ-USB比标准8051多出的中断,具体27个USB中断在《中断(下)》中介绍。标准8051中断在《CPU外设中介绍》。
一、概述
EZ-USB可以处理13个中断(优先级0最高),比8051多出8个中断,如下表所示。
二、有关的特殊功能寄存器
与中断有关的SFR如下表所示
寄存器名 | 地址 | 功能 |
IE | 0xA8 | 标准51中断使能 |
IP | 0xB8 | 标准51中断优先级 |
EXIF | 0x91 | EZ-USB中断标志 |
EICON | 0xD8 | |
EIE | 0xE8 | EZ-USB中断使能 |
EIP | 0xF8 | EZ-USB中断优先级 |
各个寄存器的具体功能参见《EZ-USB manual》手册。
三、中断机制
当一个被使能的中断到达时,EZ-USB完成正在执行的指令,然后跳转到该中断对应的中断服务程序(ISR)的地址处。EZ-USB将完成ISR的进程,除非有更高优先级的中断到达。每个中断进程的最后安排一条RETI指令,当执行完RETI指令后,EZ-USB继续执行进入中断前的指令。
3.1 中断使能
IE和EIE两个特殊功能寄存器用来使能各个中断。其中IE.EA 位(最高位)用来作为全局使能,但不能屏蔽RESUME中断(USB wakeup中断)。USB WAKEUP中断的优先级最高,且不能被屏蔽。
3.1.1 中断优先级
EZ-USB支持两级中断优先级分类:自然优先级(natural priority)和抢占的优先级(assigned priority)。Assigned priority由软件程序指定,natural priority是固定的。如下表所示:
Assigned priority分为hightest hight 和low三个级别,USB WAKEUP独占hightest级别,其他可设置IP和EIP两个寄存器实现不同的优先级。
除了assigned priority优先级,每个中断还被分配一个natural priority。Assigned priority<