Article Details

ID: 1493
Case Type: faq
Category: Lattice IP/Reference Design
Related To: Mico8 Microcontroller
Family: All Devices

Search Answer Database

Search Text Image

LatticeMicoSystem: Does the LatticeMico8 Microcontroller Support Interrupts?

The LatticeMico8 (LM8) microcontroller V3.1 or later has one interrupt source, which is level-sensitive. The interrupt can be enabled or disabled by software (sti = set interrupt enable flag, cli = clear interrupt enable flag). When an interrupt is received and the enable flag is set, the address of the next instruction is pushed into the call stack and the microcontroller continues execution from the interrupt vector (address 0). The flags (carry and zero) are pushed onto the stack along with the return address. The interrupt ack line is set high and the acknowledge line is held high for the entire duration of interrupt handling. Once the interrupt has been acknowledged the interrupt line should be set to 0. An iret instruction will pop the call stack and transfer control to the address on top of the stack. The flags (carry and zero) are also popped from the call stack and restored. The interrupt acknowledge line is set to low. NOTE: The microcontroller cannot handle nested interrupts.


For additional information about the LM8 please review the LatticeMico8 Microcontroller User Guide.