Professional Documents
Culture Documents
Facultad de Ciencias de la
Administracin Escuela de
Ingeniera de Sistemas y Telemtica
Gua de Microcontroladores
Autores:
Danny Noboa
Daro Espinoza
Revisin:
Febrero/2014
Contenido
1.
Gua de Microcontroladores
Sumario
2.
3.
4.
5.
6.
1.1.
1.2.
1.3.
1.4.
1.5.
1.5.1.
Procesadores (Microcontroladores)................................................................7
1.5.2.
Bus de Sistema.............................................................................................. 8
1.5.3.
Chipset.......................................................................................................... 8
1.5.4.
Memorias....................................................................................................... 9
2.2.
2.3.
2.4.
2.5.
Puerto Paralelo....................................................................................................... 27
3.1.
Tipos de Puertos.............................................................................................. 27
3.2.
Pines y Registros............................................................................................. 29
Puerto Serial........................................................................................................... 32
4.1.
Conectores y pines.......................................................................................... 32
4.2.
Protocolo de comunicacin..............................................................................33
Puerto USB............................................................................................................. 35
5.1.
Especificaciones generales..............................................................................35
5.2.
Historia............................................................................................................ 35
5.3.
5.3.1.
USB 2.0........................................................................................................ 40
5.3.2.
5.3.3.
5.3.4.
Cables y Conectores....................................................................................44
5.4.
Especificaciones Elctricas..............................................................................45
5.5.
Microcontroladores................................................................................................. 47
6.1.
Definicin........................................................................................................ 47
6.2.
6.3.
Arquitectura de un microcontrolador...............................................................48
Gua de Microcontroladores
Sumario
6.4.
7.
Microcontroladores de 8 bits...........................................................................49
PIC.......................................................................................................................... 50
7.1.
Definicin........................................................................................................ 50
7.2.
Pic 16X84........................................................................................................ 50
7.3.
7.4.
PIC 16F87X...................................................................................................... 52
7.5.
17CXXX........................................................................................................... 57
7.6.
PIC 18C(F)XXX................................................................................................. 61
8.
Programacin de PIC.............................................................................................. 70
8.1.
8.2.
PIC 16F877A.................................................................................................... 70
8.3.
9.
Ventajas e inconvenientes...............................................................................75
9.2.
9.3.
10.
Prcticas............................................................................................................. 79
Gua de Microcontroladores
Elementos Generales de Arquitectura de la IBM PC
1.1.
un Sistema Microprocesado
Partes
CPU:
ALU:
Gua de Microcontroladores
Elementos Generales de Arquitectura de la IBM PC
1.2.
lector
que
la
primera
microcomputadora
de
la
historia
la
fabric
Micro
Instrumentation Telemetry Systems en 1975 con el nombre de Altair 8800. Es por ello
la decisin de fabricar su PC a golpe de talonario, comprando todo el trabajo que le
llevaban de ventaja sus competidores. Esto era un lujo que una empresa de la
envergadura de IBM se poda permitir. No obstante, destacar que IBM no era consciente
del xito que iba a tener su producto. (Alonso130, 2010)
MEMORI
A
EXTERNA
AO
PC
UP
ISA
DISCO
DURO
1981
PC
8088
8 bits
1983
PC/XT
8088/86
8/16 bits
10M
Gua de Microcontroladores
Elementos Generales de Arquitectura de la IBM PC
1984
PC/AT
80286
16 bits
1987
EISA
386 486
32 bits
20M
-
5
-
Todo empez a finales del Siglo XIX. En plena revolucin industrial EEUU reciba a diario
miles y miles de inmigrantes que buscaban fortuna en el nuevo continente. Esto
provoco semejante caos en las oficinas del censo que las autoridades no tuvieron ms
remedio que convocar un concurso pblico para mejorar el sistema existente.
Precisamente un inmigrante alemn llamado Herman Hollerith, que era empleado del
censo en Nueva York, desarrollo una mquina perforadora que bautiz como "Punch
Card Tabulating Machine". Este invento fue un gran xito e hizo que Hollerith ganara el
concurso. Todo ello llev al alemn a crear su propia empresa que llam "Tabulating
Machine" y durante ms de 10 aos se dedic a fabricar mquinas perforadoras con
mucho xito.
Pero no fue hasta 1911 cuando Charles R. Flint gestion la fusin de esta empresa con
dos ms del sector (Computing Scale e International Time Recording). El resultado fue
Computing-Recording Company (C-T-R), una empresa de unos 1300 empleados que se
dedicaba a fabricar todo tipo de maquinaria: balanzas industriales, cronmetros y
hasta cortadores de carne o queso. A los pocos aos la economa de esta empresa
empezo a tambalearse. Entonces tomo sus riendas, Thomas J. Watson (para algunos el
autntico fundador de IBM). Watson consigui elevar C-T-R a la cumbre, adems de
extenderla por todo el mundo, y en 1924 le cambi el nombre a International Bussines
Machines (IBM). Dos aos despus, IBM irrumpe en el mercado espaol con grn exito.
(Innovador, 2011)
Desde los tiempos de Watson hasta nuestros das, IBM ha sido lider de su sector, y
parece ser que lo seguir siendo durante muchos aos.
1.3.
Evolucin de la Arquitectura AT
AO
HECHOS HISTORICOS
1944
1952
1969
Gua de Microcontroladores
Elementos Generales de Arquitectura de la IBM PC
1970
1971
Disco Flexible
1981
1983
Intel 8088
PC/XT con procesador 8086 que permite trabjar de 8 a 16 bits
1984
1987
1987
1990
1992
1995
Tabla 2 Hechos importantes en lnea de tiempo para los PC's (Mogrovejo, 2013)
1.4.
Definicin de Mainboard.
La Mainboard o tarjeta madre no es ms que una placa cuya funcin es conectar todos
los dispositivos tanto externos como internos, que necesite un computador. A
continuacin vemos algunos de los componentes que utiliza la Mainboard:
Gua de Microcontroladores
Elementos Generales de Arquitectura de la IBM PC
1.5.
1.5.1.
Procesadores (Microcontroladores)
Qu es un Microprocesador?
Es un conjunto de dispositivos electrnicos que interactan entre s para realizar una
tarea determinada.
Microcontroladores:
Los microcontroladores son computadoras en un solo chip que poseen una Unidad
Central de Procesamiento (CPU, Central processing unit), memoria de programa y de
datos, puertos de entrada/salida (E/S) de serie y paralelo, temporizadores e
interrupciones internas y externas. Los microcontroladores son dispositivos electrnicos
inteligentes que se emplean para aplicaciones de control y monitoreo. Actualmente, los
microcontroladores
se
usan
en
muchos
equipos
comerciales
industriales.
Gua de Microcontroladores
Elementos Generales de Arquitectura de la IBM PC
automatizacin de oficinas, como por ejemplo, los ordenadores personales, las
impresoras lser, las mquinas de facsmil y los telfonos inteligentes.
1.5.2.
Bus de Sistema
Tipos de Buses:
Simples: Uso de lneas separadas, direcciones y datos.
Multiplexado: Uso de la misma lnea para transmitir direcciones y datos.
1.5.3.
Chipset
Definicin de un chipset
Un chipset es el conjunto de circuitos integrados diseados con base a la arquitectura
de un procesador (en algunos casos, diseados como parte integral de esa
arquitectura), permitiendo que ese tipo de procesadores funcionen en una placa base.
Sirven de puente de comunicacin con el resto de componentes de la placa, como son
la memoria, las tarjetas de expansin, los puertos USB, ratn, teclado, etc.
Las placas base modernas suelen incluir dos integrados, denominados puente norte y
puente sur.
Puente norte: Se conecta con el procesador y con la memoria. Controla las
funciones de acceso hacia y entre el microprocesador, la memoria RAM, el puerto
grfico AGP o el PCI-Express de grficos, y las comunicaciones con el puente sur.
Puente sur: Tiene comunicacin con todos los perifricos como mouse,
teclado, anteriormente el puerto paralelo actualmente ya no viene en las maquinas
actuales.
Funcionamiento:
Chipset 875 de Intel, usado con procesador Pentium 4 en encapsulado de pines.
El Chipset es el que hace posible que la placa base funcione como eje del sistema,
dando soporte a varios componentes e interconectndolos de forma que se
comuniquen entre ellos haciendo uso de diversos buses. Es uno de los pocos elementos
que tiene conexin directa con el procesador, gestiona la mayor parte de la
informacin que entra y sale por el bus principal del procesador, del sistema de vdeo y
muchas veces de la memoria RAM. (compPC, 2014)
Gua de Microcontroladores
Elementos Generales de Arquitectura de la IBM PC
En la actualidad los principales fabricantes de chipsets son AMD, ATI Technologies
(comprada en 2006 por AMD), Intel, NVIDIA, Silicon Integrated Systems y VIA
Technologies.
1.5.4.
Memorias
Memoria de Programa:
ROM: equivale a Read Only Memory (memoria de slo lectura). Este tipo de memoria
almacena el programa del microcontrolador y los datos que son constantes. Las
memorias ROM se programan durante el proceso de fabricacin por lo que no se puede
alterar su contenido. Las memorias ROM son tiles, solamente, si se ha desarrollado
una versin final del programa y se desean fabricar varios miles de copias de estas.
PROM: Las memorias PROM o ROM programables son bsicamente iguales a las
memorias ROM, pero presentan la particularidad de que la primera y nica grabacin
posible no se realiza durante el proceso de fabricacin necesariamente, por lo que no
se precisa el desarrollo de mscaras especiales para cada contenido determinado de la
memoria (como ocurra en la memoria ROM clsica), reduciendo considerablemente los
gastos del proceso.
EPROM: significa Erasable Programmable Read Only Memory (Memoria de slo lectura
programable y borrable). Esta memoria es muy similar a la memoria ROM, pero la
EPROM puede programarse con un dispositivo programador adecuado. Las memorias
EPROM tienen una pequea ventana de vidrio transparente colocada encima del chip
para que sus datos puedan borrarse al aplicar luz ultravioleta (UV). Estas memorias se
borran y se reprograman hasta que el usuario quede satisfecho con el programa final.
EEPROM: significa Electrically Erasable Programmable Read Only Memory (memoria
de slo lectura, programable y borrable elctricamente). Se trata de una memoria no
voltil por lo que se puede borrar y programar bajo el control del programa. Las
EEPROMs se usan para guardar informacin de configuracin, valores mximos y
mnimos, datos de identificacin, etc. Las memorias EEPROM son, normalmente, muy
lentas.
RMM: Memoria principalmente de lectura.
EAPROM: Elctricamente alterable programable Read-Only tipo PROM cuyo contenido
puede ser alterado.
Memoria de Datos:
Gua de Microcontroladores
Elementos Generales de Arquitectura de la IBM PC
RAM: significa Random Access Memory (memoria de acceso aleatorio). Esta memoria
es de propsito general y normalmente se usa para almacenar los datos usados por los
programas. La memoria RAM es voltil, es decir, sus datos se pierden al desconectar la
alimentacin. La mayora de los microcontroladores poseen una cierta cantidad de
memoria RAM interna.
NRAM: Considerada una memoria RAM no voltil, es decir con el cambio de energa
esta no pierde sus datos.
SRAM: memoria RAM esttica, estas memorias tienen una celda de almacenamiento
bsica constituida por un biestable. Su principal caracterstica son sus pequeos
tiempos de acceso, siendo muy utilizadas en aquellas aplicaciones que precisen de
esta peculiaridad; sin embargo, no suelen ofrecer grandes capacidades, debido a su
limitada capacidad de integracin y al elevado precio que suelen presentar.
DRAM: memoria RAM dinmica, estas memorias presentan una celda elemental de
almacenamiento basada en un condensador. Esta sencillez implica una gran facilidad
de integracin, por lo que es posible alcanzar altos niveles de integracin, con unos
tiempos de acceso bastante aceptables. El principal inconveniente de este diseo es
que el condensador bsico no almacena la informacin indefinidamente, por lo que es
necesario actualizarla o refrescarla peridicamente.
10
Gua de Microcontroladores
Interrupciones en la IBM PC Generalidades
2.1.
Las
Tratamiento de interrupciones en la PC
interrupciones
son
seales
recibidas
por
el
procesador
de
un
sistema
11
Gua de Microcontroladores
Interrupciones en la IBM PC Generalidades
Tipos de Interrupciones
Enmascarables
(INT):
Las
interrupciones
enmascarables
pueden
ser
enmascaradas, es decir estas interrupciones pueden ser atendidas si es que se lo
permite. El permiso para la ejecucin de estas interrupciones puede ser gestionado por
software.
No Enmascarables (NMI): A diferencia de las interrupciones enmascarables, las no
enmascarables tienen la particularidad de que su ejecucin se dar en cualquier
circunstancia.
A continuacin una representacin de los tipos de interrupciones:
Ejercicios en clase
Disear un circuito para atender 3 interrupciones, 2 enmascarables (Tx y Px) y 1 no
enmascarable (pulsante).
12
Gua de Microcontroladores
Interrupciones en la IBM PC Generalidades
D2
BAT1
LED-RED
5V
R2
233
RV1
+88.8
mA
35K
13
Gua de Microcontroladores
Interrupciones en la IBM PC Generalidades
Para el clculo de las resistencias usadas se tienen como datos iniciales el voltaje de la
fuente (Vcc = 5v) el voltaje con el que trabaja un LED (Vl = 1.5v) y su corriente mnima
y mxima (0.1mA y 10mA).
Partimos de:
I=
V
R
I min=
VccVl
R
R=
VccVl
I min
R=
5 v 1.5 v
=35000=35 K 50 K( valor comercial)
0.0001 A
I max=
VccVl
R
R=
VccVl
I max
R=
5 v 1.5 v
=233.33 220 ( valor comercial )
0.015 A
14
Gua de Microcontroladores
Interrupciones en la IBM PC Generalidades
Disear un circuito con 2 pulsantes y 2 leds, la iluminacin de los LEDs debe ser
variable y complementaria entre s mismos. Un pulsante es asignado a cada LED para
poder visualizar su iluminacin.
Se toman los valores de resistencias para generar corriente mxima y mnima del
ejercicio anterior.
D2
+88.8
LED-RED
BAT1
mA
D1
5V
+88.8
LED-GREEN
mA
R2
233
RV1
R1
35k
233
2.2.
Este tipo de interrupciones son producidas por los dispositivos hardware del sistema,
de igual manera las interrupciones producirn un abandono momentneo del
procesamiento normal del procesador para atender la interrupcin.
A continuacin un ejemplo para comprender una interrupcin de hardware.
15
Gua de Microcontroladores
Interrupciones en la IBM PC Generalidades
Un perifrico hardware (ratn, teclado, impresora, timer) realiza un pedido de
interrupcin por el canal NMI (Interrupcin no enmascarable) o por INTR (Interrupcin
enmascarable) al microprocesador.
El microprocesador atender a la interrupcin y acudir al Vector de Interrupciones,
donde se encuentran las direcciones de atencin para las interrupciones, para
averiguar la direccin asociada a dicha interrupcin. Por ejemplo ST1.
En el vector de interrupciones se ubica tambin el Vector de Reset, que es un
puntero predeterminado, donde el procesador debe comenzar tan pronto pueda
ejecutar instrucciones.
Conocida la direccin (ST1), esta indicar el cdigo asociado a la interrupcin.
Seguramente encontraremos en ST1 una interrupcin en lenguaje ensamblador como
go to AI1 que llevara a donde se encuentra el Cdigo de las Interrupciones.
Por ltimo en ST1 se encontrar una instruccin IRET o IRETD con la que se finalizar
la interrupcin. El procesador volver a su procesamiento normal.
Para atender interrupciones el procesador deber abandonar momentneamente su
procesamiento anterior, esto incluye el peligro de prdida de informacin para esto
har uso de la pila o Stack. El Stack es un espacio de memoria que est reservado
para resguardar el PC (Contador de Programa), registros importantes (acumulador, de
trabajo, etc) y ciertas variables de inters.
Los vectores de interrupcin son almacenados generalmente en los primeros 1024
bytes de la memoria de programa.
2.3.
16
Gua de Microcontroladores
Interrupciones en la IBM PC Generalidades
Agrega 8 interrupciones con vector y propiedades codificadas al microprocesador. Se
puede ampliar sin ms circuitos adicionales para aceptar hasta 64 solicitudes de
interrupcin utilizando 1 8259A Maestro y 8 esclavos conectados en cascada.
Fue diseado para minimizar la sobrecarga y el software requerido en el manejo de la
prioridad de interrupciones multinivel.
Smbolo
VCC
GND
D7 - D0
Tipo
Entrada
Entrada
Entrada
Nombre
SUPPLY
GROUND
CHIP SELECT
Entrada
WRITE
Entrada
READ
Entrada/Salid
a
17
Funcin
+5V
Tierra
En 0 permite que se
habilite la comunicacin en
Y entre el CPU y el 8259A.
En 0 permite que el CPU
escriba palabras de control
sobre el micro.
En 0 permite al micro
enviar el estado de los
diferentes registros o el
nivel de interrupcin a
travs bus de datos.
Control,
Estado,
Informacin del Vector de
Interrupciones
es
transferida por medio de
este bus.
Gua de Microcontroladores
Interrupciones en la IBM PC Generalidades
CAS0
CAS2
Entrada/Salid
a
CASCADE LINES
Entrada/Salid
a
INT
Salida
INTERRUPT
IR0 IR7
Entrada
INTERRUPT REQUEST
Entrada
INTERRUPT
ACKNOWLEDGE
Entrada
AO ADDRESS LINE
Ao
MODO CASCADA
18
Gua de Microcontroladores
Interrupciones en la IBM PC Generalidades
2.4.
PnP, Plug and Play (Enchufar y usar): Surge en 1993, como solucin a los
inconvenientes que se presentaban a la hora de hacer modificaciones a la CPU, ya que
esta supona cambios demasiado drsticos en la arquitectura del PC, puesto que se
deba
desmontar
los
jumpers
especiales
para
cada
dispositivo
configurar
19
Gua de Microcontroladores
Interrupciones en la IBM PC Generalidades
cargados por el sistema, deberan ser reconfigurables dinmicamente para poder
adaptarse a cambios de configuracin.
(Alvarez, 2012)
Compartir IRQs (Interrupt ReQuest / Solicitud de interrupcin): La tecnologa
PnP simplific mucho algunas tareas, pero aun as existan muchos inconvenientes, ya
que no resolva el problema de fondo, que era la escasez de ciertos recursos,
principalmente
20
Gua de Microcontroladores
Interrupciones en la IBM PC Generalidades
DPL (Descriptor Privilege Level): Este es el nivel menos privilegiado para el cual
una tarea puede acceder a ese descriptor. El nivel de privilegio del descriptor se
determina mediante los bits 5 y 6 en el byte de derechos de acceso del descriptor.
DERECHOS DE ACCESO: Permite slo lectura o slo escritura.
SELECTOR: Dos bytes que apunta a un descriptor:
ndice: Selecciona uno de los 8192 descriptores.
TI: Bit indicado de tabla, indica la tabla de descriptores a utilizar, si vale cero se utiliza
la tabla de descriptores globales y si vale 1 utiliza la de locales.
TABLA DE DESCRIPTORES
Son arrays de longitud variable que pueden mantener hasta 8192 descriptores.
TIPOS DE TABLAS:
TABLA DE DESCRIPTORES GLOBALES (GDT)
Contiene descriptores comunes que estn disponibles para todas las tareas del
sistema. Contiene los segmentos de cdigo y datos usados por el sistema operativo.
TABLA DE DESCRIPTORES LOCALES (LDT)
Contienen descriptores asociados con una terea particular. Solo pueden contener
descriptores de cdigo, datos, pila, compuertas de tarea y compuertas de llamada.
TABLA DE DESCRIPTORES DE INTERRUPCION (IDT)
Contiene los descriptores que apunta a la ubicacin de hasta 256 rutinas de servicio de
interrupcin. Cada interrupcin utilizada por el sistema debe tener una entrada propia
en esta tabla. Las entradas de esta tabla se referencian mediante instrucciones INT,
vectores de interrupcin e interrupciones internas del microprocesador.
JERARQUA DE PROTECCION O DE PRIVILEGIO
PL = 0: Kernel.
PL = 1: Servicios del sistema (parte del SO).
PL = 2: Extensiones del sistema operativo.
PL = 3: Aplicaciones.
21
Gua de Microcontroladores
Interrupciones en la IBM PC Generalidades
FUNCIONAMIENTO: MODO REAL Y MODO PROTEGIDO
Modo Real:
uP
MP
(Memoria del
Programa)
100H
Figura 14 Diagrama de modo real, Clase micro controladores. Ing. talo Mogrovejo
Modo Protegido:
uP
Descriptores
100H
22
M.P.
(Memoria del
Programa)
Gua de Microcontroladores
Interrupciones en la IBM PC Generalidades
800H
100H (No se toca)
2.5.
Registros
transferencias
para
el
manejo
de
interrupciones
Existen 3 registros de 1 byte que en conjunto gobiernan las decisiones del dispositivo:
Registro de Solicitud de Interrupcin: IRR (Interrupt Request Register), controla el
estado de una lnea IRQ. Cuando se detecta una peticin en una de estas lneas, el bit
correspondiente del IRR es puesto a 1.
Registro de Interrupciones Activas: ISR (In Service Register), cada bit indica si ya
existe una interrupcin activada en la lnea correspondiente.
Registro de Mscara de Interrupciones: IMR (Interrupt Mask Register), Cada bit
corresponde a una lnea IRQ e indica si est permitida una interrupcin de ese nivel en
ese momento.
Interrupciones ms comunes.
Tipo
de
Descripcin
Interrupcin
Tipo 0
Tipo 2
Tipo 3
Tipo
Tipo
Tipo
Tipo
obligatoriamente
Depuracin de programas, puntos de ruptura.
INTO, overflow.
No hay coprocesador.
Doble falta, se producen 2 o ms interrupciones.
4
5
7
8
23
se
genera
interrupcin
Gua de Microcontroladores
Interrupciones en la IBM PC Generalidades
Tipo
Tipo
Tipo
Tipo
9
12
13
16
el
24
Gua de Microcontroladores
Interrupciones en la IBM PC Generalidades
Cada instruccin INT se almacena en 2 bytes de memoria, el cual en 1er byte contiene
el cdigo y 2do el nmero de interrupcin.
INT3
Esta es de 1 byte la cual se utiliza como interrupcin de punto de ruptura, porque es
fcil intercalar una instruccin de un byte en un programa. Los puntos de ruptura se
utilizan a menudo para depurar programas.
IRET
Es una instruccin especial para retorno, y se utiliza para retornar de las interrupciones
de hardware y software, es como una instruccin RET normal lejana, porque recupera
la direccin de retorno de la pila, IRET extrae 6 bytes de la pila, 2 para ip (Puntero de
Interrupcin), 2 para CS (control de software), y 2 para las banderas.
Funcionamiento de una interrupcin
Cuando el microprocesador concluye de ejecutar la instruccin en curso, entonces para
determinar si una interrupcin esta activa comprueba;
Alguna instruccin en ejecucin
Trampa
NMI
Sobre flujo de segmento del coprocesador
INTR
La instruccin INT en el orden citado.
Si esta presenta una o ms de estas condiciones de interrupcin ocurre lo siguiente:
Salva el contenido del registro de banderas en la pila.
Se desactiva las banderas de interrupcin (IF) y de trampa (TF). Esto deshabilita la
terminal INTR y tambin la caracterstica de trampa.
Se salva el contenido del registro (CS) de segmento de cdigo hacia la pila.
Se salva el contenido del apuntador de instruccin (IP) en la pila.
25
Gua de Microcontroladores
Interrupciones en la IBM PC Generalidades
Se recupera el contenido del vector de la interrupcin y se coloca en IP y CS, de modo
que la siguiente instruccin se ejecute en el procedimiento de servicio de la
interrupcin, direccionado por el vector.
Siempre que acepta una interrupcin, el microprocesador salva en la pila el contenido
del registro de banderas, de CS e IP, desactiva IF y TF y brinca al procedimiento
direccionado por el vector de la interrupcin
Bits de Bandera de Interrupcin
La Interrupcin (IF) y la bandera de trampa TF se borran una vez que se salvan en la
pila el contenido del registro de bandera durante una interrupcin. Cuando se activa el
bit IF permite que la terminal INTR ocasione una interrupcin; cuando se desactiva el
bit IF impide que la terminal INTR produzca una interrupcin.
Las instrucciones STI (permite la interrupciones del procesador) y CLI (inhibe las
interrupciones del procesador) activan y desactivan respectivamente interrupciones.
26
Gua de Microcontroladores
Puerto Paralelo
3. Puerto Paralelo
3.1.
Tipos de Puertos
Definicin
Un puerto paralelo es una interfaz que posibilita el intercambio de informacin digital.
Dichos puertos pueden ser fsicos (con una entrada en el hardware de la computadora
para permitir la conexin de un perifrico) o virtuales (puertos lgicos gestionados a
travs del software).
En el marco de dicho intercambio de informacin, habr bits que recorrern diferentes
caminos, en ambos sentidos.
IBM
SPP
1981
150 kb/s
1987
PS2
150 kb/s
Bidireccional
IBM
EPP
1994
2 MB/s
Bidireccional
Gua de Microcontroladores
Puerto Paralelo
Intel
ESP
1994
2 MB/s
Bidireccional
Soporta DMA
DATOS
Gua de Microcontroladores
Puerto Paralelo
3.2.
Pines y Registros
Gua de Microcontroladores
Puerto Paralelo
0 x 378 Datos / Salida
0 x 379 Estado / Entrada.
0x 37 Control / E/S.
Ox378
D7
9
D6
8
N
D5
7
N
D4
6
N
D3
5
N
D2
4
N
D1
3
N
D0
2
N
BIT
PIN
NIVEL
BIT
PIN
NIVEL
BIT
PIN
NIVEL
0X379
S7
11
S6
10
I
S5
12
N
S4
13
N
S3
15
N
S2
S1
N
S0
N
0X37A
C7
-
C6
N
C5
N
C4
N
C3
17
N
C2
16
I
C1
14
N
C0
1
I
Leyenda
N = Normal
I = Invertido
Pin
E/S
Polaridad activa
Descripcin
Salida
Strobe
2~9
Salida
Lneas de datos
10
Entrada
Lnea acknowledge
11
Entrada
Lnea busy
12
Entrada
13
Entrada
Lnea Select
14
Salida
Lnea Autofeed
15
Entrada
Lnea Error
16
Salida
Lnea Init
17
Salida
18 ~ 25
Tierra elctrica
Gua de Microcontroladores
Puerto Paralelo
Gua de Microcontroladores
Puerto Serial
4. Puerto Serial
4.1.
Conectores y pines
El puerto serial se encuentra conformado por 9 pines de los cuales solo 3 de ellos son
empleados para una comunicacin, uno para l envi de informacin, otro para la
recepcin de informacin y un tercero para las referencias de voltajes o tierra. Sus
restantes 5 pines son utilizados para control de datos, peticiones de informacin, etc.
El conector DB-9 es el utilizado para este tipo de comunicacin serial, se lo denomino
DB-9 por poseer 9 pines
Gua de Microcontroladores
Puerto Serial
Pines a Detalle
Sus nueve pines y sus funciones pertinentes en el caso del conectado macho se detalla
el conector macho puesto que es el implementado en los equipos de computacin para
la comunicacin serial, tener en cuenta que los dispositivos a conectar tendrn que ser
conector hembra en equipos de computacin por una poca el puerto serial fue
utilizado para la conexin del mouse, que posteriormente fue sustituido por el puerto
PS2.
Pin
Pin 1
Funcin
Deteccon de seal recibida en la lnea
(Data Carrier Detect)
Pin 2
Received Data
Pin 3
Transmit Data
Pin 4
Pin 5
Signal Ground
Figura
19
Pines
del conector DB9
Pin
6
Data
Set Ready
Pin 7
Request To Send
Pin 8
Clear to Send
Pin 9
Ring Indicator
Voltajes Utilizados
En RS232 se emplea niveles lgicos incompatibles con TTL, esto deriva en la necesidad
de la implementacin de un convertidor de niveles lgicos. Se suele utilizar con mayor
frecuencia MAX232 o MAX233 que son los manejadores de lnea ms utilizados sus
caractersticas son sus dos canales, utilizan una sola fuente de alimentacin de 5v, y
en el MAX233 no se requiere de capacitores externos.
Gua de Microcontroladores
Puerto Serial
4.2.
Protocolo de comunicacin
Para el envo de informacin es necesario que tanto el emisor como el receptor estn
configurados para trabajar a la misma tasa de transferencia, ya que la comunicacin es
asncrona y la seal de reloj no es enviada con la informacin.
Para lograr la sincronizacin el puerto utiliza un protocolo el cual enva un bit de
partida, el cual no es configurable. Lo que s es configurable es el bit de parada, la
paridad y el nmero de bits.
La configuracin ms utilizada es la 8N1 (8 bits de informacin, sin paridad y 1 bit de
parada).
En las comunicaciones asncronas el estado de reposo (cuando no se transmite nada)
se identifica con un "1" (marca). Cuando se recibe un bit de inicio, que es un "0"
(espacio), el receptor toma nota que va a comenzar a recibir un dato.
Los parmetros que caracterizan estas comunicaciones son: Velocidad; paridad; bits de
datos y bits de parada. En la literatura sobre el tema es frecuente expresar estos datos
en forma resumida. Por ejemplo: 1200 8 N 1 para indicar una transmisin de 1200
baudios con 8 bits de datos sin paridad y un bit de Stop.
Velocidad de transmisin ("Connection speed") es la cantidad de datos transmitidos en
unidad de tiempo.
Se expresa en bits por segundo (bps). En las transmisiones serie a travs de lneas
telefnicas, en las que se emplean mdems era frecuente utilizar como medida de
velocidad el Baudio ("Baud rate").Baudio se define como el nmero de veces que
cambia la portadora en un segundo. La velocidad que puede emplearse depende en
gran medida de la calidad del medio de transmisin (calidad de la lnea), que si (como
es frecuente) se trata de lneas telefnicas, depende a su vez de la distancia.
Los primeros dispositivos serie operaban a velocidades muy bajas, del orden de 110 a
1200 baudios.
Las comunicaciones telefnicas serie actuales estn muy cerca del mximo terico que
pueden soportar los pares de cobre utilizados en la telefona estndar.
Gua de Microcontroladores
Puerto Serial
Gua de Microcontroladores
Puerto USB
5. Puerto USB
5.1.
Especificaciones generales
USB significa Universal Serial Bus") o su traduccin al espaol es lnea serial universal
de transporte de datos. Es bsicamente un conector rectangular de 4 terminales que
permite la transmisin de datos entre una gran gama de dispositivos externos
(perifricos) con la computadora; por ello es considerado puerto.
Una de las principales caractersticas de estos es la conexin muy sencilla, ya que
utiliza un nico conector para conectar a travs de un bus serie todos los dispositivos.
En l se definen todos los conectores y los cables, en este es posible conectar hasta
127 dispositivos y protocolos que permiten deteccin automtica de los dispositivos
conectados, adems todas sus versiones son PLUG and PLAY(Es decir se conecta el
dispositivo y el Sistema Operativo lo detecta automticamente al instante).
Las especificaciones del USB proporciona una serie de caractersticas que pueden ser
divididas en categoras estas caractersticas van desde la serie 1.0 hasta la 3.0.
5.2.
Historia
Gua de Microcontroladores
Puerto USB
aparicin del USB 1.1. El primer ordenador que incluyo un puerto USB estndar
(USB1.0) fue una iMac de Apple y fue presentada en 1998, esta iMAc usaba el puerto
para la conexin de su ratn y teclado, al contrario en relacin con Pcs de Microsoft
recin lo incorporaban en el sistema operativo OSR2.1 que corresponde a Windows 95,
en servidores se incursiono en desde el Windows server 2000, de esta manera nacin
el USB (Universal Serial Bus) con algunas velocidades en sus diferentes versiones:
USB 1.0 con velocidad de 12Mbpg.
Su evolucin fue
USB 1.1 con velocidad de 12Mbps
USB 2.0 de alta velocidad hasta 480Mbps lanzado en el 2009.
USB 2.0 On the Go con similar caracterstica que el 2.0.
USB 3.0 con velocidad de 4,8 Gbps lanzado en el 2012.
5.3.
USB 1.0
Este Puerto fue lanzado en Enero de 1996 por (Compaq, Digital Equipment Corp., IBM,
Intel Corp., Microsoft Corp., NEC y Northern Telecom). Esta es la primera versin oficial
que sali al mercado.
Figura 20 UBS1.1
Gua de Microcontroladores
Puerto USB
Conexiones de: Telfonos Mviles, Audio, Video Comprimido.
Velocidad de 500Kbps a 10Mbps.
Aplicaciones: Audio.
Garantiza el ancho de banda.
Esta versin no es posible enviar y recibir datos a la vez.
USB 1.1.
Esta versin sali en Septiembre de 1998 era una versin dedicada ms para
desarrolladores, las caractersticas de esta son similares a la de su antecesor.
Figura 1 USB1.1
Una de las principales novedades fue la velocidad que aumento en gran medida y la
incursin de un dispositivo a velocidad media como se describir en lo siguiente:
Caractersticas relevantes velocidad baja:
Velocidad de 10 a 100 Kbps.
Aplicaciones: Ratn y Teclado, perifricos de entretenimiento.
Bajo Coste
DES (Conexin en Caliente).
Gua de Microcontroladores
Puerto USB
Mltiples Perifricos.
Caractersticas relevantes velocidad media:
Conexiones de: Telfonos Mviles, Audio, Video Comprimido.
Velocidad de 500Kbps a 10Mbps.
Aplicaciones: Audio.
Garantiza el ancho de banda.
Caractersticas relevantes velocidad alta:
Conexiones de: Audio, Video Comprimido, Unidades de almacenamiento (Discos duros
y grabadoras).
Velocidad de 25 a 500Mbps.
Gran ancho de banda.
Esta versin no es posible enviar y recibir datos a la vez.
Gua de Microcontroladores
Puerto USB
El perifrico puede ser host o perifrico segn la conveniencia.
Esta versin no es posible enviar y recibir datos a la vez.
Estas caractersticas nos permiten por ejemplo, una cmara y una impresora que son
perifricos se pueden conectar la una a la otra sin necesidad de una pc de por medio,
es decir la impresora se vuelve el host que alberga a la cmara para imprimir las fotos
que se encuentran en ella, y as tenemos muchos ejemplos ms como los celulares los
reproductores mp3 con los equipos de audio, radios de automviles etc.
USB 3.0
El USB 3.0 permite grandes mejoras en su rendimiento, al contrario de su antecesor el
USB anteriores contbamos con cuatro contactos, un par para recibir datos uno de
corriente y otra de tierra, en el USB 3.0 se aaden cuatro contactos ms. Es decir dos
de ellos se utilizan para enviar y los otros dos para la recepcin de archivos, con esto
nos permite que el trafico sea bidireccional al mismo tiempo cosa que los anteriores no
los permita. (InformaticaModerna, 2014)
Caractersticas ms relevantes:
Velocidad 10 veces ms rpida (600Mbps).
Compactible con versiones anteriores.
Velocidad mxima de hasta 4,8Gbps.
Gua de Microcontroladores
Puerto USB
Reduce el consumo energtico.
Color Azul para diferenciarlo.
Esta tecnologa permite o es capaz de enviar y recibir datos simultneamente.
5.3.1.
USB 2.0
Era necesaria una mejora por parte de los fabricantes para que USB fuera ms
universal de lo que ya era, y sobre todo para ganar en velocidad y variedad de
dispositivos soportados. As, en el ao 2000, nace la tecnologa USB 2.0 creada por
Hewlett Packard, Philips y Lucent.
La evolucin de esta tecnologa es totalmente compatible con versiones anteriores.
Caractersticas:
Facilidad de Uso para los usuarios: Tiene un modelo de cableado y conectores muy
simples. Los usuarios no tienen que preocuparse por los detalles elctricos y la
deteccin
configuracin
de
los
perifricos
la
realiza
el
propio
puerto
automticamente.
Carga: Tiene la capacidad de cargar y transmitir energa desde el cable USB hasta un
dispositivo. Esta fuente de energa tiene un mximo de 5 voltios, por lo que los puertos
2.0 no sirven para dispositivos que requieran un voltaje ms alto. Sin embargo,
permiten que los dispositivos tengan su propia fuente de energa. El cable para
dispositivos que reciben energa mediante el USB est diseado con un cable adicional
interno, que provee energa al voltaje.
Robustez: Permite insertar y expulsar los dispositivos de forma dinmica (percibida
por el usuario en tiempo real).
Velocidad: El cambio ms significativo entre el USB 1.1 y el 2.0 est relacionado con
la velocidad de transferencia de datos, que permiti el desarrollo de aparatos que
necesitan transferencias ms veloces, como grabadoras de DVD y discos externos.
Gua de Microcontroladores
Puerto USB
Velocidad baja:
Bajo Coste
Mltiples Perifricos.
Velocidad media:
Aplicaciones: Audio.
Velocidad alta:
Velocidad de 25 a 500Mbps.
Gua de Microcontroladores
Puerto USB
Arquitectura (dividido en 3 partes)
Interconexin USB.
Es la forma en la que los dispositivos USB estn conectados con el host
(comunicacin).
Utiliza la topologa de bus Estrella Estratificada Piramidalmente, en donde un
hub est en el centro de cada estrella y cada segmento de cable es una
conexin punto a punto: Host / hub (o funcin) o Hub / hub (o funcin).
Dispositivos USB.
Pueden ser de 2 tipos:
Host USB.
En todo sistema USB siempre existe un solo Host, en el cual puede estar
directamente conectado un dispositivo USB o un hub raz, en el segundo caso es
para que as el sistema host pueda disponer de ms puntos de acoplamiento
para distintos perifricos.
Gua de Microcontroladores
Puerto USB
5.3.2.
Firewire
USB (2.0)
200Mbps
12Mbps
62
128
Anchos de Banda.
400
Mbps
800
Ninguno
Mbps
1 Gbps
Implementacin en Mac.
No
No
-Videocmaras DV.
-Teclados.
-Cmaras digitales
-Ratones.
de alta resolucin.
-HDTV (TV de alta
-Monitores.
definicin).
Tipos de dispositivos conectables.
-Cajas
conexiones.
de
-Cmaras digitales
de baja resolucin.
-Discos duros.
-Unidades
ROM.
-Joysticks.
-Impresoras.
- Escneres.
Tabla 10 Caractersticas Fireware vs USB
- Mdems
Gua de Microcontroladores
Puerto USB
5.3.3.
5.3.4.
Cables y Conectores
Gua de Microcontroladores
Puerto USB
5.4.
Tabla 12 Tipos de
Especificaciones Elctricas
Alimentacin:
5.5.
Consumo:
Gua de Microcontroladores
Puerto USB
Cada seccin puede proporcionar una determinada potencia mxima siendo el
computador el encargado de suministrar la energa. Adems el perifrico puede estar
autoalimentado (self powered).
El Control de Consumo es realizado por el ordenado, teniendo la capacidad de poner en
reposo (suspend) o en marcha a un perifrico USB.
En reposo, este reduce su consumo (si puede), quedndose la parte USB funcional.
Esta gestin est orientada especialmente a los equipos porttiles.
Gua de Microcontroladores
Microcontroladores
6. Microcontroladores
6.1.
Definicin
Microprocesador
6.3.
Arquitectura de un microcontrolador
Arquitectura
Gua de Microcontroladores
Microcontroladores
-
Microprocesador
o Cpu
o Alu
o Decodificador de instrucciones
o Reset
o Reloj
o Pc->controlador de programa
o Registros -> W -> registro de trabajo
Memoria de programa -> flash de 8 kword x 14 bits
o Las instrucciones son de 14 bits con una capacidad de 2^n donde el nmero
de bits de PC
o Cap =2^13 =8192 espacios de memoria
Memoria de dato
o Sfr -> registro de control y configuracin
o Gpr
-> 368 bytes de usuario -> registros de propsito general
o Eeprom de datos
Buses
o De datos
o De direcciones
o De control
Perifricos
o Timer 0,2,3
o Ccp 1,2
o Mssp
o Adc
o Puertos I/O
o Usart
6.4.Microcontroladores de 8 bits
Entre los diferentes microcontroladores las principales diferencias estn en el nmero
de instrucciones y su longitud, numero de puertos y funciones, la complejidad interna y
de programacin.
Lo primero que notamos en estos microcontroladores es su tamao reducido ya que
solamente disponen de 8 pines de los cuales se pueden destinar 6 de ellos como E/S de
perifricos tienen un oscilador interno R-C .el voltaje que soportan es de corriente
continua entre 2.5 V y 5.5 V consumen menos de 2mA cuando trabajan a 5V y 4MHz.
las instrucciones son 12 o 14 bits y el nmero de instrucciones que puede manejar es
de 33 0 35 instrucciones.
(Mogrovejo, 2013)
Gua de Microcontroladores
Programacin de PIC
7. PIC
7.1.
Definicin
interfaz perifrico) se trata de un diseo RISC que ejecuta una instruccin cada
4 ciclos del oscilador.
7.2.
Pic 16X84
7.3.
16F28
16F48
El PIC16F648A cuenta con oscilador de 4 MHz interna, 256 bytes de memoria de datos
EEPROM, una captura / comparacin / PWM, un USART, 2 comparadores y una
referencia de voltaje programable que lo hacen ideal para aplicaciones analgicas /
nivel integrado en los aparatos de automocin, industriales y aplicaciones de consumo.
PWM (permitir el control de la potencia suministrada a los dispositivos elctricos,
especialmente a las cargas inerciales tales como motores.) de 10 bits.
Gua de Microcontroladores
Programacin de PIC
BOR programmable.
4 MHz oscilador interno.
On-chip de referencia de tensin.
256 bytes de memoria EEPROM de datos.
16F54
El PIC16F54 de Microchip Technology es un micro de bajo costo, alto rendimiento, de 8
bits, completamente esttico, microcontroladores Flash basados en tecnologa CMOS.
El PIC16F5X ofrece un rendimiento un orden de magnitud superior a sus competidores
en la misma categora de precios.
Las instrucciones de ancho de 12 bits son altamente simtricas lo que resulta en una
compresin de 2:1 en cdigo a travs de otros microcontroladores de 8 bits de su
clase. El conjunto de instrucciones fciles de usar y de recordar easy to reduce el
tiempo de desarrollo significativamente.
16F84
Todas las instrucciones se ejecutan en un solo ciclo excepto las de salto que necesitan
dos.
Frecuencia de trabajo mxima de 10MHZ para PIC16F84 y de 20MHZ para PIC16F84A.
Memoria de datos EEPROM de 64 bytes.
Contador de programa de 13 bit (lo que en teora permitira direccionar 4 KB de
memoria, aunque el 16F84 solo dispone de 1KB de memoria implementada).
Pila con 8 niveles de profundidad.
1,000,000 de ciclos de borrado/escritura de la memoria EEPROM.
Gua de Microcontroladores
Programacin de PIC
40 aos de retencin de la memoria EEPROM.
13 pines de E/S con control individual de direccin.
Rango de alimentacin:
7.4.
PIC 16F87X
Gua de Microcontroladores
Programacin de PIC
Puerto Paralelo Esclavo de 8 bits (PSP).
Puerto Serie Sncrono (SSP) con SPI e IC.
16F 871
Gua de Microcontroladores
Programacin de PIC
16F 873
16F 876
Gua de Microcontroladores
Programacin de PIC
CPU tipo RISCC de altas prestaciones.
Repertorio de 35 instrucciones de una palabra.
Todas las instrucciones son de un nico ciclo, excepto las de salto, que llevan doble
velocidad de trabajo de 20 Mhz, con un ciclo de instruccin de 200ns.
Memoria de programa tipo flash de 8 Kpalabras.
Memoria de datos de 368 bytes.-Memoria EEPROM de datos de 256 bytes.
Patillaje compatible con PIC16C73B/74B/76/77.-Hasta 14 fuentes de interrupcin.
Pila por hardware de 8 niveles.-Modos de direccionamiento directo, indirecto y relativo.
Reset de conexin (POR).-Temporizacin de conexin y temporizacin de inicio de
oscilacin.
Circuito supervisor (watchdog).-Cdigo de proteccin programable.
Tecnologa de alta velocidad y bajo consumo en la memoria CMOSEEPROM/FLASH.
Programacin in-situ va serie con dos patillas.
Posibilidad de programacin in-situ, va serie, mediante tensin simple de 5 voltios.
Acceso para lectura o escritura a la memoria de programa.
Gran margen de alimentacin entre 2 y 5,5 voltios.-Corriente de salida de 25 mA.
Bajo consumo:
Menor de 2 mA a 5V y 4 Mhz.
20 A a 3V y 32 Khz.
Menor de 1 A en reposo.
Caractersticas perifricos:
Timer0: Temporizador-Contador de 8 bits, con Predivisor tambin de 8 bits.
Timer1: Temporizador-Contador de 16 bits con Predivisor, que puede trabajar conreloj
externo en el modo reposo (sleep).
Timer2: Temporizador-Contador de 8 bits con registro de perodo de la mismalongitud,
con Predivisor y Postdivisor.
Dos mdulos de Captura y Comparacin y uno PWM (modulacin por ancho de impulso:
La captura es de 16 bits, con resolucin mxima de 12,5 ns.
La comparacin es de 16 bits, con resolucin mxima de 200 ns.
Gua de Microcontroladores
Programacin de PIC
El bloque PWM tiene una resolucin mxima de 10 bits.-Convertidor multicanal
analgico digital de 10 bits.
Puerto serie sncrono (SSP), con modo Maestro (SPI) e I2C (maestro/servidor).
Transmisor Receptor Universal Sncrono Asncrono (USART/SCI) con deteccinde 9 bits y
de direccin.
Circuito de deteccin de BROWN-OUT (bajada de tensin).
16F 877
CARACTERSTICAS
16F877
Frecuencia mxima
DX-20MHz
8KB
368
256
Puertos E/S
A,B,C,D,E
Nmero de pines
40
Interrupciones
14
Timers
Mdulos CCP
Comunicaciones Serie
MSSP, USART
Comunicaciones paralelo
PSP
Juego de instrucciones
35 Instrucciones
Longitud de la instruccin
14 bits
Arquitectura
Harvard
CPU
Risc
Canales Pwm
Pila Harware
7.5.
17CXXX
Gua de Microcontroladores
Programacin de PIC
Un PIC17CXXX posee un alto rendimiento que se le puede atribuir a varias
caractersticas de la arquitectura RISC.
Esta familia de microcontroladores tiene una arquitectura Harvard, es decir con
memoria de datos y de programa separadas, usando un bus de comunicacin para
cada una. Esta separacin de memoria permite operar con instrucciones simples de 16
bits, contrario a la arquitectura tradicional Von Neumann, permitiendo ejecuciones en
un ciclo con velocidades de 121 ns a 33MHz.
Puede direccionar directa o indirectamente sus registros o memoria de datos, los
registros especiales PC y WREG estn mapeados en la memoria de datos.
Los PIC17CXXX tienen un set ortogonal (simtrico) set de instrucciones que hace
posible
realizar
cualquier
operacin
en
cualquier
registro
usando
cualquier
Gua de Microcontroladores
Programacin de PIC
Clasificacin.
Gua de Microcontroladores
Programacin de PIC
A continuacin se muestra la familia de Microcontroladores PIC17CXXX:
Caractersticas
Los PIC17CXXX tienen un repertorio de 58 instrucciones de 16 bits cada una.
La memoria de datos puede llegar a tener hasta 1k (1024) registros de 8 bits. La
memoria de programa de los PIC17CXXX es EPROM, ROM u OTP. Su sistema de
interrupciones incluye el tratamiento de prioridades.
Una caracterstica interesante de los PIC17 es su arquitectura abierta, que consiste en
la posibilidad de ampliacin del microcontrolador con elementos externos. Para esto,
los pines sacan al exterior las lneas de los buses de datos, direcciones y control, a las
que se conectan dispositivos de memoria o controladores de perifricos. Esta facultad
obliga a estos componentes a tener un elevado nmero de pines partiendo desde los
40 y 44.
Gua de Microcontroladores
Programacin de PIC
Microcontrolador
Microcontrolador protegido
Microcontrolador ampliado
Microprocesador
Aplicaciones
La familia PIC17CXXX es ideal para aplicaciones que requieren una ejecucin
extremadamente rpida de software complejo.
Estos incluyen aplicaciones que van desde el control preciso de un motor hasta el
control de la transformacin industrial para la automocin, instrumentacin y
telecomunicaciones.
Gua de Microcontroladores
Programacin de PIC
7.6.
PIC 18C(F)XXX
ARQUITECTURA DE LOS
MICROCONTROLADORES PIC 18
Gua de Microcontroladores
Programacin de PIC
Dentro de la familia de los PIC18 contamos con micros de propsito general, as como
microcontroladores especficos para conectividad USB y Ethernet. La familia PIC18C fue
la evolucin de la primera familia fabricada y presenta por Microchip en junio de 1999.
La serie original estuvo formada por 4 dispositivos bsicos:
PIC18C242
PIC18C252
PIC18C442
PIC18C452
PIC18F242
PIC18F252
PIC18F442
PIC18F452
PIC18F2550
PIC18F4550
PIC18K
PIC18FK
PIC18J
Gua de Microcontroladores
Programacin de PIC
CARACTERSTICAS
PIC18F242
Gua de Microcontroladores
Programacin de PIC
PIC18F252
PIC18F442
Gua de Microcontroladores
Programacin de PIC
PIC18F452
Gua de Microcontroladores
Programacin de PIC
PIC18F2550
Gua de Microcontroladores
Programacin de PIC
PIC18F4550
Gua de Microcontroladores
Programacin de PIC
APLICACIONES
La familia PIC18 permite una amplia variedad de aplicaciones incluyendo:
Gua de Microcontroladores
Programacin de PIC
Industrial:
Dispositivos:
Energa Inteligente
Lavadoras
Refrigeradoras
Medicina:
Dispositivos de Diagnstico
Medidores Portables
Automotores:
Accesos automticos.
Control interior.
Control puerta Garaje.
Control de Tablero.
Gua de Microcontroladores
Programacin de PIC
8. Programacin de PIC
8.2.PIC 16F877A
Este PIC pertenece a la familia 16, de gama media, del fabricante Microchip. Es un
microcontrolador de 8 bits y posee una arquitectura Harvard - RISC. Harvard, puesto
que para la comunicacin entre la CPU y las Memorias de Datos (MD) y Programas (MP)
se realizan por buses independientes, al contrario de la arquitectura Von Newman. Esto
deriva en una mejora sustancial en el rendimiento del microcontrolador. RISC (Reduced
Instruction Set Computing) maneja el concepto de, simpleza frente a complejidad, en
las instrucciones que manejar el CPU para sus operaciones.
Arquitectura Von Neumann
CPU
Memoria de Programa
(MP)
Arquitectura Harvard
Memoria de
Programa
(MP)
CPU
Memoria de
Datos (MD)
Gua de Microcontroladores
Programacin de PIC
Caracterstica
Memoria de Programa
(Tipo)
Memoria de Programa
(KB)
Velocidad del CPU (MIPS)
Memoria de Datos, RAM
(Bytes)
EEPROM de Datos (Bytes)
Puertos de Comunicacin
Puertos
de
Captura/Comparacin/PW
M
Timers
ADC (Conversor Analgico
- Digital)
Comparadores
Rango de Temperaturas
(C)
Rango de Operacin (V)
Pines
Valor
Flash
14
5
368
256
1-UART,
1A/E/USART, 1-SPI, 1I2C1-MSSP(SPI/I2C)
2 CCP
2 x 8-bits, 1 x 16bits
8 canales de 10-bits
2
-40 to 125
2 to 5.5
40
I/O.
STATUS. Para configuracin de los bancos de memoria, estado aritmtico
Gua de Microcontroladores
Programacin de PIC
de interrupcin.
PIE1, PIE2. Contienen bits de habilitacin de ciertas fuentes de
interrupcion.
Pin
Tipo
OSC1/CLKIN
13
OSC2/CLKOUT
MCLR/Vpp/THV
14
1
O
I/P
Tipo
de
Buffer
ST/MO
S
ST
RA0/AN0
RA1/AN1
RA2/AN2/ VrefRA3/AN3/Vref+
RA4/T0CKI
2
3
4
5
6
I/O
I/O
I/O
I/O
I/O
TTL
TTL
TTL
TTL
ST
Descripcin
Gua de Microcontroladores
Programacin de PIC
RA5/SS/AN4
I/O
TTL
RBO/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
33
34
35
36
37
38
39
40
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
TTL/ST
TTL
TTL
TTL
TTL
TTL
TTL/ST
TTL/ST
RCO/T1OSO/T1CKI
RC1/T1OS1/CCP2
RC2/CCP1
RC3/SCK/SCL
RC4/SD1/SDA
RC5/SD0
RC6/Tx/CK
RC7/RX/DT
15
16
17
I/O
I/O
I/O
ST
ST
ST
18
I/O
ST
23
24
25
26
I/O
I/O
I/O
I/O
ST
ST
ST
ST
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7
19
20
21
22
27
28
29
30
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
ST/TTL
ST/TTL
ST/TTL
ST/TTL
ST/TTL
ST/TTL
ST/TTL
ST/TTL
Gua de Microcontroladores
Programacin de PIC
REO/RD/AN5
I/O
ST/TTL
RE1/WR/AN
I/O
ST/TTL
RE2/CS/AN7
10
I/O
ST/TTL
Vss
12.3
1
Vdd
11.3
2
NC
Leyenda
I = input (entrada), O = output (salida), I/O = input/output (entrada/salida), P = power
(Vcc o GND).
= Sin usar o implementar, TTL = Entrada TransistorTransistor Logic, ST = Entrada
Schmitt Trigger.
La informacin se puede encontrar, de igual manera, en el Datasheet del PIC16F877A
que se encuentra como anexo.
Gua de Microcontroladores
Lenguaje de Programacin MIKRO C
9. El lenguaje de programacin MIKROC
9.1.Ventajas e inconvenientes
El programa cargado en la memoria Flash del microcontrolador est compuesto por
cadenas de unos y ceros los cuales representan las operaciones que realizar. Trabajar
en lenguaje binario resulta una tarea bastante complicada por lo que en un inicio se
us la notacin hexadecimal para facilitarlo.
Sin embargo programar con notacin hexadecimal (HEX) sigue siendo bastante arduo,
por lo que se adopta la programacin en lenguaje ensamblador (ASM). Aun as el
lenguaje ensamblador tiene sus desventajas, por eso se adopta la programacin en
alto nivel con lenguajes como C.
Para un mejor entendimiento, presentamos la siguiente comparativa de C frente al
leguaje ensamblador. (MikroElektronika, 2014)
Lenguaje Ensamblador
Ventajas
Frente
Ventajas
al
codificar
en
hexadecimal, permite un
con
detalle
cual
es
capaz
de
optimizar el cdigo.
Transforma el cdigo a
lenguaje mquina.
Es
un
lenguaje
Posee un compilador, el
ampliamente
incluso
fuera
de
los
microcontroladores.
Reduce notablemente, la
cantidad
usado,
generado.
El
cdigo
de
cdigo
generado
sin
muchas modificaciones.
Desventajas
Una
Desventajas
sola
operacin
de cdigo.
El cdigo depender de
ensamblador.
Gua de Microcontroladores
Lenguaje de Programacin MIKRO C
la
arquitectura
del
microcontrolador.
El programador
debe
conocer
profundamente
al microcontrolador.
Gua de Microcontroladores
Lenguaje de Programacin MIKRO C
Instruccin
SWITCH,
evaluacin
para
distintas
posibles
condiciones.
switch (valor) {
case 0: proceso0();
break;
case 1: proceso1();
break;
default:
break;
}
Gua de Microcontroladores
Lenguaje de Programacin MIKRO C
Instrucciones
de
Salto,
detienen
la
ejecucin
de
un
bloque
incondicionalmente.
o Instruccin BREAK, detiene la ejecucin de un bucle, por ejemplo.
En la instruccin SWITCH, la instruccin BREAK se usa para evitar
o
Gua de Microcontroladores
Practicas
10.Prcticas
En las siguientes prcticas se usarn los paquetes de software instalados previamente
en captulos anteriores. Esta gua proporcionar fragmentos de cdigo, imgenes de los
circuitos y fragmentos de diagramas de flujo para el funcionamiento de cada prctica.
Recomendamos tambin el uso de la plantilla de programacin que se podr encontrar
adjunta a este documento. (Mogrovejo, 2014)
10.1.
Manejo de LEDS
Gua de Microcontroladores
Practicas
Figura 34 Flujograma para el manejo de LEDS
Recomendamos crear la subrutina o procedimiento iConfigPeripherals, donde se
configuren los puertos a usar, interrupciones, prescalers, registros, etc. En esta prctica
la subrutina se usa para configurar el PORTC como salida digital, puerto al que estn
conectados los LEDS.
10.2.
{
//PuertoC como salidas digitales
//Encerar el puerto C
Manejo de Repeticiones
Gua de Microcontroladores
Practicas
Gua de Microcontroladores
Practicas
do{
PORTC = 1;
Delay_ms(500);
PORTC = 3;
Delay_ms(500);
PORTC = 7;
Delay_ms(500);
PORTC = 15;
Delay_ms(500);
PORTC = 0;
Delay_ms(500);
i++;
}while(i < 3);
//Enciende el
//Pausa medio
//Enciende el
//Pausa medio
//Enciende el
//Pausa medio
//Enciende el
//Pausa medio
//Apaga todos
//Pausa medio
LED en RB0
segundo
LED en RB1
segundo
LED en RB2
segundo
LED en RB3
segundo
LEDs
segundo
}
}
10.3.
Manejo de Pulsadores
El flujograma que se usar incluye la operacin de los pulsadores, siendo cada uno de
ellos los que active cierto funcionamiento de los LEDS. Cada pulsador activar una
instruccin IF.
Gua de Microcontroladores
Practicas
Gua de Microcontroladores
Practicas
void iConfigPeripherals() {
TRISC = 0;
//Puerto C como salidas digitales
TRISB = 255;
//Puerto B como entradas digitales
PORTC = 0;
//Encerar el puerto C
PORTB = 0;
//Encerar el puerto B
}
void main() {
iConfigPeripherals();
while(1){
if (RB0_bit == 0){
PORTC = 255;
Delay_ms(500);
PORTC = 0;
Delay_ms(500);
}
if (RB1_bit == 0){
PORTC = 192;
Delay_ms(500);
PORTC = 48;
Delay_ms(500);
PORTC = 12;
Delay_ms(500);
PORTC = 3;
Delay_ms(500);
}
if (RB2_bit == 0){
PORTC = 240;
Delay_ms(500);
PORTC = 15;
Delay_ms(500);
}
if (RB3_bit == 0){
PORTC = 129;
Delay_ms(500);
PORTC = 66;
Delay_ms(500);
PORTC = 36;
Delay_ms(500);
PORTC = 24;
Delay_ms(500);
}
PORTC = 0;
}
10.4.
Manejo de Displays
Gua de Microcontroladores
Practicas
Gua de Microcontroladores
Practicas
while(1){
if (RB0_bit == 0){
PORTC = 192;
Delay_ms(1000);
PORTC = 249;
Delay_ms(1000);
PORTC = 164;
Delay_ms(1000);
PORTC = 176;
Delay_ms(1000);
PORTC = 153;
Delay_ms(1000);
PORTC = 146;
Delay_ms(1000);
PORTC = 130;
Delay_ms(1000);
PORTC = 248;
Delay_ms(1000);
PORTC = 128;
Delay_ms(1000);
PORTC = 144;
Delay_ms(1000);
}
if (RB1_bit == 0){
PORTC = 144;
Delay_ms(1000);
PORTC = 128;
Delay_ms(1000);
PORTC = 248;
Delay_ms(1000);
PORTC = 130;
Delay_ms(1000);
PORTC = 146;
Delay_ms(1000);
PORTC = 153;
Delay_ms(1000);
PORTC = 176;
Delay_ms(1000);
PORTC = 164;
Delay_ms(1000);
PORTC = 249;
Delay_ms(1000);
PORTC = 192;
Delay_ms(1000);
}
PORTC = 255;
}
10.5.
Manejo de LCD
Gua de Microcontroladores
Practicas
El circuito con el trabajaremos es el siguiente:
Mientras que le flujograma ser el siguiente, notar el uso de llamadas a mtodos como
Lcd_Out y Lcd_Cmd pues estas son subrutinas propias de la librera LCD provista por
MikroC para el manejo del LCD.
Gua de Microcontroladores
Practicas
LCD_RS_Direction
LCD_EN_Direction
LCD_D4_Direction
LCD_D5_Direction
LCD_D6_Direction
LCD_D7_Direction
at
at
at
at
at
at
TRISD2_bit;
TRISD3_bit;
TRISD4_bit;
TRISD5_bit;
TRISD6_bit;
TRISD7_bit;
void iConfigPeripherals() {
TRISD = 0;
//Puerto D como salidas digitales
PORTD = 0;
//Encerar el Puerto D
Lcd_Init();
//Procedimiento para inicializar el LCD
}
void main() {
Gua de Microcontroladores
Practicas
iConfigPeripherals();
Lcd_Cmd(_LCD_CURSOR_OFF);
while(1){
Lcd_Out(1,3,"Hola Mundo");
Delay_ms(1000);
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(1,3,"Manejo de LCD");
Lcd_Out(2,8,"2X16");
Delay_ms(1000);
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out(1,3,"PIC16F877A");
Lcd_Out(2,3,"Microchip");
Delay_ms(1000);
Lcd_Cmd(_LCD_CLEAR);
}
}
10.6.
Manejo de Sonido
El manejo de sonido con MikroC se realiza usando la librera Sound, librera que est
disponible en dicho entorno de programacin. La prctica de sonido requiere el
siguiente circuito:
Gua de Microcontroladores
Practicas
Mientras que el flujograma en el que se reproducirn los sonidos es el siguiente:
}
void main() {
iConfigPeripherals();
while(1){
if(RB0_bit == 0){
Sound_Play(659,
}
if(RB1_bit == 0){
Sound_Play(698,
}
if(RB2_bit == 0){
Sound_Play(784,
}
if(RB3_bit == 0){
Sound_Play(880,
}
}
250);
250);
250);
250);
Gua de Microcontroladores
Practicas
}
10.7.
Manejo de Teclados
10.8.
Manejo de Interrupciones
Interrupciones Externas
Gua de Microcontroladores
Practicas
GIE
PEIE
TMROI
E
0
INTE
RBIE
TMR0I
F
0
INTF
RBIF
Gua de Microcontroladores
Practicas
La subrutina para atender a las interrupciones detectar una interrupcin por cambio
de estado, la cual ser tratada por el siguiente flujograma. Notar el uso de variables CX
y FX, estas identifican las filas y columnas del teclado matricial.
Gua de Microcontroladores
Practicas
Gua de Microcontroladores
Practicas
La condicin de Mismatch y la variable iLeerPuertoB sern usadas para identificar la
tecla presionada al producirse una nueva interrupcin.
El flujograma del programa principal, es el siguiente.
LCD_RS_Direction
LCD_EN_Direction
LCD_D4_Direction
LCD_D5_Direction
LCD_D6_Direction
LCD_D7_Direction
at
at
at
at
at
at
TRISD2_bit;
TRISD3_bit;
TRISD4_bit;
TRISD5_bit;
TRISD6_bit;
TRISD7_bit;
Gua de Microcontroladores
Practicas
sbit F1 at RB7_bit;
sbit F2 at RB6_bit;
sbit F3 at RB5_bit;
sbit F4 at RB4_bit;
void iScanTecla(void) {
Delay_Ms(20);
//Espera para evitar rebotes mecanicos del teclado
C1=0; C2=1; C3=1; C4=1;
if(!F1) iTecla=1;
if(!F2) iTecla=4;
if(!F3) iTecla=7;
if(!F4) iTecla=14;
C1=1; C2=0; C3=1; C4=1;
if(!F1) iTecla=2;
if(!F2) iTecla=5;
if(!F3) iTecla=8;
if(!F4) iTecla=0;
C1=1; C2=1; C3=0; C4=1;
if(!F1) iTecla=3;
if(!F2) iTecla=6;
if(!F3) iTecla=9;
if(!F4) iTecla=15;
C1=1; C2=1; C3=1; C4=0;
if(!F1) iTecla=10;
if(!F2) iTecla=11;
if(!F3) iTecla=12;
if(!F4) iTecla=13;
Delay_Ms(20);
/* Mismatch Teclado*/
C1=0; C2=0; C3=0; C4=0;
iLeePuertoB=PORTB;
}
void interrupt() {
GIE_bit=0;
if(RBIE_bit && RBIF_bit) {
RBIE_bit=0;
iScanTecla();
RBIF_bit=0;
RBIE_bit=1;
}
GIE_bit=1;
}
void iConfigPeripherals() {
TRISB = 240;
//RB4:RB7 como ingresos y RB0:RB3 como salidas
TRISD = 0;
//puerto D como salidas digitales
PORTB = 0;
PORTD = 0;
Lcd_Init();
Gua de Microcontroladores
Practicas
/* Configuracion de registros, para interrupcion por cambio de estado */
INTCON = 0x08;
//bits = 1(RBIE) y bit0 = 0(RBIF)
/* Mismatch Teclado */
C1=0; C2=0; C3=0; C4=0;
iLeePuertoB=PORTB;
GIE_bit = 1;
}
void main() {
iConfigPeripherals();
Lcd_Out(1,6,"HOLA");
Lcd_Out(2,5,"MUNDO.");
Delay_Ms(2000);
Lcd_Cmd(_LCD_CLEAR);
while(1) {
if(iTecla>=10)
iTecla+=55;
else
iTecla+=48;
Lcd_Cmd(_LCD_CLEAR);
Lcd_Out_Cp("La tecla presio");
Lcd_Out(2,1,"nada es:
");
Lcd_Chr(2,16,iTecla);
iTecla=0;
Delay_Ms(250);
}
}
Interrupciones Internas
Estas interrupciones son producidas internamente por el PIC, un ejemplo de estas son
las producidas por el TMR0 al ocurrir un desbordamiento de su registro de operacin.
Para esta prctica usaremos el mismo circuito que para el manejo de LEDS. En el
Subtema 10.1.
La ventaja de trabajar con una interrupcin del TMR0 es que trabaja en segundo plano,
as el PIC puede ocuparse de otras tareas y el TMR0 es atendido solo cuando lo
requiera. Para trabajar con el TMR0 deberemos configurar el registro OPTION, ya que
aqu se encuentran los parmetros con los que trabajar, PRESCALER, MODO DE
OPERACIN (temporizador o contador). Debemos habilitar tambin las interrupciones
TMR0, esto se hace en el registro INTCON.
Los clculos necesarios para la operacin del TMR0 se hacen en base al tiempo con el
que esperamos una interrupcin y la frecuencia del oscilador.
Tiempo = 4* Tosc * (256 - valor cargado en TMR0)*(prescaler)
Tocs = 1/Fosc (frecuencia del oscilador)
Gua de Microcontroladores
Practicas
Carga inicial TMR0 = 256 - (Tiempo* Fosc/4*prescaler))
Elegimos un PRESCALER de 1:64 y una carga inicial de 100 (valor aproximado entero).
La configuracin del PRESCALER se coloca en el registro INTCON, y la carga inicial en la
subrutina de configuracin iConfigPeripherals.
GIE
PEIE
TMROI
E
1
INTE
RBIE
TMR0I
F
0
INTF
RBIF
RBPU
INTED
G
0
T0CS
T0SE
PSA
PS2
PS1
PS0
Gua de Microcontroladores
Practicas
Gua de Microcontroladores
Practicas
Gua de Microcontroladores
Practicas
if(PORTC == 255){
PORTC = 0;
}else{
PORTC = 255;
}
CENTESIMAS = 0;
}
//Nuevamente asignamos la carga inicial para un tiempo de 1cs con FOSC=4Mhz
TMR0=100;
}
void interrupt() {
GIE_bit=0;
if(TMR0IE_bit && TMR0IF_bit) {
TMR0IE_bit=0;
iSubTmr0();
TMR0IF_bit=0;
TMR0IE_bit=1;
}
GIE_bit=1;
}
void iConfigPeripherals() {
TRISC = 0;
//Puerto C como salidas digitales
PORTC = 0;
//Encerar el Puerto C
/* Configuracion de interrupciones */
INTCON=0x20;
//interrupciones TMR0 habilitadas
/* Configuracion del Timer 0 */
OPTION_REG=0x85; //prescaler 1:64 al TMR0, modo temporizador
TMR0=100;
//carga inicial para un tiempo de 1cs con FOSC=4MHz
/* Habilitacion global de interrupciones */
GIE_bit=1;
}
void main() {
iConfigPeripherals();
}
Gua de Microcontroladores
Referencias y AnexosTabla 30 Configuracin de prescaler 1:64 para el TMR0 en el
registro OPTION............................................................................................................. 97
Biografas
Italo Mogrovejo, naci el 16 de Mayo de 1979 en El Triunfo/Guayas - Ecuador, curs sus estudios en la ciudad de Cuenca: Primaria
Escuela Padre Carlos Crespi, Secundaria Instituto Tcnico Superior Salesiano, Superior Universidad Politcnica Salesiana,
actualmente desarrollando su Tesis Control Predictivo Generalizado para un Inversor Multinivel en Cascada Basado en Filtro Activo de
Potencia.
Se ha desarrollado en el mbito docente desde el 2002 en los siguientes establecimientos: Colegio Daniel Crdova Toral 2002-2006,
2009-2011, SECAP 2006-2008, Universidad Politcnica Salesiana (UPS) 2011-Presente, Universidad del Azuay (UDA) 2013-Presente,
en las reas de conocimiento terico-prctico en: Elctrica - Electrnica y Ciencias Exactas.
Su principal experiencia radica en el Diseo e Implementacin de Sistemas Embebidos para Control y Automatizacin de Procesos
Domticos e Industriales.
Daro Espinoza, naci el 12 de Agosto de 1990 en la ciudad Cuenca/Azuay Ecuador, curs sus estudios primarios en la ciudad de
Azogues en la Escuela Emilio Abad y en la Escuela La Salle, sus estudios secundarios los realiz en el ITS Luis Rogerio Gonzales
y en el Colegio Militar Abdn Caldern. Actualmente cursa sus estudios en la superiores de Ingeniera en Sistemas y Telemtica en la
Universidad del Azuay.
Experiencia laboral en diseo de pginas web y manejo de base de datos.
Danny Noboa, naci el 01 de Enero de 1983, en la ciudad de Milagro/Guayas Ecuador. Sus estudios primarios los realiz en la escuela
Luis Cordero, mientras que sus estudios de secundaria los realiz en el colegio 17 de Septiembre. Actualmente realiza sus estudios
superiores para Ingeniero de Sistemas y Telemtica en la Universidad del Azuay. Su amplia experiencia laboral, se destaca por hitos
como Soporte para Servidores, Soluciones de Cableado Estructurado, Soporte tcnico y Programacin Web.
Referencias
Alonso130. 2010. El Ibm Pc Y Componentes De Procesamiento. [En lnea] Abril de
2010.
http://www.buenastareas.com/ensayos/El-Ibm-Pc-y-ComponentesDe/223839.html.
Alvarez,
Jorge
Corts.
2012.
Slideshare.
[En
lnea]
http://www.slideshare.net/cortesalvarez/interrupciones-sistemas-operativos.
Andrs, Bruno y Coria
microcontroladores. 2010.
Ariel.
2010.
Arquitectura
2012.
Programacin
de
atravz
de
su
PC.
[En
lnea]
Gua de Microcontroladores
Referencias y AnexosTabla 30 Configuracin de prescaler 1:64 para el TMR0 en el
registro OPTION............................................................................................................. 97
Biografas
Italo Mogrovejo, naci el 16 de Mayo de 1979 en El Triunfo/Guayas - Ecuador, curs sus estudios en la ciudad de Cuenca: Primaria
Escuela Padre Carlos Crespi, Secundaria Instituto Tcnico Superior Salesiano, Superior Universidad Politcnica Salesiana,
actualmente desarrollando su Tesis Control Predictivo Generalizado para un Inversor Multinivel en Cascada Basado en Filtro Activo de
Potencia.
Se ha desarrollado en el mbito docente desde el 2002 en los siguientes establecimientos: Colegio Daniel Crdova Toral 2002-2006,
2009-2011, SECAP 2006-2008, Universidad Politcnica Salesiana (UPS) 2011-Presente, Universidad del Azuay (UDA) 2013-Presente,
en las reas de conocimiento terico-prctico en: Elctrica - Electrnica y Ciencias Exactas.
Su principal experiencia radica en el Diseo e Implementacin de Sistemas Embebidos para Control y Automatizacin de Procesos
Domticos e Industriales.
Daro Espinoza, naci el 12 de Agosto de 1990 en la ciudad Cuenca/Azuay Ecuador, curs sus estudios primarios en la ciudad de
Azogues en la Escuela Emilio Abad y en la Escuela La Salle, sus estudios secundarios los realiz en el ITS Luis Rogerio Gonzales
y en el Colegio Militar Abdn Caldern. Actualmente cursa sus estudios en la superiores de Ingeniera en Sistemas y Telemtica en la
Universidad del Azuay.
Experiencia laboral en diseo de pginas web y manejo de base de datos.
Danny Noboa, naci el 01 de Enero de 1983, en la ciudad de Milagro/Guayas Ecuador. Sus estudios primarios los realiz en la escuela
Luis Cordero, mientras que sus estudios de secundaria los realiz en el colegio 17 de Septiembre. Actualmente realiza sus estudios
superiores para Ingeniero de Sistemas y Telemtica en la Universidad del Azuay. Su amplia experiencia laboral, se destaca por hitos
como Soporte para Servidores, Soluciones de Cableado Estructurado, Soporte tcnico y Programacin Web.
Gua de Microcontroladores
Referencias y AnexosTabla 30 Configuracin de prescaler 1:64 para el TMR0 en el
registro OPTION............................................................................................................. 97
Biografas
Italo Mogrovejo, naci el 16 de Mayo de 1979 en El Triunfo/Guayas - Ecuador, curs sus estudios en la ciudad de Cuenca: Primaria
Escuela Padre Carlos Crespi, Secundaria Instituto Tcnico Superior Salesiano, Superior Universidad Politcnica Salesiana,
actualmente desarrollando su Tesis Control Predictivo Generalizado para un Inversor Multinivel en Cascada Basado en Filtro Activo de
Potencia.
Se ha desarrollado en el mbito docente desde el 2002 en los siguientes establecimientos: Colegio Daniel Crdova Toral 2002-2006,
2009-2011, SECAP 2006-2008, Universidad Politcnica Salesiana (UPS) 2011-Presente, Universidad del Azuay (UDA) 2013-Presente,
en las reas de conocimiento terico-prctico en: Elctrica - Electrnica y Ciencias Exactas.
Su principal experiencia radica en el Diseo e Implementacin de Sistemas Embebidos para Control y Automatizacin de Procesos
Domticos e Industriales.
Daro Espinoza, naci el 12 de Agosto de 1990 en la ciudad Cuenca/Azuay Ecuador, curs sus estudios primarios en la ciudad de
Azogues en la Escuela Emilio Abad y en la Escuela La Salle, sus estudios secundarios los realiz en el ITS Luis Rogerio Gonzales
y en el Colegio Militar Abdn Caldern. Actualmente cursa sus estudios en la superiores de Ingeniera en Sistemas y Telemtica en la
Universidad del Azuay.
Experiencia laboral en diseo de pginas web y manejo de base de datos.
Danny Noboa, naci el 01 de Enero de 1983, en la ciudad de Milagro/Guayas Ecuador. Sus estudios primarios los realiz en la escuela
Luis Cordero, mientras que sus estudios de secundaria los realiz en el colegio 17 de Septiembre. Actualmente realiza sus estudios
superiores para Ingeniero de Sistemas y Telemtica en la Universidad del Azuay. Su amplia experiencia laboral, se destaca por hitos
como Soporte para Servidores, Soluciones de Cableado Estructurado, Soporte tcnico y Programacin Web.
[En
lnea]
Victoria, Clara Berg, y otros. 2001. Dispositivos USB. [En lnea] Junio de 2001.
http://grupousb.8m.com/trajabofinal.htm.
Wikipedia. PIC microcontrolador. [En lnea] [Citado el: Noviembre de 30 de 2013.]
http://en.wikipedia.org/wiki/PIC_microcontroller..
. PIC16F87X. [En lnea] [Citado el: ] http://es.wikipedia.org/wiki/PIC16F87X.
. Universal Serial Bus. [En lnea] http://es.wikipedia.org/wiki/Universal_Serial_Bus.
Yadav, Arun Kumar Singh. 2004. Microcontroller: Features and Applications. s.l. :
New Age International, 2004.
Gua de Microcontroladores
Referencias y AnexosTabla 30 Configuracin de prescaler 1:64 para el TMR0 en el
registro OPTION............................................................................................................. 97
Biografas
Italo Mogrovejo, naci el 16 de Mayo de 1979 en El Triunfo/Guayas - Ecuador, curs sus estudios en la ciudad de Cuenca: Primaria
Escuela Padre Carlos Crespi, Secundaria Instituto Tcnico Superior Salesiano, Superior Universidad Politcnica Salesiana,
actualmente desarrollando su Tesis Control Predictivo Generalizado para un Inversor Multinivel en Cascada Basado en Filtro Activo de
Potencia.
Se ha desarrollado en el mbito docente desde el 2002 en los siguientes establecimientos: Colegio Daniel Crdova Toral 2002-2006,
2009-2011, SECAP 2006-2008, Universidad Politcnica Salesiana (UPS) 2011-Presente, Universidad del Azuay (UDA) 2013-Presente,
en las reas de conocimiento terico-prctico en: Elctrica - Electrnica y Ciencias Exactas.
Su principal experiencia radica en el Diseo e Implementacin de Sistemas Embebidos para Control y Automatizacin de Procesos
Domticos e Industriales.
Daro Espinoza, naci el 12 de Agosto de 1990 en la ciudad Cuenca/Azuay Ecuador, curs sus estudios primarios en la ciudad de
Azogues en la Escuela Emilio Abad y en la Escuela La Salle, sus estudios secundarios los realiz en el ITS Luis Rogerio Gonzales
y en el Colegio Militar Abdn Caldern. Actualmente cursa sus estudios en la superiores de Ingeniera en Sistemas y Telemtica en la
Universidad del Azuay.
Experiencia laboral en diseo de pginas web y manejo de base de datos.
Danny Noboa, naci el 01 de Enero de 1983, en la ciudad de Milagro/Guayas Ecuador. Sus estudios primarios los realiz en la escuela
Luis Cordero, mientras que sus estudios de secundaria los realiz en el colegio 17 de Septiembre. Actualmente realiza sus estudios
superiores para Ingeniero de Sistemas y Telemtica en la Universidad del Azuay. Su amplia experiencia laboral, se destaca por hitos
como Soporte para Servidores, Soluciones de Cableado Estructurado, Soporte tcnico y Programacin Web.
Anexos
Anexo
Descripcin
ANEXO CIRCUITOS
ANEXO DATASHEETS
ANEXO GUIAS
ANEXO SOFTWARE
PROTEUS.
MPLAB.
MIKROC.
Gua de Microcontroladores
Referencias y AnexosTabla 30 Configuracin de prescaler 1:64 para el TMR0 en el
registro OPTION............................................................................................................. 97
Biografas
Italo Mogrovejo, naci el 16 de Mayo de 1979 en El Triunfo/Guayas - Ecuador, curs sus estudios en la ciudad de Cuenca: Primaria
Escuela Padre Carlos Crespi, Secundaria Instituto Tcnico Superior Salesiano, Superior Universidad Politcnica Salesiana,
actualmente desarrollando su Tesis Control Predictivo Generalizado para un Inversor Multinivel en Cascada Basado en Filtro Activo de
Potencia.
Se ha desarrollado en el mbito docente desde el 2002 en los siguientes establecimientos: Colegio Daniel Crdova Toral 2002-2006,
2009-2011, SECAP 2006-2008, Universidad Politcnica Salesiana (UPS) 2011-Presente, Universidad del Azuay (UDA) 2013-Presente,
en las reas de conocimiento terico-prctico en: Elctrica - Electrnica y Ciencias Exactas.
Su principal experiencia radica en el Diseo e Implementacin de Sistemas Embebidos para Control y Automatizacin de Procesos
Domticos e Industriales.
Daro Espinoza, naci el 12 de Agosto de 1990 en la ciudad Cuenca/Azuay Ecuador, curs sus estudios primarios en la ciudad de
Azogues en la Escuela Emilio Abad y en la Escuela La Salle, sus estudios secundarios los realiz en el ITS Luis Rogerio Gonzales
y en el Colegio Militar Abdn Caldern. Actualmente cursa sus estudios en la superiores de Ingeniera en Sistemas y Telemtica en la
Universidad del Azuay.
Experiencia laboral en diseo de pginas web y manejo de base de datos.
Danny Noboa, naci el 01 de Enero de 1983, en la ciudad de Milagro/Guayas Ecuador. Sus estudios primarios los realiz en la escuela
Luis Cordero, mientras que sus estudios de secundaria los realiz en el colegio 17 de Septiembre. Actualmente realiza sus estudios
superiores para Ingeniero de Sistemas y Telemtica en la Universidad del Azuay. Su amplia experiencia laboral, se destaca por hitos
como Soporte para Servidores, Soluciones de Cableado Estructurado, Soporte tcnico y Programacin Web.
Gua de Microcontroladores
Referencias y AnexosTabla 30 Configuracin de prescaler 1:64 para el TMR0 en el
registro OPTION............................................................................................................. 97
Biografas
Italo Mogrovejo, naci el 16 de Mayo de 1979 en El Triunfo/Guayas - Ecuador, curs sus estudios en la ciudad de Cuenca: Primaria
Escuela Padre Carlos Crespi, Secundaria Instituto Tcnico Superior Salesiano, Superior Universidad Politcnica Salesiana,
actualmente desarrollando su Tesis Control Predictivo Generalizado para un Inversor Multinivel en Cascada Basado en Filtro Activo de
Potencia.
Se ha desarrollado en el mbito docente desde el 2002 en los siguientes establecimientos: Colegio Daniel Crdova Toral 2002-2006,
2009-2011, SECAP 2006-2008, Universidad Politcnica Salesiana (UPS) 2011-Presente, Universidad del Azuay (UDA) 2013-Presente,
en las reas de conocimiento terico-prctico en: Elctrica - Electrnica y Ciencias Exactas.
Su principal experiencia radica en el Diseo e Implementacin de Sistemas Embebidos para Control y Automatizacin de Procesos
Domticos e Industriales.
Daro Espinoza, naci el 12 de Agosto de 1990 en la ciudad Cuenca/Azuay Ecuador, curs sus estudios primarios en la ciudad de
Azogues en la Escuela Emilio Abad y en la Escuela La Salle, sus estudios secundarios los realiz en el ITS Luis Rogerio Gonzales
y en el Colegio Militar Abdn Caldern. Actualmente cursa sus estudios en la superiores de Ingeniera en Sistemas y Telemtica en la
Universidad del Azuay.
Experiencia laboral en diseo de pginas web y manejo de base de datos.
Danny Noboa, naci el 01 de Enero de 1983, en la ciudad de Milagro/Guayas Ecuador. Sus estudios primarios los realiz en la escuela
Luis Cordero, mientras que sus estudios de secundaria los realiz en el colegio 17 de Septiembre. Actualmente realiza sus estudios
superiores para Ingeniero de Sistemas y Telemtica en la Universidad del Azuay. Su amplia experiencia laboral, se destaca por hitos
como Soporte para Servidores, Soluciones de Cableado Estructurado, Soporte tcnico y Programacin Web.
Gua de Microcontroladores
Referencias y AnexosTabla 30 Configuracin de prescaler 1:64 para el TMR0 en el
registro OPTION............................................................................................................. 97
Biografas
Italo Mogrovejo, naci el 16 de Mayo de 1979 en El Triunfo/Guayas - Ecuador, curs sus estudios en la ciudad de Cuenca: Primaria
Escuela Padre Carlos Crespi, Secundaria Instituto Tcnico Superior Salesiano, Superior Universidad Politcnica Salesiana,
actualmente desarrollando su Tesis Control Predictivo Generalizado para un Inversor Multinivel en Cascada Basado en Filtro Activo de
Potencia.
Se ha desarrollado en el mbito docente desde el 2002 en los siguientes establecimientos: Colegio Daniel Crdova Toral 2002-2006,
2009-2011, SECAP 2006-2008, Universidad Politcnica Salesiana (UPS) 2011-Presente, Universidad del Azuay (UDA) 2013-Presente,
en las reas de conocimiento terico-prctico en: Elctrica - Electrnica y Ciencias Exactas.
Su principal experiencia radica en el Diseo e Implementacin de Sistemas Embebidos para Control y Automatizacin de Procesos
Domticos e Industriales.
Daro Espinoza, naci el 12 de Agosto de 1990 en la ciudad Cuenca/Azuay Ecuador, curs sus estudios primarios en la ciudad de
Azogues en la Escuela Emilio Abad y en la Escuela La Salle, sus estudios secundarios los realiz en el ITS Luis Rogerio Gonzales
y en el Colegio Militar Abdn Caldern. Actualmente cursa sus estudios en la superiores de Ingeniera en Sistemas y Telemtica en la
Universidad del Azuay.
Experiencia laboral en diseo de pginas web y manejo de base de datos.
Danny Noboa, naci el 01 de Enero de 1983, en la ciudad de Milagro/Guayas Ecuador. Sus estudios primarios los realiz en la escuela
Luis Cordero, mientras que sus estudios de secundaria los realiz en el colegio 17 de Septiembre. Actualmente realiza sus estudios
superiores para Ingeniero de Sistemas y Telemtica en la Universidad del Azuay. Su amplia experiencia laboral, se destaca por hitos
como Soporte para Servidores, Soluciones de Cableado Estructurado, Soporte tcnico y Programacin Web.
Gua de Microcontroladores
Referencias y AnexosTabla 30 Configuracin de prescaler 1:64 para el TMR0 en el
registro OPTION............................................................................................................. 97
Biografas
Italo Mogrovejo, naci el 16 de Mayo de 1979 en El Triunfo/Guayas - Ecuador, curs sus estudios en la ciudad de Cuenca: Primaria
Escuela Padre Carlos Crespi, Secundaria Instituto Tcnico Superior Salesiano, Superior Universidad Politcnica Salesiana,
actualmente desarrollando su Tesis Control Predictivo Generalizado para un Inversor Multinivel en Cascada Basado en Filtro Activo de
Potencia.
Se ha desarrollado en el mbito docente desde el 2002 en los siguientes establecimientos: Colegio Daniel Crdova Toral 2002-2006,
2009-2011, SECAP 2006-2008, Universidad Politcnica Salesiana (UPS) 2011-Presente, Universidad del Azuay (UDA) 2013-Presente,
en las reas de conocimiento terico-prctico en: Elctrica - Electrnica y Ciencias Exactas.
Su principal experiencia radica en el Diseo e Implementacin de Sistemas Embebidos para Control y Automatizacin de Procesos
Domticos e Industriales.
Daro Espinoza, naci el 12 de Agosto de 1990 en la ciudad Cuenca/Azuay Ecuador, curs sus estudios primarios en la ciudad de
Azogues en la Escuela Emilio Abad y en la Escuela La Salle, sus estudios secundarios los realiz en el ITS Luis Rogerio Gonzales
y en el Colegio Militar Abdn Caldern. Actualmente cursa sus estudios en la superiores de Ingeniera en Sistemas y Telemtica en la
Universidad del Azuay.
Experiencia laboral en diseo de pginas web y manejo de base de datos.
Danny Noboa, naci el 01 de Enero de 1983, en la ciudad de Milagro/Guayas Ecuador. Sus estudios primarios los realiz en la escuela
Luis Cordero, mientras que sus estudios de secundaria los realiz en el colegio 17 de Septiembre. Actualmente realiza sus estudios
superiores para Ingeniero de Sistemas y Telemtica en la Universidad del Azuay. Su amplia experiencia laboral, se destaca por hitos
como Soporte para Servidores, Soluciones de Cableado Estructurado, Soporte tcnico y Programacin Web.
Gua de Microcontroladores
Referencias y AnexosTabla 30 Configuracin de prescaler 1:64 para el TMR0 en el
registro OPTION............................................................................................................. 97
Biografas
Italo Mogrovejo, naci el 16 de Mayo de 1979 en El Triunfo/Guayas - Ecuador, curs sus estudios en la ciudad de Cuenca: Primaria
Escuela Padre Carlos Crespi, Secundaria Instituto Tcnico Superior Salesiano, Superior Universidad Politcnica Salesiana,
actualmente desarrollando su Tesis Control Predictivo Generalizado para un Inversor Multinivel en Cascada Basado en Filtro Activo de
Potencia.
Se ha desarrollado en el mbito docente desde el 2002 en los siguientes establecimientos: Colegio Daniel Crdova Toral 2002-2006,
2009-2011, SECAP 2006-2008, Universidad Politcnica Salesiana (UPS) 2011-Presente, Universidad del Azuay (UDA) 2013-Presente,
en las reas de conocimiento terico-prctico en: Elctrica - Electrnica y Ciencias Exactas.
Su principal experiencia radica en el Diseo e Implementacin de Sistemas Embebidos para Control y Automatizacin de Procesos
Domticos e Industriales.
Daro Espinoza, naci el 12 de Agosto de 1990 en la ciudad Cuenca/Azuay Ecuador, curs sus estudios primarios en la ciudad de
Azogues en la Escuela Emilio Abad y en la Escuela La Salle, sus estudios secundarios los realiz en el ITS Luis Rogerio Gonzales
y en el Colegio Militar Abdn Caldern. Actualmente cursa sus estudios en la superiores de Ingeniera en Sistemas y Telemtica en la
Universidad del Azuay.
Experiencia laboral en diseo de pginas web y manejo de base de datos.
Danny Noboa, naci el 01 de Enero de 1983, en la ciudad de Milagro/Guayas Ecuador. Sus estudios primarios los realiz en la escuela
Luis Cordero, mientras que sus estudios de secundaria los realiz en el colegio 17 de Septiembre. Actualmente realiza sus estudios
superiores para Ingeniero de Sistemas y Telemtica en la Universidad del Azuay. Su amplia experiencia laboral, se destaca por hitos
como Soporte para Servidores, Soluciones de Cableado Estructurado, Soporte tcnico y Programacin Web.
Gua de Microcontroladores
Referencias y AnexosTabla 30 Configuracin de prescaler 1:64 para el TMR0 en el
registro OPTION............................................................................................................. 97
Biografas
Italo Mogrovejo, naci el 16 de Mayo de 1979 en El Triunfo/Guayas - Ecuador, curs sus estudios en la ciudad de Cuenca: Primaria
Escuela Padre Carlos Crespi, Secundaria Instituto Tcnico Superior Salesiano, Superior Universidad Politcnica Salesiana,
actualmente desarrollando su Tesis Control Predictivo Generalizado para un Inversor Multinivel en Cascada Basado en Filtro Activo de
Potencia.
Se ha desarrollado en el mbito docente desde el 2002 en los siguientes establecimientos: Colegio Daniel Crdova Toral 2002-2006,
2009-2011, SECAP 2006-2008, Universidad Politcnica Salesiana (UPS) 2011-Presente, Universidad del Azuay (UDA) 2013-Presente,
en las reas de conocimiento terico-prctico en: Elctrica - Electrnica y Ciencias Exactas.
Su principal experiencia radica en el Diseo e Implementacin de Sistemas Embebidos para Control y Automatizacin de Procesos
Domticos e Industriales.
Daro Espinoza, naci el 12 de Agosto de 1990 en la ciudad Cuenca/Azuay Ecuador, curs sus estudios primarios en la ciudad de
Azogues en la Escuela Emilio Abad y en la Escuela La Salle, sus estudios secundarios los realiz en el ITS Luis Rogerio Gonzales
y en el Colegio Militar Abdn Caldern. Actualmente cursa sus estudios en la superiores de Ingeniera en Sistemas y Telemtica en la
Universidad del Azuay.
Experiencia laboral en diseo de pginas web y manejo de base de datos.
Danny Noboa, naci el 01 de Enero de 1983, en la ciudad de Milagro/Guayas Ecuador. Sus estudios primarios los realiz en la escuela
Luis Cordero, mientras que sus estudios de secundaria los realiz en el colegio 17 de Septiembre. Actualmente realiza sus estudios
superiores para Ingeniero de Sistemas y Telemtica en la Universidad del Azuay. Su amplia experiencia laboral, se destaca por hitos
como Soporte para Servidores, Soluciones de Cableado Estructurado, Soporte tcnico y Programacin Web.
Gua de Microcontroladores
Referencias y AnexosTabla 30 Configuracin de prescaler 1:64 para el TMR0 en el
registro OPTION............................................................................................................. 97
Biografas
Italo Mogrovejo, naci el 16 de Mayo de 1979 en El Triunfo/Guayas - Ecuador, curs sus estudios en la ciudad de Cuenca: Primaria
Escuela Padre Carlos Crespi, Secundaria Instituto Tcnico Superior Salesiano, Superior Universidad Politcnica Salesiana,
actualmente desarrollando su Tesis Control Predictivo Generalizado para un Inversor Multinivel en Cascada Basado en Filtro Activo de
Potencia.
Se ha desarrollado en el mbito docente desde el 2002 en los siguientes establecimientos: Colegio Daniel Crdova Toral 2002-2006,
2009-2011, SECAP 2006-2008, Universidad Politcnica Salesiana (UPS) 2011-Presente, Universidad del Azuay (UDA) 2013-Presente,
en las reas de conocimiento terico-prctico en: Elctrica - Electrnica y Ciencias Exactas.
Su principal experiencia radica en el Diseo e Implementacin de Sistemas Embebidos para Control y Automatizacin de Procesos
Domticos e Industriales.
Daro Espinoza, naci el 12 de Agosto de 1990 en la ciudad Cuenca/Azuay Ecuador, curs sus estudios primarios en la ciudad de
Azogues en la Escuela Emilio Abad y en la Escuela La Salle, sus estudios secundarios los realiz en el ITS Luis Rogerio Gonzales
y en el Colegio Militar Abdn Caldern. Actualmente cursa sus estudios en la superiores de Ingeniera en Sistemas y Telemtica en la
Universidad del Azuay.
Experiencia laboral en diseo de pginas web y manejo de base de datos.
Danny Noboa, naci el 01 de Enero de 1983, en la ciudad de Milagro/Guayas Ecuador. Sus estudios primarios los realiz en la escuela
Luis Cordero, mientras que sus estudios de secundaria los realiz en el colegio 17 de Septiembre. Actualmente realiza sus estudios
superiores para Ingeniero de Sistemas y Telemtica en la Universidad del Azuay. Su amplia experiencia laboral, se destaca por hitos
como Soporte para Servidores, Soluciones de Cableado Estructurado, Soporte tcnico y Programacin Web.