Advertisement
Guest User

Untitled

a guest
Sep 7th, 2019
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MPASM 1.54 KB | None | 0 0
  1. List P=16F628
  2. Include P16F628.inc
  3. __CONFIG _BODEN_OFF & _WDT_OFF & _CP_OFF & _PWRTE_OFF & _LVP_OFF & _MCLRE_OFF &
  4. _INTRC_OSC_NOCLKOUT
  5. TEMPO EQU 0x20
  6. DESLOCAMENTO EQU 0x21
  7. DIGITO EQU 0x22
  8. ORG 0x0000
  9. GOTO INICIO
  10. ORG 0x0004
  11. BCF INTCON, T0IF
  12. DECFSZ TEMPO, F
  13. RETFIE
  14. MOVLW .15
  15. MOVWF TEMPO
  16. MOVF DIGITO, W
  17. CALL DECOD_DISPLAY ; chama a sub-rotina para decodificar o display
  18. MOVWF PORTB
  19. BCF PORTB, 7 ; liga o display
  20. INCF DIGITO
  21. MOVLW .16
  22. SUBWF DIGITO, W
  23. BTFSC STATUS, Z
  24. CALL ZERA
  25. RETFIE
  26. ZERA:
  27. MOVLW .0
  28. MOVWF DIGITO
  29. RETURN
  30. INICIO:
  31. BANKSEL TRISB
  32. CLRF TRISB
  33. MOVLW B'10000111'
  34. MOVWF OPTION_REG
  35. BANKSEL PORTB
  36. MOVLW B'10100000'
  37. MOVWF INTCON
  38. MOVLW D'31'
  39. MOVWF TEMPO
  40. MOVLW D'0'
  41. MOVWF DIGITO
  42. FIM:
  43. GOTO FIM
  44. DECOD_DISPLAY:
  45. MOVWF DESLOCAMENTO ; armazena o número na variável deslocamento
  46. MOVLW TABELA ; copia em W os 8 bits LSB do endereço da TABELA
  47. ADDWF DESLOCAMENTO, F ; adiciona o valor à variável DESLOCAMENTO
  48. MOVF DESLOCAMENTO, W ; copia o valor do DESLOCAMENTO para o W
  49. MOVWF PCL ; copia o W para o PCL (desvia para a tabela)
  50. TABELA:
  51. RETLW B'00111111' ; número 0
  52. RETLW B'00000110' ; número 1
  53. RETLW B'01011011' ; número 2
  54. RETLW B'01001111' ; número 3
  55. RETLW B'01100110' ; número 4
  56. RETLW B'01101101' ; número 5
  57. RETLW B'01111101' ; número 6
  58. RETLW B'00000111' ; número 7
  59. RETLW B'01111111' ; número 8
  60. RETLW B'01100111' ; número 9
  61. RETLW B'01110111' ; dígito A
  62. RETLW B'01111100' ; dígito B
  63. RETLW B'00111001' ; dígito C
  64. RETLW B'01011110' ; dígito D
  65. RETLW B'01111001' ; dígito E
  66. RETLW B'01110001' ; dígito F
  67. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement