Está en la página 1de 8

Prctica 11

Microprocesadores.



Un hroe es aquel en el que se encuentran virtudes
extraordinarias e incluso defectos impensables
20/04/2014

Escuela Superior de Ingeniera Mecnica y Elctrica.
Unidad Zacatenco.


Loeza Saavedra Alejandro Ivn.

2


PRACTICA No.15
PROBLEMA.
Comparar el Puerto A y PuertoD y y mostrar por PORTB
Si PORTA>PORTD, encienden solo los leds pares (PORTB=0XAA)
Si PORTA<PORTD, encienden el nibble bajo (PORTB=0X0F)
Si PORTA=PORTD, encienden todos los leds (PORTB=0XFF)

MATERIAL.
PIC18F4550.
Jumpers.
LEDs.
Dip Switch.
Display de 7 segmentos
Protoboard
DESARROLLO.
Se hizo el siguiente cdigo:
;Variable definitions
VAR1 EQU 00H
VAR2 EQU 02H
;******************************************************************************
;Reset vector
RESET_VECTOR ORG 0
goto Main ;go to start of main code
;******************************************************************************
;Start of main program
ORG 0x1000
Main ; *** main code goes here **
MOVLB.1 ;seleccionar banco de datos
CALL CONFIGPORTS
ETQ1 MOVFF PORTD,VAR1
MOVFF PORTA,WREG
CPFSEQ VAR1
GOTO RUTA1
MOVLW 0XFF
ET2
MOVWF PORTB
GOTO ETQ1
3


;******************************************************************************
; Start of subrutines
;******************************************************************************
CONFIGPORTS
MOVLW 0X0F
MOVWF ADCON1
MOVWF TRISD
MOVWF TRISA
MOVLW 000H
MOVWF TRISB
RETURN

RUTA1
CPFSGT VAR1
GOTO RUTA2
MOVLW 0XAA
GOTO ET2
RUTA2
MOVLW 0X0F
GOTO ET2
;******************************************************************************
; End of program
END



















4

















(ET1)



(ETC)


(ETB)



1>w
w>PORTB
7>w
w>IZQ
Inicio
Declaracin de variables
CONT1 EQU 0X00
CONT2 EQU 0X01
CONT3 EQU 0X02
IZQ EQU 0X03
DER EQU 0X04
100>w
w>CONT3
100>w
w>CONT2
49>w
w>CONT1
5


(ETA)

























CONT1=CONT1-1
CONT1==0
CONT2==0
CONT2=CONT2-1
CONT3=CONT3-1
CONT3==0
RRCNF PORTB
6












(ET2)


(ETZ)



(ETY)


(ETX)





IZQ=IZQ-1
IZQ==0
100>w
w>CONT3
100>w
w>CONT2
49>w
w>CONT1
7>w
w>DER
CONT1=CONT1-1
7




























CONT2==0
CONT2=CONT2-1
RRCNF PORTB
CONT1==0
CONT3=CONT3-1
CONT3==0
RRCNF PORTB
DER=DER-1
8














NOTA: EN LA TOMA DE DECISIN, SI ESTA SE CUMPLE EL DIAGRAMA ONTINUA A LA DERECHA, SI
NO SE CUMPLE CONTINUA A LA IZQUIERDA



Conclusiones Loeza Saavedra Alejandro Ivn
Para este programa, para este programa existen 3 instrucciones que nos permiten hacer la
comparacin entre los puertos las cuales son: CPFSEQ que compara si son iguales, CPFSGT que
compara si lo de w es mayor y CPFSLT que compara si es menor, primero es necesario pasar los
datos de algn puerto a W para asi compararlo luego con el otro puerto. Primero se compara si eran
iguales, de ser asi se enviaba un 0xFF a la salida para encender todos los LEDs, si no se pasaba a
una subrutina donde se comparaba solo si era mayor de ser asi se enva al puerto de salida el valos
0xAA lo cual enciende solo los LEDs pares si no era mayor, por ende W era menor al Puerto por
esta razn se enva 0x0F a la salida para encender solo el NIBBLE bajo.
DER==0
FIN

También podría gustarte