Introducpic

28
CONALEP SAN MARTÍN ACADEMIA DE ELECTRÓNICA DOCENTE: REBECA ISLAS BADILLO MATERIAL DE APOYO PARA LA MATERIA DE MICROS E INTERFASES

Transcript of Introducpic

Page 1: Introducpic

CONALEP SAN MARTÍN

ACADEMIA DE ELECTRÓNICA

DOCENTE: REBECA ISLAS BADILLO

MATERIAL DE APOYO PARA LA MATERIA DE MICROS E INTERFASES

Page 2: Introducpic

REALIZAR LA OPERACIÓN DE

MICRO CONTROLADORES EN

OPERACIONES BÁSICAS DE

CONTROL , PARA SU

IMPLEMENTACIÓN EN SISTEMAS

ELECTRÓNICOS INDUSTRIALES

Page 3: Introducpic

2.1. IDENTIFICA LAARQUITECTURA BÁSICA DEMICROCONTROLADORES ,MEDIANTE EL ANÁLISIS DESUS COMPONENTES

Page 4: Introducpic

• El PIC16F84 es un microcontrolador, una especie de "ordenador en miniatura“ que podremos programar.

• En su interior posee un microprocesador, una memoria RAM (volatil) donde guardaremos las variables, una memoria EEPROM (no volatil) donde guardaremos nuestro programa, un Timer o contador que nos facilitará algunas tareas, y algunas cosas mas.

Page 5: Introducpic

CARACTERÍSTICAS REPRESENTATIVAS

• Opera a una frecuencia máxima de 10 MHz

• 1Kbyte de memoria EEPROM para nuestro programa

• 68 bytes (de 8 bits) de memoria RAM • 64 bytes de memoria EEPROM para datos

(no volátiles) • Solo 35 instrucciones • 13 pines de entrada/salida (un puerto de

8 bits + otro de 5 bits) • Timer/contador de 8 bits

Page 6: Introducpic

Descripción de sus pines

Page 8: Introducpic

RA0-RA4: SON LOS PINES DELPUERTOA.RBO-RB7: SON LOS PINES DELPUERTOB.MCLR: PIN DE RESETEO DEL PIC,CUANDO SE PONE A 0 EL PIC SERESETEA.Vdd y Vss: PINES DE ALIMENTACIÓN(5V Y TIERRA RESPECTIVAMENTE).OSC1/CLKIN Y OSC2/CLKOUT: SONPARA EL OSCILADOR

Page 9: Introducpic

• OSC1/CLKIN y OSC2/CLKOUT: son para el oscilador Los tipos de osciladores mas usados son el XT (cristal de cuarzo) y el RC (resistencia y condensador) el modo de conexionado es el siguiente:

Oscilador XT Oscilador RC

C1=C2=33pF C1 alrededor de 20pF

Crystal ≤ 4MHz 5KΩ ≤ R1 ≤ 100KΩ

Page 10: Introducpic

• El registro W funciona a modo de acumulador.

• La RAM es vista como un ‘archivo de registros’.

• Modos de direccionamiento:

– Directo(dirección contenida en la instrucción)

– Indirecto (dirección en FSR)

• Uso de la pila para anidamiento de llamadas a rutinas. No para datos.

• Permite datos inmediatos.

• Almacenamiento directo de resultados en memoria.

• EEPROM grabable dinámicamente.

Page 11: Introducpic
Page 12: Introducpic
Page 13: Introducpic

En primer lugar tenemos que distinguir claramente entre tres tipos de memoria:

Una: la memoria EEPROM donde almacenaremos el programa que haremos, esta memoria solo podrá ser leída por el pic (el picva leyendo las instrucciones del programa almacenado en esta memoria y las va ejecutando). Al apagar el pic esta memoria no se borra.

Dos: la memoria RAM en cuyos registros se irán almacenando los valores de las variables que nosotros queramos y cuando nosotros queramos (por programa), al apagar el pic esta memoria se borra.

Tres: la memoria EEPROM para datos, es un espacio de memoria EEPROM en la que se pueden guardar variables que queremos conservar aunque se apague el pic. No se tratará aquí por ser una memoria mas difícil de emplear.

Page 14: Introducpic

MEMORIA

EEPROM

Page 15: Introducpic

EL ESPACIO MARCADO COMO USER MEMORY

SPACE ES EL ESPACIO DE MEMORIA DONDE IRÁ

NUESTRO PROGRAMA, COMPRENDE LAS

DIRECCIONES DE MEMORIA DESDE 0000H

HASTA 3FFH (3FFH EN DECIMAL ES 1023, MAS

LA DIRECCIÓN 0000H HACEN 1024

DIRECCIONES, ES DECIR, 1KBYTE.

RESET VECTOR ES LA PRIMERA DIRECCIÓN A

LA QUE SE DIRIGE EL PIC AL ENCENDERLO O AL

RESETEARLO.

PC Y LOS STACK LEVEL SON EMPLEADOS POR

EL PIC Y NOSOTROS NO TENEMEOS ACCESO A

ELLOS.

Page 16: Introducpic
Page 17: Introducpic

LA MEMORIA RAM NO

SOLO SE USA PARA

ALMACENAR

NUESTRAS

VARIABLES, TAMBIÉN

SE ALMACENAN UNA

SERIE DE REGISTROS

QUE CONFIGURAN Y

CONTROLAN EL PIC.

ESTA DIVIDIDA EN DOS

BANCOS, EL BANCO 0

Y EL BANCO 1.

Selección del banco:

Bit RP0 del registro STATUS

RP0 = 0 -> Banco 0

RP0 = 1 -> Banco 1

Registros:

SFR

Banco 0: RP0=0 0x00 ->

0x0B

Banco 1: RP0=1 0x00 ->

0x0B

GPR

Banco 0: 0x0C -> 0x4F (68

bytes)

Banco 1: Mapeado

completamente en el banco 0

Page 18: Introducpic

Registros internos

• Estos registros se usan para controlar los pines del pic, consultar los resultados de las operaciones de la ALU (unidad aritmética lógica), cambiar de banco de memoria... entre otras cosas.

Page 19: Introducpic

• INDF (direccionamiento indirecto)

• TMR0 (Timer/contador)

• PCL (Parte baja del contador de programa)

• FSR (Puntero)

Page 20: Introducpic

EN ESTE APARTADO CONOCISTE LASCARACTERÍSTICAS PRINCIPALES DELPIC16F84.EN LA SIGUIENTE ENTREGA APRENDERÁS APROGRAMARLOS.

Page 21: Introducpic
Page 22: Introducpic

MEMORIA DE DATOS

Está organizada en

dos páginas o bancos

de registro, banco 0 y

banco 1. Para cambiar

de página se utiliza un

bit del registro

STATUS (RP0).

Cada banco se divide

a su vez en dos áreas:

RFS (Registros de

Funciones Especiales)

RGP (Registros de

Propósito General)

Page 23: Introducpic

INDF (direccionamiento indirecto): Dirección 00h, sirve para

ver el dato de la dirección a la que apunta el registro FSR (dir.

04h) .

TMR0 (Timer/contador): Dirección 01h, Aquí se puede ver el

valor en tiempo real del Timer/contador. También se puede

introducir un valor y alterar así el conteo. Este conteo puede

ser interno (cuenta ciclos de reloj) o externo (cuenta inpulsos

introducidos por RA4).

PCL (Parte baja del contador de programa): Dirección 02h,

Modificando este registro se modifica el contador de

programa, este contador de programa es el que señala al pic

en que dirección (de EEPROM) tiene que leer la siguiente

instrucción. Esto se utiliza mucho para consultar tablas (ya

veremos mas adelante)

Page 24: Introducpic

STATUS (ESTADO): Dirección 03h, este es uno de los

registros mas importantes y el que mas vas a utilizar. Hay

que analizar el funcionamiento de este registro bit a bit.

IRP RP1 DCRP0 /T0 CZ /PD

7 6 5 4 3 2 1 0

C – CARRY. Este bit se

pone a "1" cuando la

operación anterior ha

rebasado la capacidad

de un byte

DC – DIGIT CARRY. lo

mismo que el anterior

pero esta vez nos avisa

si el número no cabe en

cuatro bits.

Z – CERO. Se pone a "1" si la operación ha sido cero. Y

pasa a "0" si la operación no ha sido cero.

Page 25: Introducpic

/PD - Power - Down bit. Se

pone a "0" después de ejecutar

la instrucción SLEEP*, se pone

a "1" después de ejecutar la

instrucción CLRWDT* o

después de un power-up

/PD - Power - Down bit. Se

pone a "0" después de ejecutar

la instrucción SLEEP*, se pone

a "1" después de ejecutar la

instrucción CLRWDT* o

después de un power-up

/T0 – TIMER UP. Se pone a "0"

cuando se acaba el tiempo

del WATCHDOG*, Se pone a

"1" despues de ejecutar las

instrucciones, CLRWDT* o

SLEEP* o despues de un

power-up*.

RP0 Y RP1 – SELECCIÓN

DEL BANCO. La selección

del banco se hace mediante

RP0 (STATUS,5), si está a

"0" nos encontramos en el

banco 0, y si está a "1" nos

encontramos en el banco 1.

IRP. En este PIC no se usa

Page 26: Introducpic
Page 27: Introducpic

El PIC16F84A pertenece a la gama media y es

de tipo RISC; esto quiere decir que tiene un

juego de instrucciones reducido, en concreto

de 35 instrucciones o nemónicos que son la

base de funcionamiento del PIC.