290 likes | 398 Views
HARDware. JUSTIFICATION DES COMPOSANTS. JUSTIFICATION DES COMPOSANTS. JUSTIFICATION DES COMPOSANTS. Segments B,D,E,F et G. JUSTIFICATION DES COMPOSANTS. Segments B,D,E,F et G. Ic = 100 mA. Courant de la diode = 10 mA Facteur 5 (moyenne). Ic = 400 mA. Facteur 7 Coefficient de sécurité 2.
E N D
JUSTIFICATION DES COMPOSANTS • Segments B,D,E,F et G
JUSTIFICATION DES COMPOSANTS • Segments B,D,E,F et G Ic = 100 mA • Courant de la diode = 10 mA • Facteur 5 (moyenne) Ic = 400 mA • Facteur 7 • Coefficient de sécurité 2
JUSTIFICATION DES COMPOSANTS • Calculs des résistances • Choix du transistors : NPN 2N6718 • (intensité maximale de 500 mA)
JUSTIFICATION DES COMPOSANTS • Segments A et C
JUSTIFICATION DES COMPOSANTS • Segments B,D,E,F et G Ic = 250 mA • Courant de la diode = 10 mA • Facteur 5 (moyenne) • Facteur 5 ( 5 branches) Ic = 200 mA • Facteur 2 • Coefficient de sécurité 2
JUSTIFICATION DES COMPOSANTS Datasheet Source Moodle
software MODULE AFFICHAGE
INITIALISATION • RxFlag • SEGMENTS • DIGITS • FONCTIONNEMENT GLOBAL DU PROGRAMME
INITIALISATION • Chaque digits • Initialisation pour le logiciel de type sortie (I0) • Initialisation matérielle • Dizaine d’heures • Unités d’heures • ... • Chaque segments • Idem pour chaque segment • Les segments de A a G sont initialisés une seule fois
Utilisation du RxBuffer/RxFlagHeure • Le DrapeauHeure se lève lorsque l’on envoie une commande commençant par N, on peut ensuite écrire dans le RXBuffer • Les données sont introduites sous la forme N XXX CR (Carriage Return) avec Hercules • Le N indique • L’espace alloué à l’affichage est RxBuffer[0], RxBuffer[1], RxBuffer[2] et RxBuffer[3].
Fonctionnement des DigitsChoixDigit • Utilisation de Case Of selon les valeurs du RxBuffer • On envoie le chiffre à allumer dans la partie « Segments » • On pense à allumer le digit sélectionné et à éteindre les autres.
Fonctionnement des SegmentsChoixSegments • Pour l’affichage des segments, nous utilisons le tableau qui a été fourni avec la première version du logiciel. • Le tableau traduit directement les segments à allumer en fonction du chiffre entré. • On allume ensuite les segments à allumer en imposant aux autres segments d’être éteints.
Fonctionnement de l’Affichage • Le programme principal lit en permanence le RxBuffer • Tempo entre chaque lecture (5ms) • Les diodes étaient sensées clignoter toutes les secondes • Allumées « en permanence »
Utilisation du RxBuffer/DrapeauSon • Le DrapeauSon se lève lorsque l’on envoie une commande commençant par S, on peut ensuite écrire dans le RXBuffer • Les données sont introduites sous la forme S XXXX CR (Carriage Return) avec Hercules • Le S indique • L’espace alloué à l’affichage est RxBuffer[10], RxBuffer[11], RxBuffer[21] et RxBuffer[13].
Timer0 • Fréquence du PIC : 8 Mhz • Prescaler utilisé : 1:32 • Pour que l’on ait une période où le Drapeau Du Timer0 se lève toutes les 1 ms • INTCONbits.TMR0IF = 1 Drapeau à 1 • INTCONbits.TMR0IE = 1 Lancement du Timer0 Retour
Compteur de Temps • Variable qui s’incrémente à chaque fois que le drapeau du compteur passe à 1, c’est-à-dire toutes les 1 ms • ROLES : • Compter la durée de temps de la sonnerie • Avec conditions sur le nombre d’itérations • EXEMPLE : Pour 1 seconde : 140 itérations Retour
Génération du son • Le but est de faire vibrer la membrane à une certaine fréquence • Utilisation d’un deuxième compteur de temps • Itération beaucoup plus courte pour avoir une bonne fréquence permettant un son audible • Dès que cette itération est atteinte (2), on effectue l’instruction suivante : • SORTIE_SON_PORT =!SORTIE_SON_PORT Retour