You are on page 1of 31

ARQUITECTURA DE MICROCONTROLADORES

Jos David Alvarado M. Universidad de Cundinamarca Ingeniera Electrnica

Introduccin a los Micro-controladores.

CPU Cerebro de una microcomputadora. Unidad Aritmtica y Lgica: ALU.

Memoria. Almacenamiento del programa de control de la CPU.

Componentes de un Micro-controlador.

Componentes de un Microcontrolador.
Reloj : RC XT. CPU
ALU. Registro de Instruccin. Acumulador. Registro Estado. Contador de Programa. Registro de direcciones y datos. Puntero de pila.

Memoria.
RAM ROM

Perifricos.

Componentes de un Microcontrolador.
Perro Guardin: watchdog Timer.

Componentes de un Microcontrolador.
Reset

Arquitecturas

Von Neumann.
Micro-procesador.

Arquitecturas

Von Harvard.
Micro-controlador.

Tarea 1 Quiz la Prxima clase.


Arquitecturas.
Von Neumann. Harvard. CISC RISC

Arquitectura del microcontrolador

Arquitectura del micro-controlador


Estructura de los micro controladores PIC.

Ciclos de Maquina.

Arquitectura del micro-controlador

Arquitectura del microcontrolador

Bancos de memoria 16F84

Bancos de memoria 16F84

Arquitectura del microcontrolador

Bancos de memoria 16F84

Bancos de memoria 16F84

Registro de estado en el PIC16X84


El registro de Estado (STATUS) del microcontrolador PIC16X84, que contiene varios bits de estado de la unidad central, el estado aritmtico de la ALU, el estado del reset y un par de bits de seleccin de pgina denominados RP1 y RP0. Ocupa la posicin 03h del banco 0 y la 83h del banco 1.
R/W-0 R/W-0 R/W-0 R-1 IRP bit 7 RP1 bit 6 RP0 bit 5 /TO R-1 R/W-x R/W-x R/W-x /PD Z bit 2 DC bit 1 C bit 0

bit 4 bit 3

Registro de estado
IRP: Seleccin del banco en direccionamiento indirecto. Este bit junto con el de ms peso del registro FSR sirven para determinar el banco de la memoria de datos seleccionado. En el PIC16X84 al disponer de dos bancos no se usa y debe programarse como 0. RP0 y RP1: Register Bank Select. Seleccin de pgina o banco de la memoria con direccionamiento directo. Cada pgina contiene 128 bytes. Como el PIC16X84 slo tiene dos bancos nicamente se emplea RP0 de forma que cuando vale 0 se accede al banco 0 y cuando vale 1 se accede al banco 1. Despus de un reset, RP0 se pone automticamente a 0. RP1 debe mantenerse a 0. TO: Time Out. 1. Se pone a 1 tras conectar la alimentacin o al ejecutar CLRWDT o SLEEP. 0. Se pone a 0 por desbordamiento del Perro Guardin WDT. PD: Power Down. 1. Se pone automticamente a 1 tras conectar la alimentacin Vdd o ejecutar CLRWDT. 0. Se pone a 0 al ejecutar la instruccin SLEEP.

Registro de estado
Z: Cero 1 = El resultado de una operacin aritmtica o lgica es 0. 0 = El resultado es distinto de 0. DC (Digit Carry). Acarreo en el 4 bit de menos peso. Funciona igual que el bit de Carry descrito a continuacin. De inters en operaciones en BCD C (Carry). Acarreo en el 8 bit o bit de mas peso. Es el bit de "acarreo" en operaciones de suma AADWF y ADDLW as como tambin el bit de "llevada" en las instrucciones de sustraccin SUBWF y SUBLW. Tambin lo emplean las instrucciones RLF y RRF de rotacin de bits. Suma 1. Se pone a 1 cuando se ha producido acarreo en la suma en el bit de mayor peso con las operaciones AADWF y ADDLW. 0. Se pone a 0 si en la suma no se ha producido acarreo. Resta 1. Se pone a 1 si en la resta no se ha producido acarreo. 0. Se pone a 0 cuando se ha producido acarreo en la resta con las operaciones SUBWF y SUBLW.

Programacin en Lenguaje Ensamblador.

Lenguaje de maquina
Binario Hexa Cdigo Operando Instruccin

11000000000111

3007

1100xx

0000 0111

Carga en el acumulador el dato indicado en el operando

11111000001000

3E08

11111x

0000 1000

Suma el acumulador y el dato indicado en el operando y guarda el resultado en el acumulador

00000010010000

0090

0000001

0010000

Almacena el resultado contenido en el acumulador en la direccin indicada

Instrucciones de Lenguaje Ensamblador


Mnemotcnico Hexa Cdigo Operando Instruccin

movlw 0x07

3007

1100xx

0000 0111

Carga en el acumulador el dato indicado en el operando

addlw 0x08

3E08

11111x

0000 1000

Suma el acumulador y el dato indicado en el operando y guarda el resultado en el acumulador

movwf 0x10

0090

0000001

001 0000

Almacena el resultado contenido en el acumulador en la direccin indicada

Instrucciones de Lenguaje Ensamblador


Instrucciones Orientadas a bits. Instrucciones Orientadas a Registros. Instrucciones Orientadas a Control. Instrucciones especiales.

Instrucciones de Lenguaje Ensamblador


Instrucciones orientadas a bit
Mnemotcnico DESCRIPCIN BANDERAS NCIC

BCF BSF BTFSC BTFSS

f,b f,b f,b f,b

Pone a 0 bit b de registro f Pone a 1 bit b de registro f Salto si bit b de reg.f es 0 Salto si bit b de reg.f es 1

Ninguna Ninguna Ninguna Ninguna

1 1 1(2) 1(2)

Instrucciones de Lenguaje Ensamblador


Instrucciones orientadas a registros
Mnemotcnico ADDWF ANDWF CLRF CLRW COMF DECF f,d f,d f f,d f,d DESCRIPCIN w+fd w AND f d 00 h f 00 h w Complemento de f d f-1d BANDERAS C, DC, Z Z Z Z Z Z NCIC 1 1 1 1 1 1

Instrucciones de Lenguaje Ensamblador


Instrucciones con literales y de control
Mnemotcnico DECFSZ INCF INCFSZ IORWF MOVF MOVWF f,d f,d f,d f,d f,d f DESCRIPCIN f - 1 d (si es 0 salta) f+1d f + 1 d (si es 0 salta) w OR f d fd wf BANDERAS Ninguna Z Ninguna Z Z Ninguna NCIC 1(2) 1 1(2) 1 1 1

Instrucciones de Lenguaje Ensamblador


Instrucciones orientadas a registros
Mnemotcnico NOP RLF RRF SUBWF SWAPF XORWF f,d f,d f,d f,d f,d DESCRIPCIN No operacin Rota f izq por carry d Rota f dcha por carry d f-wd Intercambia nibbles de f d w XOR f d BANDERAS Ninguna C C C,DC,Z Ninguna Z NCIC 1 1 1 1 1 1

Instrucciones de Lenguaje Ensamblador


Instrucciones con literales y de control
Mnemotcnico ADDLW ANDLW CALL CLRWDT GOTO IORLW MOVLW k k k k k k DESCRIPCIN w+kw w AND k w Llamada a subrutina k Borra temporizador del WDT Ir a direccin k w OR k w kw BANDERAS C,DC,Z Z Ninguna TO,PD Ninguna Z Ninguna NCIC 1 1 2 1 2 1 1

Instrucciones de Lenguaje Ensamblador


Instrucciones con literales y de control
Mnemotcnico RETFIE RETLW RETURN SLEEP SUBLW XORLW k k k DESCRIPCIN Retorno de una interrupcin Retorno con k en w Retorno de una subrutina Modo Standby k-ww w XOR k w BANDERAS Ninguna Ninguna Ninguna TO, PD C,DC,Z Z NCIC 2 2 2 1 1 1

You might also like