Envíos gratis en compras superiores a $70.000
Inicio/Profesional/Ciencia y tecnología/Mecatrónica y robótica/Curso práctico para programación de AVR

Curso práctico para programación de AVR

$40.205

  • Envío gratis en compras superiores a $70.000
  • Autor: PAREDES MARTÍNEZ, Ernesto

    Páginas: 480

    Editorial: Alfaomega

    ISBN: 9786075380957 Categoría:

    Descripción

    Los AVR son microcontroladores amigables en la programación y poderosos en su aplicación. Entre las ventajas que el lector encontrará se hallan un rango de voltaje de operación y de frecuencia de oscilación amplio, además de varios registros de usuario. Aunado a lo anterior, tienen la bondad de ser programados en lenguaje ensamblador y lenguaje C. En la obra se utiliza el lenguaje ensamblador a través del programa AVR Studio 4.
    Este libro es un apoyo para quien se inicia en la programación de un AVR, ya que es una guía paso a paso de cómo configurar y poner en marcha este microcontrolador.
    También incluye algunos circuitos prácticos, secciones de código y tips para su correcta programación. Cabe señalar que este curso práctico no requiere que el lector tenga experiencia en la programación de un AVR, ya que la información aquí contenida es accesible a cualquier nivel.

    VENTAJAS

    • Utiliza un lenguaje adecuado para llegar a todos los niveles de varias disciplinas (tanto médicas como tecnológicas) con un conocimiento desmenuzado de la programación AVR y con la ayuda de prácticas y propuestas de proyectos.
    • Con esta obra se facilita el entendimiento de la programación de AVR, que actualmente ha sido considerada un gran apoyo tecnológico en el diseño de circuitos electrónicos para proyectos de alto nivel.
    • El autor ha sido profesor de la asignatura de Microcontroladores AVR por más de 10 años.

    CONOZCA

    • Algunos circuitos empleados en la programación del AVR.
    • Un diagrama eléctrico de una base multi AVR para programar varios microcontroladores de Atmel en un mismo código programador.

    APRENDA

    • A programar un microcontrolador AVR
    • Usar comandos, operandos, macros y demás cualidades del AVR.

    DESARROLLE SUS HABILIDADES PARA

    • Poner en práctica proyectos reales.
    • Poner en práctica la elaboración de códigos y diagramas eléctricos.

    A QUIÉN VA DIRIGIDO

    El libro está dirigido a personas que quieran incursionar en la programación AVR y pone al alcance del lector conocimientos de los pasos a seguir para configurar y poner en marcha este microcontrolador. Para ello, se le brindan herramientas tales como circuitos prácticos y secciones del programa de cada circuito, así como tips para programar de forma correcta una aplicación poderosa. No importa si el interesado no cuenta con experiencia en el ramo, la información contenida es tan accesible que le permite a cualquiera en cualquier nivel solucionar problemas gracias al uso del simulador del AVR Studio.

    Contenido

    Relación de figuras, tablas, registros y diagramas……………………………………………………XV
    Introducción ………………………………………………………………………………………………………XIX

    Parte 1

    Capítulo 1
    Programando………………………………………………………………………………………………………..3
    Capítulo 2
    Primer programa en AVR (prender un LED) …………………………………………………………7
    Capítulo 3
    Encabezado…………………………………………………………………………………………………………17
    3.1. Directiva .ORG: indica el origen o inicio del programa…………………………………30
    3.2. Directiva .CSEG: Code Segment………………………………………………………………..33
    3.3. Directiva .ESEG: EEPROM Segment …………………………………………………………39
    3.4. Directiva .DSEG: Data Segment ………………………………………………………………..44
    3.4.1. Problema en el segmento .DSEG……………………………………………………………..48
    Capítulo 4
    Configuración……………………………………………………………………………………………………..49
    4.1. Stack Pointer……………………………………………………………………………………………49
    Capítulo 5
    Cuerpo del programa…………………………………………………………………………………………..55
    5.1. Subrutinas……………………………………………………………………………………………….55
    Capítulo 6
    Pull-up y pull-down……………………………………………………………………………………………..59
    Capítulo 7
    Ciclo While………………………………………………………………………………………………………….63
    Capítulo 8
    Programa 2 (botón prende LED)………………………………………………………………………….65
    Capítulo 9
    Programa 3 (puerto bidireccional)……………………………………………………………………….67
    X Contenido
    Curso práctico para programación de AVR • Ernesto Paredes Martínez
    Capítulo 10
    Programa 4 (máscara)…………………………………………………………………………………………73
    Capítulo 11
    Programa 5 (subrutina de un segundo) ………………………………………………………………..75
    Capítulo 12
    Ciclo For……………………………………………………………………………………………………………..81
    12.1. Programa 6 (retardo de 1 minuto usando ciclo For)…………………………………..82
    Capítulo 13
    Debouncer (función antirrebote)………………………………………………………………………….85
    13.1. Programa 7 (Delay_Debouncer)……………………………………………………………..86
    Capítulo 14
    Programa 8 (control de un motor a pasos unipolar)………………………………………………89
    Capítulo 15
    Programa 9 (control de velocidad de un motor CD)………………………………………………93
    Capítulo 16
    Direccionamientos……………………………………………………………………………………………….97
    16.1. Direccionamiento directo de un solo registro……………………………………………97
    16.2. Direccionamiento directo de dos registros ……………………………………………….98
    16.3. Direccionamiento directo de I/O …………………………………………………………….98
    16.4. Direccionamiento directo de datos ………………………………………………………….99
    16.5. Direccionamiento indirecto de datos con desplazamiento…………………………100
    16.6. Direccionamiento indirecto de datos……………………………………………………..100
    16.7. Direccionamiento indirecto de datos con predecremento………………………….101
    16.8. Direccionamiento indirecto de datos con postincremento…………………………101
    16.9. Direccionamiento a memoria de programa……………………………………………..102
    16.10. Direccionamiento indirecto a memoria de programa, IJMP e ICALL ………..103
    16.11. Direccionamiento relativo a memoria de programa………………………………….103
    Capítulo 17
    Instrucciones orientadas a Bit…………………………………………………………………………….107
    Capítulo 18
    Interrupciones………………………………………………………………………………………………….. 111
    18.1. Programa 10 (prender un LED con interrupción INT0)……………………………..119
    Contenido XI
    Curso práctico para programación de AVR • Ernesto Paredes Martínez
    Capítulo 19
    Reset entre los AVR……………………………………………………………………………………………129
    Capítulo 20
    Instrucciones de control del MCU………………………………………………………………………135
    Capítulo 21
    Error de Branch out of range …………………………………………………………………………….143
    21.1. Branch: saltos a subrutinas …………………………………………………………………….144
    Capítulo 22
    Uso de teclado y display LCD …………………………………………………………………………….147
    22.1. Programa 11 (desplegar mensajes en el display LCD)……………………………….157
    22.2. Programa 12 (desplegar los caracteres del teclado en el display) ………………..160
    Capítulo 23
    Álgebra booleana con AVR ………………………………………………………………………………..169
    23.1. Programa 13 (ecuación booleana a través de programación AVR) ………………169
    Capítulo 24
    Flip-Flops con AVR……………………………………………………………………………………………177
    24.1. Programa 14 (Flip-Flop con AVR)…………………………………………………………..178
    Capítulo 25
    Lectura/escritura en EEPROM………………………………………………………………………….181
    25.1. Programa 15 (memorización de teclado matricial en EEPROM)…………………183
    Capítulo 26
    Instrucciones Push y Pop……………………………………………………………………………………191
    26.1. Push: salvar el valor de un registro en el Stack …………………………………………191
    26.2. Pop: recuperar el valor de un registro del Stack………………………………………..191
    26.3. Error en el uso del Stack Pointer con interrupciones………………………………….196
    26.4. Error en el uso del Stack Pointer con saltos RCALL………………………………….199
    Capítulo 27
    Instrucciones ST/STD/STS – LD/LDS…………………………………………………………………203
    Capítulo 28
    PWN …………………………………………………………………………………………………………………207
    28.1. Control de servo-motor………………………………………………………………………….213
    XII Contenido
    Curso práctico para programación de AVR • Ernesto Paredes Martínez
    Capítulo 29
    Contador de 24 y 32-bits (ascendente y descendente)…………………………………………..221
    Capítulo 30
    Expresiones (Expressions)………………………………………………………………………………….225
    30.1. Operandos (Operands)…………………………………………………………………………..225
    30.2. Operadores (Operators) …………………………………………………………………………225
    30.3. Funciones (Functions) …………………………………………………………………………..232
    Capítulo 31
    Macros………………………………………………………………………………………………………………237
    Capítulo 32
    Directivas………………………………………………………………………………………………………….243
    32.1. Directiva #DEFINE …………………………………………………………………………….243
    32.2. Directiva DEF: establece una etiqueta a un registro…………………………………244
    32.3. Directiva UNDEF: indefinir o “desnombrar” el nombre
    simbólico de un registro (quitar la etiqueta a un registro)…………………………247
    32.4. Directiva EQU: hacer un símbolo igual que una expresión
    (asignar un valor a una etiqueta)……………………………………………………………248
    32.5. Directiva SET: establece que un símbolo sea igual a una expresión…………..250
    32.6. Directiva DEVICE………………………………………………………………………………250
    32.7. Directiva CSEGSIZE: tamaño de la memoria del programa
    (Program Memory Size) ………………………………………………………………………251
    32.8. Directivas IF, ELSE, ENDIF: condicionales (conditional assembly)………….251
    32.9. Directivas IFDEF, IFNDEF: condicionales (conditional assembly) …………..253
    32.10. Directiva ELIF: condicionales (conditional assembly) …………………………….254
    32.11. Directiva ERROR: saca la palabra “ERROR” con una
    cadena de caracteres (string)…………………………………………………………………255
    32.12. Directiva WARNING: saca la palabra “WARNING”
    con una cadena de caracteres (string)…………………………………………………….256
    32.13. Directiva MESSAGE: saca la palabra “MESSAGE”
    con una cadena de caracteres (string)…………………………………………………….257
    32.14. Directiva EXIT: salirse del archivo ……………………………………………………….258
    32.15. Directivas LIST – NOLIST: genera un archivo “listfile .lst” …………………….260
    32.16. Directiva LISTMAC: expansión del contenido de una macro …………………..263

    Parte 2

    Capítulo 33
    Comunicación entre un AVR y una computadora ……………………………………………….267
    Contenido XIII
    Curso práctico para programación de AVR • Ernesto Paredes Martínez
    Capítulo 34
    Comunicación entre los AVR ……………………………………………………………………………..275
    34.1. Comunicación entre los AVR usando SPI-USI………………………………………….275
    34.2. Comunicación USI 3-hilos (3-Wire)………………………………………………………..280
    34.3. Comunicación entre los AVR usando comunicación híbrida síncrona ………….287
    Capítulo 35
    Comunicación entre los AVR a distancia …………………………………………………………….295
    35.1. Comunicación a distancia con interfaz RS-485…………………………………………295
    35.2. Comunicación a distancia usando XBEE …………………………………………………296
    Capítulo 36
    Generador de pulso de reloj para sincronía (Clock Recovery)……………………………..305
    36.1. Codificador Manchester…………………………………………………………………………310
    Capítulo 37
    Lectura de un convertidor ADC0804 en un display LCD…………………………………….321
    37.1. Convertidor ADC del ATtiny13………………………………………………………………326
    Capítulo 38
    Voltímetro digital de 8-bits…………………………………………………………………………………329
    Capítulo 39
    Sensor de temperatura PT100 ……………………………………………………………………………339
    39.1. Instrucción de multiplicación MUL…………………………………………………………342
    Capítulo 40
    Generador de funciones usando convertidor DAC0800……………………………………….353
    40.1. Trazador de figuras de dos dimensiones…………………………………………………..358
    Capítulo 41
    Sensor de proximidad ultrasónico HC-SR04……………………………………………………….361
    41.1. Multiplicación de un número de 24-bits por uno de 16-bits………………………..364
    Capítulo 42
    Puente de Wheatstone………………………………………………………………………………………..379
    42.1. Potenciómetro digital…………………………………………………………………………….380
    Capítulo 43
    Circuito de cruce por cero para Dimmer 120 VCA ……………………………………………..389
    XIV Contenido
    Curso práctico para programación de AVR • Ernesto Paredes Martínez
    Capítulo 44
    Resolución de ecuaciones con AVR……………………………………………………………………..399
    44.1. Raíz cuadrada en AVR…………………………………………………………………………..400
    Capítulo 45
    Crear un PLC con AVR……………………………………………………………………………………..417
    Capítulo 46
    Tarjeta Programadora Universal ……………………………………………………………………….421
    Capítulo 47
    Cómo hacer una tarjeta tipo Arduino…………………………………………………………………423
    47.1. ¿Qué es el Bootloader? ………………………………………………………………………….426
    47.2. Partes de la tarjeta Arduino…………………………………………………………………….442
    47.3. Armando nuestra tarjeta tipo Arduino………………………………………………………444
    Palabras finales …………………………………………………………………………………………………..453
    Índice analítico……………………………………………………………………………………………………455

    Ir a Arriba