Étape 3: Bouton programmation de détection
Ont tout d’abord un regard sur le schéma. -> http://imageshack.us/photo/my-images/841/4kf1.jpg...
Logique de détection.
1. tout d’abord définir DDR s’inscrire à l’entrée. par exemple, « 0 », Eg DDRB = 0x0F ;
Tout d’abord 4 broches (1111 -> F) sont définies comme les broches de sortie.
Les broches restantes (0000 -> 0) sont définies comme les broches d’entrée.
2. pour lire un touche/du bouton, nous devons d’abord les broches d’entrée trop élevé et puis tirez-le au plus bas en vous connectant à l’autre extrémité de la touche/du bouton à la terre. Donc à chaque fois que vous appuyez sur une touche, il doit être relié à la terre. La tension à travers cette broche particulière va de + 5v à 0v. Ce changement de tension détecte la pression de touche.
7 6 5 4 3 2 1 0
1 1 1 1 0 0 0 0 - > F0 en hexadécimal
PB.0 = 0, broche O/P PB.5 = 1, I / P Pin
PB.1= 0, broche O/P PB.6 = 1, I / P Pin
PB.2= 0, broche O/P PB.7 = 1, I / P Pin
PB.3= 0, broche O/P PB.8 = 1, I / P Pin
Par exemple,
DDRB = 0X0F ; 4pins(0000) supérieur inférieur s’adressent comme broches d’entrée.
PORTB = 0XFF ; Réglage d’entrée broches aussi haut pour détecter une touche enfoncée.
faire
{
clé = PINB & & 0xF0 ; clé = F0 & & F0 = F0 si aucune touche n’est actionnée, la boucle continue jusqu'à ce qu’il détecte. En supposant que PB.7 est enfoncé puis clé = 0 x 70 & & F0 = ox70, la boucle s’arrête.
} while(key == 0xF0) ;
Exemple de Code :
J’ai cela défini comme un fichier d’en-tête dans mon programme.
MyButton.h -> https://docs.google.com/document/d/1MLIU19IGr1liBq...
Félicitations ! Vous terminé Etape 3, maintenant permet de prototype et générez-le.