Microcontroladores PIC con programación PBP
- 1ra.edición
- México Alfaomega 2011
- 452 pg Ilustración 17X23 cm
Título: Microcontroladores PIC con programación PBP
Autores: Omar Enrique Barra Zapata y Franklin Barra Zapata
Editorial: Grupo Editorial RA-MA / Alfaomega
Año de publicación: 2011
ISBN: 978-84-9964-042-6
Páginas: 454
Idioma: Español
Formato: Tapa blanda / eBook
Precio aproximado: $28.40 USD
Disponibilidad: Disponible en librerías y tiendas en línea universitarialibros.com +3 alfaomegaeditor.com.mx +3 RA-MA +3 RA-MA +2 universitarialibros.com +2 tecno-libro.es +2 universitarialibros.com +2 RA-MA +2 RA-MA +2
INTRODUCCIÓN ………………………………………………………………………………………………..17 CAPÍTULO 1. MICROCONTROLADORES ………………………………………………………..19 1.1 MICROCONTROLADOR ……………………………………………………………………………..19 1.1.1 Controlador y microcontrolador………………………………………………………………..19 1.1.2 Diferencia entre microprocesador y microcontrolador …………………………………21 1.1.3 Aplicaciones de los microcontroladores …………………………………………………….22 1.1.4 El mercado de los microcontroladores……………………………………………………….22 1.1.5 ¿Qué microcontrolador emplear?………………………………………………………………24 1.2 RECURSOS COMUNES A TODOS LOS MICROCONTROLADORES …………….26 1.2.1 Arquitectura básica………………………………………………………………………………….26 1.2.2 El procesador o UCP……………………………………………………………………………….27 1.2.3 Memoria ………………………………………………………………………………………………..28 1.2.4 Puertas de entrada y salida ……………………………………………………………………….30 1.2.5 Reloj principal………………………………………………………………………………………..30 1.3 RECURSOS ESPECIALES…………………………………………………………………………….31 1.3.1 Temporizadores o Timers…………………………………………………………………………32 1.3.2 Perro guardián o Watchdog………………………………………………………………………32 1.3.3 Protección ante fallo de alimentación o Brownout ………………………………………32 1.3.4 Estado de reposo o de bajo consumo …………………………………………………………32 1.3.5 Conversor de analógico a digital (A/D) ……………………………………………………..33 1.3.6 Conversor de digital a analógico (D/A) ……………………………………………………..33 1.3.7 Comparador analógico …………………………………………………………………………….33 1.3.8 Modulador de anchura de impulsos o PWM……………………………………………….33 1.3.9 Puertas de Entrada/Salida (E/S) digitales……………………………………………………33 1.3.10 Puertas de comunicación………………………………………………………………………..34 1.4 HERRAMIENTAS PARA EL DESARROLLO DE APLICACIONES…………………34 1.4.1 Desarrollo del software ……………………………………………………………………………35 1.4.2 Depuración …………………………………………………………………………………………….35 1.4.3 Grabación ………………………………………………………………………………………………36 CAPÍTULO 2. MICROCONTROLADORES PIC …………………………………………………39 2.1 MICROCONTROLADORES PIC …………………………………………………………………..39 2.2 CARACTERÍSTICAS COMUNES………………………………………………………………….40 2.2.1 Arquitectura……………………………………………………………………………………………40 2.2.2 Segmentación …………………………………………………………………………………………40 2.2.3 Formato de las instrucciones…………………………………………………………………….41 2.2.4 Juego de instrucciones……………………………………………………………………………..41 2.2.5 Todas las instrucciones son ortogonales …………………………………………………….41 2.2.6 Arquitectura basada en un “banco de registros” ………………………………………….41 2.2.7 Diversidad de modelos de microcontroladores con prestaciones y recursos diferentes ……………………………………………………………………………………………….41 2.2.8 Herramientas de soporte potentes y económicas …………………………………………41 2.3 LAS GAMAS DE PIC…………………………………………………………………………………….42 2.3.1 La gama enana: PIC12C(F)XXX de 8 patitas……………………………………………..42 2.3.2 Gama baja o básica: PIC16C5X con instrucciones de 12 bits ……………………….43 2.3.3 Gama media: PIC16CXXX con instrucciones de 14 bits ……………………………..45 2.3.4 Gama alta: PIC17CXXX con instrucciones de 16 bits …………………………………47 2.3.5 Gama alta: PIC18CXXXX con instrucciones de 16 bits ………………………………48 2.4 MICROCONTROLADOR PIC16F84………………………………………………………………48 2.4.1 Arquitectura interna…………………………………………………………………………………48 2.4.2 Pines y funciones…………………………………………………………………………………….50 2.4.2.1 Puerto A……………………………………………………………………………………………………… 50 2.4.2.2 Puerto B ……………………………………………………………………………………………………… 51 2.4.2.3 Pines adicionales………………………………………………………………………………………….. 51 2.5 MICROCONTROLADOR PIC16F877A………………………………………………………….52 2.5.1 Arquitectura interna…………………………………………………………………………………52 2.5.2 Pines y funciones…………………………………………………………………………………….53 2.5.2.1 Puerto A……………………………………………………………………………………………………… 54 2.5.2.2 Puerto B ……………………………………………………………………………………………………… 55 2.5.2.3 Puerto C ……………………………………………………………………………………………………… 55 2.5.2.4 Puerto D……………………………………………………………………………………………………… 56 2.5.2.5 Puerto E ……………………………………………………………………………………………………… 56 2.5.2.6 Pines adicionales………………………………………………………………………………………….. 57 2.6 MICROCONTROLADOR PIC18F2550…………………………………………………………..57 2.6.1 Arquitectura interna…………………………………………………………………………………57 2.6.2 Pines y funciones…………………………………………………………………………………….58 2.6.2.1 Puerto A……………………………………………………………………………………………………… 59 2.6.2.2 Puerto B ……………………………………………………………………………………………………… 60 2.6.2.3 Puerto C ……………………………………………………………………………………………………… 60 2.6.2.4 Puerto E ……………………………………………………………………………………………………… 61 2.6.2.5 Pines adicionales………………………………………………………………………………………….. 61 2.7 MICROCONTROLADOR PIC18F4550…………………………………………………………..61 2.7.1 Arquitectura Interna ………………………………………………………………………………..61 2.7.2 Pines y funciones…………………………………………………………………………………….62 2.7.2.1 Puerto A……………………………………………………………………………………………………… 63 2.7.2.2 Puerto B ……………………………………………………………………………………………………… 64 2.7.2.3 Puerto C ……………………………………………………………………………………………………… 65 2.7.2.4 Puerto D……………………………………………………………………………………………………… 65 2.7.2.5 Puerto E ……………………………………………………………………………………………………… 66 2.7.2.6 Pines adicionales………………………………………………………………………………………….. 66 CAPÍTULO 3. COMANDOS PIC BASIC PRO ……………………………………………………..67 3.1 @…………………………………………………………………………………………………………………67 3.2 ADCIN…………………………………………………………………………………………………………68 3.3 BRANCH……………………………………………………………………………………………………..68 3.4 BUTTON ……………………………………………………………………………………………………..69 3.5 CALL …………………………………………………………………………………………………………..71 3.6 CLEAR ………………………………………………………………………………………………………..71 3.7 CLEARWDT ………………………………………………………………………………………………..72 3.8 COUNT………………………………………………………………………………………………………..72 3.9 DATA ………………………………………………………………………………………………………….72 3.10 DTMFOUT …………………………………………………………………………………………………73 3.11 EEPROM ……………………………………………………………………………………………………75 3.12 END …………………………………………………………………………………………………………..75 3.13 FOR… NEXT ……………………………………………………………………………………………..75 3.14 FREQOUT ………………………………………………………………………………………………….76 3.15 GOSUB………………………………………………………………………………………………………77 3.16 GOTO ………………………………………………………………………………………………………..77 3.17 HIGH………………………………………………………………………………………………………….78 3.18 I2CREAD……………………………………………………………………………………………………78 3.19 I2CWRITE………………………………………………………………………………………………….79 3.20 IF… THEN …………………………………………………………………………………………………80 3.21 INPUT………………………………………………………………………………………………………..81 3.22 LCDIN ……………………………………………………………………………………………………….81 3.23 LCDOUT ……………………………………………………………………………………………………82 3.24 LOW ………………………………………………………………………………………………………….83 3.25 NAP……………………………………………………………………………………………………………83 3.26 ON INTERRUPT…………………………………………………………………………………………84 3.27 OUTPUT…………………………………………………………………………………………………….85 3.28 PAUSE……………………………………………………………………………………………………….85 3.29 PAUSEUS…………………………………………………………………………………………………..86 3.30 POT ……………………………………………………………………………………………………………86 3.31 PULSIN………………………………………………………………………………………………………87 3.32 PULSOUT…………………………………………………………………………………………………..87 3.33 PWM ………………………………………………………………………………………………………….88 3.34 RANDOM…………………………………………………………………………………………………..89 3.35 READ…………………………………………………………………………………………………………89 3.36 RETURN…………………………………………………………………………………………………….89 3.37 REVERSE…………………………………………………………………………………………………..90 3.38 SELECT CASE……………………………………………………………………………………………90 3.39 SERIN2………………………………………………………………………………………………………91 3.40 SEROUT2…………………………………………………………………………………………………..93 3.41 SHIFTIN …………………………………………………………………………………………………….94 3.42 SHIFTOUT …………………………………………………………………………………………………96 3.43 SLEEP………………………………………………………………………………………………………..97 3.44 SWAP ………………………………………………………………………………………………………..98 3.45 TOOGLE…………………………………………………………………………………………………….98 3.46 TRIS…………………………………………………………………………………………………………..98 3.47 WHILE…WEND…………………………………………………………………………………………99 3.48 WRITE……………………………………………………………………………………………………..100 CAPÍTULO 4. INSTALACIÓN DE SOFTWARE………………………………………………..101 4.1 DESCRIPCIÓN DE LAS HERRAMIENTAS DE DESARROLLO ……………………101 4.1.1 El Editor CodeDesigner Lite…………………………………………………………………..101 4.1.2 El Compilador PicBasic Pro……………………………………………………………………101 4.1.3 El Programador EPIC…………………………………………………………………………….102 4.2 INSTALACIÓN Y CONFIGURACIÓN DE LAS HERRAMIENTAS DE DESARROLLO .103 4.2.1 Paso 1: instalación de las herramientas de desarrollo …………………………………103 4.2.2 Paso 2: configuración de las herramientas de desarrollo …………………………….122 4.3 EMPLEO DE LAS HERRAMIENTAS PARA EL DESARROLLO DE UNA APLICACIÓN …………………………………………………………………………………………….124 4.3.1 Paso 1: idea clara de lo que se va a desarrollar ………………………………………….124 4.3.2 Paso 2: edición del programa ………………………………………………………………….125 4.3.3 Paso 3: compilación del programa …………………………………………………………..126 4.3.4 Paso 4: grabación del microcontrolador……………………………………………………127 4.3.5 Paso 5: prueba de la aplicación ……………………………………………………………….128 CAPÍTULO 5. CONEXIÓN DEL PUERTO SERIE CON VISUAL BASIC ………….129 5.1 EL PUERTO SERIE RS-232C……………………………………………………………………….129 5.2 MICROSOFT VISUAL BASIC 6.0………………………………………………………………..131 5.3 PRUEBAS CON CABLE PARA PUERTO SERIE ………………………………………….132 5.3.1 Construcción del cable para puerto serie ………………………………………………….132 5.3.2 Primera prueba ……………………………………………………………………………………..133 5.3.3 Segunda prueba …………………………………………………………………………………….137 5.3.4 Tercera Prueba………………………………………………………………………………………140 5.4 PRUEBAS DE CONEXIÓN ENTRE COMPUTADOR Y MICROCONTROLADOR ……………………………………………………………………………143 5.4.1 Transmisión de datos al computador desde el microcontrolador (PIC-PC)……145 5.4.1.1 Primera prueba…………………………………………………………………………………………… 145 5.4.1.1.1 Utilizando el Hyper Terminal…………………………………………………………….146 5.4.1.1.2 Utilizando Visual Basic…………………………………………………………………….151 5.4.1.2 Segunda prueba………………………………………………………………………………………….. 152 5.4.1.2.1 Prueba con HyperTerminal………………………………………………………………..152 5.4.1.2.2 Prueba con Visual Basic……………………………………………………………………156 5.4.1.3 Tercera prueba …………………………………………………………………………………………… 158 5.4.1.3.1 Prueba con HyperTerminal………………………………………………………………..159 5.4.1.3.2 Prueba con Visual Basic……………………………………………………………………160 5.4.2 Transmisión de datos al microcontrolador desde el computador (PC-PIC)……161 5.4.2.1 Prueba con Visual Basic ……………………………………………………………………………… 163 CAPÍTULO 6. VISUALIZACIÓN DE DATOS ……………………………………………………167 6.1 VISUALIZADOR DE 7 SEGMENTOS………………………………………………………….167 6.1.1 Funcionamiento del visualizador de 7 segmentos………………………………………167 6.1.2 Interfaz con el microcontrolador……………………………………………………………..169 6.2 DECODIFICADOR 7447 ……………………………………………………………………………..171 6.2.1 Funcionamiento del decodificador 7447…………………………………………………..172 6.2.2 Interfaz con el microcontrolador……………………………………………………………..173 6.3 PANTALLA DE CRISTAL LÍQUIDO (LCD)…………………………………………………176 6.3.1 Funcionamiento de la pantalla de cristal líquido………………………………………..177 6.3.2 Interfaz con el microcontrolador……………………………………………………………..178 CAPÍTULO 7. ENTRADAS Y SALIDAS DIGITALES ………………………………………..183 7.1 ENTRADAS DIGITALES ……………………………………………………………………………183 7.1.1 Acondicionamiento de señal: interfaz electrónica ……………………………………..187 7.1.2 Interruptor electrónico……………………………………………………………………………189 7.1.3 Entradas digitales de 8 bits……………………………………………………………………..193 7.1.4 Usando el 74151……………………………………………………………………………………195 7.2 SALIDAS DIGITALES………………………………………………………………………………..198 7.2.1 Acondicionamiento de señal: interfaz electrónica ……………………………………..198 7.2.2 Salidas digitales de 8 bits ……………………………………………………………………….202 7.2.3 Usando el 74164……………………………………………………………………………………205 CAPÍTULO 8. CONVERSOR A/D ………………………………………………………………………211 8.1 CONVERSOR ADC0804……………………………………………………………………………..211 8.1.1 Funcionamiento del ADC0804 ……………………………………………………………….212 8.1.2 Interfaz con el microcontrolador……………………………………………………………..213 8.1.3 Traducir a voltios ………………………………………………………………………………….215 8.2 CONVERSOR ADC08031……………………………………………………………………………218 8.2.1 Funcionamiento del ADC08031 ……………………………………………………………..219 8.2.2 ¿Cómo programar de acuerdo con el diagrama de tiempo?…………………………219 8.2.3 Interfaz con el microcontrolador……………………………………………………………..220 8.2.4 Traducir a voltios ………………………………………………………………………………….222 8.3 CONVERSOR ADC08032……………………………………………………………………………223 8.3.1 Funcionamiento del ADC08032 ……………………………………………………………..223 8.3.2 ¿Cómo programar de acuerdo con el diagrama de tiempo?…………………………225 8.3.3 Interfaz con el microcontrolador……………………………………………………………..225 8.3.4 Traducir a voltios ………………………………………………………………………………….230 8.4 MULTIPLEXOR ANALÓGICO 4051……………………………………………………………232 8.4.1 Lectura de 4 canales analógicos………………………………………………………………233 8.4.2 Lectura de 8 canales analógicos………………………………………………………………236 8.5 CONVERSOR A/D INTERNO ……………………………………………………………………237 8.5.1 Funcionamiento del conversor interno del PIC16F877A ……………………………238 8.5.2 Programación del A/D interno para la lectura de un canal ………………………….239 8.5.3 Programación del A/D interno para la lectura de tres canales ……………………..241 8.5.4 Programación del A/D interno para la lectura de ocho canales ……………………246 CAPÍTULO 9. CONVERSOR D/A …………………………………………………………………..249 9.1 COMBINACIÓN R-2R ………………………………………………………………………………..249 9.2 CONVERSOR DAC0808……………………………………………………………………………..251 9.2.1 Funcionamiento del DAC0808 ……………………………………………………………….251 9.2.2 Interfaz con el microcontrolador……………………………………………………………..252 9.2.3 Traducir a voltios ………………………………………………………………………………….253 9.3 CONVERSOR DAC0800……………………………………………………………………………..256 9.3.1 Funcionamiento del DAC0800 ……………………………………………………………….257 9.3.2 Interfaz con el microcontrolador……………………………………………………………..257 9.3.3 Traducir a voltios ………………………………………………………………………………….258 9.4 POTENCIÓMETRO DIGITAL DS1267…………………………………………………………261 9.4.1 Funcionamiento del DS1267…………………………………………………………………..261 9.4.2 Interfaz con el microcontrolador……………………………………………………………..262 9.4.3 Traducir a voltios ………………………………………………………………………………….264 9.5 MODULACIÓN POR ANCHO DE PULSO: PWM …………………………………………268 CAPÍTULO 10. MEMORIAS SERIALES Y PROTOCOLO I2C …………………………275 10.1 MEMORIAS SERIALES ……………………………………………………………………………275 10.1.1 Características de las memorias seriales …………………………………………………275 10.1.2 Aplicaciones……………………………………………………………………………………….276 10.2 MEMORIA SERIAL 24LC256 ……………………………………………………………………277 10.2.1 Características del bus………………………………………………………………………….278 10.2.2 Direccionamiento y operación de la memoria …………………………………………279 10.2.3 Operación de escritura………………………………………………………………………….279 10.2.4 Operación de lectura…………………………………………………………………………….280 10.2.5 Descripción de pines ……………………………………………………………………………281 10.3 INTERFAZ CON EL MICROCONTROLADOR…………………………………………..282 10.3.1 Lectura de la memoria 24LC256……………………………………………………………282 10.3.2 Escritura de la memoria 24LC256 …………………………………………………………284 10.4 APLICACIÓN CON EL MICROCONTROLADOR ………………………………………284 CAPÍTULO 11. COMUNICACIÓN INALÁMBRICA………………………………………….287 11.1 SISTEMA ELECTRÓNICO DE COMUNICACIÓN ……………………………………..287 11.2 TRANSMISIÓN DE DATOS………………………………………………………………………288 11.3 TRANSMISOR DE RF TWS-434 ………………………………………………………………..289 11.3.1 Diagrama de pines del transmisor TWS-434 …………………………………………..290 11.4 RECEPTOR DE RF RWS-434 …………………………………………………………………….290 11.4.1 Diagrama de pines del receptor RWS-434………………………………………………291 11.5 ANTENAS PARA EL TRANSMISOR Y EL RECEPTOR ……………………………..291 11.6 CODIFICADOR Y DECODIFICADOR DE 4 BITS ………………………………………292 11.6.1 Codificador HT-12E y decodificador HT-12D………………………………………..292 11.6.2 Diagrama de pines del codificador HT-12E…………………………………………….292 11.6.3 Diagrama de pines del codificador HT-12D ……………………………………………293 11.7 CODIFICADOR Y DECODIFICADOR DE 8 BITS ………………………………………293 11.7.1 Codificador HT-640 y decodificador HT-648L……………………………………….293 11.7.2 Diagrama
Este libro está diseñado para introducir a los lectores en la realización de proyectos con microcontroladores PIC utilizando el lenguaje de programación PIC Basic Pro. Se enfoca en los microcontroladores PIC16F84A, PIC16F877A, y los PIC con interfaz USB PIC18F2550 y PIC18F4550. A lo largo de sus 18 capítulos, el libro aborda temas como la descripción de los microcontroladores PIC, periféricos de entrada y salida como visualizadores de 7 segmentos, pantallas LCD, conversores A/D y D/A, memorias seriales, teclados, transmisores y receptores de RF, GPS, motores de corriente continua, motores paso a paso, servomotores, etapas de potencia, acondicionamiento de señal, y interfaces de comunicación serial RS232 y USB. Además, se incluye el uso de Visual Basic para interfaces con el computador. El libro también proporciona material adicional que puede descargarse desde la web, incluyendo códigos de programa en PIC Basic Pro y Visual Basic, archivos de simulación en Proteus y hojas técnicas de los dispositivos utilizados en los proyectos.