Está en la página 1de 6

UNIVESIDAD DE EL SALVADOR

FACULTAD DE INGENIERIA ELECTRICA

ESCUELA DE INGENIERIA ELECTRICA

MICROCONTROLADORES GUIA 3

ALUMNOS:

Bonilla Monterrosa Moiss Antonio BM11006

Henrquez Miranda Rubn Alexander HM11005

Torres Vanegas Henry Anselmo TV13008

REVISANDO EL MAPA DE MEMORIA DE PROGRAMA Y LA PILA (STACK) DE LOS uC


P16F87X

DE LA OBSERVACION DE LAS FIGURAS (2-1, 2-5 DE LA HOJA DE DATOS MOSTRADAS AL FINAL


DE ESTE DOCUMENTO Y DEL EJEMPLO 2-1) DEBEN OBTENER MUCHOS DATOS Y COMPLETAR
LOS SIGUIENTES LITERALES:

1. LA MEMORIA DE PROGRAMA HA SIDO SEGMENTADA POR EL FABRICANTE EN


BLOQUES LAMADOS: Pginas
2. CADA UNO DE ESTOS BLOQUES TIENE UNA LOGITUD DE: 2k bits.
3. CADA BLOQUE TIENE UN RANGO DE DIRECCIONES QUE INICIA EN: 0x0 Y FINALIZA EN:
0X7FFF
4. ESTOS RANGOS DE DIRECCIONES SON VALORES RELATIVOS (INCOMPLETOS) LOS
CUALES QUEDAN CALIFICADOS (O COMPLETOS) AL AGREGAR LOS DOS BITS MAS
SIGNIFICATIVOS CONTENIDOS EN EL REGISTRO: PCLATH CUANDO SE EJECUTA UNA DE
LAS INTRUCCIONES GOTO/CALL.
5. CADA VES QUE EL REGISTRO PCL ES UTILIZADO COMO DESTINO LOS 5 BITS MAS
SIGNIFICATIVOS DE PC SON TOMADOS DESDE LOS 5 BITS MENOS SIGNIFICATIVOS DEL
REGISTRO: PCLATH.
6. PORQUE RAZON A LA POSICION 0X0H DE LA MEMORIA DE PROGRAMA SE LE LLAMA
VECTOR DE RESET: Porque es a partir de esta posicin en donde se empieza a ejecutar
el programa, ya sea cuando energizamos el PIC o por un reset causado por el WDT
7. PORQUE RAZON A LA POSICION 0X04H DE LA MEMORIA DE PROGRAMA SE LE LLAMA
VECTOR DE INTERRUPCION: Porque la direccin 0x04 es la que utilizamos para
atender una rutina de interrupcin.
8. CADA VES QUE SE EJECUTAN LAS INSTRUCCIONES: RETFIE, RETLW, CALL, RETURN EL
VALOR ACTUAL DEL REGISTRO PC ES GUARDADO EN: STACK
9. CUANTOS NIVELES FISICOS DE ANIDAMIENTO TIENEN EL STACK DE LOS
MICROCONTROLADORES 16F87X: 8 niveles
10. CON SUS PROPIAS PALABRAS EXPLIQUE EL FUNCIONAMIENTO DEL SEGMENTO DE
CODIGO MOSTRADO EN LA FIG. 2-1.
El programa comienza en la posicin de memoria 0x500, luego colocamos un cero
en el bit 4 y un uno el bit 3 del registro PCLATH , con eso seleccionamos la pagina
01. Lugo desde la pagina 0 hacemos un llamado a la subrutina SUB1_P1 que se
encuentra en la pagina 1 (0x800-0xFFF) luego retorna a la pagina cero.

También podría gustarte