Post on 04-Oct-2018
transcript
'.............
,.............
..............
..............
..............
..............
..............
..............
..............
..............
..............
..............
..............
..............
..............
..............
..............
..............
\¡[..........
..............
..............
r""""'"..............
..............
..............
@RA-MA
271
289
305
331
345
359
371
397
409
423
441
467
481
505
515
543
565
569
587
589
601
611
613
615
617
619
,.....--
ÍND1CE
PRÓLOGO ..............................................................................................................
Capítulo 1: MICROCONTROLADOR PICI6F84:.........................................
1.1 Microcontroladores PIC :.......1.2 Alimentación de un PIC16F84 ........................................................................1.3 Puertos de entrada/salida..................................................................................
1.4 Oscilador ,......................................1.4.1 OsciladorXT .......................................................................................1.4.2 Oscilador RC .......................................................................................
1.4.3 Osciladores HS y LP ...........................................................................1.4.4 Utilizando una señal de reloj externa..................................................
1.5 Reset..................................................................................................................
1.6 Montaje del entrenador.....................................................................................
Capítulo 2: PERIFÉRICOS BÁSICOS .............................................................
2.1 Diodo LED ,........................................................
2.2 Interruptores y pulsadores ................................................................................2.3 Entradas digitales con optoacopladores...........................................................2.4 Display de siete segmentos ..............................................................................2.5 Controlando cargas a 230 V.............................................................................
2.5.1 Control con relé ...................................................................................
2.5.2 Control con relé miniatura en cápsula DIL ........................................2.5.3 Control mediante fototriac ..................................................................
2.5.4 Control de potencia con triac ..............................................................2.6 Zumbador..........................................................................................................
XXI
1
1234555678
9
9111112131416161819
X MICROCONTROLADOR PICI6F84. DESARROLLO DE PROYECTOS @RA-MA @RA-MA
Capítulo 3: GRABACIÓN DE MICROCONTROLADORES PIC..............
3.1 Grabación de un microcontrolador ..................................................................3.2 Grabadores ........................................................................................................
3.3 Software de grabación IC-Prog........................................................................3.4 Grabación con medios reducidos.....................................................................
3.5 Proceso de grabación........................................................................................3.6 Buffer de almacenamiento de programas........................................................3.7 IC-Prog trabajando bajo Windows 2000 o XP................................................3.8 Errores frecuentes en la programación ............................................................3.9 Prácticasdelaboratorio"""""""""""""""""""""""""""""""'"...................
Capítulo 4: ORGANIZACIÓN DE LA MEMORIA .......................................
4.1 Arquitectura interna del PICI6F84..................................................................4.2 Organización de la memoria ............................................................................4.3 Memoria de programa ......................................................................................4.4 El contador de programa (PC) .........................................................................4.5 Memoria de datos .............................................................................................
4.6 Diferencias entre el PIC16F84A y el PIC16C84 ............................................4.7 Registros del SFR.............................................................................................4.8 Registros relacionados con los puertos............................................................
4.9 Registro PCL y contador de programa ............................................................4.10 Registro de trabajo W......................................................................................4.11 Registro de estado o STATUS .........................................................................4.12 Estado de los registros tras un reset.................................................................4.13 Registro de configuración ................................................................................
Capítulo 5: ARQUITECTURA INTERNA.......................................................
5.1 Microprocesador y Microcontrolador..............................................................5.2 Arquitectura de Von Neumann........................................................................5.3 Arquitectura Harvard........................................................................................5.4 Procesador segmentado ....................................................................................5.5 Procesador RISC .............................................................................................
5.6 Arquitectura ortogonal.....................................................................................5.7 Puertos...............................................................................................................5.8 Puerto A ............................................................................................................
5.9 Puerto B.............................................................................................................
Capítulo 6: ENSAMBLADOR ............................................................................
6.1 Lenguaje máquina ............................................................................................6.2 Lenguaje ensamblador......................................................................................6.3 Programa ensamblador .....................................................................................6.4 Ficheros resultantes del ensamblado ...............................................................
21
212224252631313234
6.5 El código fuente.6.5.1 Etiquetas6.5.2 Código di6.5.3 Operande6.5.4 ComentaJ
6.5.5 Nonnas~
6.6 Constantes num~6.7 Operadores aritm6.8 El repertorio de iJ6.9 Instrucciones de (
6.9.1 clrw........6.9.2 drf f.....6.9.3 movlw I6.9.4 movf f,e6.9.5 movwf 1
6.10 Instrucciones de 16.10.1 bcf f,b.6.10.2 bsf f,b.
6.11 Instrucción "goÍ(6.12 Configurar las 1m6.13 Directivas ...........
6.13.1 END .....6.13.2 EQU .....6.13.3 ORG .....6.13.4 CO1\6.13.5 LIST P=6.13.6 INCLUI
37
37373939414142424243434445
47
474849505152535356
Capítulo 7: MPLAE
7.1 Entorno MPLAB
7.2 Primeros pasos c<7.3 Ensamblado del]7.4 Fichero hexadeci7.5 Ventanas de visu
7.5.1 Ventana I
7.5.2 Ventana7.5.3 Ventana I
7.5.4 Ventana I
7.5.5 Ventana]7.5.6 Línea de
7.6 Simulación básic7.7 Simulación medi7.8 Simulación de en7.9 Grabación con el
57
57585859
@ RA-MA
'IC..............
....................
....................
....................
....................
....................
....................""""""""""
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
....................
1:::::::::::::::::::
""""""""""
....................
....................
....................,...................
21
212224252631313234
37
37373939414142424243434445
47
474849505152535356
57
57585859
I@RA-MA ÍNDICE XI
6.5 El código .fuente...............................................................................................6.5.1 Etiquetas...............................................................................................6.5.2 Código de operación............................................................................6.5.3 Operandos ............................................................................................6.5.4 Comentarios oooooo
6.5.5 Normas de estilo para escribir un archivo fuente...............................Constantes numéricas y alfanuméricas...oooooooo..oooo.oooo..oooooo oooo..oo oooo......
Operadores aritméticos.....................................................................................El repertorio de instrucciones............................................................................Instrucciones de carga ......................................................................................
6.9.1 cltwoooooooo..oooooo.oooooooo..oo.oo..................................................................6.9.2 clrf ..f..................................................................................................6.9.3 movlw k.............................................................................................
6.9.4 movf ..f,d............................................................................................6.9.5 movwf f..............................................................................................
6.10 Instrucciones de bit...........................................................................................
6.10.1 bcf f,b .""""""""""""""""""""'oooo"""""""""""""""""""""""""6.10.2 bsf f,b .oooo oooo oooo..oo.......................................................................
6.11 Instrucción "goto k" ......................................................................................6.12 Configurar las líneas de los puertos .................................................................6.13 Directivas ..........................................................................................................
6.13.1 END """"""""""" oooooooooooooo oo oooooo..oo..oo oo.
6.13.2 EQU ....................................................................................................6.13.3 ORG ....................................................................................................6.13.4 CONFIG """"""""""OO"""""OOOO"OO""OOOO"OO"'OO""OOOOOO"OOOOOOOOOO"'oooo.
6.13.5 LIST P=16F84A................................................................................6.13.6 INCLUDE <P16F84A.INC>...........................................................
6.66.76.86.9
Capítulo 7: MPLAB ..............................................................................................
Entorno MPLAB ..............................................................................................Primeros pasos con MPLAB IDE....................................................................Ensamblado del programa................................................................................Fichero hexadecimal resultante........................................................................Ventanas de ..visualización..............................................................................
7.5.1 Ventana de visualización de la memoria de programa ......................7.5.2 Ventana Disassemb1y """""""OO""oooo..oo oooooo oo..oo oooo...
7.5.3 Ventana de visualización de los registros del SFR ............................7.5.4 Ventana de contenido de la memoria RAMoooooooooo.oo.oo..oooooooooo...
4
7.5.5 VentanapersonalizadaWatch oo oo oo..oo..oooo.oooo..oo..
7.5.6 Línea de estado oo oo............................................................................
Simulación básica.............................................................................................
Simulación mediante Breakpoints y Traza......................................................Simulación de entradas.....................................................................................
Grabación con el archivo hexadecima1...oooooo..oo..oooooooooooooo.oooooo..oooo.oooooo..oooooooo.
7.17.27.37.47.5
7.67.77.87.9
596061616162636464666667676767686868686971717272737373
77
777884868788888890909191939596
XII MICROCONTROLADOR PIC!6F84. DESARROLLO DE PROYECTOS @ RA-MA
7.10 Fichero listable..................................................................................................7.11 Prácticas de laboratorio ....................................................................................
Capítulo 8: PROGRAMACIÓN ELEMENTAL..............................................
8.1 Instrucciones de suma ......................................................................................8.1.1 addlw k................................................................................................8.1.2 addwf f,d .............................................................................................
8.2 Instrucciones de resta .......................................................................................8.2.1 sublw k................................................................................................8.2.2 subwf f,d .............................................................................................
8.3 Incrementar y decrementar...............................................................................8.3.1 decf f,d ...............................................................................................
8.3.2 incf f,d ................................................................................................
8.4 Instrucciones lógicas ........................................................................................8.4.1 andlw k...............................................................................................8.4.2 andwf f,d ............................................................................................8.4.3 comf f,d..............................................................................................8.4.4 iorlw k................................................................................................8.4.5 iorwf f,d..............................................................................................8.4.6 rlf f,d...................................................................................................
8.4.7 rrf f,d ..................................................................................................
8.4.8 swapf f,d.............................................................................................8.4.9 xorlw k...............................................................................................8.4.10 xorwf f,d............................................................................................
8.5 Instrucción "sleep" ...........................................................................................8.6 Algunas instrucciones útiles.............................................................................8.7 Herramientas.....................................................................................................
8.7.1 Ensambladores y compiladores ..........................................................8.7.2 Simuladores software ..........................................................................8.7.3 Emuladores ..........................................................................................
8.7.4 Grabadores o programadores ..............................................................8.7.5 Sistemas de desarrollo.........................................................................
8.8 Proyectos con medios reducidos......................................................................8.9 Desarrollo de proyectos sencillos ....................................................................8.10 Prácticas de laboratorio ....................................................................................
.Capítulo 9: SALTOS.............................................................................................
9.1 Saltos condicionales :..........................................................................
9.2 Saltos en función de un bit...............................................................................9.2.1 Instrucción "btfsc f,b" .......................................................................9.2.2 Instrucción "btfss f,b"........................................................................
101
101102102103103103104104104104105105105105106106106107107107108109111111111113113113114115117
119
119120120120
9899
L............-
@ RA-MA
9.3 Saltos en función d9.3.1 Instrucción9.3.2 Instrucción
9.4 Comparación de re:9.4.1 Comprobar9.4.2 Comprobar9.4.3 Comprobm!9.4.4 Programa e
9.5 Lazos o bucles.......9.5.1 Lazo de rel9.5.2 Lazo con el
9.5.3 Lazo que SI9.6 Programación y al~9.7 Diagramas de flujo9.8 Más directivas imp
9.8.1 CBLOCK:9.8.2 #DEFINE.
9.9 Conversión de bim9.10 Salto indexado ......9.11 Salto indexado des9.12 Prácticas de labora
Capítulo 10: SUBRU'
10.1 Subrutinas ...........10.2 Subrutinas anidac
10.3 La pila ................10.4 Instrucciones "ea10.5 Ejemplo de utiliz:10.6 Ventajas de las SI10.7 Librería de subm10.8 Directiva "INCLl10.9 Simulación de su
10.10 Programación est1O.11 Prácticas de labor
Capítulo 11: MANEJ
11.1 Tablas de datos e11.1.1 Instrueei<11.1.2 Directiva
11.2 Más directivas....11.2.1 MESSG.11.2.2 ERROR.
11.2.3 IF y ENI
@RA-MA
,..................'..................
..................
..................
..................
..................
..................
..................
..................
..................
..................
..................
..................
..................
..................
..................
..................
..................
..................
..................
..................
..................
..................
..................
..................
..................
..................".....
"""""""""
..................
"""""""""
..................
..................
1"""""""'"
"""""""""
..................
..................
..................
..................
9899
101
101102102103103103104104104104105105105105106106106107107107108109111111111113113113114115117
119
119120120120
.---
@RA-MA ÍNDICE XIII
9.3 Saltos en función de un registro.......................................................................9.3.1 Instrucción "decfsz f,d" .....................................................................9.3.2 Instrucción "incfsz f,d"......................................................................
904 Comparación de registros.................................................................................904.1 Comprobar que un registro vale O......................................................904.2 Comprobar igualdad entre dos registros.............................................904.3 Comprobar que un registro es mayor o menor que otro ....................90404Programa ejemplo................................................................................
9.5 Lazos o bucles """"""""""""""""""""""""'"
9.5.1 Lazo de repetición infinita ..................................................................9.5.2 Lazo con condición de testeo ,.........9.5.3 Lazo que se repite un número conocido de veces..............................
Programación y algoritmo................................................................................Diagramas de flujo ...........................................................................................Más directivas importantes :..................................
9.8.1 CBLOCK y ..ENDC............................................................................9.8.2 #DEFINE """""""""""""""""""
9.9 Conversión de binario natural a BCD..............................................................9.10 Salto indexado """"""""""""""""""""""9.11 Salto indexado descontrolado ..........................................................................9.12 Prácticas de laboratorio ....................................................................................
9.69.79.8
Capítulo10: SUBRUTINAS................................................................................
10.1 Subrutinas .......................................................................................................10.2 Subrutinas anidadas........................................................................................
10.3 La pila ,........lOA Instrucciones"can" y "return"""""""""""""""""""""""""""""""""""'"
10.5 Ejemplo de utilización de las subrutinas """"""""""""""""""""""""""'"
10.6 Ventajas de las subrutinas """""""""""""""""""""""""""""""""""""""
10.7 Libreria de subrutinas.....................................................................................10.8 Directiva "INCLUDE"...................................................................................10.9 Simulación de subrutinas en MPLAB """"""""""""""""""""""""""""'"
10.10 Programación estructurada.............................................................................10.11Prácticas de laboratorio """""""""""""""""""""""""""""""""""""""""
Capítulo11: MANEJODE TABLAS ,...............................
11.1
11.2
Tablas de datos en memoria de programa.....................................................11.1.1 Instrucción "retlw" ............................................................................11.1.2 Directiva "DT" ..................................................................................
Más directivas.................................................................................................11.2.1 MESSG..............................................................................................11.2.2 ERROR """"""""""'" '
11.2.3 IF y ENDIF ,................................................................
121121121122122122123123125125126126127127130130130131134136138
141
141143145146147149149149154155156
157
157157159160160161161
XIV MICROCONTROLADOR PICI6F84. DESARROLLO DE PROYECTOS @ RA-MA
11.3 Gobierno de un display de 7 segmentos ........................................................11.4 Prácticas de laboratorio ..................................................................................
Capítulo 12: SUBRUTINAS DE RETARDO...................................................
12.1 Ciclo máquina.................................................................................................12.2 Medir tiempos con MPLAB ..........................................................................12.3 Instrucción "nop"............................................................................................12.4 Retardos mediante lazo simple ......................................................................12.5 Retardos mediante lazos anidados .................................................................12.6 Librería con subrutinas de retardos................................................................12.7 Rebotes en los pulsadores ..............................................................................12.8 Prácticas de laboratorio ;....................................................................
Capítulo 13: LCD """""""""""""""""
13.1 Visualizador LCD """"""""""""
13.2 Patillaje............................................................................................................13.3 DDRAM """"""""""""""""""""13.4 Caracteres definidos en la CGROM ..............................................................13.5 Modos de funcionamiento..............................................................................13.6 Comandos de control......................................................................................13.7 Conexión de LCD n1ediante 4 bits ................................................................13.8 Libreríadesubrutinas """"""""""""""""""""
13.9 Visualización de caracteres............................................................................13.10 Visualización de valores numéricos """""""""""""""""""""""""""""""
13.11 Conexión de LCD mediante 8 bits ................................................................13.12 Visualización de mensajes fijos.....................................................................13.13 Visualización de mensajes en movimiento """"""""""""""""""""""""'"
13.14 Prácticas de laboratorio ..................................................................................
Capítulo 14: ..EEPROMDEDATOS................................................................
14.1 Memoria EEPROM de datos .........................................................................14.2 Registro EECON1 """""""""""""'"14.3 Librería de subrutinas """"""""""""
14.4 Lecturade la EEPROMde datos...................................................................14.5 Escrituraen la EEPROMde datos :..............14.6 Directiva "DE" """"""""""""""14.7 Ventana "EEPROM" en el MPLAB .............................................................14.8 Programa ejemplo...........................................................................................14.9 Bloquear un circuito """""""""""""""'"14.10 Prácticas de laboratorio ..................................................................................
162166
169
169171171172174176181184
187
187188189191191192193194201202203204208209
213
213215216217217218218218221222
<{)RA-MA
Capítulo 15: TIME
15.1 El TimerO cnv15.2 TMRO como c(15.3 TMRO como te15.4 El TMRO es un
15.5 Divisor de freCj15.6 Bits de configu
15.6.1 Del reg15.6.2 Del reg
15.7 Ejemplodeln15.8 Ejemplodeln15.9 Prácticas de lal
Capítulo 16: OTR(
16.1 El Watchdoge16.2 Modo de bajo (16.3 Direccionamie]16.4 Macros............16.5 Resistencias de16.6 Prácticas de lal
Capítulo 17: INTE
17.1 Técnica Pollin¡17.2 Interrupciones17.3 Funcionamient
17.4 F1agsrelaciona17.4.1 Del re~17.4.2 Del re~
17.5 Instrucción "re
17.6 Interrupción ex17.7 Registros alten17.8 Averiguarla C217.9 Fases de una ir
17.10 Interrupción RJ17.11 Prácticas de lal
Capítulo 18: INTETIMI
18.1 Interrupción pr18.2 Temporizacion18.3 Temporizacion18.4 Temporizador.18.5 Prácticas de 1al
.....
@ RA-MA
................
................
................
................
................
................
................
................
................
................
................
................
................
................
................
................
................
................
................
................""""""""
................
................
................
................""""""""
................
................
................
................
................
L::::::::::::................................................................
162166
169
169171171172174176181184
187
187188189191191192193194201202203204208209
213
213215216217217218218218221222
I e~
I
IJ
ÍNDICE XV
Capítulo 15: TIMER O.........................................................................................
15.1 El Timer O(TMRO) ........................................................................................15.2 TMRO como contador ....................................................................................
15.3 TMRO como temporizador.............................................................................15.4 El TMRO es un registro del SFR....................................................................15.5 Divisor de ftecuencia (Prescaler)...................................................................15.6 Bits de configuración del TMRO ...................................................................
15.6.1 Del registro INTCON........................................................................15.6.2 Del registro OPTION ........................................................................
15.7 Ejemplo del TMRO como contador ...............................................................
15.8 Ejemplo del TMRO como temporizador........................................................15.9 Prácticas de laboratorio ..................................................................................
Capítulo 16: OTROS RECURSOS ....................................................................
16.1 El Watchdog (WDT) ......................................................................................16.2 Modo de bajo consumo o "SLEEP" ..............................................................16.3 Direccionamiento indirecto............................................................................16.4 Macros.............................................................................................................
16.5 Resistencias de Pull-Up del Puerto B ............................................................16.6 Prácticas de laboratorio ..................................................................................
Capítulo 17: INTERRUPCIONES. LECTURA DE ENTRADAS................
17.1 Técnica Polling ...............................................................................................17.2 Interrupciones .................................................................................................17.3 Funcionamiento de una interrupción .............................................................17.4 Flags relacionados con interrupciones...........................................................
17.4.1 Del registro INTCON........................................................................17.4.2 Del registro OPTION ........................................................................
17.5 Instrucción "retfie" .........................................................................................
17.6 Interrupción externa INT................................................................................17.7 Registros alterados por la interrupción..........................................................17.8 Averiguar la causa de la interrupción ............................................................17.9 Fases de una interrupción...............................................................................17.10Interrupción RBI.............................................................................................17.11Prácticas de laboratorio ..................................................................................
Capítulo 18: INTERRUPCIÓN POR DESBORDAMIENTO DELTIMER O .........................................................................................
18.1 Interrupción producida por el TMRO ............................................................18.2 Temporizaciones exactas ...............................................................................18.3 Temporizaciones largas..................................................................................18.4 Temporizador digital......................................................................................18.5 Prácticas de laboratorio ..................................................................................
223
223224224225225226226226
. 227229233
235
235237241243249250
253
253255257258258259259260261264264267268
271
271273274276286
XVI MICROCONTROLADOR PIC16F84. DESARROLLO DE PROYECTOS
Capítulo 19: TECLADO MA TRICIAL ............................................................
19.1 Teclado hexadecimal ~....................................................19.2 Conexión de un teclado a un PIC16F84........................................................
19.3 Algoritmo de programación...........................................................................19.4 Librería de subrutinas.....................................................................................
19.5 Ejemplo de aplicación ....................................................................................19.6 Cerradura electrónica .....................................................................................19.7 Prácticas de laboratorio ..................................................................................
Capítulo 20: COMUNICACIÓN CON ORDENADOR.................................
20.1 Puerto serie RS232 .........................................................................................20.2 El Baudio ........................................................................................................
20.3 Niveles lógicos RS232 ...................................................................................20.4 Formatode un byte.........................................................................................20.5 MAX232 :............
20.6 ConexiónpuertoRS232y PIC16F84............................................................20.7 Librería de subrutinas para RS232 ................................................................20.8 El HyperTerminal ,.....................................................................20.9 Programa ejemplo...........................................................................................20.10 Librería RS232 MEN.INC ............................................................................20.11 Sistema de monitorización.............................................................................
20.12 Sistema de gobierno desde ordenador ...........................................................20.13 Prácticas de laboratorio ..................................................................................
Capítulo 21: BUS I2C ~ ~...........................
21.1 El bus I2C .......................................................................................................21.2 Hardware del bus I2C.....................................................................................
21.3 Transferencia de un bit por la línea SDA ......................................................21.4 Condiciones de START y STOP ...................................................................21.5 Transferencia de datos :........................................................................21.6 Formato de una transferencia de datos ..........................................................
21.7 Tipos de formatos de transferencia................................................................21.8 Temporización................................................................................................21.9 Conexiónde bus I2C a un PIC16F84............................................................
21.10 Librería de subrutinas para bus I2C ...............................................................21.11 Dispositivos I2C .............................................................................................
Capítulo 22: 24LC256, MEMORIA EEPROM EN BUS I2C........................
22.1 Memoria EEPROM serie 24LC256 ..............................................................
22.2 Paginación de la memoria 24LC256 .............................................................22.3 Direccionamiento como esclavo....................................................................22.4 Conexión de una 24LC256 a un PIC16F84 ..................................................22.5 Escritura en la memoria 24LC256.................................................................
@RA-MA
22.6 Lectura de la mero22.7 Librería de subruti22.8 Ejemplo típico de22.9 Grabación de dato22.10 Visualización de n22.11 Control de mucho:
1
Capítulo 23: DS1624,
23.1 El sensor de templ23.2 Direccionamiento23.3 Lectura de la teml23.4 Registro de contrc23.5 Comandos ...........23.6 Librería de subrut23.7 Termómetro digit
Capítulo 24: DS1307,
24.1 El reloj-calendaril24.2 Conexión de un I24.3 Registros del DS'24.4 Registro de contri24.5 Escritura en el D~24.6 Lectura del DS1324.7 Librería de subru24.8 Programa del rel<
Capítulo 25: SAAI0«
25.1 SAA1064, contr(25.2 Circuito típico p~25.3 Circuito típico pl25.4 Direccionamient25.5 Registros interne25.6 Escritura en el S.25.7 Programa ejemp25.8 Termómetrode 1
Capítulo 26: PCF85'
26.1 El expansor de t26.2 Direccionamien26.3 Escritura en el P26.4 Lectura del PCF26.5 Librería de subr26.6 Interrupción......
-I
I@RA-MA-
289
290290292293298299303
305
305307307308309310312315318319322324328
331
331333334334335336337338339340343
345
345346347347348
@ RA-MA
...................
""""""""'"
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
...................
,..................L................
...................
...................
...................
...................
...................
...................
289
290290292293298299303
305
305307307308309310312315318319322324328
331
331333334334335336337338339340343
345
345346347347348
~
@ RA-MA ÍNDICE XVII
22.6 Lectura de la memoria 24LC256 ...................................................................22.7 Librería de subrutinas.....................................................................................
22.8 Ejemplo típico de aplicación..........................................................................22.9 Grabación de datos mediante el IC-Prog.......................................................22.10 Visualización de mensajes largos ..................................................................22.11 Control de muchos mensajes :..........................................................
Capítulo 23: DS1624, TERMÓMETRO EN BUS I2C....................................
23.1 El sensor de temperatura DS1624..................................................................23.2 Direccionamiento como esclavo....................................................................
23.3 Lectura de la temperatura...............................................................................23.4 Registrode control ,.....................23.5 Comandos .......................................................................................................23.6 Librería de subrutinas.....................................................................................
23.7 Termómetro digital.........................................................................................
Capítulo 24: pS1307, RELOJ CALENDARIO EN BUS I2C........................
24.1 El reloj-calendario DSI307............................................................................24.2 Conexión de un DS1307 a un PIC16F84 "............................................
24.3 Registros del DS1307 .....................................................................................24.4 Registro de .control........................................................................................24.5 Escritura en el DSI307...................................................................................24.6 Lectura del DSI307........................................................................................24.7 Librería de .subrutinas....................................................................................
24.8 Programa del reloj calendario digital.............................................................
Capítulo 25: SAA1064, CONTROLADOR DE DISPLAY............................
25.1 SAA1O64, controlador de display..................................................................25.2 Circuito típico para modo estático .................................................................25.3 Circuito típico para modo dinámico ,.............25.4 Direccionamiento como esclavo....................................................................
25.5 Registros internos ...........................................................................................25.6 Escrituraenel SAA1064................................................................................25.7 Programa ..ejemplo.........................................................................................25.8 Termómetro de visualización en displays .....................................................
Capítulo 26: PCF8574, EXPANSOR DE BUS I2C..........................................
26.1 El expansor de bus I2C PCF8574..................................................................26.2 Direccionamiento como esclavo....................................................................26.3 Escritura en el PCF8574.................................................................................26.4 Lectura del PCF8574......................................................................................26.5 Librería de ..subrutinas...................................................................................26.6 Interrupción.....................................................................................................
349350352354355356
359
359360360362363364367
371
371372374375376376377379
397
397397400400401403403404
409
409410411411412413
XVIII MICROCONTROLADOR PICI6F84. DESARROLLO DE PROYECTOS @RA-MA
26.7 ConexiónentrePCF8574y PICI6F84..........................................................26.8 Ejemplo de progratna .....................................................................................26.9 Constitución interna del puerto ......................................................................26.10 Teclado hexadecimal en bus I2C...................................................................
Capítulo 27: PCF8591, ADC y DAC EN BUS I2C .........................................
27.1 PCF8591 .........................................................................................................27.2 Direccionatniento como esclavo....................................................................
27.3 Registro de control.........................................................................................27.4 El PCF8591 como DAC.................................................................................27.5 Resolución del DAC.......................................................................................
27.6 Ejemplos del PCF859 1 como DAC...............................................................27.7 El PCF8591 como ADC.................................................................................
27.8 Ejemplo del PCF8591 como ADC ................................................................
Capítulo 28: BUS DE UNA LÍNEA ...................................................................
28.1 Sensor de temperatura DS 1820......................................................................28.2 Diagrama en bloques del DS1820 .................................................................28.3 Lectura de la temperatura...............................................................................28.4 Bus de una línea..............................................................................................28.5 Señales del bus de una línea...........................................................................
28.6 Inicialización: Pulsos Reset y Presence.........................................................28.7 Escritura de un bit sobre el DS1820 ..............................................................28.8 Lectura de un bit procedente del DS1820 .....................................................28.9 Librería de subrutinas para bus de 1 línea .....................................................28.10 Único DS1820 conectado al bus de 1 línea...................................................
28.11 Termostato digital...........................................................................................
Capítulo 29: MOTORES DE CORRIENTE CONTINUA ............................
29.1 Puente en H ,..............................................................................29.2 Driver L293B..................................................................................................29.3 Giro en un único sentido ................................................................................29.4 Giro en los dos sentidos .................................................................................
29.5 Conexión de motor C.c.y PIC16F84 .............................................................29.6 Control de velocidad .."..................................................................................
Capítulo 30: MOTORES PASO A PASO.........................................................
30.1 Motores paso a paso (PAP)............................................................................30.2 Principio de funcionamiento ..........................................................................30.3 Motores PAP bipolares .,................................................................................
30.3.1 Motor PAP bipolar en modo Full Step.............................................30.3.2 Motor PAP bipolar en modo HalfStep ............................................
30.4 Motores PAP unipolares ................................................................................
414415416417
423
423424425426428430436438
441
441442443444445445446446447450453
467
468469471472473475
481
481482484485485486
@RA-MA
30.5 Constitución inb
30.6 Disposición de 130.7 Parámetro de lo!30.8 Control de los mi30.9 Identificación di30.10 Conexión motor,30.11 Conexión motorl3().\1 C~1\U~\~~m~\~30.13 Realización de SI30.14 Control de moto]30.15 Control de veloc
Capítulo 31: SERV(
31.1 Servomotores pa31.2 Funcionatniento31.3 Terminales ........31.4 Conexión de un :
Capítulo 32: SENS(]
32.1 Sensores para m132.2 Inversor Trigger32.3 LDR...................32.4 Fotosensores act
32.4.1 Sensor ó32.4.2 Sensores32.4.3 Ejemplo32.4.4 Sensor ó;
32.5 Sensores infrarrc
32.5.1 PrincipiG32.5.2 GP2D0532.5.3 GP2Dl532.5.4 GP2D12
32.6 Receptor para ca32.6.1 Descripc32.6.2 Circuito32.6.3 Circuito
32.7 Sensor de proxin32.8 Bumpers ............32.9 Detector por ultr,
Capítulo 33: CONSl
33.1 Introducción a la33.2 Nivel fisico. MO1
33.2.1 Motores
..
@ RA-MA
,..................,..................,..................'..................
..................
.0................
..................
..................
..................
.................."""""""""
..................
..................
OO""""""""
oo................
oo................
..................
..................
..................'..................................."""""""""
.................
"""""""'"
"""""""'"
"""""""'"
"""""""'"
"""""""'"
"""""""'"
"""""""'"
oo...............
i................I.................
................
................
................
................
................""""""""
414415416417
423
423424425426428430436438
441
441442443444445445446446447450453
467
468469471472473475
481
481482484485485486
,...
!JRA-MA ÍNDICE XIX
a
30.5 Constitución interna de un motor PAP ..........................................................
30.6 Disposición de las bobinas .............................................................................3007 Parámetro de los motores PAP ......................................................................
3008 Control de los motores paso a paso ...............................................................3009 Identificación de un motor PAP.....................................................................30010Conexión motor PAP bipolary PIC16F84 ...................................................30011Conexión motor PAP Unipolar y PIC16F84 ................................................30.12 Control de motor PAP en modo Full Step ....................................................30.13 Realización de secuencias de movimientos ..................................................30.14 Control de motor PAP en modo HalfStep....................................................30.15Controlde velocidad""""""""""""""""""""""""""""""""""""'..0 0.
Capítulo 31: SERVOMOTORES DE RADIOCONTROL............................
31.1 Servomotores para microrobótica o
31.2 Funcionamiento del servomotor ....................................................................31.3 Terminales """"""""""""""""""""""""""""""' 0.............................31.4 Conexión de un servomotor a un PICI6F84.................................................
Capítulo 32: SENSORES PARA MICROROBÓTICA..................................
3201 Sensores para microrobótica o...o32.2 Inversor Trigger Schmitt 40106.....................................................................32.3 LDR.................................................................................................................32.4 Fotosensores activos o...o.o o 0.0
32.4.1 Sensor óptico CNY70 .......................................................................32.4.2 Sensores ópticos OPB703/4/5 0...............................32.4.3 Ejemplo de aplicación o o
32.4.4 Sensor óptico de barrera H21Al.......................................................32.5 Sensores inftarrojos GP2DXX ......................................................................
32.5.1 Principio de funcionamiento.............................................................32.5.2 GP2D05 .............................................................................................32.5.3 GP2D15 """"""""""""""' 0 """
32.5.4 GP2D12 """""""""""""""""""""""""" 0......
3206 Receptor para control remoto SFH5110........................................................32.6.1 Descripción o..................32.6.2 Circuito detector """"""""""""""""""""""""""""""""""""""""32.6.3 Circuito emisor 0.0................
32.7 Sensor de proximidad IS471F........................................................................3208 Bumpers """"""""""" 0 O"""",,","
32.9 Detector por ultrasonido SRF04....................................................................
Capítulo 33: CONSTRUCCIÓN DE UN MICROROBOT ...........................
33.1 Introducción a la Microbótica........................................................................33.2 Nivel fisico. Motores o..............
33.2.1 Motores de corriente continua de pequeña potencia........................
489490491492492494495496498500502
505
505507508509
515
515515518521522524525526527528529530530531531533533533535537
543
543545545
xx MICROCONlROLADOR PIC16F84. DESARROLLO DE PROYECTOS @RA-MA
33.2.2 Motores de corriente continua con reductoras .................................33.2.3 Servomotores.....................................................................................33.2.4 ModificaCión de un servomotor........................................................33.2.5 Fijación del motor a la estructura .....................................................
33.3 Nivel fisico. Estructura...................................................................................33.3.1 Estructuras comerCiales.....................................................................33.3.2 Estructura del microrobot experimental "Trasto" ............................
33.4 Nivel fisico. Ruedas .......................................................................................33.4.1 Estructuras según la colocación de las ruedas..................................33.4.2 Ruedas "locas" ,.........................................................................33.4.3 Ruedas de tracción :...........
33.5 Nivel fisico. Movilidad ..................................................................................33.6 Nivel de reacción............................................................................................33.7 Nivel de control..............................................................................................
33.7.1 Estrategia a seguir para un microbot rastreador ...............................33.7.2 Programa del rastreador ....................................................................
33.7.3 Estrategia a seguir para un robot detector de baliza.........................33.7.4 Programa de robot detector de baliza ...............................................
APÉNDICES
A. CARACTERÍSTICAS TÉCNICAS DEL PIC16F84A .................................
B. REPERTORIO DE INSTRUCCIONES '......................................
C. CONSTANTES y OPERADORES ...............................................................
D. PRINCIPALES DIRECTIVAS DEL ENSAMBLADOR MP ASM .............
E. REGISTROS ESPECIALES ...........................................................................
F. GRABADOR TE20-SE ...................................................................................
G. CÓDIGO ASCII...............................................................................................
H DIRECCIONES DE INTERNET....................................................................
I. CONTENIDO DEL CD-ROM........................................................................
ÍNDICEALFABÉTICO 0 """"""""""""""""
545545546549550550551552552553554555556559559561562563
565
569
587
589
601
611
613
615
617
619
Los microco:hace unos años de f
los equipos. Un ej<televisión digital, lepoco tiempo, paraincluidos en sus m<
y, principalmente, p
En los últimicrocontroladores
montajes, de manerdonde antes se utili¡
Diversos fabnecesidades. Pero,diseños aficionadm
fabricados por Mi,mayor fabricante d
En este augdocumentaCión ywww.microchip.cOJresulte muy fácilaficionadosa la ele
Entre los,prestaciones, faclli
..