Escolar Documentos
Profissional Documentos
Cultura Documentos
LIST P=16F877A
INCLUDE<P16F877A.INC>
__CONFIG 0X3F71
; -----------------------------------
; DEFINICION DE VARIBLES
; -----------------------------------
; -----------------------------------
; INICIO DEL MICROCONTROLADOR
; -----------------------------------
ORG 0X00
GOTO INICIO
ORG 0X04
GOTO ISR
; -----------------------------------
; CONFIGURACION DE LOS PUERTOS
; -----------------------------------
ORG 0X05
INICIO BSF STATUS,RP0
MOVLW B'00000000'
MOVWF TRISA
MOVLW B'00011110'
MOVWF TRISB
MOVLW B'11110000'
MOVWF TRISC
MOVLW B'00000000'
MOVWF TRISD
CLRF TRISE
MOVLW B'11000111'
MOVWF OPTION_REG
MOVLW B'00001000'
MOVWF INTCON
; -----------------------------------
; INICIALIZAR PUERTOS Y VARIABLES
; -----------------------------------
BCF STATUS,RP0
CLRF PORTA
CLRF PORTC
CLRF PORTE
MOVLW .1
MOVWF DISP_01
MOVLW .1
MOVWF DISP_02
CLRF DISP_B
CLRF PASO_M
INI_02 MOVLW B'00000001'
MOVWF PORTB
MOVF DISP_01,W
MOVWF DISPLAY
MOVWF PORTD
GOTO ON
; -----------------------------------
; INICIO DEL PROGRAMA
; -----------------------------------
ON BCF INTCON,7
CALL SEE_DISP
BTFSC PORTC,4
GOTO B_INC
CALL REBOTE
COMF DISP_B,F
BTFSS DISP_B,0
GOTO DISP_C
MOVF DISP_02,W
MOVWF DISPLAY
MOVWF PORTD
BCF PORTB,0
BSF PORTB,5
GOTO C4_1
DISP_C MOVF DISP_01,W
MOVWF DISPLAY
MOVWF PORTD
BCF PORTB,5
BSF PORTB,0
C4_1 BTFSS PORTC,4
GOTO C4_1
CALL REBOTE
GOTO ON
; -----------------------------------
; DOSIFICACION
; -----------------------------------
START
BSF INTCON,7
DOSIF_1 CALL FORD_M
BTFSC PORTC,6
GOTO DOSIF_1
CLRF PORTC
MOVF DISP_01,W
MOVWF DISP_T
MOVWF PORTD
GOTO BOMBEA1
BOMB_1
DECFSZ DISP_T
GOTO BOMBEA1
BCF PORTB,6
; -----------------------------------
; INTERRUPCIONES
; -----------------------------------
ISR MOVWF TEMP_W
SWAPF STATUS,W
MOVWF TEMP_ST
BTFSS INTCON,0
GOTO END_ISR
MOVF PORTB,W
MOVWF TEMP_B
CLRF PORTB
ISR_B0 BTFSS PORTB,4
GOTO ISR_B0
ISR_B1 BTFSC PORTB,1
GOTO ISR_B1
BCF INTCON,0
MOVF TEMP_B,W
MOVWF PORTB
; -----------------------------------
; RUTINAS MOTOR PAP
; -----------------------------------
CERO_C MOVLW .3
MOVWF PASO_M
CALL TABLA
MOVWF PORTC
CALL RET_M
RETURN
END