Advertisement
Guest User

Untitled

a guest
May 20th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. ; ####### Definiçãoo constantes #######
  2. LEDS EQU P1 ;porta de saida para LEDS
  3. IESQ EQU P3.0 ;porta de entrada para interuptor mover esquerda
  4. IDIR EQU P3.1 ;porta de entrada para interuptor mover direita
  5.  
  6. ;######## Inicio do programa ########
  7. CSEG AT 0000H ;programa principal come?a em 0000H
  8. JMP Inicio ;vai saltar para Inicio
  9. CSEG AT 0x50 ;programa passa para 0x50
  10.  
  11. ;######## Programa principal ########
  12. Inicio:
  13. MOV LEDS, #0x08 ;um led ligado e os restantes desligados
  14. CLR C
  15.  
  16. ;######### Função principal ##########
  17. Testa_botao_direita:
  18. JNB IDIR, Mover_leds_direita ;se IMD for 0 vai saltar para Funcao Mover_leds_direita
  19.  
  20. ;######### Função principal ##########
  21. Testa_botao_esquerda:
  22. JNB IESQ, Mover_leds_esquerda ;se IME for 0 vai saltar para Funcao Mover_leds_esquerda
  23. JMP Testa_botao_direita ;vai saltar para Funcao
  24.  
  25. ;######### Função principal ##########
  26. Mover_leds_direita:
  27. CALL FuncaoPausa
  28. MOV A, LEDS ;move o valor de LEDS para A
  29. RR A ;rotaciona A para a direita
  30. MOV LEDS, A ;move o valor de A para LEDS
  31. JMP Testa_botao_direita ;vai saltar para Funcao
  32.  
  33. ;######### Função principal ##########
  34. Mover_leds_esquerda:
  35. CALL FuncaoPausa
  36. MOV A, LEDS ;move o valor de LEDS para A
  37. RL A ;rotaciona A para a direita
  38. MOV LEDS, A ;move o valor de A para LEDS
  39. JMP Testa_botao_esquerda ;vai saltar para Funcao
  40.  
  41. FuncaoPausa:
  42. MOV R1 ,#0xFF
  43. MOV R2 ,#0xFF
  44. MOV R3 ,#0x03
  45. LOOP:
  46. DJNZ R1, LOOP
  47. DJNZ R2, LOOP
  48. DJNZ R3, LOOP
  49. RET
  50.  
  51. END ;Fim do programa
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement