Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Apuntes Programacion Microcontroladores, Apuntes de Programación C

Programación básica para microcontroladores

Tipo: Apuntes

2019/2020

Subido el 19/01/2020

usuario desconocido
usuario desconocido 🇲🇽

1 / 26

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Ilse Sánchez Guerra
Programación Avanzada
1
Unidad 1
Se ña le s digitales y ana lógicas
La señal analógica es aquella que presenta una variación continua con el tiempo.
La señal digital o discreta es aquella que toma un número finito de valores en cierto intervalo de
tiempo
Un sistema digital se caracteriza por utilizar señales discretas
Si stemas numéricos
Las señales periódicas son el tipo de señales más sencillas que se puede
considerar; se caracterizan por contener un patrón que se repite a lo largo
del tiempo.
Un sistema de numeración se define como un conjunto de símbolos
capaces de representar cantidades numéricas. A su vez, se define la base del sistema de numeración como la
cantidad de símbolos distintos que se utilizan para representar las cantidades. Cada símbolo del sistema de
numeración recibe el nombre de dígito.
Sistema binario
El sistema binario o de base 2 solo utiliza dos símbolos para representar la información: 0 y 1. Cada uno de ellos
recibe el nombre de bit, que es la unidad mínima de información que se va a manejar en un sistema digital.
Los bits representan niveles de tensión. Tensión alta → 1, Tensión baja → 0.
Un byte es una secuencia de 8 bits.
Tr an sm isn paralela y serial
Tipos de comunicación:
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a

Vista previa parcial del texto

¡Descarga Apuntes Programacion Microcontroladores y más Apuntes en PDF de Programación C solo en Docsity!

Programación Avanzada

Unidad 1

Señales digitales y analógicas

 La señal analógica es aquella que presenta una variación continua con el tiempo.  La señal digital o discreta es aquella que toma un número finito de valores en cierto intervalo de tiempo  Un sistema digital se caracteriza por utilizar señales discretas

Sistemas numéricos

Las señales periódicas son el tipo de señales más sencillas que se puede considerar; se caracterizan por contener un patrón que se repite a lo largo del tiempo. Un sistema de numeración se define como un conjunto de símbolos capaces de representar cantidades numéricas. A su vez, se define la base del sistema de numeración como la cantidad de símbolos distintos que se utilizan para representar las cantidades. Cada símbolo del sistema de numeración recibe el nombre de dígito. Sistema binario El sistema binario o de base 2 solo utiliza dos símbolos para representar la información: 0 y 1. Cada uno de ellos recibe el nombre de bit, que es la unidad mínima de información que se va a manejar en un sistema digital. Los bits representan niveles de tensión. Tensión alta → 1, Tensión baja → 0. Un byte es una secuencia de 8 bits.

Transmisión paralela y serial

Tipos de comunicación:

Programación Avanzada Simplex. Únicamente permiten la transmisión en un sentido (unidireccional). Ej. Fibra Óptica. Semiduplex (half duplex ). Es una conexión en la que los datos fluyen en una u otra dirección, pero no las dos al mismo tiempo. Duplex (duplex completo o full duplex). Sistema que es capaz de mantener una comunicación bidireccional, enviando y recibiendo mensajes de forma simultánea.

Compuertas lógicas

El álgebra de Boole es una estructura algebraica que relaciona las operaciones lógicas O (OR), Y (AND), NO (NOT). La tabla de verdad es una representación gráfica de todos los valores que puede tomar la función lógica para cada una de las posibles combinaciones de las variables de entrada. Es un cuadro formado por tantas columnas como variables tenga la función más la de la propia función, y tantas fi las como combinaciones binarias sea posible construir.

El número de combinaciones posibles es 2 n , siendo n el número de variables.

Circuito integrado Un circuito integrado o CI, es un circuito electrónico que está construido totalmente en un único pequeño trozo de silicio. Todas las componentes del circuito (transistores, diodos, resistencias y condensadores) están integradas en ese trozo de silicio. Familia lógica TTL Lógica Transistor-Transistor (Transistor-Transistor Logic) Tensión comprendida entre 4,5 y 5,5 V. Temperatura entre 0 y 70 °C

Lógica combinacional y secuencial

Circuitos combinacionales Se caracterizan porque las salidas únicamente dependen de la combinación de las entradas y no de la historia anterior del circuito; por lo tanto, no tienen memoria y el orden de la secuencia de entradas no es significativo. Circuitos secuenciales

Programación Avanzada

Unidad 2: Introducción a los microcontroladores

Sistema Electrónico

El controlador toma decisiones a partir de:  Información de los sensores  Estado del sistema  Notificaciones de otros sistemas A partir de ello:  Genera resultados visuales  Activa algún actuador  Notifica a otro sistema.

Microcontrolador

Sistema digital capaz de leer, interpretar y ejecutar de forma secuencial instrucciones contenidas en un programa.  Reloj  Unidad Central de Procesamiento (CPU)  Memoria  Unidad de entrada/salida  Periféricos Microprocesador  Sistema Abierto  CPU  Expandible  Se le pueden agregar periféricos (módulos)  Aplicaciones de uso general Microcontrolador  Sistema cerrado  Microprocesador  Componentes integrados en un solo circuito integrado  No se le pueden agregar periféricos (módulos)  Aplicaciones de uso especifico

Unidad Central de Procesamiento (CPU)

Interpreta las instrucciones de un programa informático mediante la realización de las operaciones básicas aritméticas, lógicas y de entrada/salida del sistema.

  • Unidad Aritmética Lógica (ALU)

Programación Avanzada

  • Operaciones lógicas (AND, NOT, OR, XOR)
  • Operaciones Aritméticas (Suma, Resta, Multiplicación y División)
  • Operaciones de Desplazamiento
  • Unidad de Control
  • Set de instrucciones CISC o RISC
  • Registros. Datos para varias operaciones que debe realizar el resto de los circuitos del procesador. Los registros sirven para almacenar los resultados de la ejecución de instrucciones, cargar datos desde la memoria externa o almacenarlos en ella.
  • Registros internos del procesador
  • Registros usados para controlar los dispositivos externos

Memoria

  • RAM (Random Access Memory) Contiene las variables y los cambios de información que se produzcan en el transcurso de la ejecución del programa.
  • ROM (Read OnIy Memory ) Contiene el programa de instrucciones que tiene la aplicación.
  • EEPROM Electrical Erasable Programmable Read OnIy Memory Memoria de sólo lectura, programable y borrable eléctricamente. Tanto la programación como el borrado, se realizan eléctricamente desde un programador.
  • FLASH Memoria no volátil, de bajo consumo, que se puede escribir y borrar. Funciona como una ROM y una RAM pero consume menos y es más pequeña. Es más rápida y de mayor densidad que la EEPROM

Periféricos

  • Puertos Entrada/Salida
  • Temporizadores y contadores
  • Convertidor Analógico-Digital (ADC)
  • Puertos de comunicación
    • Puerto Serial (UART)
    • SPI
    • I2C

• USB

  • Comparadores
  • Modulación de Ancho de Pulso (PWM)
  • Interrupciones

Buses

  • Dirección

Programación Avanzada Oscilador XT : Es un oscilador de cristal o resonador para frecuencias estándar comprendidas entre 100 KHz y 4 MHz. Oscilador LP : Oscilador de bajo consumo con cristal o resonador diseñado para trabajar en un rango de frecuencias de 35 a 200 KHz.

Aplicaciones

Se usan fundamentalmente cuando la potencia de cálculo no es importante Robótica : Muy usados en subsistemas específicos de control (extremidades, facciones del rostro, soportes prensiles, etc.) Equipamiento informático : impresoras, scanners, copiadoras... Sistemas portátiles y autónomos : Teléfonos. Sector automotriz : control centralizado de puertas y ventanas, climatizadores, inyección, alarmas, etc. Sector doméstico : integrado en los sistemas de televisores, lavadoras, microondas, refrigeradores, etc.

Clasificación

Prestaciones del dispositivo

  • Gama baja : Procesadores de 4, 8 y 16 bits. Dedicados fundamentalmente a tareas de control (electrodomésticos, cabinas telefónicas, tarjetas inteligentes, algunos periféricos de computadoras, etc.).
  • Gama media : Dispositivos de 16 y 32 bits. Para tareas de control con cierto grado de procesamiento (control en automóvil, teléfonos móviles, PDA, etc.).
  • Gama alta : 32, 64 y 128 bits. Fundamentalmente para procesamiento (computadoras, videoconsolas, etc.). Casi en su totalidad son microprocesadores más circuitería periférica y memoria.
  • Por consumo de energía : Algunos dispositivos cuentan con modos de ahorro de energía que les permiten un consumo de algunos micro-Watts, mientras que otros llegan a consumir algunas décimas de Watts. Otro aspecto es el voltaje de alimentación, algunos dispositivos puede operar con 5 V, 3.3 V, 2.5 V o 1.5 V, éste es fundamental si el sistema se alimentará con baterías.
  • Por la frecuencia de operación : los dispositivos pueden operar desde kHz a GHz.

Tipos de microcontroladores

ATmega

  • Fabricante : Atmel
  • Aplicación : Arduino

MSP

  • Fabricante : Texas Instruments
  • Aplicación : Launchpad

PIC18F

  • Fabricante : Microchip
  • PIC -> Peripheral Interface Controller

Consideraciones de conexión

Programación Avanzada Para programar un microcontrolador se requieren los siguientes 3 elementos Compilador Traduce lenguaje de programación al lenguaje ensamblador. Entorno de Desarrollo Integrado (IDE) Integra herramientas de desarrollo para crear el programa. Programador Descarga el código generado del programa al microcontrolador.

Unidad 3

Tipos de datos Constantes

Variables

TIPO NOMBRE_VARIABLE[=VALOR INICIAL]

Operadores de asignación Operadores aritméticos

Operadores relacionales Operadores lógicos

123 Decimal 0123 Octal ( 0 ) 0x123 Hexadecimal ( 0x ) 0b 0 Binario ( 0b ) ‘x’ Carácter ‘\010’ Carácter octal ‘\xA5’ Carácter hexadecimal \n Cambio de línea \r Retorno de carro \t Tabulación \b Backspace

  • Suma
  • Resta
  • Multiplicación / División % Modulo -- Incremento ++ Decremento sizeo f Determina el tamaño, en bytes, de un operador |= Asignación OR de bits ^= Asignación OR EXCLUSIVA de bits += Asignación de suma -= Asignación de resta *= Asignación de multiplicación /= Asignación de división %= Asignación del resto de la división <<= Asignación de desplazamiento a la izquierda

= Asignación de desplazamiento a la derecha &= Asignación AND de bits |= Asignación OR de bits ^= Asignación OR EXCLUSIVA de bits :! NOT && AND || OR

Programación Avanzada

Declaraciones de salto

  1. Return. Termina la ejecución de una función.
  2. Break. Termina un ciclo.
  3. Continue. Salta una iteración.
  4. Goto. Salta a una etiqueta.

Comentarios

Unidad 3

Interrupciones

Las interrupciones son desviaciones de flujo de control del programa originadas asincrónicamente por diversos sucesos que no dependen del programador. Las interrupciones ocurren por sucesos externos como la generación de una interrupción por flanco, una interrupción externa cambiando el nivel en un PIN del microcontrolador o eventos internos tales como el desbordamiento de un contador, terminación del conversor análogo a digital, entre otras. El comportamiento del microcontrolador ante la interrupción es similar al procedimiento que se sigue al llamar una función desde el programa principal. En ambos casos se detiene la ejecución del programa en curso, se guarda la dirección a donde debe retornar cuando termine de ejecutar la interrupción, atiende o ejecuta el programa correspondiente a la interrupción y luego continua ejecutando #INT_EXT INTERRUPCIÓN EXTERNA #INT_RTCC DESBORDAMIENTO DEL TIMER0(RTCC) #INT_RB CAMBIO EN UNO DE LOS PINES B4,B5,B6,B #INT_AD CONVERSOR A/D #INT_EEPROM ESCRITURA EN LA EEPROM COMPLETADA #INT_TIMER1 DESBORDAMIENTO DEL TIMER #INT_TIMER2 DESBORDAMIENTO DEL TIMER #int_XXXXX void XXXX_isr() { //Función de interrupción } enable_interrupts(name); enable_interrupts(GLOBAL); // Comentario que terminara el final de esta línea. /* Este comentario no finalizara al final de esta línea finalizara cuando se cierre el comentario */

Programación Avanzada el programa principal, desde donde lo dejo cuando fue interrumpido.

Interrupciones externas

Son interrupciones disparadas por hardware en transiciones de subida y bajada.

Temporizadores

Temporizador También llamado timer, es un contador ascendente y programado por hardware. Se utilizan para medir el tiempo que ha pasado entre dos eventos o establecer tareas para ejecutarse a intervalos regulares. La configuración de los timers está basada en ciclos del oscilador, es decir, los pulsos contados proceden del

reloj del sistema, el cual depende de la frecuencia de trabajo ( f^ osc /^4 ).

Timer 8 ó16 bits (0-255 ó 0-65535) Preescaler. Modifica la frecuencia del reloj de entrada del Timer, dividiéndola y generando una nueva señal de menor frecuencia.

carg atimer 0 = 256 −

T· f osc

4 · Pre

f osc

4 · f·Pre

Timers del PIC18F Timer0 8 bits watchdog Timer1 16 bits modulo CCP (Captura) Timer2 8 bits modulo CCP (PWM) Interrupción por cambio de estado #INT_RB cambio de estado en los pies B4-B Interrupciones externas #INT_EXT #INT_EXT #INT_EXT ext_int_edge (source, edge); ext_int_edge( 0, L_TO_H);

Programación Avanzada Configuracion modulo CCP Definición de:

1. Sistema digital.

Es un conjunto de dispositivos, diseñada para la generación, transmisión, procesamiento y almacenamiento de cantidades físicas o información en forma digital, es decir, solo valores discretos. Existen dos tipos de sistemas digitales: Combinacionales y Secuenciales.

2. Lógica Combinacional.

Se caracterizan porque las salidas únicamente dependen de la combinación de las entradas y no de la historia anterior del circuito; por lo tanto, no tienen memoria y el orden de la secuencia de entradas no es significativo.

3. Compuerta Lógica

Las Compuertas Lógicas son circuitos electrónicos conformados internamente por transistores que se encuentran con arreglos especiales con los que otorgan señales de voltaje como resultado o una salida de forma booleana, están obtenidos por operaciones lógicas binarias (suma, multiplicación).

4. Generador de reloj.

Se conoce como generador de reloj al componente que produce impulsos con una determinada frecuencia. Se puede tratar de componentes mecánicos, eléctricos, electrónicos o de conjuntos, que son necesarios para procesamiento de datos y para sincronizar. El generador de reloj suele servirse de un controlador en una unidad funcional.

5. Instrumento virtual.

Los instrumentos virtuales son reales en el sentido de que son capaces de adquirir y procesar datos originados a partir de un fenómeno físico producido en el mundo real. Está constituido por una computadora con diversos programas (software), y drivers (hardware).

6. Simulación en tiempo real de hardware y software.

Programación Avanzada Un sistema de tiempo real es un sistema informático que interacciona con su entorno físico y responde a los estímulos del entorno dentro de un plazo de tiempo determinado. No basta con que las acciones del sistema sean correctas, sino que, además, tienen que ejecutarse dentro de un intervalo de tiempo determinado. Existen sistemas de tiempo real crítico (tiempo real duro), en los que los plazos de respuesta deben respetarse siempre estrictamente y una sola respuesta tardía a un suceso externo puede tener consecuencias fatales; y sistemas de tiempo real acrítico (tiempo real suave), en los que se pueden tolerar retrasos ocasionales en la respuesta a un suceso. La computación en tiempo real (o informática en tiempo real) está relacionada con los sistemas de hardware y software que se ven limitados por problemas de tiempo. El software de tiempo real debe necesariamente tener la característica de un tiempo de respuesta crítico.

7. Entorno de Desarrollo Integrado (IDE).

Un entorno de desarrollo integrado es un entorno de programación que ha sido empaquetada como un programa de aplicación, es decir, consiste en un editor de código, un compilador, un depurador y un constructor e interfaz gráfica (GUI).

8. Contador digital.

Consta de una entrada de impulsos que se encarga de conformar (escuadrar), de manera que el conteo de los mismos no sea alterado por señales no deseadas, las cuales pueden falsear el resultado final.

9. Entrada digital.

Una señal digital es una variación de voltaje entre -Vcc a +Vcc sin pasar por los valores intermedios. Por lo tanto, una señal digital dispone solo de dos estados. Al valor inferior de tensión -Vcc le asociamos un valor lógico LOW o ‘0’, mientras que al valor superior +Vcc le asociamos HIGH o ‘1’ lógico. En realidad una entrada digital realiza una comparación de la medición con un valor de tensión umbral. Si el valor medido es superior a la tensión umbral se devuelve HIGH, y si es inferior LOW.

10. Salida digital.

Una salida digital es un dispositivo que permite variar su tensión a uno de estos dos valores mediante programación, y por tanto nos permite realizar acciones con el entorno. En general, los voltajes -Vcc y +Vcc corresponden con 0V (GND) y 5V.

11. Motor a pasos.

Es un motor de CD sin escobillas que puede ser de imán permanente o reluctancia variable que tiene como características de desempeño rotar en ambas direcciones, moverse con incrementos angulares precisos. El número y tasa de los pulsos controla la posición y velocidad del eje del motor. A medida que activamos los bobinados del motor paso a paso en un orden en particular, permitimos que fluya una corriente a través de ellos que magnetiza el estator provocando polos electromagnéticos que causarán la propulsión del motor.

Programación Avanzada

17. Definición de resolución del ADC.

La resolución de un conversor indica el número de valores discretos que este puede producir sobre un rango de valores de voltaje. Generalmente es expresado en bits. Por ejemplo, un conversor que codifica una entrada analógica de 1 a 256 valores discretos (0..255) tiene una resolución de 8 bits: o sea, 2 elevado a 8. La resolución puede también ser definida eléctricamente y expresarse en volts. La resolución de voltaje de un conversor es equivalente a su rango total de medida de voltaje dividido el número de valores discretos.

18. Explicar cómo funcionan los voltajes de referencia del ADC.

Los voltajes de referencia funcionan como una ventana de nuestros datos para que nuestra resolución sea mejor, así aprovecharíamos mejor el rango dinámico del conversor.

19. Definir que es una LCD.

Una pantalla LCD (liquid crystal display: ‘pantalla de cristal líquido’ por sus siglas en inglés) es una pantalla delgada y plana formada por un número de píxeles en color o monocromos colocados delante de una fuente de luz o reflectora.

20. Explicar que es una resistencia variable y cómo funciona.

Un potenciómetro son 2 resistencias conectadas en serie. A partir del nodo que se forma entre estas dos resistencias tenemos un terminal, el cual normalmente será la pata del centro en un potenciómetro de 3 patas. El símbolo utilizado para representar un potenciómetro en un diagrama de circuitos es:

21. Explicar que es un divisor de voltaje y cómo funciona.

Un divisor de voltaje es un circuito simple que reparte la tensión de una fuente entre una o más impedancias conectadas. Esta variación de voltaje la podemos deducir a partir de la ecuación de divisor de tensión: Dónde:  Vx es el voltaje en el nodo central  Vs es el voltaje de la fuente  RA y RB son las 2 resistencias que están conectadas en serie

22. Explicar que es un divisor de corriente y cómo funciona

Un divisor de corriente es un circuito eléctrico que transforma una corriente de entrada en otras 2 corrientes diferentes más pequeñas. Al igual que un divisor de tensión convierte una tensión en otra más pequeña, el divisor de corriente convierte una corriente en otra más pequeña. El circuito para conseguir esto es un simple circuito de 2 resistencias en paralelo como el que puedes ver en la figura siguiente:

Programación Avanzada

23. Explicar el funcionamiento del sensor de temperatura LM35.

El LM35 es un circuito electrónico sensor que puede medir temperatura. Su salida es analógica, es decir, te proporciona un voltaje proporcional a la temperatura. El sensor tiene un rango desde −55°C a 150°C. Su popularidad se debe a la facilidad con la que se puede medir la temperatura. Incluso no es necesario de un microprocesador o microcontrolador para medir la temperatura. Dado que el sensor LM35 es analógico, basta con medir con un multímetro, el voltaje a salida del sensor. Para convertir el voltaje a la temperatura, el LM35 proporciona 10mV por cada grado centígrado. También cabe señalar que ese sensor se puede usar sin offset, es decir que si medimos 20mV a la salida, estaremos midiendo 2°C.  Resolución: 10mV por cada grado centígrado.  Voltaje de alimentación. Por ejemplo, esté sensor se puede alimentar desde 4Vdc hasta 20Vdc.  Tipo de medición. Salida analógica.  Numero de pines: 3 pines, GND, VCC y VSalida.  No requiere calibración.  Tiene una precisión de ±¼°C.  Esta calibrado para medir °C.  Consumo de corriente: 60 μAA

24. Definir que son las interrupciones en un microcontrolador.

Una interrupción es un aviso provocado por un módulo del PIC, por un cambio en el estado de un pin o un recordatorio de que ha pasado un cierto tiempo. Como su nombre indica este aviso interrumpirá la tarea que se esté haciendo en ese momento y pasaremos a ejecutar una rutina de servicio o gestión de la interrupción.

25. ¿Qué son las interrupciones por software y por hardware?

Interrupciones por software: Son aquellas programadas por el usuario, es decir, el usuario decide cuando y donde ejecutarlas, generalmente son usadas para realizar entrada y salida. Interrupciones por hardware: Son aquellas que son provocadas por dispositivos externos al procesador su característica principal es que no son programadas, esto es, pueden ocurrir en cualquier momento en el programa. Existen dos clases de interrupciones de este tipo:

  • Interrupciones por hardware enmascarables: Aquellas en las que el usuario decide si quiere o no ser interrumpido.
  • Interrupciones por hardware no enmascarables (NMI): Aquellas que siempre interrumpen al programa

Programación Avanzada línea de entrada, el servo mantendrá la posición angular del engranaje. Cuando la señala codificada cambia, la posición angular de los piñones cambia. Los valores más generales se corresponden con pulsos de entre 1 ms y 2 ms de anchura, que dejarían al motor en ambos extremos (0º y 180º). El valor 1.5 ms indicaría la posición central o neutra (90º), mientras que otros valores del pulso lo dejan en posiciones intermedias.

32. Definir que es un generador de señales.

Un generador de señal es un circuito electrónico que puede generar señales sinusoidales, cuadradas, triangulares y/u otros tipos de señales. Por lo general, estos circuitos son utilizados en circuitos de instrumentación, audio, comunicaciones, etc.

Preguntas de las prácticas:

1. ¿Cuál es la velocidad máxima de conmutación de una compuerta OR y AND? ¿Se

puede simular utilizando el software?

Para la compuerta OR es de 15 nanosegundos y para la AND es de 18 nanosegundos, ya que estas cantidades son muy pequeñas no se pueden simular.

2. ¿Cuál es el contenido del archivo de encabezado (header) PIC18F4550.H?

Son todas las funciones y definiciones para ese pic en específico las cuales controlan sus periféricos

33. Defina el uso de los fusibles XT, NOWDT y NOPROTECT.

XT para frecuencias entre 100kHz a 4MHz, NOWDT para desactivar el perro guardián y el NOPROTECT el cual indica que nuestro programa no está protegido así que cualquiera que agarre nuestro microcontrolador pudra copiar el código.

34. ¿Cuál es la frecuencia de trabajo de este microcontrolador?

Es acorde a la que uno le indique en el cristal.

35. ¿cuáles archivos generados por el compilador se utilizan para simular y programar el

código?

Solo se pueden ocupar dos de los 8 generados lo cuales serian el C Debug File y HEX File. Una de las diferencias entre estos dos es que el Debug te deja vigilar las variables mientras que el otro no.

1. ¿Cuál es el número máximo en milisegundos que se puede incluir en una función

delay_ms (???)?

Según el datasheet “time - a variable 0-65535(int16) or a constant 0-65535” entonces el número máximo es de 65535 ms.

3. ¿Cuál es la corriente máxima que el puerto B del microcontrolador PIC18F4550 puede

manejar cuando está configurado como entrada y si está configurado como salida?

Programación Avanzada En ambos casos la corriente maxima es de 25mA.

4. ¿Qué se tendría que agregar al código si fuera necesario mostrar los datos en una

LCD20x4?

La librería lcd4x20.

5. Explique cuál es el contenido de la librería “LCD.c”.

Contiene todas las definiciones necesarias para poder utilizar un LCD en un microprocesador.

6. ¿se puede nombrar al código como “LCD.c” (igual que la librería)? ¿Por qué?

Sí, porque no están en la misma carpeta (no tienen la misma dirección), pero no se debe hacer.

7. ¿Cómo se declaran las interrupciones en el código de programación?

Para cualquier interrupción seria: #INT_XXXX;

8. ¿Cómo se habilitan las interrupciones en el código de programación?

Para cualquier interrupción seria: enable_interrupts (INT_XXXX);

36. ¿Cómo se configuran los temporizadores en el código de programación?

Para cualquier interrupción: set_timerX (CARGA);

37. ¿Qué ventajas y desventajas encuentras al trabajar con la LCD gráfica?

La ventaja es que puedes dibujar en ella. cualquier cosa configurando adecuadamente los pixeles que se van a encender, las desventajas es de que eso provoca que el código ocupe mayor espacio de memoria aparte de que se vuelve más complicado y tardado programarlo.

38. ¿Por qué es más rápido o más lento trabajar con una pantalla LCD gráfica que con una

alfanumérica?

Es más lento porque en la alfanumérica solo es elegir que vas a mostrar sin necesidad de configurar pixel por pixel.

39. ¿Cuáles son las funciones que utiliza la LCD grafica?

40. Escriba 5 posibles aplicaciones de este tipo de LCD.

Máquinas dispensadoras de comida, los videojuegos portátiles, relojes, bocinas con pantalla, aparatos médicos portátiles como un medidor de glucosa o de presión. glcd_init(mode); glcd_pixel(x,y,color); glcd_line(x1,y1,x2,y2,color); glcd_rect(x1,y1,x2,y2,fill,color); glcd_bar(x1,y1,x2,y2,width,color); glcd_circle(x,y,radius,fill,color); glcd_text57(x,y,textptr,size,color); glcd_fillScreen(color);