Para resolver o exercício proposto, é necessário seguir os seguintes passos: 1. Identificar o endereço da interrupção e configurar as interrupções IE e TCON. 2. Fazer as configurações iniciais do programa. 3. Definir qual LED será aceso inicialmente. 4. Criar uma rotina de interrupção que troque o LED aceso sempre que a chave CH for pressionada. 5. Fazer um salto para a rotina de interrupção no endereço da interrupção. Segue abaixo um exemplo de código em linguagem Assembly para resolver o exercício: ``` ORG 0000h ; Início do programa MOV P1, #01h ; Define o LED 1 como aceso inicialmente MOV IE, #81h ; Habilita a interrupção externa 0 MOV TCON, #01h ; Configura a interrupção externa 0 como borda de descida MAIN: SJMP MAIN ; Salta para o início do programa INT0_ISR: CLR P1.0 ; Apaga o LED 1 CPL P1.0 ; Troca o LED aceso RETI ; Retorna da interrupção END ; Fim do programa ``` Nesse exemplo, o LED 1 é definido como aceso inicialmente. Quando a chave CH for pressionada, a rotina de interrupção INT0_ISR é chamada e troca o LED aceso. O programa fica em loop infinito no label MAIN e a interrupção externa 0 é configurada para borda de descida.
Para escrever sua resposta aqui, entre ou crie uma conta
Microprocessadores e Microcontroladores
Microprocessadores e Microcontroladores
Microprocessadores e Microcontroladores
Microprocessadores e Microcontroladores
Compartilhar