Microcontrollori - 8051 interrupt

Gli interrupt sono gli eventi che sospendono temporaneamente il programma principale, passano il controllo alle sorgenti esterne ed eseguono il loro compito. Quindi passa il controllo al programma principale dove era stato interrotto.

8051 ha 5 segnali di interrupt, cioè INT0, TFO, INT1, TF1, RI / TI. Ogni interrupt può essere abilitato o disabilitato impostando i bit del registro IE e l'intero sistema di interrupt può essere disabilitato cancellando il bit EA dello stesso registro.

Registro IE (Interrupt Enable)

Questo registro è responsabile dell'abilitazione e della disabilitazione dell'interrupt. Il registro EA è impostato su uno per abilitare gli interrupt e impostato su 0 per disabilitare gli interrupt. La sua sequenza di bit e il loro significato sono mostrati nella figura seguente.

EA IE.7 Disabilita tutte le interruzioni. Quando EA = 0 non verrà riconosciuto nessun interrupt e EA = 1 abiliterà l'interrupt individualmente.
- IE.6 Riservato per uso futuro.
- IE.5 Riservato per uso futuro.
ES IE.4 Abilita / disabilita l'interrupt della porta seriale.
ET1 IE.3 Abilita / disabilita l'interrupt di overflow del timer1.
EX1 IE.2 Abilita / disabilita l'interrupt esterno 1.
ET0 IE.1 Abilita / disabilita l'interrupt di overflow del timer0.
EX0 IE.0 Abilita / disabilita l'interrupt esterno0.

Registro IP (priorità di interrupt)

È possibile modificare i livelli di priorità degli interrupt modificando il bit corrispondente nel registro Interrupt Priority (IP) come mostrato nella figura seguente.

  • Un interrupt a bassa priorità può essere interrotto solo da un interrupt ad alta priorità, ma non interrotto da un altro interrupt a bassa priorità.

  • Se vengono ricevuti contemporaneamente due interrupt di diverso livello di priorità, viene servita la richiesta di livello di priorità più alto.

  • Se le richieste degli stessi livelli di priorità vengono ricevute simultaneamente, la sequenza di polling interna determina quale richiesta deve essere servita.

- IP.6 Riservato per uso futuro.
- IP.5 Riservato per uso futuro.
PS IP.4 Definisce il livello di priorità dell'interrupt della porta seriale.
PT1 IP.3 Definisce l'interrupt del timer di 1 priorità.
PX1 IP.2 Definisce il livello di priorità dell'interrupt esterno.
PT0 IP.1 Definisce il livello di priorità dell'interrupt timer0.
PX0 IP.0 Definisce l'interrupt esterno di livello di priorità 0.

Registro TCON

Il registro TCON specifica il tipo di interrupt esterno al microcontrollore.