Bienvenue aux nouveaux arrivants sur FantasPic !
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.
--- L’équipe FantasPic ---
MAX7219 et texte défilant
MAX7219 et texte défilant
- Gérard
Expert- Messages : 1644
- Âge : 65
- Enregistré en : septembre 2015
- Localisation : Alsace - Haut-Rhin
patou149 a écrit :Bonjour,
J'ai écrit un petit tuto en C (MPLABX et XC8) sur un programme pour afficher un texte défilant (max7219 et matrice 8*8), il facilement transposable dans un autre langage.
C'est ici : tuto
A+
Je vais étudier tout ça de près, déjà merci pour ton lien. Faut que je fasse marcher les neurones, j'ai une allergie au C.
J'ai rapidement lu que tu parles d'un basculement automatique heure d'été / heure d'hiver. J'ai écris une routine, si ça te dit mais c'est du Basic Mikroelektronika.
Bon WE.
MAX7219 et texte défilant
- Gérard
Expert- Messages : 1644
- Âge : 65
- Enregistré en : septembre 2015
- Localisation : Alsace - Haut-Rhin
Je vois que tu utilises ces modules, est ce que ton soft est compatible avec les CMS?
Merci pour ton aide.
Merci pour ton aide.
MAX7219 et texte défilant
MAX7219 et texte défilant
Bonsoir,
Pour le plaisir j'ai adapté la routine pour faire défiler un texte sur des matrices 8*8 :
Un petit programme de démo (version démo du compilateur, donc limitée ce qui explique la table de caractères réduite) :
Il faut bien sûr compléter le programme, ceci n'est qu'une version pour tester la procédure "aff_byte".
A+
Pour le plaisir j'ai adapté la routine pour faire défiler un texte sur des matrices 8*8 :
Code : Tout sélectionner
sub procedure aff_byte(dim data1, vitesse as byte)
dim m, i, n, cpt as word
for m = 0 to 7
for i = 15 to 1 step -1
aff_buffer[i]= aff_buffer[i-1]
next i
aff_buffer[0] = table[m + (data1 * 8)]
n = 0
for i = 8 to 1 step -1
ecr_7219_def(i,aff_buffer[n+8],aff_buffer[n])
n = n+1
next i
for cpt = 0 to vitesse
delay_ms(1)
next cpt
next m
end sub
Un petit programme de démo (version démo du compilateur, donc limitée ce qui explique la table de caractères réduite) :
Code : Tout sélectionner
' programme de test mikrobasic pour faire défiler un texte sur
' 2 matrices 8*8 commandées par 2 Max7219
' le pic utilisé est un 18F4525 avec horloge de 16MHz externe
' le port SPI utilise les pins RC0 pour le ChipSelect, RC1 pour le CLK
' RC4 pour SDI et RC5 pour SDO ( le SDI n'est pas utilisé sur ce montage)
' affichage de : 0 1 2 A B C puis 1 2 A B C 0 puis 2 A B C 0 1
program max7219
' Declarations section
dim ChipSelect as sbit at RC0_bit
SoftSpi_CLK as sbit at RC1_bit
SoftSpi_SDI as sbit at RC4_bit
SoftSpi_SDO as sbit at RC5_bit
dim ChipSelect_Direction as sbit at TRISC0_bit
SoftSpi_CLK_Direction as sbit at TRISC1_bit
SoftSpi_SDI_Direction as sbit at TRISC4_bit
SoftSpi_SDO_Direction as sbit at TRISC5_bit
dim cmpt as byte
dim aff_buffer as byte[16]
const mes1 as byte[6] = (0,1,2,3,4,5)
const mes2 as byte[6] = (1,2,3,4,5,0)
const mes3 as byte[6] = (2,3,4,5,0,1)
const table as byte[48]=(
$00, $7E, $A1, $91, $89, $85, $7E, $00, ' 0
$00, $84, $82, $81, $FF, $80, $80, $00, ' 1
$00, $82, $C1, $A1, $91, $89, $86, $00, ' 2
$00, $FE, $21, $21, $21, $21, $FE, $00, ' A
$00, $FF, $89, $89, $89, $89, $76, $00, ' B
$00, $7E, $81, $81, $81, $81, $42, $00) ' C
sub procedure ecr_7219_byte( dim donnee as byte)
Soft_SPI_Write(donnee)
end sub
'----------------------------------------------------------------
sub procedure ecr_7219_def(dim adresse, data1, data2 as byte)
ChipSelect = 0
ecr_7219_byte(adresse)
ecr_7219_byte(data1)
ecr_7219_byte(adresse)
ecr_7219_byte(data2)
ChipSelect = 1
end sub
'--------------------------------------------
sub procedure efface_aff()
dim p as byte
for p = 1 to 8
ecr_7219_def(p,0,0)
next p
end sub
'-----------------------------------------------------------------
sub procedure aff_byte(dim data1, vitesse as byte)
dim m, i, n, cpt as word
for m = 0 to 7
for i = 15 to 1 step -1
aff_buffer[i]= aff_buffer[i-1]
next i
aff_buffer[0] = table[m + (data1 * 8)]
n = 0
for i = 8 to 1 step -1
ecr_7219_def(i,aff_buffer[n+8],aff_buffer[n])
n = n+1
next i
for cpt = 0 to vitesse
delay_ms(1)
next cpt
next m
end sub
'-----------------------------------------------------------------
main:
ADCON1 = 15
ChipSelect = 1 ' Deselect DAC
ChipSelect_Direction = 0
Soft_SPI_Init
ecr_7219_def($09,$00,$00)
ecr_7219_def($0a,$00,$00)
ecr_7219_def($0b,$07,$07)
ecr_7219_def($0c,$01,$01)
ecr_7219_def($0f,$00,$00)
delay_ms(100)
while true
for cmpt = 0 to 5
aff_byte(mes1[cmpt],10)
next cmpt
delay_ms(1000)
for cmpt = 0 to 5
aff_byte(mes2[cmpt],100)
next cmpt
delay_ms(1000)
for cmpt = 0 to 5
aff_byte(mes3[cmpt],250)
next cmpt
delay_ms(1000)
wend
end.
Il faut bien sûr compléter le programme, ceci n'est qu'une version pour tester la procédure "aff_byte".
A+
MAX7219 et texte défilant
MAX7219 et texte défilant
- Gérard
Expert- Messages : 1644
- Âge : 65
- Enregistré en : septembre 2015
- Localisation : Alsace - Haut-Rhin
Bonjour,
Je suis en train de modifier le programme, je n'ai pas de 18F4525 mais des 18F26K22.
De plus, je suis en train de décrypter ton code, j'en suis à la moitié et je comprends tout.
Conclusion : je comprends donc c'est bien écrit.
A bientôt pour les essais.
Je suis en train de modifier le programme, je n'ai pas de 18F4525 mais des 18F26K22.
De plus, je suis en train de décrypter ton code, j'en suis à la moitié et je comprends tout.
Conclusion : je comprends donc c'est bien écrit.
A bientôt pour les essais.
MAX7219 et texte défilant
- Gérard
Expert- Messages : 1644
- Âge : 65
- Enregistré en : septembre 2015
- Localisation : Alsace - Haut-Rhin
Bonjour à tous,
Je suis en train de tester le programme de Patou, je n'ai pas encore tout compris mais ça marche.
J'ai branché une matrice avec le MAX en traversant. je ferai aussi des essais avec des MAX en CMS.
Déjà un grand merci à Patou.
Je suis en train de tester le programme de Patou, je n'ai pas encore tout compris mais ça marche.
J'ai branché une matrice avec le MAX en traversant. je ferai aussi des essais avec des MAX en CMS.
Déjà un grand merci à Patou.
MAX7219 et texte défilant
Retourner vers « Coin Fourre-tout »
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 20 invités