1. ¡Hola!
Hoy Daremos un paseo por el mundo de los micro controladores,
y en especial conoceremos el mundo del PIC18F4550,
¿Que te parece la idea?...
¿Estas listo (a)?... Comencemos
1
Wilfran Yaraure
Ing. En Electronica
Facilitador
2. Unidad I:
Descripción General
Del Pic18f4550
Objetivo
Didáctico:
Describir El
Funcionamiento
Interno Del
Microcontrolador
Pic18f4550
Área Cs. De la Salud
Programa de Ing. Biomédica Dpto. De
Electromedicina
Unidad Curricular: Microcontroladores y
Microprocesadores II
Wilfran Yaraure
Ing. En Electronica
Facilitador
3. ¿Qué es un Microcontrolador Y Microprocesador?
MICROCONTROLADOR
Es un sistema cerrado que contiene
un computador completo y de
prestaciones limitadas que no se pueden
modificar.
Cuenta con un Unidad De
Procesamiento De Datos, Memorias;
Periféricos De Entrada Y Salida. Entre
otros módulos y componentes internos.
Es Programable, de fabrica no trae
ninguna programación.
MICROPROCESADOR
Es un sistema abierto con el que
puede ser parte de un computador,
acoplándole los módulos necesarios.
Cuanta con la unidad de control y la
unidad aritmética lógica
3
Wilfran Yaraure
Ing. En Electronica
Facilitador
Unidad I:
Descripción
General Del
PIC18F4550
4. Existe una serie de fabricantes de
microcontroladores, entre ellos Microchip,
Fabricante de los PIC, De los cuales hablaremos
Hoy.
Wilfran Yaraure
Ing. En Electronica
Facilitador
Unidad I:
Descripción
General Del
PIC18F4550
5. Familias de los PIC
Los PIC10xxxx
microcontroladores de 8
bits, de bajo coste, de 6
pines y bajas
prestaciones
Los PIC12xxxx
microcontroladores de 8
bits, de bajo coste, de 8
pines y bajas
prestaciones.
Los PIC16xxxx
microcontroladores de 8 bits,
con gran variedad de número
de pines
y prestaciones medias.
Los PIC18xxxxx
microcontroladores de 8 bits, con
gran variedad de número de pines
y prestaciones medias/altas.
Los PIC24xxxx
microcontroladores de 16
bits dsPIC’s
PIC18 F 4 5 50
5
Existe una serie de grupos o Familias en las que pueden ser
clasificados los PIC, según sus características Físicas y de
programación, entre ellas están:
Hace referencia a Familia
Tipo de Memoria:
F=Flash; C=EEPROM; LF= Flash Bajo Voltaje
Pines: 4= 40Pines, 2=28pines
Memoria de Código:
5=32K Bytes, 6=64K Bytes; 4=24K Bytes
Wilfran Yaraure
Ing. En Electronica
Facilitador
Unidad I:
Descripción
General Del
PIC18F4550
6. Arquitectura interna de un Microcontrolador
6
Esta esta referida a la manera en la que se realiza la comunicación entre las memorias y la CPU. Entre las
mas conocidas se encuentran:
Wilfran Yaraure
Ing. En Electronica
Facilitador
RISC
(Reduced Instruction Set
Computer)
Computador con juego de instrucciones
reducido, en este caso el micro controlador
reconoce y ejecuta solo operaciones básicas
(Sumar, restar, copiar, etc.), y para realizar
operaciones mas complicada, se emplea la
combinación de estas operaciones básicas,
por ejemplo, multiplicar se lleva acabo
realizando sumas sucesivas.
CISC
(Complex Instruction Set
Computer)
Computador con juego de instrucciones
completo, en este caso el micro controlador
reconoce y ejecuta mas de 200
instrucciones diferentes a un alta
velocidad. Es todo lo contrario la
arquitectura RISC.
VON-Neuman
En este caso el microcontrolador posee un
solo bloque de memoria y un bus de datos
de 8 bit. Todos los datos se trasmiten por
estas 8 líneas, sobrecargando las mismas,
lo que hace que la comunicación sea lenta e
ineficaz, la CPU puede leer una instrucción
o leer-escribir datos en-de la memoria,
pero debido a que solo se emplea un bus de
datos, los dos procesos no se pueden
realizar simultáneamente.
Ahora analicemos un poco el interior de un Microcontrolador
Unidad I:
Descripción
General Del
PIC18F4550
7. En este caso el microcontrolador posee dos buses de datos diferentes. Uno de 8 bit
que conecta la CPU con la Memoria RAM, el otro puede presentar varias líneas
(12, 14,16) que conectan la CPU con la memoria ROM.
Esto permite que la CPU pueda leer las instrucciones y acceder a la memoria de
datos a la Vez. La anchura de los datos que se mejan en la RAM son de 8 bit, por lo
que este será el ancho máximo de datos.
La Aquitectura Actualmente Empleda es
La Arquitectura HARDVARD
7
Wilfran Yaraure
Ing. En Electronica
Facilitador
Unidad I:
Descripción
General Del
PIC18F4550
8. PIC18F4550
Y ahora nos Adentramos en el Mundo del
PIC18F4550,
como te habras dado cuenta, este pertenece a la
Familia de los PIC18, una gama media Alta del
estos Micros, ademas maneja una estructura
interna tipo Harvard, y cuenta con una serie de
caracteristicas que lo hacen un potente
microcontrolador.
Te invito a que sigamos el recorrido.
8
Wilfran Yaraure
Ing. En Electronica
Facilitador
Unidad I:
Descripción
General Del
PIC18F4550
9. ¿Te estarás preguntando para
que sirve todo esto?
Todas estas características
están relacionadas con la
manera en que el micro
procesa la información, su
velocidad de cómputo, y su
manera de comunicarse con el
exterior
Como ya lo dijimos, La familia PIC18 cuenta
con características propias, como lo son:
Arquitectura RISC avanzada Harvard: 16- bit con 8- bit de datos.
77 instrucciones
Desde 18 a 80 pines
Hasta 64K bytes de Memoria de programa (hasta 2 Mbytes en ROMless)
Multiplicador Hardware 8x8
Hasta 3968 bytes de RAM y 1KBytes de EEPROM
Frecuencia máxima de reloj 40Mhz. hasta 10 MIPS.
Pila de 32 niveles.
Múltiples fuentes de interrupción
Periféricos de comunicación avanzados (CAN y USB)
9
Wilfran Yaraure
Ing. En Electronica
Facilitador
Unidad I:
Descripción
General Del
PIC18F4550
10. Aquí podemos Observar las características del
PIC18F4550:
10
Wilfran Yaraure
Ing. En Electronica
Facilitador
Vemos que este PIC se las
trae, y es digno de estudiar,
tiene una buena frecuencia de
trabajo, que es la que va a
controlar el reloj interno del
micro, que determina la
velocidad con la que ejecuta
cada línea de código.
¿Que te parece?
Unidad I:
Descripción
General Del
PIC18F4550
11. En este caso observamos la diagramación del
PIC18F4550:
11
Wilfran Yaraure
Ing. En Electronica
Facilitador
Aquí podemos observar como
es la disposición de los pines
del PIC18f4550 en un
encapsulado PDIP
Unidad I:
Descripción
General Del
PIC18F4550
12. Diagrama de Bloques Interno del PIC18F4550:
12
Wilfran Yaraure
Ing. En Electronica
Facilitador
En este Diagrama de Bloques
se intenta dar un ejemplo de
las rutas de comunicación
Internas del PIC18f4550, por
las cuales circulan los Datos
desde los Puertos I/O hasta
cada uno de los componentes
internos para su
procesamiento.
Unidad I:
Descripción
General Del
PIC18F4550
13. La memoria de
Programa es
donde se Guarda
el código de
programación,
La memoria RAM
es la encargada de
recibir los datos
desde el exterior
del micro a través
de los PUERTOS,
la memoria
EEPROM se
encarga de
Mantener todos
los datos
necesarios en el
micro después de
ser programado
Tipo de Memoria Capacidad Datos que almacena Lectura y escritura
Memoria de programa
memoria flash interna
32.768 bytes
Almacena instrucciones y
constantes/datos
Puede ser escrita/leída
mediante un programador
externo o durante la ejecución
del programa mediante unos
punteros.
Memoria RAM de dato
memoria SRAM interna
2048 bytes
En la que están incluidos
los registros de función
especial.
Almacena datos de forma temporal
durante la ejecución del programa
Puede ser escrita/leída en
tiempo de ejecución mediante
diversas instrucciones
Memoria EEPROM de
datos
memoria no volátil
256 bytes.
Almacena datos que se deben
conservar aun en ausencia de
tensión de alimentación
Puede ser escrita/leída en
tiempo de ejecución a través
de registros
Memoria de
configuración
12 bytes de memoria flash
2 bytes de memoria de
solo lectura
memoria en la que se incluyen los
bits de configuración
(12 bytes de memoria flash) y los
registros de identificación (2 bytes
de memoria de
solo lectura).
Solo Lectura
13
Wilfran Yaraure
Ing. En Electronica
Facilitador
Ahora hablemos un poco de como esta organizada la memoria de
PIC18F4550
Unidad I:
Descripción
General Del
PIC18F4550
14. Profundizando un poco en lo que es la
memoria de Configuración
Se trata de un bloque de memoria situado a partir de la posición
30000H de memoria de programa (más allá de la zona de memoria
de programa de usuario).
En esta memoria de configuración se incluyen:
Bits de configuración: contenidos en 12 bytes de memoria flash
permiten la configuración de algunas opciones del uC como:
– Opciones del oscilador
– Opciones de reset
– Opciones del watchdog
– Opciones de la circuiteria de depuración y programación
– Opciones de protección contra escritura de memoria de programa y
memoria EEPROM de datos
Estos bits se configuran generalmente durante la programación del
uC, aunque también pueden ser leídos y modificados durante la
ejecución del programa.
Registros de identificación: se trata de dos registros situados en las
direcciones 3FFFFEH y 3FFFFFH que contienen información del
modelo y revisión del dispositivo. Son registros de solo lectura y no
pueden ser modificados por el usuario.
14
Wilfran Yaraure
Ing. En Electronica
Facilitador
Unidad I:
Descripción
General Del
PIC18F4550
15. ¿Sabes como Almacena los datos este
PIC?
15
Bueno Te cuento… utiliza sus memorias de programa ordenadas en Pila de
Bloque, del verbo apilar: que significa Poner unas cosas sobre otras de manera
que formen una pila.
Imagina Varios Archivos Verticales, Con un conjunto de gavetas, cada una con
una etiqueta llamada dirección, escrita en numero Hexadecimales.
Tiene varios Bancos de memoria de esta forma, cada uno destinado a almacenar
datos, unos son de propósito general, es decir para almacenar el código
programado, o los datos obtenidos desde los puertos, y otros son para propósitos
específicos, como lo son los registros el TRISx, o El PPORTx
Además cuenta una Pila de bloque de memoria RAM independiente de 31
palabras de 21 bits que sirve para almacenar temporalmente el valor del PC
cuando se produce una llamada a subrutina o una interrupción.
Wilfran Yaraure
Ing. En Electronica
Facilitador
Unidad I:
Descripción
General Del
PIC18F4550
16. Continuando con el tema de los bloques de Memoria
16
Wilfran Yaraure
Ing. En Electrónica
Facilitador
La Memoria De Configuración
PIC18F4550
Se trata de un bloque de memoria situado a partir de la posición 30000H de
memoria de programa. En esta memoria de configuración se incluyen:
Bits de configuración, contenidos en 12 bytes de memoria flash permiten la
configuración de algunas opciones del uC como:
Opciones del oscilador Opciones de reset Opciones del watchdog
Opciones de la circuitería de depuración y programación
Opciones de protección contra escritura de memoria de programa y
memoria EEPROM de datos
Estos bits se configuran generalmente durante la programación del uC, aunque
también pueden ser leídos y modificados durante la ejecución del programa.
Y el Registros de identificación: Se trata de dos registros situados en las
direcciones 3FFFFEH y 3FFFFFH que contienen información del modelo y
revisión del dispositivo. Son registros de solo lectura y no pueden ser modificados
por el usuario.
Unidad I:
Descripción
General Del
PIC18F4550
17. 17
Wilfran Yaraure
Ing. En Electrónica
Facilitador
Memoria De Programa PIC18F4550
El uC PIC18F4550 dispone una memoria de programa de 32.768 bytes
desde la dirección 0000H- hasta la dirección 7FFFH.
Las instrucciones ocupan 2 bytes (excepto CALL, MOVFF, GOTO y
LSFR que ocupan 4 bytes). Por lo tanto la memoria de programa
pueden almacenar hasta 16.384 instrucciones.
La operación de lectura en posición de memoria por encima de 7FFFH
da ‘0‘ como resultado (equivalente a la instrucci6n NOP).
Direcciones especiales de la memoria de programa:
Vectorización del Reset es 0000H
Vectorización de las interrupciones de alta prioridad es la 0008H.
Vectorización de las interrupciones de baja prioridad es la 0018H.
Unidad I:
Descripción
General Del
PIC18F4550
18. La Memoria De Datos
PIC18F4550
18
El uC PIC18F4550 dispone una memoria RAM
de datos 2.048 bytes dividida en 8 bancos de
256 bytes.
Además dispone de 160 bytes dedicados a los
registros de función especial (SFR's) situados
en la parte alta del banco 15.
Para acceder a un byte de la memoria RAM de
datos primero debe seleccionarse el banco al
que pertenece el byte mediante el registro de
selección de banco (BSR) y a continuación
direccionar el byte dentro del banco.
Además existe una modalidad de acceso rápido
a las 96 posiciones de la parte baja del banco 0
y a los 160 bytes de SFR's (banco de acceso
rápido).
Los bancos 4, 5, 6 y 7 se utilizan también para
el USB.
Wilfran Yaraure
Ing. En Electrónica
Facilitador
Unidad I:
Descripción
General Del
PIC18F4550
19. PORTA, con 7 pines E/S, des RA0
hasta RA6
PORTD, con 8 pines
E/S, des RD0 hasta RD7.
PORTE, con 3 pines
E/S, y 1 de solo E. des
RE0 hasta RE3.
PORTC, con 5 pines E/S, y 2 pines solo
de E. des RC0 hasta RC1. RC2. RC4.
RC5. RC6. RC7.
PORTB, con 8 pines E/S, des
RB0 hasta RB7.
19
Wilfran Yaraure
Ing. En Electrónica
Facilitador
Ya adentrados en este mundo del PIC18F4550, ahora nos toca
hablar sobre su comunicación con el exterior
Puertos de Entrada y salida del PIC18F4550
• Este PIC dispone de
5 puertos de
entrada salida
• Con un total de 35
líneas digitales.
• Todas las líneas
digitales de E/S
disponen de al
menos una función
alternativa asociada
a alguna circuitería
especifica del uC.
• Cuando una línea
trabaja en el modo
alternativo no
puede ser utilizada
como línea digital
de E/S estándar.
Unidad I:
Descripción
General Del
PIC18F4550
20. Registros de Configuración de PUERTOS
20
Registro TRIS__:
mediante este registro se
configuran cada una de las
líneas de E/S del puerto como
ENTRADA (bit correspondiente
a ‘1’) o como SALIDA (bit
correspondiente a ‘0’) .
Registro LAT:
Mediante este registro se
puede leer o establecer el valor
del latch de salida
Registro PORT_:
Mediante este registro se
puede leer el nivel de pin de
E/S y se puede establecer el
valor del latch de salida.
Wilfran Yaraure
Ing. En Electrónica
Facilitador
Con estos 3
registros se
pueden
configurar y
controlar
los puestos
del PIC
Diagrama De
Bloques
Genérico De Un
Pin De E/S:
Unidad I:
Descripción
General Del
PIC18F4550
21. Existen También Los Registros De
Función Especial
21
Wilfran Yaraure
Ing. En Electrónica
Facilitador
La memoria RAM de
datos esta integrada por
los registros de
propósito general
(GPR’s) y los registros
de función especial
(SFR's).
Los SFR's son los registros mediante los cuales se pueden monitorizar/controlar el
funcionamiento de la CPU y de las unidades funcionales del uC.
Se distinguen dos conjuntos de SFR’s:
SFR's asociados con el núcleo del uC CPU:
❑ II REG, STITTS. BSA, etc...
❑ Interrupciones: INTCON. PIEI, PIRI, IPR1,
❑ Reset: RCON
SFR's asociados con las unidades funcionales:
❑ Timers: TOCON, TMR1H, TIR1L, TIC ON.
❑ Convertidor A/D: ADRESH, ADRESL, ADCONO, ADCON1,
EUSART: TXREG, TXSTA, RCSTA,
❑ CCP: CCPR1H, CCPR1L, CCP1CON.
❑ MSSP: SSPSTAT, SSPDATA, SSPCFG
❑ Puertos de E/S: TRISA, PORTA, TRISB, PORTB… Entre otros.
Unidad I:
Descripción
General Del
PIC18F4550
22. Cada Puerto cuenta con E/S con funciones alternativas y
conversion A/D por ejemplo:
EL PUERTO A: Dispone de 7 líneas de E/S. Las funciones alternativas son:
RA0: Entrada analógica (AN0) /entrada de comparación (C1IN-)
RA1: Entrada analógica (AN1) /entrada de comparación (C2IN-)
RA2: Entrada analógica (AN2) /entrada de comparación (C2IN+)
RA3: Entrada analógica (AN3) /entrada de comparación (C1IN+)
RA4: Entrada de reloj del Temporizador 0 (TOCKI) /salida de comparación (C1 OUT)
RA5: Entrada analógica (AN4) / salida de comparación (C2OUT)/HLVDIN entrada de detección de tensión
alta/baja
RA6: entrada del oscilador principal (OSC2)/salida de señal de reloj (CLK0)
Inicialmente y luego del reset las líneas RA0, RA1, RA2, RA3, RA5 se configuran como entradas analógicas,
por tanto si se desea configurar como E/S digitales hay que configurar con el registro ADCON1, según la
tabla, y el valor a cargar en el registro:
ADCON1
22
Wilfran Yaraure
Ing. En Electrónica
Facilitador
Se asigna el valor al registro ADCON1,y VCFG0 (Bit 4 y Bit 5), para los voltajes de referencia. Por ejemplo
si se desea que todas las líneas del puerto A sean para E/S Digitales según la tabla se la asigna
ADCON1=0b1111;
Unidad I:
Descripción
General Del
PIC18F4550
23. Cada Puerto cuenta con E/S con funciones alternativas y
conversion A/D por ejemplo:
EL PUERTO A: esta es una tabla con los Códigos binarios necesarios para la activación de
cada pin en analógico o Digital
23
Wilfran Yaraure
Ing. En Electrónica
Facilitador
Unidad I:
Descripción
General Del
PIC18F4550
24. Continuando con los Ejemplos de Funciones alternativas
de los puertos:
EL PUERTO B: Dispone de 8 líneas de E/S. Las funciones alternativas son:
RB0:Entrada analógica (AN12) / interrupción externa entrada de fallo del ECCP (FLT0) / entrada de datos
del SPI línea de datos del I2C (SDA)
RB1: Entrada analógica (AN10) / interrupción externa 1 (INT1) /línea
de reloj del SPI (SDI) /linea de reloj del I2C (SDA)
RB2: Entrada analógica (AN8)/ interrupción externa 2 (INT2) /salida de datos del USB (VCMO)
RB3: Entrada analógica (AN9) / línea de E/S del CCP2 (CCP2)/salida de datos del USB (VPO)
RB4: Entrada analógica (AN11) / interrupción por cambio en pin (KBIO) / salida de CS del SSP (CSSP)
RB5: Interrupción por cambio en pin (KBI1) / línea de programación (PGM)
RB6: Interrupción por cambio en pin (KBI2) / línea de programación (PGC)
RB7: Interrupción por cambio en pin (KBI3) / línea de programación (PGD)
Inicialmente y luego del reset las líneas RB0, RB1, RB2, RB3, RB4 se configuran como entradas analógicas,
por tanto si se desea configurar como E/S digitales hay que configurar con el registro ADCON1, de la misma
forma que se realiza con el Puerto A, según la tabla, y el valor a cargar en el registro:
ADCON1.
24
Wilfran Yaraure
Ing. En Electrónica
Facilitador
Unidad I:
Descripción
General Del
PIC18F4550
25. Mientras que las Funciones alternativas del Puerto C
seran:
Dispone de 5 líneas de E/S (RC0, RC1, RC2, RC6 y RC7) y 2 líneas de solo
entrada (RC4 y RC5). Las funciones alternativas son:
RC0: Salida del oscilador del Temporizador 1 (T1OSO) / entrada de contador de los Temporizadores 1 y 3 (T13CKI)
RC1: Entrada del oscilador del Temporizador 1 (T1OSI) / línea de E/S del CCP2 (CCP2) / Salida OE del transceiver del
USB (UOE)
RC2: Línea de E/S del CCP1 (CCP1) / Salida PWM del ECCP1 (P1A)
RC4: Línea menos del bus USB (D-) / línea de entrada del USB (VM)
RC5: Línea mas del bus USB (D-) / línea de entrada del USB (VP)
RC6: Salida de transmisión del EUSART (TX) / línea de reloj del EUSART (CK)
RC7: entrada de recepción del EUSART (RX) / línea de datos síncrona del EUSART (DT) / salida de datos del SPI
(SDO)
25
Wilfran Yaraure
Ing. En Electrónica
Facilitador
Unidad I:
Descripción
General Del
PIC18F4550
26. PUERTO D: Dispone de 8 líneas de E/S. Las funciones alternativas son:
RD0: Línea de datos del SPP (SPP0)
RD1: Línea de datos del SPP (SPP1)
RD2: Línea de datos del SPP (SPP2)
RD3: Línea de datos del SPP (SPP3)
RD4: Línea de datos del SPP (SPP4)
RD5: Línea de datos del SPP (SPPS) / salida PWM del ECCP1 (P1B)
RD6: Línea de datos del SPP (SPP6) / salida PWM del ECCP1 (P1C)
RD7: Línea de datos del SPP (SPP7) / salida PWM del ECCP1 (P1D)
26
Wilfran Yaraure
Ing. En Electrónica
Facilitador
Cada Puerto cuenta con E/S con funciones alternativas y
conversión A/D por ejemplo:
PUERTO E:Dispone de 3 líneas de E/S (RE0, RE1 y RE2) y Una línea de solo entrada
(RE3). Las funciones alternativas son:
RE0: Entrada analógica (AN5) / salida de reloj 1 del SPP (CK1SPP)
RE1: Entrada analógica (AN6) / salida de reloj 2 del SPP (CK2SPP)
RE2: Entrada analógica (AN7) / salida de habilitación del SPP (OESPP)
RE3: Línea de reset externo (MCLR) / Línea de programación (VPP)
Unidad I:
Descripción
General Del
PIC18F4550
27. ¡Bravo!
Lo hemos logrado… aun falta camino por recorrer, pero esto
un gran avance… ¿También lo crees, verdad? …
Te invito a permanecer atento (a) a las actividades venideras,
a revisar el AVA y el Correo electrónico
Puedes seguirme: en Ig: @profesor_y
(puedes encontrar algunos ejemplos de Infografías y carrusel)
Y escribir al Correo ucup2biounefm@gmail.com
Para finalizar sigue el recorrido del Cohete
27
Wilfran Yaraure
Ing. En Electrónica
Facilitador
Unidad I:
Descripción
General Del
PIC18F4550
28. "Grandes guerreros mantienen la calma en la tempestad... la
fuerza física no siempre se combate con otra igual, el guerrero
sede ante la fuerza y la redirige, una desventaja se convierte en
ventaja, 4 Oz empujaran 500 Kg." (Mulan)
Te invito a seguir manteniendo la calma, y redireccionar la
fuerza, aunque parezca que podemos hacer poco, que no
tenemos mucho con que luchar, desde nuestro lugar,
cumpliendo con nuestros trabajos, siempre dando lo mejor,
siempre entregando todo y apartándonos de la mediocridad,
podemos hacer mucho, sigue intentándolo, sigue haciéndolo,
sigue luchando, como David venció a Goliat tu también veceras.
@Profesor_Y
28
Wilfran Yaraure
Ing. En Electrónica
Facilitador