Está en la página 1de 2

Ing.

Oscar Ojeda
Microcontroladores.
2011

PRACTICA 1.
ACTIVAR UNAS SALIDAS DE LA PUERTA B
1. Vamos a realizar la simple activación de unas salidas de la puerta B.
Vamos a ver las instrucciones y directivas que hay que utilizar .

2. En primer lugar le decimos el tipo de microcontrolador que vamos a


utilizar y el fichero de listado (.lst) cuantos caracteres tiene, para ello
utilizamos la directiva LIST con sus variantes P y C

LIST P=pic16f84 ;Seleccionamos el PIC 16F84


LIST C=132 ;Fichero de listado a 132 caracteres

3. A continuación con la directiva EQU ponemos la dirección de los registros


que vamos a utilizar y le damos un nombre, con el que luego los
llamaremos desde el programa ensamblador, es decir, en vez de su
dirección en el programa ponemos su nombre. porta, portb, trisa... son
etiquetas con las que nos referiremos a esos registros para hacer el
programa más entendible.

porta EQU 0x05 ;Dirección del puerto A


portb EQU 0x06 ;Dirección del puerto B
trisa EQU 0x5 ; “ del registro TRISA
trisb EQU 0x6 ; “ del registro TRISB
status EQU 0x03 ; “ del registro de estado

4. Vamos a ver las tres líneas que vienen a continuación:

ORG 0 ;Posición del vector de reset. Empieza a ensamblar.


GOTO inicio ;Comienza el programa después del vector de
ORG 5 ;interrupción

ORG es una directiva que le indica la dirección de comienzo de


ensamble ,es decir, a partir de la dirección 0 que es donde está el vector
de reset. Como tenemos que salvar el vector de interrupción, la siguiente
instrucción es un salto a la dirección de inicio del programa y le decimos
que sea la 5 (ORG 5).

5. A continuación en primer lugar nos encontramos con la etiqueta inicio ,


que es donde mandamos el programa desde el vector de interrupción. Con
estas tres instrucciones que están comentadas, seleccionamos el banco 1,
ponemos el registro TRISB a 0 con lo que seleccionamos el puerto B como
salidas y volvemos a seleccionar el banco 0.

1   
 
Ing. Oscar Ojeda
Microcontroladores.
2011

inicio BSF status,5 ;Pon a uno el bit 5 del registro de ESTADO(status).


;Seleccionamos el banco 1 de registros.
CLRF trisb ;Ponemos a 0 el registro TRISB. Puerto B como salidas
BCF status,5 ;Ponemos a 0 el registro de estado.
;Seleccionamos el banco 0 de registros.

6. En las siguientes instrucciones cargamos el registro W con el número 55


eh hexadecimal, y lo sacamos por el puerto B y fin del programa.

MOVLW 0x55 ;Movemos al registro W el literal 55h (01010101b)


MOVWF portb ;Movemos el contenido de W a f (portb), es decir
END ;sacamos el 55 por el puerto B. Fin

LISTADO COMPLETO DEL PROGRAMA

LIST P=pic16f84 ; Seleccionamos el PIC 16F84


LIST C=132 ; Fichero de listado a 132 caracteres

porta EQU 0x05 ;Dirección del puerto A


portb EQU 0x06 ;Dirección de la puerta B
trisa EQU 0x5 ; “ del registro TRISA
trisb EQU 0x6 ; “ del registro TRISB
status EQU 0x03 ; “ del registro de estado

ORG 0 ;Posición del vector de reset. Empieza a ensamblar.


GOTO inicio ;Comienza el programa después del vector de
ORG 5 ; interrupción

inicio BSF status,5 ;Seleccionamos el banco 1 de registros.


CLRF trisb ;Colocamos al puerto B como salidas
BCF status,5 ;Seleccionamos el banco 0 de registros.
MOVLW 0x55 ;Movemos al registro W el literal 55h (01010101b)
MOVWF portb ;Movemos el contenido de W a f (portb), es decir
END ;sacamos el 55 por el puerto B. Fin

2