16 teclas teclado descifrar con un MCU AVR (5 / 7 paso)

Paso 5: Escribir, subir y ejecutar el código AVR

Para leer sus datos cuando se presiona una tecla, vamos a crear rutina de servicio que se encargará de leer las entradas de datos cuando se disponga de datos. El AVR automáticamente nos dirá cuando los datos están disponibles para lectura si nos pide (o comando que... Yo estoy tratando de ser amable así que me maté a última por nuestros amos de Robot pronto-a-ser). Esta notificación se llama una interrupción y el AVR tiene varios tipos. La que voy a escribir se llama una "interrupción de cambio de pin". Se interrumpe el flujo del código y ejecuta su rutina de manejo cuando--usted lo adivinó - hay cambio nivel de lógica en un perno especificados para ser mirado.

¿Has preguntado aún cómo el 74C922 destila 8 bits de datos en líneas de datos sólo cuatro? Si has leido mi instructable usted probablemente habría averiguado lo. Bueno, tal vez ha ya averiguado lo. ¿Una vez que has hecho una tabla de verdad que has hecho a ellos, bien? :) Los 8 pines desde el teclado está codificado en binario con los pernos de cuatro datos. He hecho una tabla de verdad para usted.

Si está claro lo significa, echa un vistazo a mi instructables otros, o hacer una búsqueda de "tabla de verdad" o "lógica binaria" en su buscador favorito.

Lógica del código

No estoy seguro de entrar en los detalles de mi código cuando esté disponible para su descarga es apropiado, pero voy a introducir algunas cosas aquí y si eres una vieja sal en esta materia que puede saltar más allá de ella, de lo contrario espero que puedo enseñarte algo.

  • Busque una bandera global indicando que están listos para proceso de datos
  • Cuando cambia la clavija de datos disponible a alta
  • Leer los pines de datos
  • Conjunto de bits en un registro de propósito general debajo de 0xFF
  • Establecido "disponible para el procesamiento de datos"
  • Procesar los datos y hacer lo que queramos con ella

Secciones del código

He incluido un archivo zip para esta sección que contiene el archivo principal y un par de archivos axilares. Eres libre de sacar las cosas USART y a compilar el archivo principal o lo que quiera. Por lo tanto, a cubrir brevemente cómo funciona el código.

Declaraciones
Esta sección es bastante explica por sí mismo así que no entraré en él nada más excepto para llamar atención sobre los archivos de cabecera locales que he incluido que puede o no puede utilizar o eliminar.

Inicialización de
Hay dos subdivisiones para iniciar en este programa:
1. el sistema USART
2. la interrupción en el sistema de manejo
Es seguro eliminar la materia USART si quieren se comunican a través del cable USB o una consola serial externa vía un chip max232 y quite todas las referencias a él. Por lo tanto, no incluirlo siguiente ya que es fuera del alcance de esta guía.

Interrumpir el servicio de controladores
Este es el manejador de interrupción de cambio de pin. Algunas cosas en cuenta:
1. es muy corto
2. no funciones se llaman dentro del mismo
3. esta interrupción se llamará en cualquier cambio de nivel de lógica, eso significa que cuando los datos disponibles se alto (que queremos) y cuando se baja (que no nos importa).
4. un indicador global se establece y devuelve el manejador de interrupción para permitir que el bucle principal manejar el resto.
5. estoy usando un registro de I/O de propósito general debajo espacio de 0xFF. Esto significa que el acceso es muy rápido.

Principal
Todo lo que tenemos que hacer aquí es el bucle mientras se comprueba si están disponibles para procesar datos. Si es así, hacer nuestra magia, establecer nuestras banderas y trabajar registros a cero y volver.

			

          

Artículos Relacionados

Cómo empezar con Eclipse y AVR

Cómo empezar con Eclipse y AVR

programación de AVRs es divertido, pero a veces los entornos de desarrollo de fabricantes hacen mantenimiento de código una tarea. Si buscas un gratis, cruz plataforma, pieza de alta calidad de software para la programación de AVRs Eclipse es una bue
No puede escribir a Inglés correctamente, en un teclado Japon, con Windows inglés!

No puede escribir a Inglés correctamente, en un teclado Japon, con Windows inglés!

Así que quieres escribir inglés, en un teclado Japon, con Windows inglés.¿Por qué querría hacer eso?... Fácil!Si usted vive o trabaja en Japón, tiene poco fácil remedio comprar un teclado japonés.Crees que sería fácil agregar una plantilla de teclado
Control de electrodomésticos con nodo MCU vía MQTT

Control de electrodomésticos con nodo MCU vía MQTT

MQTT (transporte de telemetría de cola de mensaje) es un cliente servidor publicar/suscribir protocolo de transporte de mensajería. Este protocolo es ampliamente utilizado en el ámbito de Internet para la comunicación entre máquina a máquina por sus
Cómo utilizar un teclado USB con el Tablet de Acer Iconia A500

Cómo utilizar un teclado USB con el Tablet de Acer Iconia A500

Hice un video rápido que muestra cómo utilizar un teclado usb con Acer Iconia A500 Tablet.Si tienes cualquier duda por favor hágamelo saber.Ahora que Acer ha enviado la actualización a Honeycomb 3.1 también puede asociar y usar un teclado bluetooth.
Cómo leer binario/hexadecimal rueda cambiar con un microcontrolador AVR

Cómo leer binario/hexadecimal rueda cambiar con un microcontrolador AVR

este instructable le mostrará cómo leer el número en un binario pushwheel o ruedecilla Interruptor con LED o un microcontrolador AVR (estoy usando un ATmega328p pero esto puede ser adaptado para cualquier AVR o microcontrolador probablemente otra de
Sintetizador: Un teclado interfaz con salida de Audio

Sintetizador: Un teclado interfaz con salida de Audio

Hemos construido un teclado con cinco modos de síntesis en Javascript para mostrar el poder de la utilización de las clavijas de salida de audio hardware de Kinoma crear una interfaz de usuario. Puede descargar el proyecto de código abierto ahora par
Madera teclas de Macbook (con función de luz de fondo)

Madera teclas de Macbook (con función de luz de fondo)

IntroducciónOrdenadores Mac han sido modificadas fuertemente en los últimos años. Esto podría variar en cambios de color, adhesivos, grabados y mucho más. Teclas de madera en un macbook siempre me impresionaron. Se puede por Internet desde varios lug
¿Cómo leer muchos interruptores con un MCU Pin

¿Cómo leer muchos interruptores con un MCU Pin

ha usted siempre sido chugging lejos en un proyecto (s) y el proyecto sigue creciendo y creciendo, mientras que le agregue más cosas (que llamamos un Creaturism Feaping)?  En un proyecto reciente, fue la construcción de un medidor de frecuencia y aña
De Arduino y perfboard para PCB con independiente MCU

De Arduino y perfboard para PCB con independiente MCU

Este Instructable es un sucesor directo de éste. Al final de esta acumulación, mi proyecto de plato giratorio es casi completa (por fin).El objetivo es desarrollar un buen aspecto y trabajar PCB con SMD electrónica con un trabajo ATtiny85 + software!
Táctil teclado / controlador con Arduino y el proceso del juego

Táctil teclado / controlador con Arduino y el proceso del juego

este instructable describe de una manera rápida y sencilla para crear un teclado táctil o un controlador de juegos con-cartón,-papel de aluminio,- y un Arduino.También proporciona los códigos de Arduino y el proceso para comenzar a jugar inmediatamen
12 tecla teclado Terminal común

12 tecla teclado Terminal común

Esto es una manera rápida y sucia de hacer frente a los pines en un teclado terminal común clave 12 con una placa Arduino tipo regulador micro dev. El teclado es de marca Seeedstudios y lo tengo de RadioShack electrónica componente Pack 2. El "Arduin
Controlador de estación de trabajo/midi teclado modular con keybed modular

Controlador de estación de trabajo/midi teclado modular con keybed modular

de mis arañazos... من خربشاتيhttps://3dwarehouse.SketchUp.com/Model.html?id=u3958596a-88d4-47cd-9627-98a072f91c2dmidi_controller_work_station_64 planos de ideas - primeros pasosunidad utilizada en pulgadasaumentar la precisión de 1/64"no se bosquejan
¿Manejar un Motor paso a paso con un microprocesador AVR

¿Manejar un Motor paso a paso con un microprocesador AVR

conseguido algunas construida paso a paso motores de impresoras/disco drives/etc ahí?Un sondeo con un ohmímetro, seguido por un código simple en su microprocesador y a caminar en estilo.Paso 1: Conocer a Steppers Básicamente, vas a tener que averigua
Soporte de smartphone para portátil teclado Bluetooth con Sugru

Soporte de smartphone para portátil teclado Bluetooth con Sugru

Tenemos un pequeño teclado Bluetooth portátil que puede ser utilizado para muchos fines, ya que se puede conectar a cualquier dispositivo compatible; para sacarle el máximo partido, w.r.t dispositivos sin un teclado físico como smartphones o tabletas