You are on page 1of 12

EXAMEN 1

SISTEMA DE LLENADO INDUSTRIAL

ING.ELCTRONICA

P R E S E N T A:

AGUIRRE MEDINA SALVADOR

NO. CONTROL:

14280985

Metepec, Estado de Mxico, a 03 de Marzo de 2017

PROBLEMA.
Codificar en lenguaje ensamblador del PIC184550 el siguiente enunciado.
SEP SNEST DGEST

Se tiene un sistema de llenado de una solucin industrial, que consiste en dos


INSTITUTO
sensores designados TECNOLGICO
con los nombres S0 y S1. DE TOLUCA
Y dos vlvulas, V0 y V1. Cuando los sensores no detectan significa que el
contenedor se encuentra vaco y cuando detectan se encuentra lleno. Se tiene un
teclado matricial de 4x4 con las teclas: inicio, paro y reinicio. Un display ctodo
comn para mostrar tiempos designado. Las condiciones iniciales de proceso son:
S0=1
S1=1

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

Se iniciar un timer de 5 segundos antes de poner las vlvulas en valores:


V0=1
V1=0

Cuando:
V0=1
V1=1

Se iniciar un timer de 2 segundo antes de poner las vlvulas en los valores:


V0=0
V1=0
En ste momento reiniciamos el proceso.

IMPORTANTE: CADA UNO DE LOS TIMERS DEBEN SER APREIADOS POR EL


USUARIO ATRAVZ DE EL DISPLAY DE 7 SEGMENTOS.

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

1-------TECLADO MATRICIAL 4X4

2-------LEDS (ELECTROVLVULAS)

2-------ENTRADAS LGICAS (SENSORES)

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

X EQU B'00000001' ; DECLARACIN DE VARIABLES


Y EQU B'00000010'
O EQU B'00000011'
GUARDA EQU B'00000100'
NUMSEL EQU B'00000101'
MIL EQU B'00000111'
CEN EQU B'00001010'
DEC EQU B'00001000'
UNI EQU B'00001001'
CUENTA EQU B'00001011'
CUENTA2 EQU B'00001111'
ORG 00H ;INICIO DEL PROGRAMA
CLRF PORTB
CLRF LATB
MOVLW 0Eh
MOVWF ADCON1
MOVLW B'00000000'
MOVWF TRISB
CLRF PORTC
CLRF LATC
MOVLW B'00000011'
MOVWF TRISC
CLRF PORTD
CLRF LATD
MOVLW B'00001111'
MOVWF TRISD
MOVLW B'00000111'; PRESCALER EN 1:256
MOVWF T0CON

;----------------------------------------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

CICLO4 CLRF PORTD


BSF PORTD,6
BTFSC PORTD,3
CALL CONTINUAR
BCF PORTC,3 ;APAGAMOS V0 Y V1 (SEGN EL PROCESO
ACTUAL)
BCF PORTC,2
GOTOCICLO4

;-------------------------------------------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

END ;FIN DEL PROGRAMA

You might also like