90 likes | 201 Views
Practico PIC. Programa Sumador. PIC16X84. El sumador del PIC es capaz de sumar dos datos de 8 bits cada uno. Dicho sumador tiene un registro, llamado W (de trabajo) , en donde aloja uno de los sumandos.
E N D
Practico PIC Programa Sumador
PIC16X84 • El sumador del PIC es capaz de sumar dos datos de 8 bits cada uno. Dicho sumador tiene un registro, llamado W (de trabajo), en donde aloja uno de los sumandos. • El otro sumando debemos decir lo que vale (literal) o en qué posición de la memoria de datos está. • El resultado de la suma puede ir a ocupar el registro W. • Como los dos sumandos son de 8 bits cabe la posibilidad de que exista acarreo al sumar los dos bits de más peso y el resultado tenga 9 bits. • Para resolver tal circunstancia existe un flip-flop FC, señalizador de acarreo, que se pone automáticamente a 1 cuando sucede este acontecimiento.
Arquitectura Interna PIC16Fxxx PIC16F628
Instrucción mover • Esta instrucción es típica en todos los procesadores y su misión es transferir el contenido de un registro «fuente» (1) a un registro «destino» (d). En los microcontroladores PIC todos los datos residen en posiciones de la memoria de datos y sólo el registro de trabajo W se salva de esta regla. Esto significa que mov puede mover tres tipos de operandos fundamentales: • 1. El contenido del registro W. • 2. El contenido de una posición de la memoria de datos o registro. • 3. Un literal o valor inmediato que se incluye en el código máquina de la propia instrucción. Para gestionar los posible operandos existen tres variantes de mov: movff,d: Mueve el contenido del operando fuente, que es una posición de memoria de datos, al destino, que bien puede ser el registro W cuando d=0, o el propio fuente cuando d=1. movwf f: Mueve el contenido del registro wa la posición de la memoria de datos identificada por f. (Realiza la transferencia W => f) movlw k: Mueve el literal k incluído en el código de la instrucción al registro w (Realiza la transferencia k => W)
Instrucción add La instrucción add admite dos variantes addwff,d: Suma el contenido del registro W con el de f y deposita el resultado en w si d= 0 y en f si d= 1. addlw k: Suma el contenido del registro W el literal que acompaña a la instrucción y deposita el resultado en W (W + K => W). En estas instrucciones de suma funcionan automáticamente tres señalizadores. • El FZ, de cero, que pasa a valer 1 si el resultado de la operación es 0. • El de acarreo, FC, que se pone a 1 cuando hay acarreo en la suma de los dos bits de más peso de los operandos, y • finalmente el señalizador de acarreo intermedio, FDC, que adquiere el valor 1 cuando hay acarreo al sumar los dos bits que ocupan el lugar 4.° (bit 3) de los operandos. Este último señalizador es muy interesante si se trabaja con dígitos BCD.
Practico • Generar un programa basado en un microprocesador PIC16F84 que efectúe • la división entre dos números y obtenga el resultado y el resto de la misma. • Se solicita generar: • Diagrama de Flujo. • Escribir el programa y compilarlo en MPLAB • Generar la prueba de escritorio. • El resultado de esta actividad se expondrá en las dos clases sucesivas a esta.