Table Of ContentMMiiccrrooccoonnttrroollaaddoorreess PP II CC
Microcontroladores PIC con
programación PBP M
i
c ccoonn pprrooggrraammaacciióónn PP BB PP
r
po
rc
oo
El presente libro tiene como objetivo brindar a sus lectores un punto de partida gn
rt
en la realización de proyectos con microcontroladores PIC usando un lenguaje de ar
o
m
programación sencillo, el PIC Basic Pro. Para lograr este objetivo, el libro presenta l
a
circuitos basados en los microcontroladores PIC16F84A, el PIC16F877A y los PIC a
d
c
con interfaz USB PIC18F2550 y PIC18F4550 con su respectiva programación. io
ó
r
ne
El libro está dividido en 18 capítulos, donde se abordan diferentes temas como la s
P
descripción de los microcontroladores PIC, periféricos diversos de entrada y salida
BP
como visualizadores de 7 segmentos, pantallas de cristal líquido, conversores A/D
PI
C
y D/A, memorias seriales, teclados, transmisores y receptores de RF, GPS, motores
de corriente continua, motores paso a paso bipolares y unipolares, servomotores, c
o
etapas de potencia, acondicionamiento de señal, además de interfaces de n
comunicación seriales con el computador como la popular RS232 y la USB usando
el software Visual Basic de Microsoft.
El libro contiene material adicional que podrá descargarse
accediendo a la ficha del libro en www.ra-ma.es. Este O
m
material incluye todos los códigos de programa, tanto en Fa
rar
Pic Basic Pro como en Visual Basic, archivos de simulación en Proteus y las hojas nE
kn
técnicas de cada uno de los dispositivos usados en este manual. linriq
Bu
ae
rr B
aa
r
Zr
aa
p Z
aa
tap
a
t
a
Omar Enrique Barra Zapata
9 788499 640426 Franklin Barra Zapata
Desde www.ra-ma.es podrá
descargarse material adicional.
9
7
8
8
4
9
9
6
4
0
4
2
6
Microcontroladores PIC con
programación PBP
Microcontroladores PIC con
programación PBP
Ing. Omar Enrique Barra Zapata
Ing. Franklin Barra Zapata
La ley prohíbe
Copiar o Imprimir este libro
Microcontroladores PIC con programación PBP
© Omar Enrique Barra Zapata, Franklin Barra Zapata
© De la Edición Original en papel publicada por Editorial RA-MA
ISBN de Edición en Papel: 978-84-9964-042-6
Todos los derechos reservados © RA-MA, S.A. Editorial y Publicaciones, Madrid, España.
MARCAS COMERCIALES. Las designaciones utilizadas por las empresas para distinguir sus productos
(hardware, software, sistemas operativos, etc.) suelen ser marcas registradas. RA-MA ha intentado a lo largo de
este libro distinguir las marcas comerciales de los términos descriptivos, siguiendo el estilo que utiliza el
fabricante, sin intención de infringir la marca y solo en beneficio del propietario de la misma. Los datos de los
ejemplos y pantallas son ficticios a no ser que se especifique lo contrario.
RA-MA es una marca comercial registrada.
Se ha puesto el máximo empeño en ofrecer al lector una información completa y precisa. Sin embargo, RA-MA
Editorial no asume ninguna responsabilidad derivada de su uso ni tampoco de cualquier violación de patentes ni
otros derechos de terceras partes que pudieran ocurrir. Esta publicación tiene por objeto proporcionar unos
conocimientos precisos y acreditados sobre el tema tratado. Su venta no supone para el editor ninguna forma de
asistencia legal, administrativa o de ningún otro tipo. En caso de precisarse asesoría legal u otra forma de ayuda
experta, deben buscarse los servicios de un profesional competente.
Reservados todos los derechos de publicación en cualquier idioma.
Según lo dispuesto en el Código Penal vigente ninguna parte de este libro puede ser reproducida, grabada en
sistema de almacenamiento o transmitida en forma alguna ni por cualquier procedimiento, ya sea electrónico,
mecánico, reprográfico, magnético o cualquier otro sin autorización previa y por escrito de RA-MA; su contenido
está protegido por la Ley vigente que establece penas de prisión y/o multas a quienes, intencionadamente,
reprodujeren o plagiaren, en todo o en parte, una obra literaria, artística o científica.
Editado por:
RA-MA, S.A. Editorial y Publicaciones
Calle Jarama, 33, Polígono Industrial IGARSA
28860 PARACUELLOS DE JARAMA, Madrid
Teléfono: 91 658 42 80
Fax: 91 662 81 39
Correo electrónico: [email protected]
Internet: www.ra-ma.es y www.ra-ma.com
Maquetación y diseño portada: Antonio García Tomé
ISBN: 978-84-9964-636-7
E-Book desarrollado en España en Noviembre de 2015
Descarga de Material Adicional
Este E-book tiene disponible un material adicional que complementa el
contenido del mismo.
Este material se encuentra disponible en nuestra página Web www.ra-ma.com.
Para descargarlo debe dirigirse a la ficha del libro de papel que se corresponde
con el libro electrónico que Ud. ha adquirido. Para localizar la ficha del libro de
papel puede utilizar el buscador de la Web.
Una vez en la ficha del libro encontrará un enlace con un texto similar a este:
“Descarga del material adicional del libro”
Pulsando sobre este enlace, el fichero comenzará a descargarse.
Una vez concluida la descarga dispondrá de un archivo comprimido. Debe
utilizar un software descompresor adecuado para completar la operación. En el
proceso de descompresión se le solicitará una contraseña, dicha contraseña
coincide con los 13 dígitos del ISBN del libro de papel (incluidos los guiones).
Encontrará este dato en la misma ficha del libro donde descargó el material
adicional.
Si tiene cualquier pregunta no dude en ponerse en contacto con nosotros en la
siguiente dirección de correo: [email protected]
A nuestros padres celestiales y nuestro hermano Jesús, que iluminan cada uno
de los momentos de nuestra vida junto a nuestros amados padres en la Tierra, Sara y
Francisco, que nos brindan todo su amor, cariño y apoyo.
ÍNDICE
(cid:1)
INTRODUCCIÓN..............................................................................................................17
(cid:1)
CAPÍTULO 1. MICROCONTROLADORES.................................................................19
(cid:1)
1.1 MICROCONTROLADOR.........................................................................................19
(cid:1)
1.1.1 Controlador y microcontrolador..........................................................................19
(cid:1)
1.1.2 Diferencia entre microprocesador y microcontrolador.......................................21
(cid:1)
1.1.3 Aplicaciones de los microcontroladores.............................................................22
(cid:1)
1.1.4 El mercado de los microcontroladores................................................................22
(cid:1)
1.1.5 ¿Qué microcontrolador emplear?........................................................................24
(cid:1)
1.2 RECURSOS COMUNES A TODOS LOS MICROCONTROLADORES................26
(cid:1)
1.2.1 Arquitectura básica..............................................................................................26
(cid:1)
1.2.2 El procesador o UCP...........................................................................................27
(cid:1)
1.2.3 Memoria..............................................................................................................28
(cid:1)
1.2.4 Puertas de entrada y salida..................................................................................30
(cid:1)
1.2.5 Reloj principal.....................................................................................................30
(cid:1)
1.3 RECURSOS ESPECIALES........................................................................................31
(cid:1)
1.3.1 Temporizadores o Timers....................................................................................32
(cid:1)
1.3.2 Perro guardián o Watchdog.................................................................................32
(cid:1)
1.3.3 Protección ante fallo de alimentación o Brownout.............................................32
(cid:1)
1.3.4 Estado de reposo o de bajo consumo..................................................................32
(cid:1)
1.3.5 Conversor de analógico a digital (A/D)..............................................................33
(cid:1)
1.3.6 Conversor de digital a analógico (D/A)..............................................................33
(cid:1)
1.3.7 Comparador analógico........................................................................................33
(cid:1)
1.3.8 Modulador de anchura de impulsos o PWM.......................................................33
8 MICROCONTROLADORES PIC CON PROGRAMACIÓN PBP © RA-MA
(cid:1)
1.3.9 Puertas de Entrada/Salida (E/S) digitales............................................................33
(cid:1)
1.3.10 Puertas de comunicación...................................................................................34
(cid:1)
1.4 HERRAMIENTAS PARA EL DESARROLLO DE APLICACIONES.....................34
(cid:1)
1.4.1 Desarrollo del software.......................................................................................35
(cid:1)
1.4.2 Depuración..........................................................................................................35
(cid:1)
1.4.3 Grabación............................................................................................................36
(cid:1)
CAPÍTULO 2. MICROCONTROLADORES PIC.........................................................39
(cid:1)
2.1 MICROCONTROLADORES PIC.............................................................................39
(cid:1)
2.2 CARACTERÍSTICAS COMUNES............................................................................40
(cid:1)
2.2.1 Arquitectura.........................................................................................................40
(cid:1)
2.2.2 Segmentación......................................................................................................40
(cid:1)
2.2.3 Formato de las instrucciones...............................................................................41
(cid:1)
2.2.4 Juego de instrucciones.........................................................................................41
(cid:1)
2.2.5 Todas las instrucciones son ortogonales.............................................................41
(cid:1)
2.2.6 Arquitectura basada en un “banco de registros”.................................................41
2.2.7 Diversidad de modelos de microcontroladores con prestaciones y recursos
(cid:1)
diferentes.............................................................................................................41
(cid:1)
2.2.8 Herramientas de soporte potentes y económicas................................................41
(cid:1)
2.3 LAS GAMAS DE PIC.................................................................................................42
(cid:1)
2.3.1 La gama enana: PIC12C(F)XXX de 8 patitas.....................................................42
(cid:1)
2.3.2 Gama baja o básica: PIC16C5X con instrucciones de 12 bits............................43
(cid:1)
2.3.3 Gama media: PIC16CXXX con instrucciones de 14 bits...................................45
(cid:1)
2.3.4 Gama alta: PIC17CXXX con instrucciones de 16 bits.......................................47
(cid:1)
2.3.5 Gama alta: PIC18CXXXX con instrucciones de 16 bits....................................48
(cid:1)
2.4 MICROCONTROLADOR PIC16F84........................................................................48
(cid:1)
2.4.1 Arquitectura interna.............................................................................................48
(cid:1)
2.4.2 Pines y funciones.................................................................................................50
(cid:1)
2.4.2.1 Puerto A.....................................................................................................................50
(cid:1)
2.4.2.2 Puerto B.....................................................................................................................51
(cid:1)
2.4.2.3 Pines adicionales........................................................................................................51
(cid:1)
2.5 MICROCONTROLADOR PIC16F877A...................................................................52
(cid:1)
2.5.1 Arquitectura interna.............................................................................................52
(cid:1)
2.5.2 Pines y funciones.................................................................................................53
(cid:1)
2.5.2.1 Puerto A.....................................................................................................................54
(cid:1)
2.5.2.2 Puerto B.....................................................................................................................55
(cid:1)
2.5.2.3 Puerto C.....................................................................................................................55
(cid:1)
2.5.2.4 Puerto D.....................................................................................................................56
(cid:1)
2.5.2.5 Puerto E.....................................................................................................................56
RA-MA ÍNDICE 9
(cid:1)
2.5.2.6 Pines adicionales........................................................................................................57
(cid:1)
2.6 MICROCONTROLADOR PIC18F2550....................................................................57
(cid:1)
2.6.1 Arquitectura interna.............................................................................................57
(cid:1)
2.6.2 Pines y funciones.................................................................................................58
(cid:1)
2.6.2.1 Puerto A.....................................................................................................................59
(cid:1)
2.6.2.2 Puerto B.....................................................................................................................60
(cid:1)
2.6.2.3 Puerto C.....................................................................................................................60
(cid:1)
2.6.2.4 Puerto E.....................................................................................................................61
(cid:1)
2.6.2.5 Pines adicionales........................................................................................................61
(cid:1)
2.7 MICROCONTROLADOR PIC18F4550....................................................................61
(cid:1)
2.7.1 Arquitectura Interna............................................................................................61
(cid:1)
2.7.2 Pines y funciones.................................................................................................62
(cid:1)
2.7.2.1 Puerto A.....................................................................................................................63
(cid:1)
2.7.2.2 Puerto B.....................................................................................................................64
(cid:1)
2.7.2.3 Puerto C.....................................................................................................................65
(cid:1)
2.7.2.4 Puerto D.....................................................................................................................65
(cid:1)
2.7.2.5 Puerto E.....................................................................................................................66
(cid:1)
2.7.2.6 Pines adicionales........................................................................................................66
(cid:1)
CAPÍTULO 3. COMANDOS PIC BASIC PRO..............................................................67
(cid:1)
3.1 @.................................................................................................................................67
(cid:1)
3.2 ADCIN........................................................................................................................68
(cid:1)
3.3 BRANCH....................................................................................................................68
(cid:1)
3.4 BUTTON....................................................................................................................69
(cid:1)
3.5 CALL..........................................................................................................................71
(cid:1)
3.6 CLEAR.......................................................................................................................71
(cid:1)
3.7 CLEARWDT..............................................................................................................72
(cid:1)
3.8 COUNT.......................................................................................................................72
(cid:1)
3.9 DATA.........................................................................................................................72
(cid:1)
3.10 DTMFOUT...............................................................................................................73
(cid:1)
3.11 EEPROM..................................................................................................................75
(cid:1)
3.12 END..........................................................................................................................75
(cid:1)
3.13 FOR… NEXT...........................................................................................................75
(cid:1)
3.14 FREQOUT................................................................................................................76
(cid:1)
3.15 GOSUB.....................................................................................................................77
(cid:1)
3.16 GOTO.......................................................................................................................77
(cid:1)
3.17 HIGH.........................................................................................................................78
(cid:1)
3.18 I2CREAD..................................................................................................................78
(cid:1)
3.19 I2CWRITE................................................................................................................79
10 MICROCONTROLADORES PIC CON PROGRAMACIÓN PBP © RA-MA
(cid:1)
3.20 IF… THEN...............................................................................................................80
(cid:1)
3.21 INPUT.......................................................................................................................81
(cid:1)
3.22 LCDIN......................................................................................................................81
(cid:1)
3.23 LCDOUT..................................................................................................................82
(cid:1)
3.24 LOW.........................................................................................................................83
(cid:1)
3.25 NAP...........................................................................................................................83
(cid:1)
3.26 ON INTERRUPT......................................................................................................84
(cid:1)
3.27 OUTPUT...................................................................................................................85
(cid:1)
3.28 PAUSE......................................................................................................................85
(cid:1)
3.29 PAUSEUS.................................................................................................................86
(cid:1)
3.30 POT...........................................................................................................................86
(cid:1)
3.31 PULSIN.....................................................................................................................87
(cid:1)
3.32 PULSOUT.................................................................................................................87
(cid:1)
3.33 PWM.........................................................................................................................88
(cid:1)
3.34 RANDOM.................................................................................................................89
(cid:1)
3.35 READ........................................................................................................................89
(cid:1)
3.36 RETURN...................................................................................................................89
(cid:1)
3.37 REVERSE.................................................................................................................90
(cid:1)
3.38 SELECT CASE.........................................................................................................90
(cid:1)
3.39 SERIN2.....................................................................................................................91
(cid:1)
3.40 SEROUT2.................................................................................................................93
(cid:1)
3.41 SHIFTIN...................................................................................................................94
(cid:1)
3.42 SHIFTOUT...............................................................................................................96
(cid:1)
3.43 SLEEP.......................................................................................................................97
(cid:1)
3.44 SWAP.......................................................................................................................98
(cid:1)
3.45 TOOGLE...................................................................................................................98
(cid:1)
3.46 TRIS..........................................................................................................................98
(cid:1)
3.47 WHILE…WEND......................................................................................................99
(cid:1)
3.48 WRITE....................................................................................................................100
(cid:1)
CAPÍTULO 4. INSTALACIÓN DE SOFTWARE........................................................101
(cid:1)
4.1 DESCRIPCIÓN DE LAS HERRAMIENTAS DE DESARROLLO........................101
(cid:1)
4.1.1 El Editor CodeDesigner Lite.............................................................................101
(cid:1)
4.1.2 El Compilador PicBasic Pro..............................................................................101
(cid:1)
4.1.3 El Programador EPIC........................................................................................102
4.2 INSTALACIÓN Y CONFIGURACIÓN DE LAS HERRAMIENTAS DE
(cid:1)
DESARROLLO.......................................................................................................103
(cid:1)
4.2.1 Paso 1: instalación de las herramientas de desarrollo.......................................103