cs_lilyange
Messages postés1Date d'inscriptionvendredi 20 mars 2009StatutMembreDernière intervention 3 avril 2009
-
3 avril 2009 à 22:40
pont
Messages postés198Date d'inscriptionsamedi 2 mai 2009StatutMembreDernière intervention16 novembre 2010
-
2 nov. 2009 à 17:50
c lilyange
bonsoir a tous ,
voila je debute dans la programmation des pic , et j'ai comme projet
de générer un signal carré a l'aide d'un pic 16f84 donc j'arrive pas a
faire le programme.
si quelqu'un peut m'orienter just un peut; merci
CGL3615
Messages postés6Date d'inscriptionmercredi 15 avril 2009StatutMembreDernière intervention15 mars 2010 16 avril 2009 à 15:48
Salut c lilyange,
D-abord tu ne me precises pas dans quel langage tu veux ecrire ton programme (Assembler, C ANSI, Basic, Pascal )alors moi, je fais mon choix : Pascal pour PIC avec le compilateur mikroPascal .
Alors si tu desires generer un signal carre avec un PIC16F84, soit sur la broche designee PB3
Program SignalPB3;
Begin
TRISB:=0;
PORTB:=0;
While (1=1) do
begin
setbit(PortB,3);
delay_ms(500);
clearbit(PortB,3)
delay_ms(500);
end;
pont
Messages postés198Date d'inscriptionsamedi 2 mai 2009StatutMembreDernière intervention16 novembre 20101 3 mai 2009 à 16:45
Et en assembleur:
; PROG1
;----------------------------------------------------------------------------
; MON PREMIER PROGRAMME: Génération de signal carré sur RB0
;----------------------------------------------------------------------------
; *** Configuration
LIST p=16F84A ; Processeur 16F84A
INCLUDE "P16F84A.inc" ; Les dispositions du 16F84A
; *** Variables
CBLOCK 0x0C
; néant
ENDC
; *** Vecteur du départ
ORG H'0000' ; Origine du programme.
GOTO prepa ; préparation du port de sortie
prepa BCF STATUS, RP0 ; Accès Bank0 (normalement inutile)
CLRF PORTB ; Mettre à zéro les sorties de B
BSF STATUS, RP0 ; Accès Bank1
MOVLW 0xFE ; Bit 0 mis à 0 pour direction
MOVWF TRISB ; Pins 0 du port B en sortie
BCF STATUS, RP0 ; Retour Bank0
prog BSF PORTB, 0 ; sort 1 du bit 0 sortie du carré
CALL Tempo ; facultatif
BCF PORTB, 0 ; sort 0 du bit 0 (voir à l'oscillo)
CALL Tempo ; facultatif
GOTO prog ; Reboucle au départ
;------------------routine- de temporisation----------------------------------
Tempo NOP ; nbre de nop selon fréquence voulue du signal carré
NOP ; qui tient compte du quartz.
NOP
RETURN
pont
Messages postés198Date d'inscriptionsamedi 2 mai 2009StatutMembreDernière intervention16 novembre 20101 2 nov. 2009 à 17:50
Bonjour joker2007,
On ne dit pas "just un peut" avec 2 fautes, mais juste un peu, car la programmation ne tolère pas la plus petite faute et si tu ne soçrs pas de l'habitude de faire des fautes, tes programmes ne marcheront pas.
Ceci dit, le programme que j'ai mis est très simple, et surtout complet; car beaucoup ne donnent pas le début, si je t'avais mis le programmec principal seulement il n'y en a que 5 lignes, et on peut faire pire, mettre un seul mot, qui renverra à une bibliothèque qui donnera le détail, mais j'ai voulu justement aider le débutant qui ne sait rien et peut-être le résultat n'a pas été atteint tu as été effrayé par ce long début, pourtant tu dois bien te douter que des PICs, il y en a plus de 500 modèles, comment ton logiciel va savoir lequel tu utilises si tu ne le dis pas?
S'il y a différents modèles de PIC c'est qu'ils ne sont pas pareils dedans. Et il faut que tu déclares aussi les variables que tu vas utiliser, bref tout ce que tu vas mettre en jeu pour faire tourner le programme. Si tu prends la peine de passer au peigne fin le programme, mot par mot, tu verras qu'il n'y a rien de compliqué, aucune astuce pourrie de spécialiste, je suis contre ça, je suis pour une programmation claire et compréhensible.
Bonsoir et courage, suis les conseils et tu y arriveras. Tu as une comparaison entre Pascal et assembleur. Pascal est plus court, mais tu ne sais pas ce qui se passe dans le µC, en assembleur tu sais, et comme le PIC ne comprend pas le Pascal, il a fallu programmer le Pascal en assembleur, donc seul celui qui a écrit le Pascal en assembleur sait ce qu'il fait réellement.Donc, c'est comme passer en avion sur une forêt ou t'y promener à pied, à toi de choisir!
pont