​ ​ ​ ​ matrice leds - Page 3
Page 3 of 3 FirstFirst 1 2 3
Results 21 to 24 of 24

Thread: matrice leds

  1. #21
    Senior Member
    Join Date
    Jul 2010
    Location
    paris
    Posts
    1,499

    Default

    Bonjour,

    Encore un peu plus simple, avec adresse du début de description symbole, sans calcul, (il peut y avoir autre chose que des chiffres).
    Pour la luminosité et les vitesses variables, c'est simple, on verra ça après.

    Code:
    ;Afficheur driver MAX7219
    ;Matrice de leds 8x8
    ;MM 25/04/2018
    
    ;Format des registres MAX 7219 sur 16 bits:
    
    ;|------------------------------w13------------------------------|
    ;|-----------b27-----------------|------------b26 ---------------|
    ;|-X-|-X-|-X-|-X-|--ADRESSE------|----------DONNEES--------------|   
    ;|D15|D14|D13|D12|D11|D10|D09|D08|D07|D06|D05|D04|D03|D02|D01|D00|
    
       #picaxe 14M2
       #no_data
       setfreq m32	
       symbol 	DIN   = pinB.1   ;Entrée Data In de l'afficheur
       symbol  	LOAD  = B.2   ;Entrée Load de l'afficheur
       symbol  	CLK   = B.3    ;Entrée CLK de l'afficheur  
       symbol  	LEN   = 1        ;durée impulsion 
       symbol	regbit= bit0
       symbol  	num   = b1    ;lecture température    
       symbol  	cpt   = b2      ;compteur   
       symbol  	chif  = b3
       symbol 	val   = b4   
       dirsB=%10		;B.1 en sortie pour pinB.1	
       low LOAD
       low CLK
    ;description des symboles *************
       table $20,(0,%11000010,%110100001,%10010001,%10010001,%10001110,0,0)
       table $30,(0,%1000010,%10000001,%10001001,%10001001,%1110110,0,0)
    ;******** initialisation 7219 *******
       b27=$09  'mode décodage
       b26=%00000000  'pas de décodage code B mais segments
       gosub shiftt
     
       b27=$0b  'limite scanner = Nbre de digits
       b26=$07   '$04=5 digits ,$03=4 digits,, etc...
       gosub shiftt
     
       b27=$0c  'shutdown mode
       b26=$01  '=normal (afficheur actif)
       gosub shiftt      
    
       b27=$0a  'luminosité
       b26=$04  '=croissante de 0 à 15, ici c'est 4
       gosub shiftt
          
       b27=$0f  'display test
       b26=$00  '=normal
       gosub shiftt
    ;**********************************************
    ;boucle principale 
    	do
    		val=$20			;val contient l'adresse du 1er octet du symbole à afficher
    		gosub lectable
    		pause 8000	;1 sec à freq=32MHz
    		val=$30
    		gosub lectable
    		pause 8000
    	loop		
    
    ;**********************************************
    lectable:	; sous programme de lecture de "table", 8 octets à partir de l'octet pointé par val
        for num =0 to 7   		;n° de colonne numérotée ici de 0 à 7
            b27=num +1          ;adresse "colonne" de 1 à 8
            chif=val +num 		;positions des 8 octets consécutifs, départ adresse val
            readtable chif,b26 ;lecture de l'octet "donnée colonne"
            gosub shiftt       ;affichage colonne         
        next         
     	return
    ;******** Sous programme affichage *************************
      ;Format du registre sur 16 bits:
    
    ;|------------------------------w13------------------------------|
    ;|-----------b27-----------------|------------b26 ---------------|
    ;|-X-|-X-|-X-|-X-|--ADRESSE------|----------DONNEES--------------|   
    ;|D15|D14|D13|D12|D11|D10|D09|D08|D07|D06|D05|D04|D03|D02|D01|D00|
    
    ;La broche DIN va prendre successivement la valeur de chaque bit de w13, scanné de gauche à droire
    shiftt:
       for cpt=1 to 16      	;test des 16 bits de w13
          DIN=w13/$8000    ;w13 = b27,b26 ;valeur de broche DIN = 1er bit à gauche de w13   		
          pulsout CLK,LEN     	;envoie 1 pulse  pour valider DIN
          w13=w13*2            ; on décale w13 vers la gauche pour examiner le bit suivant
       next cpt
       pulsout LOAD,LEN    		;chargement du registre terminé, un pulse sur load valide le registre 
       return
    MM
    Last edited by MGU; 27-04-2018 at 11:26.

  2. #22
    New Member
    Join Date
    Dec 2014
    Location
    haute loire
    Posts
    26

    Default

    Bonsoir

    Merci MGU c est très sympa je décortique ça ce weekend !!!
    Bonne soirée Georges

  3. #23
    Senior Member
    Join Date
    Jul 2010
    Location
    paris
    Posts
    1,499

    Default

    Bonjour,

    Histoire de se simplifier la vie, voici un utilitaire Excel (zippé, les .xls sont refusés) pour dessiner des symboles sur une matrice 8x8
    On dessine le symbole avec des O (par ex) dans le carré de gauche, si la cellule est vide, un 0 apparait dans le carré de droite sinon, c'est un 1.
    Pour corriger, il faut effacer le contenu de la cellule à gauche.

    Quand le symbole est terminé, l'octet correspondant à chaque colonne est dans le carré de droite, avec la valeur décimale, plus compacte, à côté.
    La feuille est protégée en écriture (sauf le carré de gauche), mais il n'y a pas de mot de passe.

    symbol matrice 8x8.zip

    MM
    Last edited by MGU; 27-04-2018 at 13:04.

  4. #24
    New Member
    Join Date
    Dec 2014
    Location
    haute loire
    Posts
    26

    Default

    Bonsoir MGU ,

    merci je teste des que possible

    Bon week-end
    Georges

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •