Examen Micros
Examen Micros
Examen Micros
Pseudocódigo
INICIO
LIMPIAR PORTA, PORTB, PORTC, PORTD
CONFIG PORTA, PORTB, PORTC, PORTD
ENTRADAS: PORTA,PORTB,PORTC
SALIDAS: PORTD
LIMPIAR SALIDAS
INICIA LOOP
Switch (PORTC):
0→SUMA (PORTA+PORTB)
1→RESTA(PORTA-PORTB)
2→COMPARACION
Si PORTA<=PORTB, PORTD = ENCENDIDO
No, APAGADO
3→PARPADEDO (PORTA=ON, PORTB=OFF
CODIGO
processor 16f877
include <p16f877.inc>
ORG 0
GOTO INICIO
ORG 5
PROGRAMA:
MOVF PORTC,0
ANDLW B'00000011'
ADDWF PCL,F
GOTO SUMA
GOTO RESTA
GOTO COMPARACION
GOTO PARPADEO
SUMA:
MOVF PORTA,W
ADDWF PORTB,W
MOVWF PORTD
GOTO PROGRAMA
RESTA:
MOVF PORTB,W
MOVWF aux
COMF aux,f
MOVF PORTA,W
ADDWF aux,W
MOVWF aux
INCF aux,W
MOVWF PORTD
GOTO PROGRAMA
COMPARACION:
MOVF PORTA,W
SUBWF PORTB,W
BTFSC STATUS,Z
GOTO ON
BTFSS STATUS,C
GOTO OFF
GOTO ON
PARPADEO:
CLRF PORTD
MOVF PORTA,W
apagado:
call retardo
DECFSZ W
GOTO apagado
MOVLW 0XFF
MOVWF PORTD
MOVF PORTB,W
encendido:
call retardo
DECFSZ W
GOTO encendido
GOTO PROGRAMA
COMPARACION
PARPADEO