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.