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