Jeux de lumière

Description

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

Source / Exemple :


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

Codes Sources

A voir également

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.