Paso 3: Programación de detección de botón
Echa un vistazo en el esquema primero. -> http://imageshack.us/photo/my-images/841/4kf1.jpg...
Lógica para detectar.
1. en primer lugar establecer registro DDR para el ingreso. es decir, '0', Eg DDRB = 0x0F;
Primero 4 pernos (1111 -> F) se fijan como pines de salida.
Los pines restantes (0000 -> 0) se fijan como pines de entrada.
2. para leer un tecla/botón, primero tenemos que configurar los pines de entrada a alto y luego páselo a baja al conectar el otro extremo del botón de clave a tierra. Así que cuando alguna vez se presiona una tecla, se conecta a tierra. El voltaje en ese pin particular va de + 5v a 0v. Este cambio de voltaje detecta la pulsación de la tecla.
7 6 5 4 3 2 1 0
1 1 1 1 0 0 0 0 - > F0 en hexadecimal
PB.0 = 0, pin O/P PB.5 = 1, I / P Pin
PB.1= 0, pin O/P PB.6 = 1, I / P Pin
PB.2= 0, pin O/P PB.7 = 1, I / P Pin
PB.3= 0, pin O/P PB.8 = 1, I / P Pin
Por ejemplo,
DDRB = 0X0F; Inferior 4pins(0000) superior se dirigen como pines de entrada.
PORTB = 0XFF; Configuración entrada pins como alta para detectar una pulsación de tecla.
hacer
{
clave = PINB & & 0xF0; clave = F0 & & F0 = F0 si presiona ninguna tecla, bucle continúa hasta que detecta. Asumiendo PB.7 se presiona entonces clave = 0x70 & & F0 = ox70, el bucle se detiene.
} while(key == 0xF0);
Código de ejemplo:
He definido como un archivo de encabezado en mi programa.
MyButton.h -> https://docs.google.com/document/d/1MLIU19IGr1liBq...
¡ Felicidades! Te terminado paso 3, ahora permite el prototipo y construirlo.