PRACTICA 1

Anuncio
Pedro Guerrero Amado.Marzo 2002
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
portb
trisa
trisb
status
EQU 0x05
EQU 0x06
EQU 0x5
EQU 0x6
EQU 0x03
;Dirección del puerto A
;Dirección de la puerta B
; “
del registro TRISA
; “
del registro TRISB
; “
del registro de estado
4. Vamos a ver las tres líneas que vienen a continuación:
ORG 0
GOTO inicio
ORG 5
;Posición del vector de reset. Empieza a ensamblar.
;Comienza el programa después del vector de
; 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
Pedro Guerrero Amado.Marzo 2002
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.Puerta 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
MOVWF portb
END
;Movemos al registro W el literal 55h (01010101b)
;Movemos el contenido de W a f (portb), es decir
;sacamos el 55 por el puerto B. Fin
LISTADO COMPLETO DEL PROGRAMA
LIST P=pic16f84
LIST C=132
porta
portb
trisa
trisb
status
EQU 0x05
EQU 0x06
EQU 0x5
EQU 0x6
EQU 0x03
; Seleccionamos el PIC 16F84
; Fichero de listado a 132 caracteres
;Dirección del puerto A
;Dirección de la puerta B
; “
del registro TRISA
; “
del registro TRISB
; “
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 ;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.Puerta B como salidas
BCF status,5 ;Ponemos a 0 el registro de estado. 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
Descargar