Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; ####### Definiçãoo constantes #######
- LEDS EQU P1 ;porta de saida para LEDS
- IESQ EQU P3.0 ;porta de entrada para interuptor mover esquerda
- IDIR EQU P3.1 ;porta de entrada para interuptor mover direita
- ;######## Inicio do programa ########
- CSEG AT 0000H ;programa principal come?a em 0000H
- JMP Inicio ;vai saltar para Inicio
- CSEG AT 0x50 ;programa passa para 0x50
- ;######## Programa principal ########
- Inicio:
- MOV LEDS, #0x08 ;um led ligado e os restantes desligados
- CLR C
- ;######### Função principal ##########
- Testa_botao_direita:
- JNB IDIR, Mover_leds_direita ;se IMD for 0 vai saltar para Funcao Mover_leds_direita
- ;######### Função principal ##########
- Testa_botao_esquerda:
- JNB IESQ, Mover_leds_esquerda ;se IME for 0 vai saltar para Funcao Mover_leds_esquerda
- JMP Testa_botao_direita ;vai saltar para Funcao
- ;######### Função principal ##########
- Mover_leds_direita:
- CALL FuncaoPausa
- MOV A, LEDS ;move o valor de LEDS para A
- RR A ;rotaciona A para a direita
- MOV LEDS, A ;move o valor de A para LEDS
- JMP Testa_botao_direita ;vai saltar para Funcao
- ;######### Função principal ##########
- Mover_leds_esquerda:
- CALL FuncaoPausa
- MOV A, LEDS ;move o valor de LEDS para A
- RL A ;rotaciona A para a direita
- MOV LEDS, A ;move o valor de A para LEDS
- JMP Testa_botao_esquerda ;vai saltar para Funcao
- FuncaoPausa:
- MOV R1 ,#0xFF
- MOV R2 ,#0xFF
- MOV R3 ,#0x03
- LOOP:
- DJNZ R1, LOOP
- DJNZ R2, LOOP
- DJNZ R3, LOOP
- RET
- END ;Fim do programa
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement