Page 1 of 1
question mikrobasic
Posted: Mon 09 Nov, 2009 11:50 am
by djalex1664
salut tt le monde, j'aimerais savoir si quelq'un utilise mikrobasic pour la prog des pics?
Re: question mikrobasic
Posted: Mon 09 Nov, 2009 1:09 pm
by jvr33
je connais pas du tout
j'ai regarde
>LA<
Ca a l'air pas mal pour débuter

Re: question mikrobasic
Posted: Mon 09 Nov, 2009 7:39 pm
by djalex1664
je l'ai déjà, j'ai déjà fait quelques projet simples... c'est plus une question sur certaines fonctions, ils donnent des exemples très complexes mais pas d'explication clair pour un novice tel que moi.
il y a qu'une personne connaissant bien ce soft qui pourrais me repondre

Re: question mikrobasic
Posted: Mon 09 Nov, 2009 9:27 pm
by djbastien
Salut!
moi j'ai mikro c je sais pas si c'est la même chose..
dis les problèmes que t'as j'essaierai de t'aider si je peux
Re: question mikrobasic
Posted: Mon 09 Nov, 2009 10:31 pm
by djalex1664
mikro C c'est le meme fabricant...
en fait je cherche à compter un nombre d'impulsion sur une durée de 250-500ms, je sait pas si il y des fonctions prédéfinies ou si il faut utiliser une interruption ou encore faire un calcul suivant le nombre d'instruction de mon prog, en gros je sait pas dans quel sens partir ^^
Re: question mikrobasic
Posted: Mon 09 Nov, 2009 10:48 pm
by djbastien
je dirai les interruptions!
a chaque impulsion du incrémentes un compteur dans un petit prog d'interruption.
pour les fonctions prédéfinies j'en ai jamais utilisé qui faisait ça.. je vais regarder si j'en trouve une.
Re: question mikrobasic
Posted: Mon 09 Nov, 2009 10:55 pm
by shrad
pour cela, il faut (du moins en assembleur) activer les interruptions sur un timer ainsi que ce meme timer, precharger une valeur dedans proportionelle a la duree desiree (par exemple si un cycle = 1ms, on precharge le registre avec la valeur 250 pour un delai de 250ms)
lorsque le bit de demarrage de l'interruption est active, a chaque cycle d'horloge et independamment des instructions du programme, le registre va decompter jusqu'a zero
une fois la valeur atteinte, l'interruption va avoir lieu et le programme va s'interrompre pour passer a une zone de memoire appelee vecteur d'interruption, qui contient un bout de code a executer (par exemple lecture de la valeur stockee pour le nombre d'impulsions pendant le programme principal, affichage puis remise a zero de ce nombre pour le prochain tour)
attention que pour avoir un programme qui tourne bien, il faut bien faire attention a ce que le code d'interruption ne fasse pas 21464654 millisecondes de duree, sinon ca sert plus a grand chose ^^
tu utilises quel type de pic alex? si c'est le 18F88 je te conseille de faire tout ca en assembleur.. ca demande un peu de temps a apprendre mais c'est une base qui te permettra de tout faire apres, meme en C ou en basic (permet d'inclure un bout d'ASM dans le code pour maitriser les trucs du genre timers et interruptions a la milliseconde pres justement) , meme sur des pic 32 bits ou de l'assembleur X86 (en plus y'a moins de 30 instructions a utiliser, et on en retiens en general une dizaine, elles sont dispo dans la datasheet sur deux pages)
Re: question mikrobasic
Posted: Tue 10 Nov, 2009 7:21 am
by djalex1664
woué c'est bien un 16f88 ( vive l'horloge interne...), pour l'assembleur, je veux pas me remettre à apprendre un language complet pour le moment, ça fait déjà qq tps que je fait du basic et ça m'a pris 1h pour faire mon premier prog en basic sur pic avec aucune connaisance prealable...
plus tard je me mettrais peut etre à l'assembleur mais ça ferait trop de chose à apprendre en meme tps, si je doit apprendre les pics ET un language je risque de pas m'en sortir...
déjà qu'en basic quand un prog ne marche pas je met pas mal de tps à trouver l'erreur avec un language que je connait, alors avec un que je connait pas ça va vraiment etre galère...
pour mon histoire je cherche à faire un tachymetre, une fois que j'aurais trouver le moyen de recuperer le nombre d'impulsions par sec, l'usage du resultat n'est pas un pb.
Re: question mikrobasic
Posted: Tue 10 Nov, 2009 9:38 am
by jvr33
tiens j'ai trouvé 2 pdf sur la programmation en Microbasic
http://jvr33.free.fr/pdf_laser/03_elect ... icrobasic/
j'en ai d'autre en telechargement, je les ajouterais

Re: question mikrobasic
Posted: Tue 10 Nov, 2009 11:26 am
by shrad
salut Alex
en fait, le truc avec l'assembleur, c'est que tu ne dois pas apprendre deux choses, mais bien une seule, car l'assembleur C'EST le pic
ca consiste betement en une trentaine d'instructions genre "ADD lolo, toto" ou "BTFSC OSCCON1", qui sont en fait une contraction du nom de l'instruction, suivie du ou des registres qui sont affectes... donc en fait tu apprend le fonctionnement interne du PIC, et si par exemple tu cherche a utiliser le timer, il te suffira de lire la partie de datasheet correspondante pour savoir quelle operation a faire dans quels registres, d'ou ces instructions faciles, ligne par ligne, avec des GOTO pour revenir a d'autres parties de programmes, etc...
comme tu le dis, apprendre le basic et le fonctionnement du pic en meme temps, c'est pas easy, mais c'est tout le contraire en assembleur je te le garantis
de plus, le cours de bigonoff est deja tout fait en assembleur... je sais bien que ca a l'air rebarbatif et horrible, j'en suis tout a fait conscient, mais pour preuve ca va faire 4 ans que je n'ai plus fait d'assembleur et je m'en souviens encore, c'est vous dire si c'est tres simple... en plus c'est d'une logique tellement frappante vu que ca reflete le fonctionnement interne explique dans la datasheet...
enfin bon ^^ je vais arreter d'etre directif comme ca, c'est pas bien! n'oublie pas que si tu as besoin d'une aide quelconque, je suis la, n'hesite pas!
Re: question mikrobasic
Posted: Tue 10 Nov, 2009 11:12 pm
by djbastien
moi en assembleur je suis pas très doué.. je préfere le C
mais c'est sur que c'est le mieux pour savoir exactement ce que tu fais.
pour l'interruption c'est à chaque pulse sur l'entrée qu'il en faut une pour pouvoir les compter.
sur certains pic t'as une pin d'entrée qui déclenche une interruption dès qu'elle reçoit un front. je sais pas si c'est le cas du tien.
Re: question mikrobasic
Posted: Wed 11 Nov, 2009 12:55 am
by djalex1664
djbastien wrote:moi en assembleur je suis pas très doué.. je préfere le C
mais c'est sur que c'est le mieux pour savoir exactement ce que tu fais.
pour l'interruption c'est à chaque pulse sur l'entrée qu'il en faut une pour pouvoir les compter.
sur certains pic t'as une pin d'entrée qui déclenche une interruption dès qu'elle reçoit un front. je sais pas si c'est le cas du tien.
ben déjà ça m'eclaire un peu sur la voie à explorer, de plus j'ai telechargé et imprimé un doc de jvr33 de 200 pages, sur mikrobasic justement, ça va bosser dur dur ^^
les cours de bigonoff je les avaient imprimés, mais j'avais commencé à lire avant meme de commencer l'electronique, lire ce genre de cours en en sacahtn meme pas ce qu'est un AOP c'est vraiement pas le top pour prendre gout à l'assembleur...
Re: question mikrobasic
Posted: Wed 11 Nov, 2009 2:28 am
by shrad
les interruptions peuvent se declencher sur front montant, descendant, ou par comparateurs, etc... donc selon n'importe quel peripherique qui gere les interruptions (capture/compare, digital I/O, peripheriques divers et varies quoi)
bon courage alex! en cas de doute ou de besoin, pas d'hesitation!