Professional Documents
Culture Documents
ING.ELCTRONICA
P R E S E N T A:
NO. CONTROL:
14280985
PROBLEMA.
Codificar en lenguaje ensamblador del PIC184550 el siguiente enunciado.
SEP SNEST DGEST
En ste momento se podr activar en botn de inicio dejando las vlvulas en los
valores:
V0=0
V1=1
Cuando:
V0=0
V1=0
Cuando:
V0=1
V1=1
OBJETIVO.
Lograr el control de llenado de un contenedor industrial.
Analizar y procesar los datos adquiridos.
Crear bucles definidos e indefinidos controlados por los botones de paro y reinicio.
Detener el proceso a nuestro parecer en cualquier punto de su desarrollo.
MATERIAL.
1-------PIC-18F4540
2-------LEDS (ELECTROVLVULAS)
CDIGO ASM.
list P= 18F4550
#include <p18f4550.inc>
CONFIG FOSC= INTOSCIO_EC
CONFIG PWRT=ON
CONFIG BOR=OFF
CONFIG WDT=OFF
CONFIG LVP=OFF
CONFIG PBADEN=OFF
CONFIG CP0=OFF
CONFIG CP1=OFF
CONFIG CP2=OFF
CONFIG CP3=OFF
CONFIG CPB=OFF
CONFIG CPD=OFF
CONFIG MCLRE=OFF
;----------------------------------------CONDICIONES INICIALES
INICIO MOVLW B'00000011' ; S0 y S1 ESTN ENCENDIDOS?
CPFSEQ PORTC
GOTO INICIO
GOTOBARRIDO
;-------------------------------------------BARRIDO
BARRIDO
CLRF PORTD
BSF PORTD,7
BTFSC PORTD,3
GOTOPROCESO1
BTFSC PORTD,2
GOTOBARRIDO
GOTO BARRIDO
;-------------------------------------------PROCESO1
PROCESO1
CICLO1 BSF PORTC,4 ;ENCENDEMOS V1
CALL STOP
MOVLW B'00001000' ;S0 Y S1 APAGADOS, V1 ENCENDIDA
CPFSEQ PORTC
GOTOCICLO1
GOTOPROCESO2
;------------------------------------------PROCESO2
PROCESO2
CALL CONTAR5 ;ESPERAMOS 5 SEG
CICLO2 BCF PORTC,4 ;APAGAMOS V1 Y ENCENDEMOS V0
BSF PORTC,2
CALL STOP
MOVLW B'00000111' ;S0 Y S1 ENCENDIDOS Y V0 ENCENDIDO
CPFSEQ PORTC
GOTOCICLO2
GOTOPROCESO3
;------------------------------------------PROCESO3
PROCESO3
CALL CONTAR2 ;ESPERAMOS 2 SEGUNDOS
BCF PORTC,2 ;APAGAMOS V0
GOTOINICIO
;--------------------------------------------STOP
STOP
CLRF PORTD
BSF PORTD,7
BTFSC PORTD,2
GOTOOUTPROCESS
RETURN
;---------------------------------------------OUTPROCESS
OUTPROCESS
MOVFF PORTC,GUARDA
BCF PORTC,4 ;APAGAMOS V0 Y V1 (SEGN EL PROCESO
ACTUAL)
BCF PORTC,2
;-------------------------------------------CONTINUAR
CONTINUAR
MOVFF GUARDA,PORTC
GOTOINICIOALTERNO
MOVFF PORTC,GUARDA
RETURN
;-----------------------------------------BARRIDOALTERNO
BARRIDOALTERNO
CLRF PORTD
BSF PORTD,7
BTFSC PORTD,3
GOTOPROCESO1
RETURN
;---------------------------------------------INICIOALTERNO
INICIOALTERNO
MOVLW B'00000011'
CPFSEQ PORTC
GOTOSIGUE
CALL BARRIDOALTERNO
GOTOUNO
SIGUE MOVLW B'00001000' ;S0 Y S1 APAGADOS, V1 ENCENDIDA
CPFSEQ PORTC
GOTOSIGUE2
GOTODOS
SIGUE2 MOVLW B'00000111' ;S0 Y S1 ENCENDIDOS Y V0 ENCENDIDO
CPFSEQ PORTC
GOTOINICIOALTERNO
GOTOTRES
;----------------------------------------------UNO
UNO
CICLO5 BSF PORTC,4 ;ENCENDEMOS V1
CALL STOP
MOVLW B'00001000' ;S0 Y S1 APAGADOS, V1 ENCENDIDA
CPFSEQ PORTC
GOTOCICLO5
GOTOSIGUE
;----------------------------------------------DOS
DOS
CALL CONTAR5 ;ESPERAMOS 5 SEG
CICLO6 BCF PORTC,4 ;APAGAMOS V1 Y ENCENDEMOS V0
BSF PORTC,2
CALL STOP
MOVLW B'00000111' ;S0 Y S1 ENCENDIDOS Y V0 ENCENDIDO
CPFSEQ PORTC
GOTOCICLO6
GOTOSIGUE2
;---------------------------------------------TRES
TRES
CALL CONTAR2 ;ESPERAMOS 2 SEGUNDOS---------
PENDIETENTE PROCESO...
BCF PORTC,2 ;APAGAMOS V0
GOTOINICIOALTERNO
;-------------------------------------------------CONTAR2
CONTAR2
MOVLW B'00000110'
MOVWF PORTB ;MUESTRA 1
GOTOTIMER2
CICLO7 MOVLW B'01011011'
MOVWF PORTB ;MUESTRA 2
RETURN
;-------------------------------------------------TIMER
TIMER
MOVLW B'00001111'
MOVWF TMR0
SEGUIR BTFSS INTCON,TMR0IF
GOTOSEGUIR
BCF INTCON,TMR0IF
GOTOCICLO7
;--------------------------------------------------CONTAR5
CONTAR5
MOVLW B'00000110'
MOVWF PORTB ;MUESTRA 1
GOTOTIMER1
CICLO8 MOVLW B'01011011'
MOVWF PORTB ;MUESTRA 2
GOTOTIMER2
CICLO9 MOVLW B'01001111'
MOVWF PORTB ;MUESTRA 3
GOTOTIMER3
CICLO10 MOVLW B'01100110'
MOVWF PORTB ;MUESTRA 4
GOTOTIMER4
CICLO11 MOVLW B'01101101'
MOVWF PORTB
;-------------------------------------------------TIMER1
TIMER1
MOVLW B'00001111'
MOVWF TMR0
SEGUIR1 BTFSS INTCON,TMR0IF
GOTOSEGUIR1
BCF INTCON,TMR0IF
GOTOCICLO8
;-------------------------------------------------TIMER2
TIMER2
MOVLW B'00001111'
MOVWF TMR0
SEGUIR2 BTFSS INTCON,TMR0IF
GOTOSEGUIR2
BCF INTCON,TMR0IF
GOTOCICLO9
;-------------------------------------------------TIMER3
TIMER3
MOVLW B'00001111'
MOVWF TMR0
SEGUIR3 BTFSS INTCON,TMR0IF
GOTOSEGUIR3
BCF INTCON,TMR0IF
GOTOCICLO10
;-------------------------------------------------TIMER4
TIMER4
MOVLW B'00001111'
MOVWF TMR0
SEGUIR4 BTFSS INTCON,TMR0IF
GOTOSEGUIR4
BCF INTCON,TMR0IF
GOTOCICLO11