xlii
4.7.- ANEXO3
4.7.1.- El Microcontrolador PIC16F84:
Este microcontrolador es un Circuito Integrado Programable o PIC por sus
siglas en Inglés: (Programmable Integrated Circuit), es el nombre comercial
con el que la compañía Microchip ha designado a sus microcontroladores.
Por sus características y costo, estos dispositivos son ideales para realizar
casi cualquier proyecto de control. Su principal característica al igual que
cualquier otro microcontrolador, es que todos los elementos requeridos para
realizar su trabajo ya vienen incorporados dentro del propio encapsulado.
De tal suerte, lo único que tenemos que hacer, es programarlo, conectar
sus terminales a las entradas o la salida de la señal que deseamos. En el
proyecto se utiliza como transmisor en forma serial de todas las señales a
procesar en forma digital (0 y 1). La figura 4.7.1 muestra su estructura
externa:
Figura 4.7.1.- Circuito Integrado PIC16F84 y sus pines
xliii
4.7.1.1.- Descripción y funcionamiento de los Pines .-
•• VSS y VDD: (pines 5 y 14) son respectivamente las patillas de masa y
alimentación. Está comprendida entre 2V y 6V.
•• OSC1/CLKIN y OSC2/CLKOUT : (pines15 y 16) son los pines de la
entrada de cristal/ fuente externa de reloj y salida de oscilador a cristal
respectivamente.
Los distintos elementos de la familia 16X84X, dependiendo de la
nomenclatura que utilizan tienen distintas características de:
* Frecuencia máxima de funcionamiento
* Tipo de oscilador utilizado para generar frecuencias de reloj
* Margen de la tensión de alimentación.
Los microcontroladores PIC, permiten cuatro tipos de osciladores externos
para aplicarles la frecuencia de funcionamiento. Durante el proceso de
grabación, antes de introducir el programa en memoria, debe indicarse el tipo
de oscilador empleado en los bits FSOC1 y FSOC2 de la Palabra de
Configuración. Los tipos de osciladores que utiliza el microcontrolador son:
* Oscilador de cristal o resonador de alta velocidad "HS"(High Speed
Crytal/Resonator): Es un oscilador de frecuencia comprendida entre 4MHz y
20MHz.
* Oscilador o resonador cerámico "XT" (Crystal/Resonator): Se trata de un
oscilador estándar que permite una frecuencia de reloj comprendidas entre
100KHz y 4 MHz.
xliv
* Oscilador de cristal de cuarzo o resonador cerámico de baja potencia "LP"
(Low Power Crystal): Se trata de un oscilador de bajo consumo con un cristal
o resonador diseñado para trabajar con frecuencias comprendidas entre
32KHz y 200KHz.
* MLCR /Vpp: (pin 4) Entrada de Reset si está a nivel bajo y entrada de la
tensión de programación cuando se está programando el dispositivo. Más
adelante veremos como se realiza el reset del microcontrolador y que formas
hay de hacerlo.
* RA0-RA4/TOCK1 : (Pines 17,18,1,2 y 3 respectivamente) Corresponden a
cuatro líneas bidireccionales de E/S del PORTA. Es capaz de entregar
niveles TTL cuando la tensión de alimentación aplicada en VDD es de 5V ±
5%. El pin RA4, si se programa como salida es de colector abierto.
Como entrada puede programarse en funcionamiento normal o como
entrada del contador/temporizador TMR0.
* RB0-RB7: (Pines 6,7,8,9,10,11,12 y 13 respectivamente) Corresponden a
ocho líneas bidireccionales de E/S del PORTB. Es capaz de entregar niveles
TTL cuando la tensión de alimentación aplicada en VDD es de 5V ± 5%. RB0
puede programarse además como entrada de interrupciones externas INT.
Los pines RB4 a RB7 pueden programarse para responder a interrupciones
por cambio de estado. La patilla RB6 y RB7 corresponden con las líneas de
entrada de reloj y entrada de datos respectivamente, cuando está en modo
programación.
xlv
4.7.2.- El Microcontrolador PIC16F77:
Este microcontrolador es mucho más versátil que el Pic16F84 utilizado
para transmitir los datos. Es usado como receptor, ya que puede manejar
tablas de datos; muy eficiente cuando de procesos que no son del todo
lineales se trata. Además cuenta con mas puertas E/S, que de algún modo
facilitará el manejo de presentación de datos tanto en display’s como
encendido y apagado de leds indicadores de eventos, que son
aproximadamente 16, y son totalmente independientes. Sumado a esto
activación de alarma a través de un zumbador, y pulsador que es usado
para desactivar dicho zumbador cuando el operador o persona que esté en
frente del panel final, así lo requiera. La figura 4.7.2 presenta el circuito
externo:
Figura 4.7.2.- Circuito Integrado PIC16F877 y sus pines
xlvi
CARACTERÍSTICAS PRINCIPALES 4.7.2.1.- Características Principales Pertenece a la familia de microcontroladores RISC de 8bits con memoria
FLASH que combinan el voltaje de funcionamiento más bajo con un
convertidor A/D de 10bits. Este microcontrolador dispone de 8Kx14bits de
memoria FLASH mejorada, 256 bytes de memoria de datos EEPROM y el
voltaje de funcionamiento más bajo de la industria desde 2,0V a 5,5V. Es
ideal para aplicaciones programables o alimentadas por baterías,
aplicaciones como controladores del cuerpo humano, controles de maquinas
programables, mantenimiento de redes, teléfonos alta gama, dispositivos y
sensores actualizables en campo.
Los dispositivos también proporcionan de 5 a 8 canales de convertidores
A/D de 10bits, USART para aplicaciones de adquisición de datos multipunto
con detección de direccionamiento, hasta 5MIPS a 20MHz, permite la
comunicación I2C o SPI para la expansión de periféricos, dos
temporizadores de 8 bits y uno de 16 bits. La precisión de los temporizadores
es de 16bits en captura y comparación, con 12,5ns y 200ns respectivamente
y modulación de anchura de pulso de 20KHz con 10 bits de resolución. La
tecnología Enhanced Flash de Microchip ofrece con 1.000.000 de ciclos de
borrado escritura, la mayor durabilidad de la industria. Los
microcontroladores también ofrecen la programación serie y en circuito,
permitiendo la grabación después de soldarse en la placa.
Se puede realizar también la depuración en circuito y tiempo real mediante
el modo "Background Debugger" de los PIC16F877, con tan sólo un sencillo
interfaz de 5 hilos.
xlvii
RESUMEN:
• CPU RISC de arquitectura paralela, o lo que es lo mismo, que tiene
diferente memoria para los datos y el programa.
• Tiene 35 instrucciones en ensamblador, que se ejecutan en un ciclo
de maquina, excepto las de salto que lo hacen en 2 ciclos de máquina.
• Velocidad máxima de operación 20 MHz à ciclo máquina 200 nseg.
• 8 K palabras(14 bits) de memoria flash de programas
• 368 bytes de memoria de datos (RAM)
• 256 byrtes de memoria de datos (EEPROM)
• 1 Watchdog
• 2 Timer/Contador de 8 bits
• 1 Timer/ Contador de 16 bits
• 2 canales de PWM para controlar motores
• 8 canales de conversión analógico-digitales de 10 bits
• Puerto serie síncrono con SPI
• Puerto paralelo esclavo PSP de 8 bits
• I2C
• USART
xlviii
4.7.2.2.- Descripción de las Puertas de entrada / salida.-
Patitas de Propósito General:
v OSC1/CLKIN(9): Entrada de cristal de cuarzo o del oscilador
externo.
v OSC2/CLKOUT(10): Salida del cristal de cuarzo.
v VSS(8-9): conexión a tierra.
v VDD(20): entrada de la alimentación positiva.
v MCLR#/VPP/THV(1): entrada de reset o entrada de voltaje de
programación o voltaje alto en el modo set.
Puertas:
puerta A:
v RA0/AN0(2): puede actuar como línea digital de E/S o como entrada
analógica al conversor AD(canal 0).
v RA1/AN1(3): igual que la RA0/AN0.
v RA2/AN2/VREF-(4): puede ser línea digital de E/S, entrada analógica
o entrada de voltaje negativo de referencia.
v RA3/AN3/VREF+(5): puede ser línea digital de E/S, entrada analógica
o entrada de voltaje positivo de referencia.
v RA4/TOCKI(6): Línea digital de E/S o entradas del reloj del Timer0.
salida con colector abierto.
v RA5/SS#/AN4(7): Línea digital de E/S, entrada analógica o selección
como esclavo de la puerta serie síncrona.
xlix
puerta B:
v RB0/INT(21): línea digital de E/S o entrada de petición de
interrupción externa.
v RB1(22): línea digital de E/S.
v RB2(23): línea digital de E/S.
v RB3/PGM(24): línea digital de E/S o entrada del voltaje bajo para
programación.
v RB4(25): línea digital de E/S.
v RB5(26): línea digital de E/S.
v RB6/PGC(27): línea digital de E/S. En la programación serie recibe
las señales de reloj.
v RB7/PGD(28): línea digital de E/S. En la programación serie actua
como entrada de datos.
puerta C:
v RC0/T1OSO/T1CKI(11): línea digital de E/S o salida del oscilador del
Timer1 o como entrada de reloj del Timer1.
v RC1/T1OSI/CCP2(12): línea digital de E/S o entrada al oscilador del
Timer1 o entrada al módulo captura2/salida comparación2/ salida de
PWM2.
v RC2/CCP!(13): línea digital de E/S. También puede actuar como
entrada captura1/salida comparación1/salida de PWM1.
v RC3/SCK/SCL(14): línea digital de E/S o entrada de relojserie
sincronía/salida de los modos SPI e I2C.
l
v RC4/SDI/SDA(15): línea digital de E/S o entrada de datos SPI o I/O
datos en modo SPI e I2C.
v RC5/SDO(16): línea digital de E/S o salida de datos en modo SPI.
v RC6/TX/CK(17): línea digital de E/S o patita del transmisor USART
asíncrono o como reloj del síncrono.
v RC7/RX/DT(18): línea digital de E/S o receptor del USART
asíncrono o como datos en el síncrono.
puerta D:
v RD0/PSP0-RD7/PSP7: Pueden actuar como E/S digital o como
lineas para la transferencia de información en la comunicación de la
puerta paralela esclava. Sólo disponible en los PIC16F874/7.
puerta E:
v RE0/RD#/AN5: E/S digital o señal de lectura para la puerta paralela
esclava o entrada analógica(canal 5).
v RE1/WR#/AN6: E/S digital o señal de escritura en la puerta paralela
esclava o entrada analógica al conversor A/D(canal 6).
v RE2/CS#/AN7: E/S digital o activación/desactivación de la puerta
paralela o entrada analógica (canal 7).
li
4.7.3.- Diferencias y semejanzas entre la familia PIC16F877 y 16F84
Las diferencias son un tanto considerables, en cuanto que el pic16F877
maneja mas puertos entrada / salida y además internamente contiene un
convertidor analógico / digital con características similares al ADC0808. El
pic16F84 tiene memoria flash, pero con una capacidad de 1k palabras, sólo
tiene un Timer y 13 líneas de entradas / salidas(E/S) digitales y el modelo
normal soporta una frecuencia de 10 MHz, aunque el “A” llega a los 20 MHz.
Es un microcontrolador pobre pero resultón, por su sencillez y precio unidos
a la imaginación del proyectista.
Los nuevos pic16F877 se pueden considerar como una combinación de
las virtudes del pic16F84 con la inclusión de los recursos de los pic16C73 y
74. Incorporan la memoria flash, con una capacidad de 4k y 8k palabras de
14 bits, sin cambiar la estructura interna del procesador y conservando el
mismo repertorio de instrucciones. Observe la tabla N° 4.7.1 que detalla
mejor las diferencias - semejanzas, y características relevantes entre ambos
microcontroladores:
lii
Tabla 4.7.1.- Características relevantes del Pic16F877 junto a las del Pic16F84A.
MODELO PIC16F84A PIC16F877 MEMORIA
Bytes 1792 14336
PROG.(FLASH) Palabras 1024 x 14 8192 x 14 MEMORIA Bytes EEPROM 64 256 DATOS Bytes RAM 68 368
CONVERTIDOR (ADC)
NO 8(10 BITS)
BOD(detección de baja tensión)
NO SÍ
Líneas E/S
13 33
Comunicación Serie
NO USART / MSSP
CCP
NO 2
TEMPORIZADORES
1-8 bit, 1-WDT
FRECUENCIA MAX. en MHz
20 20
ICSP(Programación Serie en circuito) SÍ SÍ
ENCAPSULADOS
18P,18SO,20SS 40P,44L,44PQ,44PT
FUENTES DE INTERRUPCIÓN
4 14
COMUNICACIÓN PARALELO NO Sí
La memoria RAM de datos de los PIC16F877 posee una
capacidad de 368 bytes. Aunque superan ampliamente los 68
bytes del PIC16F84, mantienen la misma estructura, basada
en 4 bancos de 128 bytes cada uno; seleccionables con los
bits RP0 yRP1 del registro Estado. La memoria de datos no
liii
volátil de 64 bytes tipo EEPROM que tenía el PIC16F84, en
los nuevos PIC16F877 de 40 patitas sube hasta 256 bytes.
En los PIC16F877 se manejan hasta 14 posibles fuentes de
interrupción y 3 Timer, frente a las fuentes y 1 Timer del
PIC16F84. El número de puertas también se ve aumentado
sustancialmente con 5 puertas.
Los PIC16F877 incorporan recursos inexistentes en los PIC16F84:
n Módulos CCP: Capturan y comparan impulsos.
n Comunicación serie: USART ( comunicación entre subsistemas o
máquinas(RS-232)), y MSSP(comunicación entre circuitos integrados)
n Comunicación Paralelo: Protocolo PSP mas rápido que la
comunicación serie, pero hipoteca muchas entradas / salidas.
n Conversor A/D: Conversor analógico – Digital de 10 bits, con 8
canales de entradas.
Tanto los PIC16F84 / 16F877 responden a una serie de instrucciones o
códigos que se deben grabar en su memoria de programa. En total son 35
instrucciones ó nemónicos manejadas por estos microcontroladores. Las
instrucciones se dividen en tres(3) grupos diferentes: Orientadas a los
registros, orientadas a los bits, y los registros de control. Todas las
instrucciones se ejecutan en un ciclo de instrucción, es decir, en un
microsegundo cuando se tiene un cristal de 4 MHz, excepto las instrucciones
de salto que ocupan dos(2) ciclos de instrucción.
ANEXO4
liv
4.8.1.- Este circuito representa “la salida” del SENSOR DE
CORRIENTE, como se puede observar no necesitará pasar
por un convertidor analógico – digital (ADC); sino que va
directamente al puerto B del PIC16F84; transmisor de serial
de datos.
OR EXCLUSIVA: Entradas diferentes è SALIDA Alto COMPARADOR: V(+) > V(-) è Alto........[Vref = V(-)]
Figura 4.8.1.- Digitalización directa entrada analógica del sensor de
corriente (0 a 5V)
Recommended