CURSO PRÁCTICO PARA PROGRAMACIÓN DE AVR

CURSO PRÁCTICO PARA PROGRAMACIÓN DE AVR

PAREDES MARTÍNEZ, ERNESTO

29,50 €
IVA incluido
Editorial:
MARCOMBO
Año de edición:
2024
Materia
Informatica
ISBN:
978-84-267-3858-5
Páginas:
480
29,50 €
IVA incluido
Añadir a favoritos

Parte 1
Capítulo 1
Programando........................................................................................................................3
Capítulo 2
Primer programa en AVR (encender 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
5.2. Puertos...................................................................................................................56
Capítulo 6
Pull-up y pull-down...........................................................................................................59
Capítulo 7
Ciclo While.........................................................................................................................63
Capítulo 8
Programa 2 (botón enciende LED)...................................................................................65
Capítulo 9
Programa 3 (puerto bidireccional)...................................................................................67
Curso practico para programacion de AVR.indb 9 26/7/24 13:13
X Contenido
Curso práctico para programación de AVR ? Ernesto Paredes Martínez M arcombo
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 (retraso de 1 minuto usando el 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 de 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 la memoria del programa.................................................102
16.10. Direccionamiento indirecto a la memoria del programa, IJMP e ICALL.......103
16.11. Direccionamiento relativo a la memoria del programa...................................103
Capítulo 17
Instrucciones orientadas al bit........................................................................................107
Capítulo 18
Interrupciones.................................................................................................................. 111
18.1. Programa 10 (encender un LED con una interrupción INT0)...........................119
Curso practico para programacion de AVR.indb 10 26/7/24 13:13
Contenido XI
Marcombo C urso práctico para programación de AVR ? Ernesto Paredes Martínez
Capítulo 19
Reset entre los AVR..........................................................................................................129
Capítulo 20
Instrucciones del control del MCU.................................................................................135
Capítulo 21
Error de Branch out of range.........................................................................................143
21.1. Branch: saltos a las subrutinas...........................................................................144
Capítulo 22
Uso del 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 un teclado matricial en la 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
PWM.................................................................................................................................207
28.1. Control del servomotor......................................................................................213
Curso practico para programacion de AVR.indb 11 26/7/24 13:13
XII Contenido
Curso práctico para programación de AVR ? Ernesto Paredes Martínez M arcombo
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: establecer una etiqueta en 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 un ordenador...............................................................267
Curso practico para programacion de AVR.indb 12 26/7/24 13:13
Contenido XIII
Marcombo C urso 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 una 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 una interfaz RS-485..........................................295
35.2. Comunicación a distancia usando XBEE..........................................................296
Capítulo 36
Generador de un pulso de reloj para una 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 un 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 un Dimmer 120 VCA.................................................389
Curso practico para programacion de AVR.indb 13 26/7/24 13:13
XIV Contenido
Curso práctico para programación de AVR ? Ernesto Paredes Martínez M arcombo
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. Montando nuestra tarjeta tipo Arduino..............................................................444
Palabras finales ..................................................................................................................453
Índice analítico...................................................................................................................455

Descubra el poder de los microcontroladores AVR Si desea saber por qué los AVR son microcontroladores amigables en la programación y disfrutar de sus ventajas, ha llegado al libro indicado. En él, se adentrará de forma paulatina en los fundamentos y aplicaciones avanzadas de estos potentes dispositivos. Aprenderá a programar en lenguaje ensamblador usando el programa AVR Studio 4, explorando un amplio rango de voltajes de operación y frecuencias de oscilación, junto con una variedad de registros de usuario que facilitan la programación y la experimentación. Además, la lectura de este libro no requiere experiencia previa, ya que cada concepto y procedimiento se desglosa en una guía paso a paso clara y accesible, complementada con circuitos prácticos, secciones de código y tips esenciales para dominar la programación de los AVR. APRENDA: ? A programar un microcontrolador AVR. ? A usar comandos, operandos, macros y demás cualidades del AVR. CONOZCA: ? Algunos circuitos eléctricos 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 módulo-programador. No espere más para desarrollar sus habilidades y poner en práctica proyectos reales, incluyendo códigos y diagramas eléctricos. Ernesto Paredes Martínez es máster en Ciencias. Actualmente, imparte clases en el Centro de Estudios Superiores Navales y cuenta con una condecoración militar al Mérito Docente. Fue oficial militar de la misma institución e imparte cátedras como civil. Ha sido profesor de la asignatura de Miconcontroladores AVR durante más de 10 años.

Artículos relacionados

  • POR QUÉ LA IA DEBILITA LA DEMOCRACIA Y QUÉ HACER AL RESPECTO
    COECKELBERGH, MARK
    En un contexto en el que la inteligencia artificial (IA) está pasando de los universos de la ciencia ficción a formar parte de nuestras vidas cotidianas, resulta imprescindible entender cuáles son las amenazas que esta plantea a corto y medio plazo, así como de qué manera afecta positiva y negativamente a nuestras instituciones. En este libro, Mark Coeckelbergh, reputado especi...
    Disponible en tienda

    18,50 €

  • CURSO PRÁCTICO DE WORDPRESS
    FONTELA, ÁLVARO
    WordPress no es solo una opción más para hacer páginas web, sino que es el CMS (sistema de gestión de contenidos) más utilizado del mundo con una cuota simplemente aplastante sobre el resto de su competencia. Aunque apareció en el año 2004, podemos decir que los últimos 10 años han sido determinantes, convirtiéndose en la solución más utilizada del mundo para crear sitios web.E...
    Disponible en tienda

    26,50 €

  • VIDAS FUTURAS
    ARANDA, CRISTINA
    Una visión inspiradora de nuestra convivencia con la IA. Un libro necesario para comprender el futuro inmediato, sus retos y oportunidades. ¿Crees que estamos ante el apocalipsis de las máquinas? ¿Eres de los que ceden sus datos con total alegría? ¿Temes por tu trabajo y por tu seguridad en este futuro inmediato o piensas que este es el inicio de una nueva manera de trabajar pa...
    Disponible en tienda

    20,90 €

  • TE LA HAN JUGADO
    HON, ADRIAN
    Los trabajadores de un almacén preparan cajas mientras un dragón virtual corretea por sus pantallas. Si vencen a sus compañeros, obtienen un premio. Si no, pueden ser despedidos. Uber plantea retos a sus chóferes agotados para que sigan conduciendo. China puntúa a sus ciudadanos para que se comporten correctamente, y las microtransacciones de los videojuegos se aprovechan de lo...
    Disponible en tienda

    26,50 €

  • LA SINGULARIDAD
    FENOLLOSA, CARLOS
    En 2022 se produjo un avance inesperado en inteligencia artificial. Todavía desconocemos cuándo, cómo o si llegaremos a alcanzar la IA definitiva, pero por el camino se están desarrollando inteligencias intermedias extremadamente transformativas. Muchos no son conscientes de la importancia o no están preparados para valorar sus consecuencias y han decidido negarse a aceptar est...
    Disponible en tienda

    19,90 €

  • 100 COSAS QUE HAY QUE SABER SOBRE INTELIGENCIA ARTIFICIAL
    LÓPEZ DE MÁNTARAS BADIA, RAMON
    La inteligencia artificial (IA) ha entrado de lleno a formar parte de nuestras vidas y se ha convertido en un tema de actualidad. Sin embargo, hay muchos aspectos que no siempre se explican bien o pasan desapercibidos. Los inicios y altibajos de su historia son aspectos poco conocidos. Hay aplicaciones muy populares, pero hay otras menos mediáticas que son bastante curiosas y s...
    Disponible en tienda

    16,40 €