You are on page 1of 16

list p=16f877a ; list directive to define processor

#include <p16f877a.inc> ; processor specific variable


definitions


RDELAY EQU 0X21
CONTA0 EQU 0X22
CONTA1 EQU 0X23
CONTA2 EQU 0X24
LETRA EQU 0X25
FLINEA EQU 0X26
RESULTADO EQU 0X27
CONTA3 EQU 0X28

;CONSTANTES DEL PROGRAMA

LINEA1LCD EQU 0X80
LINEA2LCD EQU 0XC0
FUNCION_LCD EQU 0X38

RS EQU 6
RW EQU 5
E EQU 7
W EQU 0
F EQU 1

ORG 0
GOTO INICIAR
ORG 5
;PROGRAMA PRINCIPAL
INICIAR CALL PORT_LCD
CALL INI_LCD
CALL PORT_ADC

rb1 MOVLW LINEA1LCD
CALL COMANDO_LCD
MOVLW 0X0F
MOVWF FLINEA
CLRF LETRA

rb2 MOVF LETRA,W
CALL MENSAJE
CALL CARACTER_LCD
CALL DELAY
INCF LETRA,F
DECFSZ FLINEA,F
GOTO rb2
MOVLW LINEA2LCD
CALL COMANDO_LCD
MEDIR CALL MEDICION
MOVF RESULTADO,W
CALL TABLA2
BCF PCLATH,0
CALL CARACTER_LCD
CALL DELAY
MOVF RESULTADO,W
CALL TABLA1
BCF PCLATH,1
CALL CARACTER_LCD
CALL DELAY
MOVLW A','
CALL CARACTER_LCD
CALL DELAY
MOVF RESULTADO,W
CALL TABLA0
BCF PCLATH,0
BCF PCLATH,1
CALL CARACTER_LCD
CALL DELAY
MOVLW LINEA2LCD
CALL COMANDO_LCD
GOTO MEDIR


;INICIAN LAS SUBRUTINAS

PORT_ADC BSF STATUS,RP0
MOVLW B'00011111'
MOVWF TRISA
MOVLW B'00001110'
MOVWF ADCON1
BCF STATUS,RP0

PORT_LCD BSF STATUS,RP0
CLRF TRISD
CLRF TRISB
BCF STATUS,RP0
BCF PORTD,E
RETURN

INI_LCD BCF PORTD,RW
CALL RETARDO
MOVLW FUNCION_LCD
CALL COMANDO_LCD
CALL RETARDO
MOVLW FUNCION_LCD
CALL COMANDO_LCD
CALL RETARDO
MOVLW 0X06
CALL COMANDO_LCD
CALL RETARDO
MOVLW 0X0F
CALL COMANDO_LCD
CALL RETARDO
MOVLW 0X01
CALL COMANDO_LCD
CALL RETARDO
RETURN

COMANDO_LCD BCF PORTD,RS
BCF PORTD,E
MOVWF PORTB
CALL HABILITA_LCD
RETURN

CARACTER_LCD BSF PORTD,RS
BCF PORTD,E
MOVWF PORTB
CALL HABILITA_LCD
RETURN

MEDICION BSF ADCON0,0
CALL ESPERA20U
BSF ADCON0,2
ESPERA BTFSC ADCON0,2
GOTO ESPERA
MOVF ADRESH,0
MOVWF RESULTADO
BCF ADCON0,0
RETURN

;RETARDO 255 US

HABILITA_LCD BSF PORTD,E
MOVLW 0XFF
MOVWF RDELAY
T1 DECFSZ RDELAY,F
GOTO T1
BCF PORTD,E
RETURN

RETARDO MOVLW 0X01
MOVWF CONTA0
RET2 MOVLW 0X64
MOVWF CONTA1
RET1 MOVLW 0X64
MOVWF CONTA2
RET0 DECFSZ CONTA2,F
GOTO RET0
DECFSZ CONTA1,F
GOTO RET1
DECFSZ CONTA0,F
GOTO RET2
RETURN

DELAY MOVLW 0XD0
MOVWF CONTA0
re2 MOVLW 0XD0
MOVWF CONTA1
re1 MOVLW 0X01
MOVWF CONTA2
re0 DECFSZ CONTA2,F
GOTO re0
DECFSZ CONTA1,F
GOTO re1
DECFSZ CONTA0,F
GOTO re2
return

ESPERA20U MOVLW 0X05
MOVWF CONTA3
RETARDO1 DECFSZ CONTA3,1
GOTO RETARDO1
RETURN


MENSAJE ADDWF PCL,1
RETLW A'T'
RETLW A'E'
RETLW A'M'
RETLW A'P'
RETLW A'E'
RETLW A'R'
RETLW A'A'
RETLW A'T'
RETLW A'U'
RETLW A'R'
RETLW A'A'
RETLW A' '
RETLW 0XA5
RETLW A'C'
RETLW A' '
RETLW A' '

ORG 0X100
TABLA2 BSF PCLATH,0
ADDWF PCL,1
RETLW A'0'
RETLW A'0'
RETLW A'0'
RETLW A'0'
RETLW A'0'
RETLW A'0'
RETLW A'0'
RETLW A'0'
RETLW A'0'
RETLW A'0'
RETLW A'0'
RETLW A'0'
RETLW A'0'
RETLW A'0'
RETLW A'0'
RETLW A'0'
RETLW A'0'
RETLW A'0'
RETLW A'0'
RETLW A'0'
RETLW A'1'
RETLW A'1'
RETLW A'1'
RETLW A'1'
RETLW A'1'
RETLW A'1'
RETLW A'1'
RETLW A'1'
RETLW A'1'
RETLW A'1'
RETLW A'1'
RETLW A'1'
RETLW A'1'
RETLW A'1'
RETLW A'1'
RETLW A'1'
RETLW A'1'
RETLW A'1'
RETLW A'1'
RETLW A'1'
RETLW A'2'
RETLW A'2'
RETLW A'2'
RETLW A'2'
RETLW A'2'
RETLW A'2'
RETLW A'2'
RETLW A'2'
RETLW A'2'
RETLW A'2'
RETLW A'2'
RETLW A'2'
RETLW A'2'
RETLW A'2'
RETLW A'2'
RETLW A'2'
RETLW A'2'
RETLW A'2'
RETLW A'2'
RETLW A'2'
RETLW A'3'
RETLW A'3'
RETLW A'3'
RETLW A'3'
RETLW A'3'
RETLW A'3'
RETLW A'3'
RETLW A'3'
RETLW A'3'
RETLW A'3'
RETLW A'3'
RETLW A'3'
RETLW A'3'
RETLW A'3'
RETLW A'3'
RETLW A'3'
RETLW A'3'
RETLW A'3'
RETLW A'3'
RETLW A'3'
RETLW A'4'
RETLW A'4'
RETLW A'4'
RETLW A'4'
RETLW A'4'
RETLW A'4'
RETLW A'4'
RETLW A'4'
RETLW A'4'
RETLW A'4'
RETLW A'4'
RETLW A'4'
RETLW A'4'
RETLW A'4'
RETLW A'4'
RETLW A'4'
RETLW A'4'
RETLW A'4'
RETLW A'4'
RETLW A'4'
RETLW A'5'
RETLW A'5'
RETLW A'5'
RETLW A'5'
RETLW A'5'
RETLW A'5'
RETLW A'5'
RETLW A'5'
RETLW A'5'
RETLW A'5'
RETLW A'5'
RETLW A'5'
RETLW A'5'
RETLW A'5'
RETLW A'5'
RETLW A'5'
RETLW A'5'
RETLW A'5'
RETLW A'5'
RETLW A'5'
RETLW A'6'
RETLW A'6'
RETLW A'6'
RETLW A'6'
RETLW A'6'
RETLW A'6'
RETLW A'6'
RETLW A'6'
RETLW A'6'
RETLW A'6'
RETLW A'6'
RETLW A'6'
RETLW A'6'
RETLW A'6'
RETLW A'6'
RETLW A'6'
RETLW A'6'
RETLW A'6'
RETLW A'6'
RETLW A'6'
RETLW A'7'
RETLW A'7'
RETLW A'7'
RETLW A'7'
RETLW A'7'
RETLW A'7'
RETLW A'7'
RETLW A'7'
RETLW A'7'
RETLW A'7'
RETLW A'7'
RETLW A'7'
RETLW A'7'
RETLW A'7'
RETLW A'7'
RETLW A'7'
RETLW A'7'
RETLW A'7'
RETLW A'7'
RETLW A'7'
RETLW A'8'
RETLW A'8'
RETLW A'8'
RETLW A'8'
RETLW A'8'
RETLW A'8'
RETLW A'8'
RETLW A'8'
RETLW A'8'
RETLW A'8'
RETLW A'8'
RETLW A'8'
RETLW A'8'
RETLW A'8'
RETLW A'8'
RETLW A'8'
RETLW A'8'
RETLW A'8'
RETLW A'8'
RETLW A'8'
RETLW A'9'
RETLW A'9'
RETLW A'9'
RETLW A'9'
RETLW A'9'
RETLW A'9'
RETLW A'9'
RETLW A'9'
RETLW A'9'
RETLW A'9'
RETLW A'9'
RETLW A'9'
RETLW A'9'
RETLW A'9'
RETLW A'9'
RETLW A'9'
RETLW A'9'
RETLW A'9'
RETLW A'9'
RETLW A'9'

ORG 0X200
TABLA1 BSF PCLATH,1
ADDWF PCL,1
RETLW A'0'
RETLW A'0'
RETLW A'1'
RETLW A'1'
RETLW A'2'
RETLW A'2'
RETLW A'3'
RETLW A'3'
RETLW A'4'
RETLW A'4'
RETLW A'5'
RETLW A'5'
RETLW A'6'
RETLW A'6'
RETLW A'7'
RETLW A'7'
RETLW A'8'
RETLW A'8'
RETLW A'9'
RETLW A'9'
RETLW A'0'
RETLW A'0'
RETLW A'1'
RETLW A'1'
RETLW A'2'
RETLW A'2'
RETLW A'3'
RETLW A'3'
RETLW A'4'
RETLW A'4'
RETLW A'5'
RETLW A'5'
RETLW A'6'
RETLW A'6'
RETLW A'7'
RETLW A'7'
RETLW A'8'
RETLW A'8'
RETLW A'9'
RETLW A'9'
RETLW A'0'
RETLW A'0'
RETLW A'1'
RETLW A'1'
RETLW A'2'
RETLW A'2'
RETLW A'3'
RETLW A'3'
RETLW A'4'
RETLW A'4'
RETLW A'5'
RETLW A'5'
RETLW A'6'
RETLW A'6'
RETLW A'7'
RETLW A'7'
RETLW A'8'
RETLW A'8'
RETLW A'9'
RETLW A'9'
RETLW A'0'
RETLW A'0'
RETLW A'1'
RETLW A'1'
RETLW A'2'
RETLW A'2'
RETLW A'3'
RETLW A'3'
RETLW A'4'
RETLW A'4'
RETLW A'5'
RETLW A'5'
RETLW A'6'
RETLW A'6'
RETLW A'7'
RETLW A'7'
RETLW A'8'
RETLW A'8'
RETLW A'9'
RETLW A'9'
RETLW A'0'
RETLW A'0'
RETLW A'1'
RETLW A'1'
RETLW A'2'
RETLW A'2'
RETLW A'3'
RETLW A'3'
RETLW A'4'
RETLW A'4'
RETLW A'5'
RETLW A'5'
RETLW A'6'
RETLW A'6'
RETLW A'7'
RETLW A'7'
RETLW A'8'
RETLW A'8'
RETLW A'9'
RETLW A'9'
RETLW A'0'
RETLW A'0'
RETLW A'1'
RETLW A'1'
RETLW A'2'
RETLW A'2'
RETLW A'3'
RETLW A'3'
RETLW A'4'
RETLW A'4'
RETLW A'5'
RETLW A'5'
RETLW A'6'
RETLW A'6'
RETLW A'7'
RETLW A'7'
RETLW A'8'
RETLW A'8'
RETLW A'9'
RETLW A'9'
RETLW A'0'
RETLW A'0'
RETLW A'1'
RETLW A'1'
RETLW A'2'
RETLW A'2'
RETLW A'3'
RETLW A'3'
RETLW A'4'
RETLW A'4'
RETLW A'5'
RETLW A'5'
RETLW A'6'
RETLW A'6'
RETLW A'7'
RETLW A'7'
RETLW A'8'
RETLW A'8'
RETLW A'9'
RETLW A'9'
RETLW A'0'
RETLW A'0'
RETLW A'1'
RETLW A'1'
RETLW A'2'
RETLW A'2'
RETLW A'3'
RETLW A'3'
RETLW A'4'
RETLW A'4'
RETLW A'5'
RETLW A'5'
RETLW A'6'
RETLW A'6'
RETLW A'7'
RETLW A'7'
RETLW A'8'
RETLW A'8'
RETLW A'9'
RETLW A'9'
RETLW A'0'
RETLW A'0'
RETLW A'1'
RETLW A'1'
RETLW A'2'
RETLW A'2'
RETLW A'3'
RETLW A'3'
RETLW A'4'
RETLW A'4'
RETLW A'5'
RETLW A'5'
RETLW A'6'
RETLW A'6'
RETLW A'7'
RETLW A'7'
RETLW A'8'
RETLW A'8'
RETLW A'9'
RETLW A'9'
RETLW A'0'
RETLW A'0'
RETLW A'1'
RETLW A'1'
RETLW A'2'
RETLW A'2'
RETLW A'3'
RETLW A'3'
RETLW A'4'
RETLW A'4'
RETLW A'5'
RETLW A'5'
RETLW A'6'
RETLW A'6'
RETLW A'7'
RETLW A'7'
RETLW A'8'
RETLW A'8'
RETLW A'9'
RETLW A'9'

ORG 0X300
TABLA0 BSF PCLATH,0
BSF PCLATH,1
ADDWF PCL,1
; MENDAJE A DESPLEGAR EN EL LCD
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'

RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'

RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'

RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'

RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'

RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'

RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'

RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'

RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'

RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETLW A'0'
RETLW A'5'
RETURN
END

You might also like