Las primeras cinco partes del curso ya mostraban multitud de técnicas de programación y posibilidades de aplicación de la ATmega. En esta última parte presentamos una aplicación práctica que todavía puede servirnos con algunos consejos de desarrollo.
Para tener una visión general de todo lo que es capaz de hacer una ATmega con Bascom, lo mejor es echar un vistazo a la ayuda que éste incluye, sobre todo por la multitud de opciones de configuración existentes (figura 1). Durante este curso, y en el proyecto ATM 18, se han utilizado numerosos elementos de hardware:
- Puertos COM, hardware y software
- Puertos, entrada, salida, pullup
- Conversor A/D
- Timer y contador
- Interrupciones de timer
- Salidas PWM
- Receptor RC5
- Master I2C
- Impulsos de servo
- Bus LIN (“Local Interconnect Network”, en esta edición)
Naturalmente, hay mucho más hardware interno y externo que puede utilizarse. Cuanto más especializado sea, mayor diferencia hay entre cada uno de sus controladores. Por ello, no hemos de pasar por alto un exhaustivo estudio de los “datasheets” de cada uno de ellos.
En el ejemplo aquí mostrado tenemos como objetivo del desarrollo un generador NF basado en el principio DDS (Direct Digital Synthesis, o síntesis digital directa). Entre otras cosas, veremos cómo conectar nuevo hardware, concretamente un LCD. Para ello sólo necesitamos algunas líneas de puerto libres.
El generador DDS produce una señal senoidal en una salida PWM. La frecuencia puede fijarse mediante dos botones en saltos de 10 Hz. La frecuencia seleccionada se muestra en el LCD y se manda por el puerto COM. En el ejemplo se ha utilizado un Mega32, porque dispone de más salidas y está muy extendido. Para aplicaciones específicas puede utilizarse cualquier otro controlador de la serie ATmega.