Libro ee digitales 2 borrador 1

Page 1

Sistemas Digitales II

Microcontroladores

PIC

uC PIC CCS Compiler Proteus

Ing.

Emilio

J.

Escalante

S


Sistemas

Digitales

II

Microcontroladores

PIC

INTRODUCCIÓN. La

situación

actual

en

el

campo

de

los

microcontroladores se ha producido gracias al desarrollo de

la

tecnología

de

fabricación

de

los

circuitos

integrados. Este desarrollo ha permitido construir las centenas de miles de transistores en un chip. Esto fue una

condición

previa

microprocesador.

Las

para

la

primeras

fabricación

de

un

microcomputadoras

se

fabricaron al añadirles periféricos externos, tales como memoria, otros.

líneas El

de

entrada/salida,

incremento

integración

permitió

posterior crear

un

temporizadores

de

la

circuito

densidad integrado

u de que

contenía tanto al procesador como periféricos. Así es cómo fue desarrollada la primera microcomputadora en un solo chip, denominada más tarde microcontrolador. Para entender con más facilidad las razones del éxito tan grande de los microcontroladores, vamos a prestar atención al siguiente ejemplo. Hace unos 10 años, diseñar un dispositivo electrónico de control de un ascensor de un edificio de varios pisos era muy difícil, incluso para un equipo de expertos. ¿Ha pensado alguna vez en qué requisitos debe cumplir un simple ascensor? ¿Cómo lidiar con la situación cuando dos o más personas llaman al ascensor

al

mismo

tiempo?

¿Cuál

llamada

tiene

la

prioridad? ¿Cómo solucionar las cuestiones de seguridad, de pérdida de electricidad, de fallos, de uso indebido? Lo que sucede después de resolver estos problemas básicos es

un

proceso

adecuados

meticuloso

utilizando

un

Ing.

de

diseñar gran

Emilio

los

número

J.

dispositivos de

Escalante

chips

S.I

1


Sistemas

Digitales

Microcontroladores especializados.

Este

meses,

dependiendo

Cuando

haya

proceso

de

la

terminado

puede

tardar

complejidad

el

proceso,

del

II PIC

semanas

o

dispositivo.

llega

la

hora

de

diseñar una placa de circuito impreso y de montar el dispositivo.

¡Un

dispositivo

enorme!

Es

otro

trabajo

difícil y tardado. Por último, cuando todo está terminado y probado adecuadamente, pasamos al momento crucial y es cuando uno se concentra, respira profundamente y enciende la fuente de alimentación. Esto

suele

convierte

en

ser

el

punto

un

verdadero

dispositivos

electrónicos

apropiadamente

desde

el

en

el

que

trabajo casi

inicio.

la

puesto nunca

Prepárese

fiesta

se

que

los

funcionan para

muchas

noches sin dormir, correcciones, mejoras… y no se olvide de que todavía estamos hablando de cómo poner en marcha un simple ascensor. Cuando el dispositivo finalmente empiece a funcionar perfectamente

y

todo

el

mundo

esté

satisfecho,

y

le

paguen por el trabajo que ha hecho, muchas compañías de desarrollo

estarán

interesadas

en

su

trabajo.

Por

supuesto, si tiene suerte, cada día le traerá una oferta de trabajo de un nuevo inversionista. Sin embargo, si lo requieren para trabajar en el control de los elevadores de un nuevo edificio que tiene cuatro pisos más de los que ya maneja su sistema de control. ¿Sabe cómo proceder? ¿Cree acaso que se pueden controlar las demandas de sus clientes? Suponiendo que se va a construir un dispositivo universal, que se puede utilizar en los edificios de 4 a 40 pisos, una obra maestra de electrónica. Bueno, incluso si

se

consigue

construir

Ing.

esta

joya

Emilio

J.

electrónica,

Escalante

el

S.I

2


Sistemas

Digitales

II

Microcontroladores

PIC

inversionista esperará delante de la puerta pidiendo una cámara en el ascensor o una música relajante en caso de fallo de ascensor, u un ascensor con dos puertas. De todos modos, la ley de Murphy es inexorable y sin duda usted no podrá tomar ventaja a pesar de todos los esfuerzos que ha hecho. Por desgracia, todo lo que se ha dicho hasta ahora sucede en la realidad. Esto es lo que “dedicarse

a

la

significa.

Es

así

aparición

de

ingeniería como

los

se

electrónica”

hacían

las

realmente

cosas

microcontroladores

hasta

la

(dispositivos

pequeños, potentes y baratos). El

dispositivo

pequeño

electrónico

submarino,

una

grúa

capaz o

de

un

controlar

ascensor

un

como

el

anteriormente mencionado, ahora está incorporado en un sólo chip. Los microcontroladores ofrecen una amplia gama de aplicaciones y sólo algunas se exploran normalmente.

¿Cómo elegir un microcontrolador? Bueno,

si

decisión

se

de

es

principiante,

trabajar

con

y

los

se

ha

tomado

la

microcontroladores,

¡Felicitaciones por la elección! No obstante, a primera vista, no es fácil la elección del microcontrolador más adecuado.

¡El

problema

no

es

el

pequeño

rango

de

dispositivos a elegir, sino todo lo contrario! Antes de empezar

a

diseñar

un

dispositivo

basado

en

un

microcontrolador, se debe tomar en cuenta lo siguiente: cuántas

entradas/salidas

funcionamiento,

realizaría

Ing.

son

necesarias el

Emilio

para

dispositivo

J.

Escalante

su otras

S.I

3


Sistemas

Digitales

II

Microcontroladores operaciones necesita

además

algún

comunicación

de

activar/desactivar

modulo

especializado

serie,

convertidor

en

tal

A/D,

PIC

un como

relé, el

de

modulación

de

ancho de pulso, entre otros. Cuando se tiene una clara imagen de lo que se quiere, el rango de selección se reduce considerablemente, y queda pensar es en el precio. Si se piensa en todas estas cosas por primera vez, todo parecerá un poco confuso, por esa razón, se va paso a paso. Antes que nada, se selecciona el fabricante, es decir, la familia de microcontroladores que ofrece, luego se aprende a trabajar con un modelo particular. Sólo es necesario aprender lo que se necesite aprender, con ello se

es

capaz

de

manejar

cualquier

modelo

del

mismo

fabricante. Más o menos, todo se parece a montar en bicicleta: después de varias caídas inevitables en el principio, luego se tendrá la capacidad de mantener el equilibrio y montar en cualquier otra bicicleta. ¡Por supuesto, nunca se

olvida

tanto

de

montar

en

bicicleta,

como

de

la

destreza de programación! Ahora

toca

decidir

microcontrolador, instrucciones

qué

cargar

un

apropiadas.

se

quiere

programa Antes

en

de

que él

haga

el

con

las

encender

el

dispositivo es recomendable verificar su funcionamiento con

ayuda

de

un

simulador.

Si

todo

funciona

como

es

debido, se incorpora el microcontrolador al sistema. Si alguna vez se necesita cambiar, mejorar o actualizar el programa, se puede hacer, ¿Hasta cuándo? Hasta quedar satisfecho con el resultado.

Ing.

Emilio

J.

Escalante

S.I

4


Sistemas

Digitales

Microcontroladores

II PIC

MICROCONTROLADORES Historia e importancia de los microcontroladores Hasta antes de la aparición de los microprocesadores (1971), la mayor parte de las aplicaciones digitales en electrónica se basaban en la llamada lógica cableada, es decir, si existía un problema este era analizado y se sintetizaba una función en base a la lógica de Boole que era la solución al problema planteado. Con la aparición de los microprocesadores, se varió el esquema

de

diseño

descompuesto

en

una

microprocesador instrucciones

de

tal

serie

forma de

ejecutaba

para

llevar

un

tareas

una a

que

más

serie

efecto

problema simples,

el

pasos

o

de

cada

era

una

de

las

tareas, en ocasiones no era necesario volver a armar un circuito

para

solucionar

otro

problema

sino

que

se

cambiaba las instrucciones (programa) para obtener otra aplicación. Desde luego el microprocesador es como el cerebro que ejecuta operaciones de índole aritméticas y lógicas, por tanto, no manejaba líneas externas (periféricos), más aún tampoco tenía un lugar donde almacenar el programa y los datos

que

respuesta

necesitaba al

el

problema.

instrucción

y

la

(hardware)

que

El

programa

microprocesador

ejecutaba; daban

para

el

al

conjunto

soporte

encontrar

la

buscaba

una

de

circuitos

necesario

al

Escalante

S.I

microprocesador se le llamo sistema mínimo.

Ing.

Emilio

J.

5


Sistemas

Digitales

Microcontroladores Con

el

pasar

de

los

años

el

sistema

II PIC

mínimo

se

convirtió en un estándar, por otro lado, la escala de integración mejoro y posibilito (1976) sintetizar en un solo chip un sistema mínimo, al cual se le llamo SISTEMA A que no era otra cosa que el primer microcontrolador. Los

principiantes

en

electrónica

creen

que

un

microcontrolador es igual a un microprocesador. Esto no es cierto. Difieren uno del otro en muchos sentidos. La primera

y

la

más

importante

diferencia

es

su

funcionalidad. Para utilizar al microprocesador en una aplicación

real,

se

debe

de

conectar

con

componentes

tales como memoria o componentes buses de transmisión de datos. Aunque el microprocesador se considera una máquina de

computación

poderosa,

no

está

preparado

para

la

comunicación con los dispositivos periféricos que se le conectan. Para que el microprocesador se comunique con algún

periférico,

se

deben

utilizar

los

circuitos

especiales. Así era en el principio y esta práctica sigue vigente en la actualidad. Por otro lado, al microcontrolador se le diseña de tal manera que tenga todas las componentes integradas en el mismo

chip.

especializados

No

necesita

para

su

de

aplicación,

otros

componentes

porque

todos

los

circuitos necesarios, que de otra manera correspondan a los periféricos, ya se encuentran incorporados. Así se ahorra

tiempo

y

espacio

necesario

para

construir

un

dispositivo. En consecuencia definimos así a un microcontrolador; como

un

procesador

con

su

sistema

mínimo

en

un

chip

(incluye memoria para programa y datos, periféricos de

Ing.

Emilio

J.

Escalante

S.I

6


Sistemas

Digitales

Microcontroladores entrada/salida,

conversores

AD

y

DA,

II PIC

módulos

especializados en la transmisión y recepción de datos). Desde luego que hay diferencias sustanciales como la arquitectura cerrada de un microcontrolador, en cambio en un

microprocesador

es

abierta,

podemos

sumar

nuevos

dispositivos en hardware en función a las necesidades que la aplicación demande.

Figura 1. Estructura interna de un microcontrolador.

Otra diferencia entre los microcontroladores y los microprocesadores es que los primeros cuentan con un set de instrucciones reducido en cambio la mayoría de los microprocesadores tienen mayor cantidad de instrucciones. Por otro lado la mayoría de los microcontroladores posee

Ing.

Emilio

J.

Escalante

S.I

7


Sistemas

Digitales

II

Microcontroladores

PIC

una arquitectura Harvard frente a una arquitectura Von Neumann de los microprocesadores. Los

microcontroladores

aplicaciones

industriales

se para

especializan resolver

en

problemas

planteados específicos, por ejemplo: los encontramos en los teclados o mouse de las computadoras, son el cerebro de

electrodomésticos,

también

los

encontramos

en

la

industria automotriz, en el procesamiento de imagen y video.

Cabe

señalar

que

el

aumento

progresivo

de

la

escala de integración y las técnicas de fabricación hacen que cada vez aparezcan microcontroladores más poderosos y rápidos. El

mundo

que

nos

rodea

está

basado

en

sistemas

digitales desarrollados entorno a microcontroladores, por tanto, un microcontrolador no es más que un dispositivo electrónico especifico,

encargado es

por

de

ello

“controlar” que

surge

un

la

proceso

necesidad

de

analizar y entender dichos elementos. La presente obra está desarrollada con la finalidad de

dar

las

nociones

microcontroladores

PIC

básicas

a

la

utilizando

un

programación

de

compilador

C,

concretamente el compilador CCS Compiler. A lo largo del desarrollo de cada uno de los temas se ira analizando los rudimentos del lenguaje y el repertorio de instrucciones incluidas en él. Este puede ser un buen punto de partida para

aquellos

programadores

que

están

empleando

algún

otro dialecto (Basic, Ensamblador, PicC18). Lo habitual, hasta ahora, es que los usuarios que se inician en este apasionante mundo de la programación de Microcontroladores, sin tomar en cuenta la marca que sea,

Ing.

Emilio

J.

Escalante

S.I

8


Sistemas

Digitales

II

Microcontroladores primero

lo

hacían

utilizando

el

lenguaje

PIC

ensamblador,

especifico no solo para cada marca de microcontrolador sino

para

cada

perfectamente

modelo,

los

ya

recursos

que

de

hay

cada

que

conocer

Microcontrolador

(Número de puertos de Entrada/Salida, Relojes internos, entre

otros),

al

principio

de

los

tiempos

de

estos

dispositivos esto era obligatorio, ya que los recursos de memoria y velocidad de procesamiento no eran muy grandes y había que optimizar el código al máximo, esto implicaba la utilización de un lenguaje de programación de bajo nivel, que bien utilizado explota los recursos de estos dispositivos

sin

procesamiento, computadores dispositivos

desperdiciar

pero

al

igual

personales, ha

ido

memoria que

las

ha

y

velocidad

ocurrido

prestaciones

creciendo

con

de

exponencialmente

de los

estos con

el

tiempo, siendo ya perfectamente factible el utilizar un lenguaje de alto nivel para programar estos dispositivos y aprovechar las ventajas de portabilidad que ofrecen este

tipo

podemos

de

hacer

lenguajes, un

de

programa

esta

para

un

manera PIC

por en

ejemplo,

concreto

y

utilizarlo en otro de mayores prestaciones sin modificar apenas nada del código fuente. Cualquiera

que

comience

en

este

mundo

de

la

programación pensara que para aprender a programar en lenguaje C vale cualquier compilador de uso general y lo que realmente interesa es saber las instrucciones de C que se tienen que utilizar para configurar, por ejemplo, un puerto como entrada o salida, o que código tengo que emplear

para

utilizar

los

convertidores

A/D,

que

incorporan ya casi todos los microcontroladores, pero hay

Ing.

Emilio

J.

Escalante

S.I

9


Sistemas

Digitales

II

Microcontroladores que

tener

en

cuenta

microcontroladores

son

que

los

PIC

compiladores

específicos

para

para estos

dispositivos embebidos y no cumplen con el Estándar ANSI C al ciento por ciento, por lo que cuando se comience a programar,

lo

más

seguro

es

que

se

observe

que

una

función del C estándar no funciona perfectamente, dando un error al compilar.

Ing.

Emilio

J.

Escalante

S.I

10


Sistemas

Digitales

Microcontroladores

II PIC

MICROCONTROLADORES PIC Los PIC son una familia de microcontroladores tipo RISC (del inglés Reduced Instruction Set Computer, en español

Computador

Reducidas)

con

fabricados

por

Conjunto

de

Microchip

Instrucciones

Technology

Inc.

y

derivados del PIC1650, originalmente desarrollado por la división de microelectrónica de General Instrument. El nombre actual no es un acrónimo. En realidad, el nombre completo es PICmicro, aunque generalmente se utiliza como Peripheral Interface Controller (controlador de interfaz periférico). El PIC original se diseñó para ser usado con la nueva CPU (Central Processing Unit, Unidad Central de Procesamiento) de 16 bits CP16000. Siendo en general una buena CPU, ésta tenía malas prestaciones de entrada y salida, y el PIC de 8 bits se desarrolló en 1975 para mejorar

el

rendimiento

Entradas/Salidas

(E/S)

del a

sistema

la

CPU.

quitando El

PIC

peso

de

utilizaba

microcódigo simple, almacenado en ROM para realizar estas tareas;

y

aunque

el

término

no

se

usaba

por

aquel

entonces, se trata de un diseño RISC que ejecuta una instrucción cada 4 ciclos del oscilador.

Figura 2. General Instrument PIC1650.

Ing.

Emilio

J.

Escalante

S.I

11


Sistemas

Digitales

II

Microcontroladores

PIC

En 1985 la división de microelectrónica de General Instrument se separa como compañía independiente que es incorporada

como

filial

(el

14

de

diciembre

de

1987

cambia el nombre a Microchip Technology y en 1989 es adquirida

por

un

grupo

de

inversores)

y

el

nuevo

propietario canceló casi todos los desarrollos, que para esas fechas la mayoría estaban obsoletos. El PIC, sin embargo, se mejoró con EPROM (Erasable Programmable ReadOnly

Memory;

borrable)

Memoria

para

programable.

de

conseguir

Hoy

en

varios

periféricos

serie,

UARTs,

día

solo un

de

controlador

multitud

incluidos

núcleos

lectura de

(módulos

control

PICs de

de

programable de

canal

vienen

con

comunicación

motores,

entre

otros.) y con memoria de programa desde 512 a 32.000 palabras (una palabra corresponde a una instrucción en lenguaje ensamblador, y puede ser de 12, 14, 16 ó 32 bits, dependiendo de la familia específica de PICmicro).

Figura 3. PIC® Microcontrollers

Ing.

Emilio

J.

Escalante

S.I

12


Sistemas

Digitales

Microcontroladores

II PIC

Arquitectura Microcontroladores PIC El

PIC

(Reduced

usa

un

juego

Instruction

de

Set

instrucciones

Computer

/

tipo

RISC

Computador

con

Conjunto de Instrucciones Reducidas), cuyo número puede variar desde 35 para PICs de gama baja a 70 para los de gama alta. Las instrucciones se clasifican en las que realizan operaciones entre el acumulador y una constante, entre

el

acumulador

instrucciones

de

y

una

posición

condicionamiento

y

de

de

memoria,

salto/retorno,

implementación de interrupciones y una para pasar a modo de bajo consumo llamada sleep. La arquitectura del PIC es sumamente

minimalista.

Está

caracterizada

por

las

siguientes prestaciones: - Área de código y de datos separadas (Arquitectura Harvard). - Un reducido número de instrucciones de longitud fija. - Implementa segmentación de tal modo que la mayoría de

instrucciones

tiempos

de

duran

reloj).

1

tiempo

de

haber

instrucciones

Puede

instrucción

(o

de

4

dos

tiempos de instrucción (saltos, llamadas y retornos de subrutinas

y

otras)

o

inclusive

con

más

tiempo

de

instrucción en PICs de gama alta. Esto implica que el rendimiento procesador

real es

de

de al

instrucciones menos

1/4

de

por la

segundo

frecuencia

del del

oscilador. - -Un solo acumulador (W), cuyo uso (como operador de origen)

es

implícito

(no

está

especificado

en

la

instrucción).

Ing.

Emilio

J.

Escalante

S.I

13


Sistemas

Digitales

Microcontroladores - Todas

las

registros

posiciones de

origen

de

y/o

la de

RAM

destino

funcionan de

II PIC como

operaciones

matemáticas y otras funciones. - Una pila de hardware para almacenar instrucciones de regreso de funciones. - Una relativamente pequeña cantidad de espacio de datos direccionable (típicamente, 256 bytes), extensible a través de manipulación de bancos de memoria. - El

espacio

de

datos

está

relacionado

con

el

CPU,

puertos, y los registros de los periféricos. - El

contador

de

programa

está

también

relacionado

dentro del espacio de datos, y es posible escribir en él (permitiendo saltos indirectos). A

diferencia

de

la

mayoría

de

otros

CPU,

no

hay

distinción entre los espacios de memoria y los espacios de registros, ya que la RAM cumple ambas funciones, y esta es normalmente referida como "archivo de registros" o simplemente, registros. Los microcontroladores PIC16F de Microchip pertenecen a una gran familia de microcontroladores de 8 bits (bus de

datos)

que

tienen

las

siguientes

características

generales que los distinguen de otras familias: - Arquitectura Harvard - Tecnología RISC - Tecnología CMOS Estas

características

se

conjugan

para

lograr

un

dispositivo altamente eficiente en el uso de la memoria

Ing.

Emilio

J.

Escalante

S.I

14


Sistemas

Digitales

Microcontroladores

II PIC

de datos y programa y por lo tanto en la velocidad de ejecución. Los microcontroladores que produce Microchip cubren un amplio rango de dispositivos cuyas características pueden variar según: - Empaquetado - Tecnología de la memoria incluida - Voltajes de operación - Frecuencia de operación Microchip ha dividido sus microcontroladores en tres grandes subfamilias de acuerdo al número de bits de su bus de instrucciones: Tabla 1. Subfamilias microcontroladores Microchip Subfamilia

Bits del bus de instrucciones

Nomenclatura

Base – Line

12

PIC12XXX y PIC14XXX

Mid – Range

14

PIC16XXX

High – End

16

PIC17XXX y PIC18XXX

En el nombre específico del microcontrolador pueden aparecer algunas siglas, las cuales determinan ciertas características

eléctricas

y

funcionales

del

microcontrolador, como se muestra en la siguiente tabla: Tabla 2. Características eléctricas y funcionales de los PIC Memoria/ Rango de

EPROM

voltaje

ROM

Flash

Estándar

C

4.5 a 6v

CR

4.5 a 6v

F

4.5 a 6v

Extendido

LC

2.5 a 6v

LCR

2.5 a 6v

LF

2 a 6v

Ing.

Emilio

J.

Escalante

S.I

15


Sistemas

Digitales

Microcontroladores

II PIC

Empaquetados Aunque cada empaquetado tiene variantes, especialmente en lo relativo a las dimensiones del espesor del paquete, en

general

se

pueden

encontrar

paquetes

tipo

PDIP

(Plastic Dual In Line Package), PLCC (Plastic Leaded Chip Carrier)

y

QFP

(Quad

Flat

Package),

los

cuales

se

muestran en las figuras siguientes:

Figura 4. Paquetes tipo PDIP, PLCC, SOIC, y QFP.

Oscilador Los PIC permiten diferentes modos para el oscilador. El

usuario

puede

seleccionar

Ing.

alguno

Emilio

J.

de

estos

Escalante

modos

S.I

16


Sistemas

Digitales

Microcontroladores programando

3

bits

de

configuración

del

II PIC

dispositivo

denominados: FOSC2, FOSC1 y FOSC0. En algunos de estos modos el usuario puede indicar que se genere o no una salida

del

oscilador

(CLKOUT)

a

través

de

un

pin

de

Entrada/Salida. Los modos de operación se muestran en la siguiente lista: Tabla 3. Osciladores

LP

Baja frecuencia (y bajo consumo de potencia) Cristal

XT

/

Resonador

cerámico

externos,

(Media

frecuencia)

HS

Alta velocidad (y alta potencia) Cristal/resonador Resistencia / capacitor externos (mismo que EXTRC

RC

con CLKOUT)

EXTRC Resistencia / capacitor externos EXTRC Resistencia / Capacitor externos con CLCKOUT INTRC Resistencia / Capacitor internos para 4 MHz INTRC

Resistencia / Capacitor internos para 4 MHz con CLKOUT

Los tres modos LP, XT y HS usan un cristal o resonador externo, la diferencia sin embargo es la ganancia de los drivers internos, lo cual se ve reflejado en el rango de frecuencia

admitido

y

la

potencia

consumida.

En

la

siguiente tabla se muestran los rangos de frecuencia así como los capacitores recomendados para un oscilador en base a cristal.

Ing.

Emilio

J.

Escalante

S.I

17


Sistemas

Digitales

Microcontroladores

II PIC

Tabla 4. Rangos de frecuencia y capacitores recomendados

Capacitores recomendados C1 C2

Modo

Frecuencia t铆pica

LP

32 kHz 200 kHz

68 a 100 pf 15 a 30 pf

100 kHz 2 MHz 4 MHz 8 MHz 10 MHz 20 MHz

68 15 15 15 15 15

XT HS

a a a a a a

150 30 30 30 30 30

68 a 100 pf 15 a 30 pf

pf pf pf pf pf pf

150 15 15 15 15 15

a a a a a a

200 pf 30 pf 30 pf 30 pf 30 pf 30 pf

Cristal externo: En los tres modos mostrados en la tabla

anterior

se

puede

usar

un

cristal

o

resonador

cer谩mico externo. En la siguiente figura se muestra la conexi贸n de un cristal a las patitas OSC1 y OS2 del PIC.

Figura 5. Conexi贸n oscilador XT.

Figura 6. Cristales de uso comercial.

Ing.

Emilio

J.

Escalante

S.I

18


Sistemas

Digitales

Microcontroladores

II PIC

Circuito RC externo: En los modos RC y EXTRC el PIC puede generar su señal oscilatoria basado en un arreglo RC externo conectado a la patita OSC1 como se muestra en la siguiente figura:

Figura 7. Oscilador RC externo

Este modo sólo se recomienda cuando la aplicación no requiera una gran precisión en la medición de tiempos. La frecuencia de oscilación depende no sólo de los valores de Rext y Cext, sino también del voltaje de la fuente Vdd. Los rangos admisibles para resistencia y capacitor son: Rext: de 3 a 100 Kohms y Cext: mayor de 20 pf Oscilador

externo:

También

es

posible

conectar

una

señal de reloj generada mediante un oscilador externo a la patita OSC1 del PIC. Para ello el PIC deberá estar en uno de los tres modos que admiten cristal (LP, XT o HS). La conexión se muestra en la siguiente figura:

Ing.

Emilio

J.

Escalante

S.I

19


Sistemas

Digitales

Microcontroladores

II PIC

Figura 8. Oscilador externo

Características generales del PIC16F877 La siguiente es una lista de las características que comparte el PIC16F877 con los dispositivos más cercanos de

su

familia

(PIC16F873,

PIC16F874,

PIC16F876,

PIC16F877) - CPU

RISC.

Sólo

35

instrucciones

que

aprender

(En

lenguaje ensamblador) - Todas las instrucciones se ejecutan en un ciclo de reloj, excepto los saltos que requieren dos - Frecuencia de operación de 0 a 20 MHz (DC a 200 nseg de ciclo de instrucción) - Hasta 8k x 14 bits de memoria Flash de programa - Hasta 368 bytes de memoria de datos (RAM) - Hasta 256 bytes de memoria de datos EEPROM - Hasta 4 fuentes de interrupción - Stack de hardware de 8 niveles - Reset de encendido (POR) - Timer de encendido (PWRT) - Timer de arranque del oscilador (OST) - Sistema de vigilancia Watchdog timer.

Ing.

Emilio

J.

Escalante

S.I

20


Sistemas

Digitales

Microcontroladores

II PIC

- Protección programable de código - Modo SEP de bajo consumo de energía - Opciones de selección del oscilador - Programación y depuración serie “In-Circuit” (ICSP) a través de dos patitas - Lectura/escritura

de

la

CPU

a

la

memoria

flash

de

programa - Rango de voltaje de operación de 2.0 a 5.5 volts - Alta disipación de corriente de la fuente: 25mA - Rangos

de

temperatura:

Comercial,

Industrial

y

Extendido - Bajo consumo de potencia, Menos de: -

0.6mA a 3V, 4 Mhz

-

20 µA a 3V, 32 Khz

-

menos de 1µA corriente de standby.

- Periféricos - Timer0: Contador/Temporizador de 8 bits con preescalador de 8 bits - Timer1: Contador/Temporizador de 16 bits con preescalador - Timer0: Contador/Temporizador de 8 bits con preescalador y post-escalador de 8 bits y registro de periodo. - Dos módulos de Captura, Comparación y PWM - Convertidor Analógico/Digital: de 10 bits, hasta 8 canales - Puerto Serie Síncrono (SSP) - Puerto Serie Universal (USART/SCI). - Puerto

Paralelo

Esclavo

(PSP):

de

8

bits

con

líneas de protocolo

Ing.

Emilio

J.

Escalante

S.I

21


Sistemas

Digitales

Microcontroladores

II PIC

Diagrama de Bloques del PIC16F877 En la siguiente figura se muestra a manera de bloques la organización interna del PIC16F877, Se muestra también junto a este diagrama su diagrama de patitas, para tener una visión conjunta del interior y exterior del Chip.

Figura 9. Diagrama de bloques

Descripción de la CPU Unidad

Central

De

Procesamiento

(Central

Processor

Unit). Como indica su nombre, esto es una unidad que controla todos los procesos dentro del microcontrolador. La CPU es la responsable de la interpretación y ejecución de la información (instrucciones) guardada en la memoria de programa. Muchas de estas instrucciones operan sobre

Ing.

Emilio

J.

Escalante

S.I

22


Sistemas

Digitales

Microcontroladores

II PIC

la memoria de datos. El CPU Consiste en varias unidades más pequeñas, de las que las más importantes son: Decodificador descodifica otros

las

circuitos

instrucciones”

de

instrucciones basándose

que

microcontrolador

instrucciones

es

del

en las

la

parte

programa

esto.

diferente

expresa

es El

para

y

que

acciona

“conjunto

cada

de

familia

capacidades

de

de

este

circuito. Unidad lógica aritmética (Arithmetical Logical Unit ALU) realiza todas las operaciones matemáticas y lógicas sobre datos. Acumulador o registro de trabajo. Es un registro SFR estrechamente

relacionado

con

el

funcionamiento

de

la

ALU. Es utilizado para almacenar todos los datos sobre los que se debe realizar alguna operación (sumar, mover). También

almacena

procesamiento denominado

los

futuro.

Registro

resultados Uno

Status

de

preparados los

(PSW),

para

registros

está

el SFR,

estrechamente

relacionado con el acumulador. Muestra el “estado” de un número almacenado en el acumulador (el número es mayor o menor que cero entre otros.) en cualquier instante dado.

Figura 10. Componentes de una CPU

Ing.

Emilio

J.

Escalante

S.I

23


Sistemas

Digitales

Microcontroladores

II PIC

BUS El bus está formado por 8, 16 o más cables. Hay dos tipos de buses: el bus de direcciones y el bus de datos. El bus de direcciones consiste en tantas líneas como sean necesarias para direccionar la memoria. Se utiliza para transmitir la dirección de la CPU a la memoria. El bus de datos es tan ancho como los datos, en este caso es de 8 bits o líneas de ancho. Se utiliza para conectar todos los circuitos dentro del microcontrolador. Ciclo de instrucción El registro Program Counter (PC) es gobernado por el ciclo

de

figura.

instrucción Cada

ciclo

como de

se

muestra

instrucción

en

la

la

CPU

siguiente

lee

(ciclo

Fetch) la instrucción guardada en la memoria de programa apuntada por PC y al mismo tiempo ejecuta la instrucción anterior, esto debido a una cola de instrucciones que le permite ejecutar una instrucción mientras lee la próxima.

Figura 11. Ciclo de instrucción

Como puede verse, cada ciclo de instrucción (Tcy) se compone a su vez de cuatro ciclos del oscilador (Tosc). Ing.

Emilio

J.

Escalante

S.I

24


Sistemas

Digitales

Microcontroladores

II PIC

Cada ciclo Q provee la sincronización para los siguientes eventos: Q1: Decodificación de la instrucción Q2: Lectura del dato (si lo hay) Q3: Procesa el dato Q4: Escribe el dato Debido ciclos

a

de

esto

cada

reloj,

de

ciclo manera

de

instrucción

que

si

la

consume

frecuencia

4 de

oscilación es Fosc, Tcy será 4/Fosc. Registros de la CPU. Registro PC. Registro de 13 bits que siempre apunta a la siguiente instrucción a ejecutarse. En la siguiente sección se dan mayores detalles en el manejo de este registro. Registro de Instrucción. Registro de 14 bits. Todas las instrucciones se

colocan

en

el

para

ser

decodificadas por la CPU antes de ejecutarlas. Registro W. Registro de 8 bits que guarda resultados temporales de las operaciones realizadas por la ALU Registro

de

Estado

(03h

y

83h,

STATUS)

contienen

varios bits de estado de la unidad central, el estado aritmético de la ALU, el estado del reset y un par de bits de selección de página denominados RP1 y RP0. Ocupa la posición 03h del banco 0 y la 83h del banco 1. Algunos de estos bits se pueden cambiar manualmente a través del programa. Otros los activa automáticamente el PIC cuando se

dan

ciertos

procesos.

Estos

bits

se

llaman

flags

(banderas). Para dar una idea práctica, una bandera se

Ing.

Emilio

J.

Escalante

S.I

25


Sistemas

Digitales

Microcontroladores

II PIC

levanta (se pone a 1) cuando ha pasado algo. El registro STATUS está formado por 8 bits. Tabla 5. Registro STATUS

R/W-0

R/W-0

R/W-0

R-1

R-1

R/W-x

R/W-x

R/W-x

IRP

RP1

RP0

/TO

/PD

Z

DC

C

bit 7

bit 6

bit 5

bit 4

bit 3

bit 2

bit 1

bit 0

R/W significa que el bit correspondiente se puede leer y escribir, mientras que R significa que solamente puede ser leído. También se indica el estado que se establece tras un reset. - Bit 7, IRP: Selección del banco en direccionamiento indirecto. Este bit junto con el de más 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. - Bit

6

Selección

y

5,

de

RP0

y

página

o

RP1:

Register

banco

de

la

Bank

Select.

memoria

con

direccionamiento directo. Cada página contiene 128 bytes. Como

el

PIC16X84

sólo

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. Después de un reset,

RP0

se

pone

automáticamente

a

0.

RP1

debe

mantenerse a 0. El bit RP1 deberá ser puesto a cero, ya que si no nos saldríamos del rango de memoria. - Bit 4 (flag), TO: Time Out (Tiempo acabado) o Se

pone

a

1

tras

conectar

la

alimentación

o

al

ejecutar CLRWDT o SLEEP.

Ing.

Emilio

J.

Escalante

S.I

26


Sistemas

Digitales

Microcontroladores

II PIC

o 0. Se pone a 0 por desbordamiento del Perro Guardián WDT. - Bit 3 (flag), PD: Power Down (Apagado). Se pone automáticamente a 1 tras conectar la

o

alimentación

Vdd

o

ejecutar

CLRWDT,

que

resetea

el

contador WatchDog. o Se pone a 0 al ejecutar la instrucción SLEEP. - Bit 2 (flag), Z: Cero o 1

=

El

resultado

de

una

operación

aritmética

o

lógica es 0. o 0 = El resultado es distinto de 0. - Bit 1 (flag), DC (Digit Carry). Acarreo en el 4º bit de

menos

peso.

Funciona

igual

que

el

bit

de

Carry

descrito a continuación. De interés en operaciones en BCD - Bit 0 (flag), 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 también el bit de "llevada" en

las

También

instrucciones lo

emplean

de las

sustracción

SUBWF

instrucciones

RLF

y y

SUBLW. RRF

de

rotación de bits. o 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. o Resta  1. Se pone a 1 si en la resta no se ha producido llevada.

Ing.

Emilio

J.

Escalante

S.I

27


Sistemas

Digitales

Microcontroladores

II PIC

 0. Se pone a 0 cuando se ha producido llevada en la resta con las operaciones SUBWF y SUBLW. Organización de la memoria del PIC Los PIC tienen dos tipos de memoria: Memoria de Datos y Memoria de programa, cada bloque con su propio bus: Bus de datos y Bus de programa; por lo cual cada bloque puede ser accesado durante un mismo ciclo de oscilación. La memoria de datos consta de dos áreas mezcladas y destinadas a funciones distintas. Un registro o una celda de memoria es un circuito electrónico que puede memorizar el

estado

emplean

de

dos

un tipos

byte. de

En

los

microcontroladores

registros:

los

registros

se de

funciones especiales (SFR) y los Registro de Propósito General (GPR)

Figura 12. Registros de 8 bits

Registros de Propósito Especial (SFR) Los SFR son localidades asociadas específicamente a los diferentes periféricos y funciones de configuración del PIC y tienen un nombre específico asociado con su función. Mientras que los GPR son memoria RAM de uso

Ing.

Emilio

J.

Escalante

S.I

28


Sistemas

Digitales

Microcontroladores

II PIC

general. Cada microcontrolador dispone de un número de registros de funciones especiales (SFR), con la función predeterminada

por

el

fabricante.

Sus

bits

están

conectados a los circuitos internos del microcontrolador tales como temporizadores, convertidores A/D, osciladores entre otros, lo que significa que directamente manejan el funcionamiento microcontrolador.

de

estos

circuitos,

Imagínese

ocho

o

sea

del

interruptores

que

manejan el funcionamiento de un circuito pequeño dentro del microcontrolador.

Figura 13. Registros de función especial SFR

Ing.

Emilio

J.

Escalante

S.I

29


Sistemas

Digitales

Microcontroladores

II PIC

Tabla 6. Tabla de registros de funci贸n especial SFR

Registro de Prop贸sito General (GPR) Los GPR Tambi茅n son registros de 1 byte cada uno. Los registros

GPR

(General

Purpose

Register)

sirven

para

almacenar los datos o variables que se procesan en el programa.

El

PIC16F84A

tiene

Ing.

68

Emilio

registros

J.

GPR,

Escalante

todos

S.I

30


Sistemas

Digitales

II

Microcontroladores

PIC

ubicados en el banco 0, entre las direcciones 0x0C y 0x4F.

En

accesos

el

a

banco

los

1

no

registros

hay del

registros banco

0.

GPR,

solo

Dicho

en

hay

otras

palabras, los registros GPR del banco 1 son un reflejo de los

GPR

del

banco

0.

Los

PIC16F877A/876A

tienen

368

registros GPR. Los últimos 16 registros de los bancos 1, 2 y 3 son los mismos que del banco 0. Los PIC16F874A/873A tienen 192 registros GPR. Su mapa de RAM es un poco diferente debido principalmente a los accesos repetidos. Todas estas diferencias serán de preocupación solo cuando se programe en ensamblador. Los registros GPR no tienen nombres propios, pero los compiladores de alto nivel saben cómo administrarlos para almacenar las variables del programa. Por otro lado, si se programa en ensamblador, se les debe acceder mediante sus direcciones, ya sea directamente usando números, o asignándoles directivas,

nombres como

equ

a

las

o

direcciones

cblock.

Por

con

algunas

ejemplo,

en

el

siguiente código se designan los nombres var1 y var2 a los

registros

de

direcciones

0x25

y

0x30,

respectivamente. var1 equ 0x25 var2 equ 0x30 Luego se podrán usar esos nombres para acceder a los registros designados. Por ejemplo, el siguiente código copia el contenido del primer registro al segundo. movf var1, W ; Mover var1 a W movwf var2 ; Mover W a var2 El diseñador puede elegir cualquier registro GPR como sus

variables

de

programa.

Ing.

Para

Emilio

ello

J.

debe

recordar

Escalante

S.I

31


Sistemas

Digitales

Microcontroladores siempre

dรณnde

se

localizan,

en

el

PIC16F84A

II PIC estรกn

mapeados a partir de la direcciรณn 0x0C, en los PIC16F87xA empiezan en la direcciรณn 0x20 en el banco 0; los otros bancos se usan raramente en ensamblador.

Figura 14. Memorias de los Microcontroladores PIC.

Bancos de memoria Toda la memoria de datos estรก organizada en 4 bancos numerados 0, 1, 2 y 3. Para seleccionar un banco se debe hacer

uso

de

los

bits

del

registro

STATUS<7:5>

denominados IRP, RP1 y RP0. Hay dos maneras de acceder a la

memoria

de

datos:

Ing.

Direccionamiento

Emilio

J.

directo

Escalante

e

S.I

32


Sistemas

Digitales

Microcontroladores

II PIC

indirecto. La selección de bancos se basa en la siguiente tabla Tabla 7. Bits del registro STATUS<7:5>

Direccionamiento Indirecto (IRP) 0 1

RP1:RP0

Banco

0 0 1 1

0 1 2 3

0 1 0 1

Cada banco consta de 128 bytes (de 00h a 7Fh). En las posiciones más bajas de cada banco se encuentran los SFR, y arriba de éstos se encuentran los GPR. Toda la memoria de datos está implementada en RAM estática.

Figura 15. Memoria de Programa

Ing.

Emilio

J.

Escalante

S.I

33


Sistemas

Digitales

Microcontroladores

II PIC

Memoria ROM La memoria ROM se utiliza para guardar permanente el programa que se está ejecutando. Es la razón por la que es

frecuentemente

PIC16F887

tiene

localidades). tecnología

llamada 8Kb

Como

FLASH,

de

“memoria memoria

la

memoria

su

contenido

de

ROM

ROM

programa”. (en

está

se

total

fabricada

puede

El 8192 con

cambiar

al

proporcionarle un voltaje de programación especial (13V). No

obstante,

no

es

necesario

explicarlo

en

detalles

puesto que se realiza automáticamente por un programa especial en la PC y un simple dispositivo electrónico denominado programador. La Memoria de Programa en los PIC16Fxxx es de tipo flash, aquí es donde se aloja el programa que el CPU ejecutará.

En

los

PIC16

la

memoria

de

programa

se

cuantifica en palabras, de 14 bits cada una. Son de 14 bits porque cada instrucción es de 14 bits. Esto suele impresionar

un

poco

al

novel,

quien

está

habituado

a

medir la capacidad de las memorias en bytes (8 bits). El PIC16F84A tiene 1 k (1024) palabras de memoria. En tiempo de ejecución son de solo lectura. Con 1 k puede almacenar hasta 1024 instrucciones de código ensamblador. Los PIC16F877A/876A tienen 8 k (8192) palabras de memoria de programa mientras que los PIC16F874A/873A tienen 4 k (4192). Los cuatro PICmicros ofrecen la posibilidad de escribir en su memoria de programa incluso en tiempo de ejecución.

Esta

función

puede

ser

aprovechada

para

almacenar datos procesados por el usuario o para permitir la autoprogramación del PIC.

Ing.

Emilio

J.

Escalante

S.I

34


Sistemas

Digitales

Microcontroladores

II PIC

En las siguientes figuras las memorias de programa del PIC están acompañadas por el PC (Program Counter) y la Pila (Stack). Es así porque hay una estrecha relación en su trabajo.

Figura 16. Contador de Programa, Pila y Memoria de programa.

El Contador de Programa, PC El

PC

instrucción

es

un

que

registro debe

que

ejecutar

indica el

CPU.

la Al

siguiente arrancar

microcontrolador, el PC vale 0x0000 y se va incrementando automáticamente, con lo que el PIC debería ejecutar una a

Ing.

Emilio

J.

Escalante

S.I

35


Sistemas

Digitales

Microcontroladores

II PIC

una todas las instrucciones del programa. En los PICs de la

familia

direccionar

Mid-Range un

el

máximo

PC

de

8

es k

de

13

bits,

palabras

de

pudiendo

memoria

de

programa. La Pila o STACK Es una memoria que almacena temporalmente el valor del PC

(Program

Counter)

cuando

el

programa

llama

a

una

subrutina o cuando salta al Vector de Interrupción, en una interrupción. En los PICs de la familia Mid-Range la Pila tiene únicamente 8 niveles y se administra a nivel hardware, esto es, no hay instrucciones para acceder a ella

directamente.

Su

operación

es

enteramente

en

background. Solo debemos cuidar de que no se llegue a desbordar. Cuando se ejecuta una instrucción CALL o es reconocida una interrupción el PC es guardado en el stack y el apuntador de stack es incrementado en 1 para apuntar a la siguiente posición vacía. A la inversa, cuando se ejecuta una instrucción RETURN, RETLW o RETFIE el contenido de la posición actual del stack es colocado en el PC. El PCLATH no se modifica en ninguna de estas operaciones, cuando el apuntador de stack ya está en la posición 8 y se ejecuta otro CALL se reinicia a la posición 1 sobrescribiendo en dicha posición. No existe ningún indicador que avise de esta

situación.

Así

que

el

usuario

deberá

llevar

el

control para que esto no ocurra. Vector de Reset. Cuando ocurre un reset el contenido del PC es forzado a cero, ésta es la dirección donde la

Ing.

Emilio

J.

Escalante

S.I

36


Sistemas

Digitales

II

Microcontroladores

PIC

ejecución del programa continuará después del reset, por ello se le llama “dirección del vector de reset”. Vector

de

interrupción.

Cuando

la

CPU

acepta

una

solicitud de interrupción ejecuta un salto a la dirección 0004h, por lo cual a esta se le conoce como “dirección del vector de interrupción”. El registro PCLATH no es modificado en esta circunstancia, por lo cual habrá que tener cuidado al manipular el PC dentro de la Rutina de Atención

a

la

Interrupción

(Interrupt

Service

Routine

(ISR)). Aunque el archivo de registros en RAM puede variar de un PIC a otro, la familia del PIC16F87x coincide casi en su totalidad. En la siguiente figura se muestra a detalle el mapa de este archivo de registros y su organización en los cuatro bancos que ya se describieron. El PIC16F84A es de los muy pocos que tienen 2 bancos de RAM; el resto de los PIC16F, que son la gran mayoría, tienen 4 bancos. La existencia de los bancos solo es de consideración (y un dolor de cabeza) cuando se programa en lenguaje ensamblador. Al

apagar

la

fuente

de

alimentación,

se

pierde

el

contenido de la memoria RAM. Se utiliza para almacenar temporalmente creados

y

los

datos

utilizados

y

los

durante

resultados el

inmediatos

funcionamiento

del

microcontrolador. Además los microcontroladores cuentan con una memoria EEPROM

(MEMORIA

Programmable

Rom

eléctricamente).

El

EEPROM /

(Electrically

rom

programable

contenido

Ing.

de

Emilio

la

J.

Erasable y

EEPROM

borrable se

Escalante

puede

S.I

37


Sistemas

Digitales

Microcontroladores

II PIC

cambiar durante el funcionamiento (similar a la RAM), pero

se

queda

permanentemente

guardado

después

de

la

pérdida de la fuente de alimentación (similar a la ROM). Por lo tanto, la EEPROM se utiliza con frecuencia para almacenar los valores creados durante el funcionamiento, que

tienen

que

estar

permanentemente

guardados.

Por

ejemplo, si se ha diseñado una llave electrónica o una alarma,

sería

estupendo

permitir

al

usuario

crear

e

introducir una contraseña por su cuenta. Por supuesto, la nueva contraseña tiene que estar guardada al apagar la fuente de alimentación. En tal caso una solución perfecta es el microcontrolador con una EEPROM embebida. Puertos De Entrada/Salida (E/S) Para

hacer

conectarlo periférico.

a

útil un

Cada

un

microcontrolador,

dispositivo

externo,

microcontrolador

es

hay

decir,

tiene

uno

que a

o

un más

registros (denominados puertos) conectados a los pines en el microcontrolador. ¿Por qué se denominan como puertos de entrada/salida? Porque se puede cambiar la función de cada pin como se requiera. Por ejemplo, se desea que el dispositivo encienda y apague las tres indicadores LED’s y que simultáneamente monitoree el estado lógico de 5 sensores o botones de presión. Uno de los puertos debe estar configurado de tal manera que haya tres salidas (conectadas a los LEDs) y cinco entradas (conectadas a los sensores). Eso se realiza simplemente por medio de software, lo que significa que la función de algún pin puede ser cambiada durante el funcionamiento.

Ing.

Emilio

J.

Escalante

S.I

38


Sistemas

Digitales

II

Microcontroladores

PIC

Figura 17. Pines de entrada/salida (E/S)

Una

de

las

características

más

importantes

de

los

pines de entrada/salida (E/S) es la corriente máxima que pueden

entregar/recibir.

En

la

mayoría

de

los

microcontroladores la corriente obtenida de un pin es suficiente para activar un LED u otro dispositivo de baja corriente (10-20mA). Mientras más pines de E/S haya, más baja es la corriente máxima de un pin. En otras palabras, todos los puertos de E/S comparten la corriente máxima declarada

en

la

hoja

de

especificación

técnica

del

microprocesador. Otra pueden

característica

importante

disponer

los

resistores

de

conectan

los

de

los

resistores pines

al

pines

es

pull-up.

polo

positivo

que

Estos del

voltaje de la fuente de alimentación y su efecto se puede ver al configurar el pin como una entrada conectada a un interruptor mecánico o a un botón de presión. Las últimas versiones

de

los

microcontroladores

tienen

las

resistencias pull-up configurables por software.

Ing.

Emilio

J.

Escalante

S.I

39


Sistemas

Digitales

Microcontroladores

II PIC

Cada puerto de E/S normalmente está bajo el control de un registro SFR especializado, lo que significa que cada bit

de

ese

registro

determina

el

estado

del

pin

correspondiente en el el microcontrolador. Por ejemplo, al escribir un uno lógico (1) a un bit del registro de control (SFR), el pin apropiado del puerto se configura automáticamente como salida. Eso significa que el voltaje llevado a ese pin se puede leer como 0 o 1 lógico. En caso contrario, al escribir 0 al registro SFR, el pin apropiado del puerto se configura como salida. Su voltaje (0V o 5V) corresponde al estado del bit apropiado del registro del puerto. La

mayoría

de

los

multipropósito,

por

RA3/AN3/Vref+/C1IN+ microcontrolador

pines

del

microcontrolador

ejemplo, para

indica

el que

la

asignación

quinto éste

son

pin

dispone

de

del las

siguientes funciones: - RA3 Tercera entrada/salida digital del puerto A - AN3 Tercera entrada analógica - Vref+ Referencia positiva de voltaje - C1IN+ Entrada positiva del comparador C1 La

funcionalidad

de

los

pines

presentados

anteriormente es muy útil puesto que permite un mejor aprovechamiento de los recursos del microcontrolador sin afectar a su funcionamiento. Estas funciones de los pines no se pueden utilizar simultáneamente, sin embargo se pueden

cambiar

en

cualquier

instante

durante

el

funcionamiento.

Ing.

Emilio

J.

Escalante

S.I

40


Sistemas

Digitales

Microcontroladores

II PIC

Figura 18. Arquitectura de los microcontroladores PIC.

Ing.

Emilio

J.

Escalante

S.I

41


Sistemas

Digitales

Microcontroladores Las

siguientes

tablas

se

refieren

a

las

II PIC

funciones

establecidas en los pines de microcontroladores DIP de 40 pines. Tabla 8. Pines Microcontroladores PIC

Ing.

Emilio

J.

Escalante

S.I

42


Sistemas

Digitales

Microcontroladores

II PIC

Tabla 9. Cont. Pines Microcontroladores PIC

Ing.

Emilio

J.

Escalante

S.I

43


Sistemas

Digitales

Microcontroladores

II PIC

Tabla 10. Cont. Pines Microcontroladores PIC

Ing.

Emilio

J.

Escalante

S.I

44


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.