Allumer et eteindre une led a partir d'un pic 16f84

Soyez le premier à donner votre avis sur cette source.

Snippet vu 46 317 fois - Téléchargée 27 fois

Contenu du snippet

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 / Exemple :


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

A voir également

Ajouter un commentaire

Commentaires

Messages postés
15
Date d'inscription
mercredi 30 avril 2003
Statut
Membre
Dernière intervention
19 août 2019

Bonjour PITAP0,
Je suis débutant et j'ai été ravis de tomber sur ta contribution
cependant, j'aurai voulus plus de précision sur le montage du quartz parce que pour moi débutant de chez débutant j'ai déjà écrit le programme mais jamais j'ai réussi à le tester sur un montage réel.
Merci
Messages postés
1
Date d'inscription
samedi 9 août 2008
Statut
Membre
Dernière intervention
28 mars 2010

Je ne suis qu'un internaute comme un autre, LOL.

Sinon, mon avis sur le langage est le suivant :

Il n'y a pas de meilleur langage, il peut juste y avoir un langage mieux adapté qu'un autre pour une application donnée et concernant une cible donnée.

Et de plus, sur des microcontroleurs avec des ressources limitées, il est souvent judicieux, lorsqu'on utilise un langage de "haut" niveau sur ce genre de cible, de connaître quand même le langage d'assemblage pour se sortir d'un mauvais pas éventuel et pouvoir si nécessaire maîtriser le timing précis de l'application. Plus la puissance de la cible augmente, moins l'utilisation du langage de plus bas niveau ne se révèle indispensable.

Donc, toujours selon mon avis : soit on choisit son langage en fonction de la cible choisie et éventuellement de l'application (et pour moi, à ce niveau, le choix du C et autres sur un 16Fxxx n'est pas très judicieux), soit au contraire on place le langage en avant et alors on choisit une cible bien adaptée à ce langage (si une entreprise veut faire travailler ses programmeurs en C sur pic, elle choisira judicieusement des pic 16 bits(24H, 33F) plutôt que des 16Fxxx).

Dans cet ordre d'idée, moi je programmerais :
- Mes 16Fxxx en langage d'assemblage
- Mes 33F en C tout en gardant le langage d'assemblage "sous la main"
- Mes programmes PC sous Windows en C#

Ce n'était que mon avis
A+
Bigonoff
Messages postés
197
Date d'inscription
samedi 2 mai 2009
Statut
Membre
Dernière intervention
16 novembre 2010
1
Bonjour et je salue le passage de Monsieur BIGONOFF qui nous fait un grand honneur de poster dans cette colonne. Merci à lui.
Quant à ceux qui prétendent qu'on se fait chier en assembleur, qu'ils réfléchissent que tous les autres langages ont été écrits en quoi?... oui en quoi?... EN ASSEMBLEUR, parce que c'est le MEILLEUR LANGAGE.
Pont
Messages postés
2
Date d'inscription
samedi 13 mars 2010
Statut
Membre
Dernière intervention
23 mars 2010

salut tous le monde . je viens de commencer un projet sur pic 16F877.il a pour but realiser une carte dedactique (contient des leds ;afficheur lcd,7segment,)qu'on peut commander avec le pic.je suis bloque svp aide!!??
Afficher les 20 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.