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 ---
Modérateur : mazertoc
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
Bonjour François,
je vois que cela avance, bravo à toi
Je sais pas si Temps-x avait planché sur l'I2C. Il faut faire les routines de base I2C, puis le pilotage de l'afficheur.
Un code que j'avais réalisé pour piloter un afficheur lcd 2x16 avec externsion I2C PCF8574.
Je m'étais inspiré d'un code provenant de cette page, je sais plus lequel
http://www.piclist.com/techref/microchip/i2c.htm
Regarde aussi le site de Paul qui a fait beaucoup d'oled viewtopic.php?f=10&t=1126
Tu peux déjà regarder si l'oled répond par un ACK si tu lui envoies son adresse I2C.
16F84 avec quartz 4 MHz.
je vois que cela avance, bravo à toi
Je sais pas si Temps-x avait planché sur l'I2C. Il faut faire les routines de base I2C, puis le pilotage de l'afficheur.
Un code que j'avais réalisé pour piloter un afficheur lcd 2x16 avec externsion I2C PCF8574.
Je m'étais inspiré d'un code provenant de cette page, je sais plus lequel
http://www.piclist.com/techref/microchip/i2c.htm
Regarde aussi le site de Paul qui a fait beaucoup d'oled viewtopic.php?f=10&t=1126
Tu peux déjà regarder si l'oled répond par un ACK si tu lui envoies son adresse I2C.
16F84 avec quartz 4 MHz.
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Modifié en dernier par satinas le mar. 28 juin 2022 07:59, modifié 1 fois.
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
-
francois77
Passionné- Messages : 307
- Enregistré en : avril 2022
Bonjour,
Merci pour vos retours
Pour Bigonoff, pas de problèmes je connais
Si j'ai posé la question c'est que dans le premier message du sujet, il était fait mention de l'integration de l'I2C dans le programme
Pour le pilotage I2C, je devrais y arriver vu que j'ai pilotés des memoires , des ecrans, des emetteurs et recepteurs FM
C'était juste un gain de temps mais ce n'est pas insurmontable
j'ai commencé mais premiers essais concret sur ma maquette et mon épouse était contente !
Bonne journée
Merci pour vos retours
Pour Bigonoff, pas de problèmes je connais
Si j'ai posé la question c'est que dans le premier message du sujet, il était fait mention de l'integration de l'I2C dans le programme
Pour le pilotage I2C, je devrais y arriver vu que j'ai pilotés des memoires , des ecrans, des emetteurs et recepteurs FM
C'était juste un gain de temps mais ce n'est pas insurmontable
j'ai commencé mais premiers essais concret sur ma maquette et mon épouse était contente !
Bonne journée
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
Bonsoir satinas, francois77, et tout le forum,
pour ta persévérante, comme tu le dis "Encore quelques dizaines d'heures a faire joujou avec mon jouet " seule un passionné peut parlé comme tu le fais, j'apprécie
Reste à intégrés les caractères à dimension variable, c'est loin d'être simple
Pour le graphique tu ne pourras pas mettre grand chose, au plus tu pourras y logés 3 images(3x1024 Octets) , reste à voir pour un circuit eeprom,
ils ont existe en 1Mo version Spi (plus rapide que I²C)
Ben ouais je n'ai pas eu le temps de le faire, je vais monter un Pic16F876 sur breadboard avec écran I²C, pour faire l'essai seulement en fin de semaine, car actuellement j'écris un programme pour écran et Fonts, encore un truc que je devais faire depuis x-Temps.
Tous les exemples que je fais je les mets sur le forum pour éviter que les gens galère dans leurs projets, ce qui implique beaucoup d'essai et de temps, mais bon.... pour moi..... c'est une passion.
A+
pour ta persévérante, comme tu le dis "Encore quelques dizaines d'heures a faire joujou avec mon jouet " seule un passionné peut parlé comme tu le fais, j'apprécie
Reste à intégrés les caractères à dimension variable, c'est loin d'être simple
Pour le graphique tu ne pourras pas mettre grand chose, au plus tu pourras y logés 3 images(3x1024 Octets) , reste à voir pour un circuit eeprom,
ils ont existe en 1Mo version Spi (plus rapide que I²C)
francois77 a écrit :Source du message Si j'ai posé la question c'est que dans le premier message du sujet, il était fait mention de l’intégration de l'I2C dans le programme
Ben ouais je n'ai pas eu le temps de le faire, je vais monter un Pic16F876 sur breadboard avec écran I²C, pour faire l'essai seulement en fin de semaine, car actuellement j'écris un programme pour écran et Fonts, encore un truc que je devais faire depuis x-Temps.
Tous les exemples que je fais je les mets sur le forum pour éviter que les gens galère dans leurs projets, ce qui implique beaucoup d'essai et de temps, mais bon.... pour moi..... c'est une passion.
A+
Modifié en dernier par Temps-x le mer. 29 juin 2022 20:52, modifié 1 fois.
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
-
francois77
Passionné- Messages : 307
- Enregistré en : avril 2022
Bonjour Temps-x
Oui en effet , cela avance doucement mais pour l'instant les premiers résultats son encourageants
Cela fait travailler les neurones et reprendre de l'assembleur quelques années plus tard n'est pas toujours evident.
Ci joint un exemple de police mini "version francois" , mais plus simple pour travailler
le fichier va certainement evoluer, mais le fait de le generer automatiquement quelques soit la police , la taille, le nombre de caracteres a selectionner est marrant a faire ( enfin pour moi )
de l'info et 3 tables
une table commune
une table donnée
une table commande
A+ Francois
Oui en effet , cela avance doucement mais pour l'instant les premiers résultats son encourageants
Cela fait travailler les neurones et reprendre de l'assembleur quelques années plus tard n'est pas toujours evident.
Ci joint un exemple de police mini "version francois" , mais plus simple pour travailler
le fichier va certainement evoluer, mais le fait de le generer automatiquement quelques soit la police , la taille, le nombre de caracteres a selectionner est marrant a faire ( enfin pour moi )
de l'info et 3 tables
une table commune
une table donnée
une table commande
A+ Francois
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
Bonsoir tout le forum,
Ben voila une source 100% ASM en I2C , voir code en post #1 il y a encore des problèmes à régler, j'en reparlerais sur le forum.
Avec cette routine on va pouvoir ouvrir de grand fichier, mais je n'ai pas terminer, car je ne comprends pas pourquoi l'image n'est pas parfaite.
L'image fait 1024 octets pour un Pic16F876A
Je sais, la photo n'est pas d'une grande qualité, mais comme je suis pressé, j'ai fait avec les moyens du bord.
La fonts vient de mon nouveau logiciel, ou je peux inclure toute sorte de fonts de Windows, mais j'ai pas encore fini, soyer patient
A+
Temps-x a écrit :Source du message je vais monter un Pic16F876 sur breadboard avec écran I²C, pour faire l'essai seulement en fin de semaine
Ben voila une source 100% ASM en I2C , voir code en post #1 il y a encore des problèmes à régler, j'en reparlerais sur le forum.
Avec cette routine on va pouvoir ouvrir de grand fichier, mais je n'ai pas terminer, car je ne comprends pas pourquoi l'image n'est pas parfaite.
L'image fait 1024 octets pour un Pic16F876A
Je sais, la photo n'est pas d'une grande qualité, mais comme je suis pressé, j'ai fait avec les moyens du bord.
La fonts vient de mon nouveau logiciel, ou je peux inclure toute sorte de fonts de Windows, mais j'ai pas encore fini, soyer patient
A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
-
francois77
Passionné- Messages : 307
- Enregistré en : avril 2022
Bonsoir Temps-x,
je constate que tu ne chomes pas non plus
Encore une fois tu va me gratter sur le pouce .....
J'arrive actuellement a extraitre et a convertir toute les polices windows via TheDotFactory et excel
Mais preniers essais sur des grosses polices sont limités par la taille 2032 octet pour une police "arialUnicodeMS_12p"
; police : arialUnicodeMS_12pt
; Premier caractere : > '<
; Dernier caractere : >~'<
Dur a faire rentrer dans un 16f876 sur un BANK de 2048 octet
Mes derniers tests date de cet apres midi ....
je regarderais dans la semaine ton programme pour l'i2c , actuellement je travaille sur les polices et l'integration en ASM
A Suivre et merci pour l'i2c
Amicalement
Francois
je constate que tu ne chomes pas non plus
Encore une fois tu va me gratter sur le pouce .....
J'arrive actuellement a extraitre et a convertir toute les polices windows via TheDotFactory et excel
Mais preniers essais sur des grosses polices sont limités par la taille 2032 octet pour une police "arialUnicodeMS_12p"
; police : arialUnicodeMS_12pt
; Premier caractere : > '<
; Dernier caractere : >~'<
Dur a faire rentrer dans un 16f876 sur un BANK de 2048 octet
Mes derniers tests date de cet apres midi ....
je regarderais dans la semaine ton programme pour l'i2c , actuellement je travaille sur les polices et l'integration en ASM
A Suivre et merci pour l'i2c
Amicalement
Francois
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
-
francois77
Passionné- Messages : 307
- Enregistré en : avril 2022
Bonjour,
Premiers essais prometteur avec mes nouvelles tables
polices arialUnicodeMS_12pt
Le petit "a" en bas me sert uniquement a valider le bon fonctionnement de mon programme
Mon objectif est presque atteint , je vais pouvoir maintenant integrer toutes les polices de windows, partiellement ou compléte dans la limite de la taille de 2048 ( BANK )
Désolé pour le doublon de l'image, mais je n'arrive pas a la supprimer
Question complementaire : J'ai regardé le programme de Temps-x qui est bien commenté, mais je me pose une question sur le rst qui n'est pas present physiquement sur les carte en I2C
Premiers essais prometteur avec mes nouvelles tables
polices arialUnicodeMS_12pt
Le petit "a" en bas me sert uniquement a valider le bon fonctionnement de mon programme
Mon objectif est presque atteint , je vais pouvoir maintenant integrer toutes les polices de windows, partiellement ou compléte dans la limite de la taille de 2048 ( BANK )
Désolé pour le doublon de l'image, mais je n'arrive pas a la supprimer
Question complementaire : J'ai regardé le programme de Temps-x qui est bien commenté, mais je me pose une question sur le rst qui n'est pas present physiquement sur les carte en I2C
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
Écran OLED 128x64(Ssd1306) et Écran OLED 132x64(Ssd1106)
Bonjour francois77, Jérémy, et tout le forum,
Normalement j'aurais du le faire, mais ça fonctionne bien comme ça, j'espère que ça ne tombera pas en marche
A titre d'information, voici ce qui devrait être fait
J'ai voulu voir si l’imperfection d'image sur le Pic16F876A venait de la façon que j'ai fait pour gérer la mémoire programme, pour cela j'ai pris
un Pic18F26K22 avec une configuration identique.
Et voila le résultat
Il y a plus aucun défaut, l'image est propre j'en conclus qu'il faut que je trouve un moyen pour gérer la mémoire programme du Pic16F876A autrement.
La source ASM de l'affichage de l'image ci-dessus pour Pic18F26K22 est téléchargeable en post #1
A+
francois77 a écrit :Source du message mais je me pose une question sur le rst qui n'est pas present physiquement sur les carte en I2C
Normalement j'aurais du le faire, mais ça fonctionne bien comme ça, j'espère que ça ne tombera pas en marche
A titre d'information, voici ce qui devrait être fait
Code : Tout sélectionner
;******************************* "adresse de mon écran I2C" ************************************
movlw 0x78 ; adresse
movwf i2c_adresse ;
;***********************************************************************************************
call i2c_commande ; mode commande
;***********************************************************************************************
movlw 0xAE ; éteindre l'écran oled
call i2c_ecrit
call i2c_ack ; attent le retour ack
call _200ms ; laissé le temps à l'écran pour le démarrage
;**************"initialisation de l'écran OLED 132x64(SH1106) & 128x64(SSD1306)" ***************
movlw D'23' ; 23 données à écrire pour configurer l'écran oled
movwf compteur
clrf lecture ; première lecture à zéro
ini_oled
movf lecture,W ; W contient l'emplacement de la donnée
call configuration ; allé chercher la donnée à l'étiquette configuration
call i2c_ecrit ; écrire la donnée dans l'écran oled
call i2c_ack ; attent le retour ack
incf lecture,F ; prochaine lecture dans le tableau
decfsz compteur,F ; remonter tant que compteur n'est pas à zéro
goto ini_oled
call _20ms ; laisser le temps à l'écran de traiter les commandes
movlw 0xAF ; allumer l'écran oled
call i2c_ecrit
call i2c_ack ; attent le retour ack
call i2c_stop ; configuration terminé, arrêter I2c
;***********************************************************************************************
ic2_terminer
bsf led1 ; si la led ne s'allume pas, l'adresse I2c n'est pas la bonne
nop
goto ic2_terminer ; terminer
;***********************************************************************************************
;*************************** "configuration de l'écran, 23 octets" *****************************
;***********************************************************************************************
org H'200'
configuration
addwf PCL,1
retlw 0xD5 ; display clock div & param
retlw 0x80 ;
retlw 0xA8 ; set multiplex & param
retlw 0x3F ;
retlw 0xD3 ; set display offset & param
retlw 0x00
retlw 0x40 ; set start line
retlw 0x8D ; active l'élévation de tension pour l'écran
retlw 0x14 ; de 7 volts minimum à 15 vols maximum
retlw 0x20 ; sélection de la façon du balayage de l'écran méthode 1, méthode 2, méthode 3
retlw 0x00 ; choix sur la méthode 2
retlw 0xA1 ; segremap (A0/A1, flip horizontally)
retlw 0xC8 ; comscandec (C0/C8, flip vertically)
retlw 0xDA ; set compins () . . . . . (default)
retlw 0x12
retlw 0x81 ; contrast minimum 0x00 à un maximum de 0xFF
retlw 0x7F ; réglage au milieu de sa valeur
retlw 0xD9 ; set precharge
retlw 0xF1
retlw 0xDB ; set vcom detect
retlw 0x40
retlw 0xA4 ; display allon_resume . . (default)
retlw 0xA6 ; normal display . . . . . (default)
End
J'ai voulu voir si l’imperfection d'image sur le Pic16F876A venait de la façon que j'ai fait pour gérer la mémoire programme, pour cela j'ai pris
un Pic18F26K22 avec une configuration identique.
Et voila le résultat
Il y a plus aucun défaut, l'image est propre j'en conclus qu'il faut que je trouve un moyen pour gérer la mémoire programme du Pic16F876A autrement.
La source ASM de l'affichage de l'image ci-dessus pour Pic18F26K22 est téléchargeable en post #1
A+
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.
Retourner vers « Langage ASM »
Qui est en ligne
Utilisateurs parcourant ce forum : Google [Bot] et 125 invités