Rodrigo Delgado Posted October 14, 2024 at 06:42 PM Report #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
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