begin process at 2012 02 08 21:00:46
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Les PIC

 > JEUX DE LUMIÈRE

JEUX DE LUMIÈRE


 Information sur la source

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Les PIC Niveau :Débutant Date de création :30/03/2009 Vu / téléchargé :6 003 / 290

Auteur : ariane2005

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

 Description

programme fonctionnant sous le pic16f84 qui pemet de faire jouer successivement 13 leds . Un peu comme un jeux de lumière.

Source

  • ;;;;;;;;;;;;;;;;;;;;;;;;text du 26/2/2009;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  • LIST P=16F84, R=DEC
  • #include "P16F84.INC"
  • __CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC
  • __IDLOCS 1998h
  • mv1 EQU h'0C'
  • mv2 EQU h'0D'
  • mv3 EQU h'0E'
  • ORG 0x004
  • GOTO projet
  • ;;;;;;;;;;;;;;;;;;;;;;;;; zorne des souprogrammes;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  • ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  • projet ; contiguration des ports du pic
  • bsf STATUS,RP0 ; passé en banque 1
  • ; 1 pour dit en entrée OU 0 en sortie
  • movlw b'00000' ; 0 0 0 0 0
  • movwf TRISA ; A4 A3 A2 A1 A0
  • movlw b'00000000' ; 0 0 0 0 0 0 0 0
  • movwf TRISB ; B7 B6 B5 B4 B3 B2 B1 B0
  • bcf STATUS,RP0 ; passé en banque 0
  • clrf PORTA ; effacé les ports du pic portA
  • clrf PORTB ; effacé les ports du pic portB
  • program ; debut du program
  • bsf PORTA,0 ; bit RA0 à 1
  • call tempo ; appel un temps
  • bcf PORTA,0 ; bit RA0 à 0
  • call tempo ; appel un temps
  • bsf PORTA,1
  • call tempo
  • bcf PORTA,1
  • call tempo
  • bsf PORTA,2
  • call tempo
  • bcf PORTA,2
  • call tempo
  • bsf PORTA,3
  • call tempo
  • bcf PORTA,3
  • call tempo
  • bsf PORTB,0 ; bit RB0 à 1
  • call tempo ; appel un temps
  • bcf PORTB,0 ; bit RBO à 0
  • call tempo ; appel un temps
  • bsf PORTB,1
  • call tempo
  • bcf PORTB,1
  • call tempo
  • bsf PORTB,2
  • call tempo
  • bcf PORTB,2
  • call tempo
  • bsf PORTB,3
  • call tempo
  • bcf PORTB,3
  • call tempo
  • bsf PORTB,4
  • call tempo
  • bcf PORTB,4
  • call tempo
  • bsf PORTB,5
  • call tempo
  • bcf PORTB,5
  • call tempo
  • bsf PORTB,6
  • call tempo
  • bcf PORTB,6
  • call tempo
  • bsf PORTB,7
  • call tempo
  • bcf PORTB,7
  • call tempo
  • goto program ; retour au program
  • ;;;;;;;;;;;;;;;;;;;;; sous-programme ;;;;;;;;;;;;;;;;;;;;;;;
  • tempo
  • movlw d'150'
  • movwf mv1
  • movlw d'150'
  • movwf mv2
  • gf decfsz mv1,f ; -1 du contenu de mv1 saut si mv1 = 0
  • goto gf
  • decfsz mv2,f ; -1 du contenu de mv2 saut si mv2 = 0
  • goto gf
  • return
  • ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  • END ; fin du projet
;;;;;;;;;;;;;;;;;;;;;;;;text du 26/2/2009;;;;;;;;;;;;;;;;;;;;;;;;;;;;


	LIST P=16F84, R=DEC
	#include      "P16F84.INC"

	__CONFIG  _CP_OFF & _PWRTE_ON & _WDT_OFF & _HS_OSC
	__IDLOCS  1998h

	

	mv1 		EQU		h'0C'	
	mv2		EQU		h'0D'	
        mv3             EQU             h'0E'

	ORG     0x004
	GOTO    projet
;;;;;;;;;;;;;;;;;;;;;;;;; zorne des souprogrammes;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  projet			; contiguration des ports du pic 

	bsf    STATUS,RP0	; passé en banque 1
 
				; 1 pour dit en entrée OU 0 en sortie 
	movlw	b'00000'	;  0     0     0     0    0
	movwf	TRISA		;  A4    A3    A2    A1   A0
	movlw	b'00000000'	;  0     0     0     0    0    0     0     0     
	movwf	TRISB		;  B7    B6    B5    B4   B3   B2    B1    B0

	bcf    STATUS,RP0	; passé en banque 0
	
	clrf	PORTA		; effacé les ports du pic portA
	clrf	PORTB           ; effacé les ports du pic portB


  program			; debut du program
 
       
                                
       bsf   PORTA,0            ; bit RA0 à 1 
       call  tempo              ; appel un temps
       bcf   PORTA,0            ; bit RA0 à 0
       call  tempo              ; appel un temps

       bsf   PORTA,1
       call  tempo 
       bcf   PORTA,1
       call  tempo

       bsf   PORTA,2
       call  tempo
       bcf   PORTA,2
       call  tempo
  
       bsf   PORTA,3        
       call  tempo          
       bcf   PORTA,3       
       call  tempo         



       bsf   PORTB,0           ; bit RB0 à 1
       call  tempo             ; appel un temps
       bcf   PORTB,0           ; bit RBO à 0
       call  tempo             ; appel un temps

       
       bsf   PORTB,1
       call  tempo
       bcf   PORTB,1
       call  tempo

       bsf   PORTB,2        
       call  tempo          
       bcf   PORTB,2        
       call  tempo          

       bsf   PORTB,3
       call  tempo
       bcf   PORTB,3
       call  tempo

       bsf   PORTB,4
       call  tempo
       bcf   PORTB,4
       call  tempo

       bsf   PORTB,5       
       call  tempo          
       bcf   PORTB,5        
       call  tempo          

       bsf   PORTB,6
       call  tempo
       bcf   PORTB,6
       call  tempo

       bsf   PORTB,7
       call  tempo
       bcf   PORTB,7
       call  tempo




       goto  program        ; retour au program

;;;;;;;;;;;;;;;;;;;;; sous-programme ;;;;;;;;;;;;;;;;;;;;;;;

      tempo 
    
      movlw d'150'    
      movwf mv1
      movlw d'150'
      movwf mv2
     
      

gf    decfsz mv1,f        ; -1 du contenu de mv1 saut si mv1 = 0
      goto   gf
      decfsz mv2,f        ; -1 du contenu de mv2 saut si mv2 = 0
      goto gf
      

      return

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

      END                 ; fin du projet
      


 Conclusion

dites moi ce que vous en pensez

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   jeux_lumière
    • JEUX.$$$Télécharger ce fichier [Réservé aux membres club]3 009 octets
    • jeux.asmTélécharger ce fichier [Réservé aux membres club]Voir ce fichier3 009 octets
    • JEUX.CODTélécharger ce fichier [Réservé aux membres club]7 168 octets
    • jeux.DSNTélécharger ce fichier [Réservé aux membres club]137 324 octets
    • JEUX.ERRTélécharger ce fichier [Réservé aux membres club]868 octets
    • JEUX.HEXTélécharger ce fichier [Réservé aux membres club]461 octets
    • JEUX.LSTTélécharger ce fichier [Réservé aux membres club]11 927 octets
    • jeux.PWITélécharger ce fichier [Réservé aux membres club]1 078 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip SAUT AVEC TROIS IMPULSIONS
Source avec Zip LED ROTATE
Source avec Zip LED EN COULEUR

 Sources de la même categorie

Source avec Zip MODULATION DE LARGEUR D'IMPULSION (PWM) par Eneur
MOTEUR-RUN -:- PILOTAGE MOTEUR PAS À PAS AVEC RAMPES par bermudos
REGPROG -:- ENREGISTRER UNE SÉQUENCE DANS UN PIC par bermudos
Source avec une capture [PIC] FIRMWARE ALTERNATIF POUR LA CARTE PROTO DE POB TECHNOL... par korpus
Source avec Zip SAUT AVEC TROIS IMPULSIONS par ariane2005

Commentaires et avis

Commentaire de pont le 02/05/2009 20:51:10

En français, on écrit un jeu ou des jeux, mais pas "un jeux", comme on ne dit pas "un chevaux".
Apparemment vous avez configuré la broche RA4 en sortie, mais oublié d'y activer une led dans le programme, qui est juste un chenillard, pas vraiment un jeu, car ce n'est pas varié.
Trois programmes quasiment identiques, n'est-ce pas trop? Il aurait fallu dès le 2e introduire une entrée par bouton-poussoir qui lorsqu'il est appuyé change la vitesse, ou le sens de rotation, et relâché on revient au sens du départ; ce n'est pas énorme, mais cela met en jeu une étape: gérer une entrée.
Et en 3e programme, faire un code secret de portail par exemple, c'est ce que je demande à mes élèves, ils n'en meurent pas!

Commentaire de abdellahchakir le 28/09/2009 01:20:39 8/10

Bonsoir
Ton code est bien organisé ,je trouve  qu'il est bien comréhensible par tous le monde ,et d'ailleur un bon programme c'est celui que tous le monde arrive a le déchifrer,la remarque
que j'ai a t'adresser c'est reflechir a utiliser des macro(s)  pour faciliter la tache
et eviter de faire assez de répitition de plus ca va te permettre d'economiser bien le temp.

Bonne courage

Commentaire de pont le 28/09/2009 02:38:30

Bonjour,

Vos répétions me paraissent inutiles, le numéro du bit peut être remplacé par une variable qui s'incrémente à chaque tour et jusqu'à une certaine valeur, cela raccourcirait le programme et lui permettrait de s'adapter à un nombre quelconque de leds.
A quoi sert idlocs 1998h? Je n'ai pas ça. Et est-ce que vous pourriez me dire la ligne de __CONFIG pour un dsPIC30F4011, merci je cherche ça, et ça ne marche pas sur mon programme.
Cordialement
pont

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

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 : 1,466 sec (4)

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