begin process at 2010 02 09 23:50:34
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Les PIC

 > ALLUMER ET ETEINDRE UNE LED A PARTIR D'UN PIC 16F84

ALLUMER ET ETEINDRE UNE LED A PARTIR D'UN PIC 16F84


 Information sur la source

Note :
6,5 / 10 - par 2 personnes
6,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Les PIC Niveau :Débutant Date de création :10/06/2002 Date de mise à jour :12/06/2002 01:58:31 Vu :19 233

Auteur : pitap0

Ecrire un message privé
Site perso
Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note

 Description

Ce cours n'est la que pour vous présenter l'utilisation d'une led a partir d'un PIC 16F84.
Ce n'est pas compliqué mais lorsqu'on debute...

a vous de cogiter dessus.
(Utilisation avec MPASM)  

Source

  • ;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
;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
  

 Conclusion

Et merci de ne pas m'insulter.
Je ne suis la que pour donner un coup de pouce. Rien d'autre.  


 Sources de la même categorie

Source avec Zip SAUT AVEC TROIS IMPULSIONS par ariane2005
Source avec Zip LED ROTATE par ariane2005
Source avec Zip LED EN COULEUR par ariane2005
Source avec Zip JEUX DE LUMIÈRE par ariane2005
PIC : OBTENIR UN NOMBRE ALÉATOIRE AVEC LA FORMULE XN+1=(137... par warezpsx

Commentaires et avis

Commentaire de pitap0 le 10/06/2002 22:19:03

Si vous souhaitez des cours particulier dites les moi :) sur les pic bien sur :))

Commentaire de pitap0 le 10/06/2002 22:23:02

J'oubliais le montage :)
Très simple :
MASSE ------  - LED + ----- résistance de 310Ohms ----- RA2 du PIC
Comme d'hab pour le quartz :)
a+

Commentaire de Regiga le 13/06/2002 09:38:04

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 JAL
cherche sur google : www.google.com
Sa 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.

Commentaire de Regiga le 13/06/2002 09:38:32

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 JAL
cherche sur google : www.google.com
Sa 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.

Commentaire de FloZix le 13/06/2002 09:48:07

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 =&gt; 3.4/16*10^-3=212.5 !).
@+ FloZix

Commentaire de FloZix le 13/06/2002 09:52:15

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...

Commentaire de pitap0 le 13/06/2002 17:05:03

g mis 310 Ohms et non 3100 Ohms (tu confond O avec 0 )

;)

Commentaire de FloZix le 14/06/2002 10:28:00

autant pour moi .... !o)

Commentaire de loubet le 18/06/2002 16:54:17

Sublime!!! pour les bleus comme moi, c'est pafait. Merci pitap0

Commentaire de Cyberdevil le 08/06/2003 11:05:02

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 sur
A+

Commentaire de Bigonoff le 08/10/2003 22:29:32

Salut
------

Ton programme ne fonctionnera jamais, tu as oublié d'intialiser TRISA
Tu 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

Commentaire de Bigonoff le 08/10/2003 22:34:39

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

Commentaire de misterzinzin le 22/05/2005 14:57:43

bien dis bigonoff...

Commentaire de pic16f le 25/05/2005 12:28:51

tres bien pour les débutants
pouvez vous me donnees des cours particulier par mail
je suis meme pret a vous adressez un cheque.
merci

Commentaire de pont le 12/11/2009 21:11:49

Pas terrible:
long, compliqué, plein de fautes de français, mes élèves ont intérêt à faire beaucoup mieux et ils le savent, d'ailleurs ils programment des trucs bien plus durs comme faire un journal lumineux...faire tourner un moteur pas à pas, une perceuse avec son avance barre automatique, une étagère automatisée à plusieurs niveaux, un ascenseur... Il faut quand même respecter l'appétit de création des jeunes et leur donner de quoi se motiver.
Cordialement
pont

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales