|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2007 Messages : 2 ![]() |
Bonjour a tous
Je suis actuellement en classe de Terminale et je conçois a ce titre une maquette dans laquelle j'utilise un 68HC11 Or je n'ai que peu de connaissances sur celui-ci et sur la maniere de le programmer J'utilise un potentiometre sur le port A, et mon but est de renvoyer les informations fournies par celui ci sur le port B, dans le vue d'alimenter une série de DEL Si quelqu'un pouvait m'aider, ou me faire parvenir un programme qui correspond sensiblement a mon probleme, je lui en serait très reconnaissant Bonne soirée |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : juin 2002 Messages : 1 331 ![]() |
Salut !
Rappel : base des registres = $1000 par défaut (voir doc ou selon modif...) Registre ADCTL = base + $30 Bit 7 : CCF en lecture seule - 0 si écriture dans ADCTL et lance la conversion (ou relance s'il y en a une en cours) - 1 lorsque la conversion est terminée (4 conversions consécutives stockées dans les 4 ADR) Bit 5 : SCAN Bit 4 : MULT Bit 3 à 0 : CD CC CB CA (ligne de décodage : 0 pour AN0, 1 pour AN1, 2 pour AN2 etc...) Registres ADR1..ADR4 consécutifs à partir de base + $31 Si SCAN = 0 et MULT = 0, on a 4 conversions consécutives appliquées sur la ligne sélectionnée. Donc : - Ecrire sur ADCTL 00000ccc (ccc code de l'entrée, ici la notation est en binaire) donc CCF passe à 0 et la conversion commence... - Tester CCF tant qu'il est 0 ou bien tester si la valeur de ADCTL est toujours égale à celle qu'on a écrit... - Lorsque CCF == 1, la conversion est valide dans ADR1...ADR4 Voir également la doc pour le registre OPTION (base + $39) Bit 7 : ADPU A/D Power-Up 0 = A/D powered down 1 = A/D powered up Bit 6 : CSEL Clock Select Bit 0 = A/D and EEPROM use system E clock. 1 = A/D and EEPROM use internal RC clock. OPTION n'est accessible en écriture que dans des conditions particulières (voir doc). La doc (gratuite) était disponible sur le site de motorola (toutes déclinaisons + application notes), je ne sais pas si c'est toujours le cas. A plus ! |
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : février 2007 Messages : 2 ![]() |
bonsoir tout le monde
désolé pour le temps de r"ponse, mais j'ai eu des soucis avec mon FAI bref, tout étant rentré dans l'ordre, j'en profite pour vous donner des nouvelles je parviens donc maintenant a correctement compiler le programme (il manquait en fait des instructions au début du prog (cf fin du post)) j'obtiens donc maintenant l'affichage sur le portB du résultat (en binaire) du converteur analogique numerique, avec en entree la tension d'un potentiometre relié au portE0 (5V maxi) Mais, à terme, je souhaite realiser un bargraph : il me faut donc mettre en mémoire dans le 68hc11 des niveaux de tension d'entrée pour lesquels il y aura x dels allumées sur le portB (les 8dels étant utilisées) Etant novice en programmation, si quelqu'un a la moindre idée pour me permettre d'avancer dans mon projet, je lui en serait très reconnaissant merci d'avance! Code :
Dernière modification par Juju_41 ; 28/03/2007 à 11h14. Motif: balise code |
||
|
|
00
|
|
|
#4 | ||
|
Membre Expert
![]() Inscription : juin 2002 Messages : 1 331 ![]() |
Salut !
N'est-il pas possible d'utiliser l'un des TOC du HC11 pour réaliser à la fois le delai et la capture via sa routine d'interruption ? Sinon pour les LEDs, on peut par exemple rechercher le premier bit à 1 et afficher de ce fait par palliers de 6db : Code :
On peut aussi traiter avec: Cela permet d'avoir les leds allumées façon bargraph, de la première à la nième en fonction du niveau (toujours en db). En fonction de la logique de commande des leds on peut appliquer un XOR (EOR). Par ailleurs, pourquoi ne pas encoder pour piloter deux ou trois afficheurs 7 segments ? Ca ne devrait pas être difficile de convertir un byte en 3 digits à l'aide d'une petite table de 10 octets (ou 11 si on fait du ripple blanking) pour l'état des segments ? Ca existe peut-être tout fait (3 digits + décodage + tout le reste)... ou carrément un LCD 1*16 ? A plus ! |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com