;Tout d'abord il faut indiquer quel type de PIC on va utiliser ;ainsi que son include :) LIST p=16F84 #include <p16F84.inc> ; '__CONFIG' précise les paramètres encodés dans le processeur au moment de ; la programmation du processeur. Les définitions sont dans le fichier include. ; Voici les valeurs et leurs définitions : ; _CP_ON Code protection ON : impossible de relire ; _CP_OFF Code protection OFF ; _PWRTE_ON Timer reset sur power on en service ; _PWRTE_OFF Timer reset hors-service ; _WDT_ON Watch-dog en service ; _WDT_OFF Watch-dog hors service ; _LP_OSC Oscillateur quartz basse vitesse ; _XT_OSC Oscillateur quartz moyenne vitesse ; _HS_OSC Oscillateur quartz grande vitesse ; _RC_OSC Oscillateur à réseau RC __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC ;Ensuite on lui indique qu'il y aura une led sur le portA 2 #DEFINE LED PORTA,2 ;2 MACROS simples pour allumer/eteindre la led... ALLUME macro bsf LED ;bsf envoit 1 endm ETEINT macro bcf LED ;bcf envoit 0 endm ;Il appuis sur reset? alors on va à depart org 0x000 goto depart ;On initialise le port A à 0 depart clrf PORTA goto debut ;Routine principale debut call ALLUME ;Vous avez deviné : il allume ;.........PLACER ICI CE QUE VOUS SOHAITEZ... call ETEINT ; il eteint goto debut ; et hop il recommence... END ; fin du prog
Si vous souhaitez des cours particulier dites les moi :) sur les pic bien sur :))
J'oubliais le montage :)Très simple :MASSE ------ - LED + ----- résistance de 310Ohms ----- RA2 du PICComme d'hab pour le quartz :)a+
Je sais pas si tu sais, mais y a un gentil Monsieur qui c fait chier a écrire un langage pour programmer les PICs. Ca s'appelle JALcherche sur google : www.google.comSa t'évitera de te faire chier avec l'assembleur. POurquoi tu programme pas en Hexa, ce serai plus facile peut-être. POur t'aider un peu, ya le C qui existe.
C'est peu être plus judicieux d'allumer les leds sur un "0"... Autant prendre des bonnes habitudes dès le début ! De plus 3.1kOhms me semble beaucoup si on prend des leds normals (VDiode 1.6V Imax 20mA). Je pense qu'il faut enlever un 0 à ta valeur de résistance; 310 Ohms sufisent (R=U/I => 3.4/16*10^-3=212.5 !). @+ FloZix
Regira, ici c'est un site sur l'asm alors c'est normal de trouver des gens qui programmes en assembleur des PIC dans la catégorie PIC...
g mis 310 Ohms et non 3100 Ohms (tu confond O avec 0 );)
autant pour moi .... !o)
Sublime!!! pour les bleus comme moi, c'est pafait. Merci pitap0
je connais pas encore très bien l'assembleur mais on appelle pas une macro par un call non ?il me semble que l'on écrit juste le nom de la macro... enfin jsuis pas surA+
Salut------Ton programme ne fonctionnera jamais, tu as oublié d'intialiser TRISATu as oublié aussi une tempo entre allumage et extinction.Tu devrais relire encore une fois mon cours :)Pour Regiga : le langage d'assemblage est le langage le plus approprié pour écrire un programme sur PIC16F84. Ca n'a rien à voir avec écrire directement en hexa.L' "assembleur" est le seul langage qui permette de tirer toute la puissance d'un pic, et donc le seul qui permette de tout faire. A+Bigonoff
Salut bis----------Ah oui, j'oubliais. L'utilisation des macros est incorrecte, car elle ne doit pas être précédée d'un "call".Petit conseil : surtout lorsqu'on débute (mais même plus tard), il faut éviter de placer des sources destinées à aider les autres si on ne les a pas testées. Dans ce cas-ci, si un débutant essaye ce programme, il va se casser le nez, puis se décourager.Amicalement :)Bigonoff
bien dis bigonoff...
tres bien pour les débutantspouvez vous me donnees des cours particulier par mailje suis meme pret a vous adressez un cheque.merci
Se souvenir du profil
Mot de passe oublié ? / Activation de compteCréer un compte