Rodrigo Delgado Posted October 14, 2024 at 06:42 PM Report Share #633602 Posted October 14, 2024 at 06:42 PM Estou a programar um atempa 128 e estou com uma dúvida pertinente, onde o código não está a funcionar corretamente, aqui vai: Partindo da situação em que os 8 LED (D1 ... D8) se encontram apagados, pretende-se que, ao acionar SW1, os LED sejam ativados sequencialmente, começando pelo LED D1(D1->D8). O tempo entre sequências deve ser 2 s. Quando todos os LED estiverem ativados, e após uma espera de 3 s, estes devem ser desativados sequencialmente na ordem inversa (D8->D1). Neste caso, o tempo entre sequências deve ser de 1 s. O acionamento de SW6 permite parar o sequenciamento. O seguinte código não funciona e não sei como corrigir para o fazer funcionar, por favor ajudaaaaaaa .include<m128def.inc> .EQU LEDSON = 0b11111110 .EQU LEDSOFF = 0b01111111 .EQU SW1 = 0 .EQU SW6 = 5 .CSEG .ORG 0 JMP MAIN INICIO: CLR R16 LDI R16, 0b00000000 OUT DDRA, R16 LDI R16, 0b11111111 OUT DDRC, R16 OUT PORTC, R16 RET DELAY1S: PUSH R18 PUSH R19 PUSH R20, 82 CICLO01S: LDI R19, 255 CICLO11S: LDI R18, 255 CICLO21S: DEC R18 BRNE CICLO12S DEC R19 DEC R20 BRNE CICLO02S POP R20 POP R19 POP R18 RET DELAY2S: PUSH R18 PUSH R19 PUSH R20 LDI R20, 164 CICLO02S: LDI R19, 255 CICLO12S: LDI R18, 255 CICLO22S DEC R18 BRNE ICLO12S DEC R19 DEC R20 BRNE CICLO02S POP R20 POP R19 POP R18 RET MAIN: LDI R16, 0XFF OUT SPL, R16 LDI R16, 0X10 OUT SPH, R16 CALL INICIO VERIFICACAO: SBIS PINA, SW1 JMP SEQUENCIALEDSON SBIS PINA, SW6 JMP SEQUENCIAOFF JMP VEIRIFCACAO SEQUENCIALEDON: LDI R16, LEDSON OUT PORTC, R16 CALL DELAY2S LSL R16 OUT PORTC, R16 CALL DELAY2S SBIC PORTC, 7 JMP SEQUCNIALEDON CALL DELAY2S CALL DELLAY1S SEQUENCIALEDOFF: LDI R16, LEDSOFF OUT PORTC, R16 CALL DELAY1S SEC ROR R16 OUT PORTC, R16 SBIS PORTC, 0 JMP SEUQNCIAOFF: LDI R16, 0b11111111 OUT PORTC, R16 JMP MAIN Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now