Bonjour,
Dans le cadre de mes études j'ai un cours d'électronique et on peut dire que ce n'est pas mon point fort. J'ai d'ailleurs une seconde session dans ce cours.
J'ai un projet d'électronique à réaliser avant de pouvoir me rendre a l'examen. Je ne demande pas que qq1 le fasse pour moi mais juste qu'on m'aide à réfléchir à l'organigramme du programme, à voir comment je vais m'y prendre. En gros c'est de la programmation de contrôleur avec le programme MPLAB IDE. Pour l'instant, je patauge un peu...
voici les consigne qui m'ont été envoyée par le prof:
"
Projet : « Module d’affichage sur afficheurs 7 segments à 2 digits, à liaison sérielle synchrone »
Il t'est demandé de réaliser un programme pour microcontrôleur PIC 16F76, permettant de réaliser un « module d’affichage sur afficheurs 7 segments à 2 digits », selon le cahier des charges suivant :
Afficheurs 7 segments HDSP-5603 (voir datasheets sur internet).
Seuls des caractères numériques (0 à 9) seront à afficher et il y aura 2 « digits » (00 à 99), avec éventuellement le point entre les 2 digits à allumer.
Ces caractères seront fournis par liaison série synchrone. Le signal de données sera appliqué sur la broche RA0, tandis que le signal d’horloge sera appliqué sur la broche RB0.
Le format de l’information reçue est le suivant : le bit 16 indique si le point entre les 2 digits doit être allumé (« 1 ») ou non (« 0 »), les bits 15 à 8 fournissent le code ASCII du digit des dizaines et les bits 7 à 0 fournissent le code ASCII du digit des unités.
Les lignes de données et d’horloge sont à « 0 » au repos. Les 17 bits sont envoyés les uns derrières les autres, en commençant par le bit de poids fort (bit 16), et les changements de données ont lieu lors des fronts descendants du signal d’horloge (sauf lors du « dépôt » du premier bit, bien sûr, puisqu’à cet instant la ligne d’horloge est encore à « 0 »).
L’afficheur 7 segments des unités sera connecté au port B, tandis que l’afficheur 7 segments des dizaines sera connecté au port C, avec bit 0 pour le segment « a », bit 1 pour le segment « b », bit 2 pour le segment « c », bit 3 pour le segment « d », bit 4 pour le segment « e », bit 5 pour le segment « f », bit 6 pour le segment « g » et bit 7 pour le segment « point » (uniquement ici pour l’afficheur des dizaines).
Après exécution complète de cette routine, le système doit revenir en attente d’un nouveau message.
Fréquence de l’oscillateur à quartz : 4 MHz.
Il est demandé de créer une table de conversion « ASCII - 7 segments », permettant d’aller chercher la valeur des 7 segments d’un afficheur à partir du code ASCII du chiffre à afficher (Utiliser les instructions ADDWF PCL,f et RETLW …).
Conseil : Utiliser le flag « INT » pour détecter les fronts montants du signal d’horloge.
"
Un grand merci à vous si vous savez un peu m'éclairer.
-----