Advertisement
Guest User

Termometro chido de Iván v2

a guest
Jun 4th, 2018
498
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MPASM 3.11 KB | None | 0 0
  1.     __CONFIG    _WDT_OFF&_PWRTE_ON&_HS_OSC&_LVP_OFF&_CP_OFF
  2.     LIST    P=16F877A
  3.     INCLUDE <P16F877A.INC>
  4.  
  5.     ORG     0X00
  6.     GOTO    BEGIN
  7.     ORG     0X05
  8. ; . . . . . . . CONFIGURATION . . . . . . .
  9. BEGIN
  10.     BCF     STATUS, RP1
  11.     BSF     STATUS, RP0
  12.     CLRF    TRISB       ;PORTB as output
  13.     CLRF    TRISC       ;PORTC as output (Needed: 2 bits)
  14.     MOVLW   0X80        ;Right justified, FOSC/2
  15.     MOVWF   ADCON1      ;Vref = VDD (5.12V for 5mV resolution)
  16.     BCF     STATUS, RP0
  17.     MOVLW   0X01        ;Speed: FOSC/2, through Channel0,
  18.     MOVWF   ADCON0      ;Initially off but powered up.
  19.     CLRF    PORTB
  20.     CLRF    PORTC
  21.     GOTO    MAIN
  22. ; . . . . . . . MINI DELAY FUNCTION . . . . . . .
  23. DELAY
  24.     MOVLW   0X01
  25.     MOVWF   0X32
  26. DEL_0
  27.     MOVLW   0X0A
  28.     MOVWF   0X31
  29. DEL_1
  30.     MOVLW   0XDD
  31.     MOVWF   0X30
  32. DEL_2
  33.     DECFSZ  0X30,1
  34.     GOTO    DEL_2
  35.     DECFSZ  0X31,1
  36.     GOTO    DEL_1
  37.     DECFSZ  0X32,1
  38.     GOTO    DEL_0
  39.     RETURN
  40. ; . . . . . . . FUNCTION TO ENABLE CLOCK . . . . . . .
  41. ENABLE
  42.     BCF     PORTC,1
  43.     CALL    DELAY
  44.     BSF     PORTC,1
  45.     CALL    DELAY
  46.     BCF     PORTC,1
  47.     RETURN
  48. COMMAND
  49.     MOVWF   PORTB
  50.     CALL    ENABLE
  51.     RETURN
  52. ; . . . . . . . LCD INICIALIZATION . . . . . . .
  53. INIT
  54.     CALL    DELAY
  55.     BCF     PORTC,0
  56.     MOVLW   0X38
  57.     CALL    COMMAND
  58.     MOVLW   0X30
  59.     CALL    COMMAND
  60.     MOVLW   0X30
  61.     CALL    COMMAND
  62.     MOVLW   0X38
  63.     CALL    COMMAND
  64.     MOVLW   0X0C
  65.     CALL    COMMAND
  66.     MOVLW   0X01
  67.     CALL    COMMAND
  68.     MOVLW   0X06
  69.     CALL    COMMAND
  70.     BSF     PORTC,0
  71.     MOVLW   'T'
  72.     CALL    COMMAND
  73.     MOVLW   'E'
  74.     CALL    COMMAND
  75.     MOVLW   'M'
  76.     CALL    COMMAND
  77.     MOVLW   'P'
  78.     CALL    COMMAND
  79.     MOVLW   'E'
  80.     CALL    COMMAND
  81.     MOVLW   'R'
  82.     CALL    COMMAND
  83.     MOVLW   'A'
  84.     CALL    COMMAND
  85.     MOVLW   'T'
  86.     CALL    COMMAND
  87.         MOVLW   'U'
  88.     CALL    COMMAND
  89.     MOVLW   'R'
  90.     CALL    COMMAND
  91.     MOVLW   'A'
  92.     CALL    COMMAND
  93.     MOVLW   ':'
  94.     CALL    COMMAND
  95.     CALL    DELAY
  96.     RETURN
  97. ; . . . . . . . PRINTING FUNCTION . . . . . . .
  98. PRINT
  99.     BCF     PORTC,0
  100.     MOVLW   0XC8
  101.     CALL    COMMAND
  102.     BSF     PORTC,0
  103.     MOVLW   0X30
  104.     ADDWF   0X48,W
  105.     CALL    COMMAND
  106.     MOVLW   0X30
  107.     ADDWF   0X47,W
  108.     CALL    COMMAND
  109.     MOVLW   0XDF
  110.     CALL    COMMAND
  111.     MOVLW   'C'
  112.     CALL    COMMAND
  113.     RETURN
  114. ; . . . . . . . DELAY 1S FUNCTION . . . . . . .
  115. DELAY_1S
  116.     MOVLW   0X03
  117.     MOVWF   0X35
  118. DEL_0_1
  119.     MOVLW   0XFF
  120.     MOVWF   0X34
  121. DEL_1_1
  122.     MOVLW   0XDD
  123.     MOVWF   0X33
  124. DEL_2_1
  125.     DECFSZ  0X33,1
  126.     GOTO    DEL_2_1
  127.     DECFSZ  0X34,1
  128.     GOTO    DEL_1_1
  129.     DECFSZ  0X35,1
  130.     GOTO    DEL_0_1
  131.     RETURN
  132. ; . . . . . . . COMPLEX MATH PROCESS . . . . . . .
  133. MATH
  134.     CLRF    0X47
  135.     CLRF    0X48
  136.     BSF     STATUS,RP0
  137.     MOVF    ADRESL,W
  138.     BCF     STATUS,RP0
  139.     MOVWF   0X50
  140. NEXT_MATH
  141.     MOVLW   0X02
  142.     SUBWF   0X50,W
  143.     BTFSS   STATUS,C
  144.     RETURN
  145.     MOVLW   0X02
  146.     SUBWF   0X50
  147.     CALL    INC_0X47
  148.     GOTO    NEXT_MATH  
  149.    
  150. INC_0X47
  151.     INCF    0X47
  152.     MOVLW   0X0A
  153.     SUBWF   0X47,W
  154.     BTFSS   STATUS,Z
  155.     RETURN
  156.     INCF    0X48
  157.     CLRF    0X47
  158.     RETURN
  159. ; . . . . . . . MAIN PROGRAM . . . . . . .
  160. MAIN
  161.     CALL    INIT
  162. LOOP
  163.     BSF     ADCON0,GO_DONE
  164. NOTREADY
  165.     BTFSC   ADCON0,GO_DONE
  166.     GOTO    NOTREADY
  167.     CALL    MATH
  168.     CALL    DELAY_1S
  169.     CALL    PRINT
  170.     GOTO    LOOP
  171.     END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement