[Programmation] Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique
Répondre à la discussion
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 53

Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique



  1. #1
    nondediode

    Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique


    ------

    Bonjour à toutes et à tous,

    Mes présentations faites, j’aborde le sujet qui m’a motivé à vous rejoindre sur ce forum.

    Tout d’abord, mon projet:
    Il s’agit d’afficher sur un écran GLCD des messages textes voir un logo qui viendra complémenter la réalisation d’un ampli audio à lampes de ma fabrication.
    Ce que je souhaite c'est surtout démystifier la mise en oeuvre d'un afficheur GLCD au moins pour pouvoir démarrer mon programme.
    J’ai déjà une expérience avec les incontournables afficheurs alphanumérique « HD44780 » mais j’avoue que les GLCD me paraissent bien moins évident à mettre en œuvre.
    J’ai développé pas mal avec ces petits afficheurs 2 lignes sur MPLAB en assembleur,
    Aujourd’hui, mon souhait serait de migrer vers les afficheurs graphique pour obtenir des images et des fontes de caractères différents sur un même écran.
    Ça fait plusieurs semaines que je me documente sur ce projet, j’ai appris qu’il faut utiliser une image en .bmp et récupérer le code pour qu’il soit exploitable à partir d’un fichier .asm. Il existe des tas de moulinettes ; Bitmap2.LCD, VisualGLCD et d’autres moins performants mais gratuits.
    Mon soucis, c’est que je ne sais pas par quel bout commencer et surtout démarrer ce fichu programme sur MPLAB pour configurer l’afficheur afin d’obtenir un caractère sur l’écran. Je ne suis pas un virtuose en Anglais non plus mais je me débrouille avec les termes techniques et je sais déchiffrer un pdf. Mon expérience en électronique est assez bonne, tant en dépannage qu’en réalisation prototype. Passionné d’audio, je réalise des amplis tubes et transistors depuis les années 80, je fais aussi bcp de dépannage de matériel. Voilà en gros ce qui me correspond de mes expériences en électronique numérique et analogique.

    Revenons au sujet :

    Côté matériel :
    Afficheur OPTREX DMF5005 240x64
    http://www.rigelcorp.com/8051/Optrex_Dmf5000.pdf
    Outil de développement et de programmation:
    MPLAB Version 5.5 et Easypic3 de chez Mikroelectronica
    Pic utilisé :
    PIC 16F877 avec quartz 4MHz
    Langage assembleur .

    La partie pilotage est réalisé sur une carte qui rassemble le PIC, les liaisons avec l’afficheur, l’alimentation et le rétroéclairage + une petite carte avec qq poussoirs et des LEDs.
    Tout fonctionne correctement, le contraste réagit bien et l’alimentation 5V est correcte. J’ai monté un support 40 pins à force d’insertion nul pour pouvoir déplacer aisément le PIC du programmateur à la carte.
    Les directives d’assemblage du PIC ont été définis en fonction des ports E/S affectés aux différents besoins.

    Voici une copie de mon programme asm ou il manque les directives pour l’afficheur. Le programme des tempo est une copie d’un autre fichier, il demande qu’à être adapté au besoin de l’afficheur.

    Code asm : Sélectionner tout - Visualiser dans une fenêtre à part

    Code:
    ; TITRE: Gestion d'un afficheur LCD graphique
    ; PIC UTILISE: PIC16F877
    ; Gestion PP845 version 2019
    ; le quartz est de 4MHz
    ;----------------------------------------------------Brochage du PIC sur la carte--------------------------------------------------------- 
    ;  RB0  |    33  |  E  | Inter "on / off"
    ;  RB1  |    34  |  E  | Bouton poussoir "OK"
    ;  RB2  |    35  |  S  | Ecriture afficheur  
    ;  RB3  |    36  |  S  | Lecture afficheur
    ;  RB4  |    37  |  S  | Chip Enable
    ;  RB5  |    38  |  S  | C/D
    ;  RB6  |    39  |  S  | Font Size Select
    ;  RB7  |    40  |  S  | Reset
     
    ;  RC0  |    15  |  S  | Adressage entrée audio bit A
    ;  RC1  |    16  |  S  | Adressage entrée audio bit B
    ;  RC2  |    17  |  S  | Adressage entrée audio bit C
    ;  RC3  |    18  |  S  | Adressage entrée audio bit D
    ;  RC4  |    23  |  S  | LEDs Rouge droit et gauche
    ;  RC5  |    24  |  E  | Bouton poussoir "INPUT"
    ;  RC6  |    25  |  E  | Bouton poussoir "PHASE"
    ;  RC7  |    26  |  E  | Bouton poussoir "MUTE"
     
    ;  RD0  |    19  |  S  | Sortie bit D7 du LCD
    ;  RD1  |    20  |  S  | Sortie bit D6 du LCD
    ;  RD2  |    21  |  S  | Sortie bit D5 du LCD
    ;  RD3  |    22  |  S  | Sortie bit D4 du LCD
    ;  RD4  |    27  |  S  | Sortie bit D3 du LCD
    ;  RD5  |    28  |  S  | Sortie bit D2 du LCD
    ;  RD6  |    29  |  S  | Sortie bit D1 du LCD
    ;  RD7  |    30  |  S  | Sortie bit D0 du LCD
     
    ;--------------------------------------------------DIRECTIVE D'ASSEMBLAGE POUR MPLAB-------------------------------------------------------
     list p=16f877
    #include <p16f877.inc>
    __CONFIG   _CP_OFF & _DEBUG_OFF & _WRT_ENABLE_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC 
     
    ;-------------------------------------------------DEFINITION DES REGISTRES TEMPORAIRES------------------------------------------------------
    PORTA	 	EQU	0X05			
    PORTB	 	EQU	0X06	
    PORTC		EQU	0X07	
    PORTD		EQU	0X08	
    PORTE		EQU	0X09		
    TRISA	 	EQU  0X85	
    TRISB	 	EQU	0X86	
    TRISC		EQU	0X87	
    TRISD		EQU	0X88	
    TRISE		EQU	0X89	
    CPT2	 	        EQU	0X0D	
    CPT3		        EQU	0X0E	
    RETARD1		EQU	0X0C	
    RETARD2		EQU	0X0F	
    RETARD3		EQU	0X10	
    RETARD4		EQU	0X11	
    RETARD5		EQU	0X12	
    CONVERT		EQU	0X13	
    VAL1		        EQU	0X14	
    VAL2		        EQU	0X15	
    RESULT		EQU	0X16	
     
    ;--------------------------------------------PROGRAMME PRINCIPAL----------------------------------------
    ORG	0000h			; Adresse de reset
    GOTO	INIT
    ;-----------------------------------------PROGRAMME D'INITIALISATION----------------------------------------
    INIT
    CLRF	PORTA		; On remet à 0 le port A
    CLRF	PORTB		; On remet à 0 le port B
    CLRF	PORTC		; On remet à 0 le port C
    CLRF	PORTD		; On remet à 0 le port D	
    CLRF	PORTE		; On remet à 0 le port E
    BSF	STATUS,RP0	; Selection de la page mémoire RP0
    BCF	STATUS,RP1	; Déselection de la page mémoire RP1
    MOVLW	B'00000000'	; On charge la valeur dans le registre W	
    MOVWF	TRISA		; On transfert W sur le registre TRISA pour définir la direction du portA en sortie
    MOVLW	B'00000011'	; On charge la valeur dans le registre W
    MOVWF	TRISB		; On transfert W sur le registre TRISB pour définir la direction du portB 
    MOVLW	B'11100000'	; On charge la valeur dans le registre W
    MOVWF	TRISC		; On transfert W sur le registre TRISC pour définir la direction du portC	
    MOVLW	B'00000000'	; On charge la valeur dans le registre W
    MOVWF	TRISD		; On transfert W sur le registre TRISD pour définir la direction du portD en sortie
    BCF	STATUS,RP0	; Déselection de la page mémoire RP0	
    BCF	STATUS,RP1	; Déselection de la page mémoire RP1
     
     
     
     
     
     
    ;---------------------------------------------------------CONFIGURATION AFFICHEUR-----------------------------------------------------------
    ;Initialisation afficheur
     
     
    ;------------------------------------------------------------Ecriture dans l'afficheur-------------------------------------
     
     
     
    ;---------------------------------------------------SOUS PROGRAMME TEMPO D'ATTENTE---------------------------------------------------------------
    ATTENTE5
    	MOVLW	0XFF		; On met FF dans le registre W	
    	MOVWF	CPT2		; On met W dans le registre CPT2
    ATT2
    	DECFSZ	CPT2,1		; On décrémente CPT2,1 et on saute la prochaine instruction
    	GOTO 	ATT2		; Sinon retour à ATT2
    	RETURN			; Retour au programme principal après l'instruction call
     
    ATTENTE6
    	MOVLW	0X1E		; On met 14 dans le registre W	
    	MOVWF	CPT3		; On met W dans le registre CPT3
    ATT3
    	CALL	ATTENTE5	; On appelle ATTENTE5
    	DECFSZ	CPT3,1		; On décrémente CPT3,1 et on saute la prochaine instruction
    	GOTO 	ATT3		; Sinon retour à ATT3
    	RETURN			; Retour au programme principal après l'instruction call
     
     
     
     
    END

    En espérant vous avoir fourni le maximum d’info, je vous remercie de l’aide que vous voudrez bien m’accorder.

    -----
    Images attachées Images attachées
    Dernière modification par gienas ; 16/11/2018 à 12h52. Motif: Ajouté les balises code, obligatoires pour les programmes

  2. #2
    penthode

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    l'ASM ...

    on a , maintenant , des outils plus efficaces : C ou PICbasic , entre autres
    [b]le bon sens est un fardeau, car il faut s'entendre avec ceux qui ne l'ont pas [/b]

  3. #3
    nondediode

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Bonjour penthode,

    Votre remarque est pertinente, le pb c'est que je suis né dans le métier avec l'outil MPLAB et que depuis je n'ai jamais oser m'en écarter.
    Cela dit, il faudra bien qu'un jour je franchisse le cap parce que de plus en plus je m’aperçoit que vouloir progresser c'est aussi vouloir accepter les outils modernes.

    Cependant, ne voulant pas trop compliquer le sujet, j'aimerai pouvoir solutionner mon pb avec mes outils actuels. J'ai investi ces outils il y a des lustres, je m'y suis bien habitué même si je ne les exploitent pas à 100%.

    Cdlt,

  4. #4
    penthode

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    bon courage ! entre 30 et 40 ans ( nous sommes de la même génération) , j'ai sué sur l'assembleur , à titre pro et personnel...

    quand les premiers compilateurs sont arrivés , ce fut un grand soulagement , même si il est utile de savoir insérer quelques codes d'ASM quand
    le temps est compté

    mais , sauf applications pointues : mirlitaire ou spatial , on utilise maintenant les langages structurés.
    [b]le bon sens est un fardeau, car il faut s'entendre avec ceux qui ne l'ont pas [/b]

  5. A voir en vidéo sur Futura
  6. #5
    antek

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Pourquoi tu modifies les adresses PORT et TRIS ? C'est pris en compte par le fichier .inc
    Le langage C est aussi disponible avec MPLAB et MPLABX.
    Tes temporisations sont perfectibles, elles bloquent le µC.

    Et surtout, de quelle aide as-tu besoin ?

  7. #6
    antek

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Citation Envoyé par penthode Voir le message
    mais , sauf applications pointues : mirlitaire ou spatial , on utilise maintenant les langages structurés.
    On utilise le langage qu'on connait . . .
    Personnellement je prend plaisir à trouver des solutions en assembleur !

  8. #7
    nondediode

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Bonjour antek,

    Je pense que le copier / coller de mon fichier asm est incomplet et corrompu;
    Pour les tempos, j'ai noté dans l'ouverture du sujet que c'est la copie d'un autre sujet, ce qui démontre bcp d'erreur possible.

    L'aide que j'ai surtout besoin est essentiellement sur la communication avec l'afficheur pour pouvoir le démarrer.
    Configurer les commandes WR, RD, CE, CD, FS et RESET à partir du port B auquel je les affectés et ensuite envoyer dans l'ordre les bonnes commandes sur le port D pour permettre au GLCD d'afficher des caractères.
    Je suis un peu perdu avec ttes ces cdes, je ne sais pas trop à quel moment il faut les envoyer pour que j'affiche au moins le curseur.
    Jusqu'à maintenant, j'ai fait qq tentatives mais c'est un peu du n'importe quoi. J'ai repris les anciennes routines que j'utilisait avec un LCD classique et j'ai essayé de faire correspondre avec les cdes du GLCD.
    A un moment donné, j'ai obtenu un trait horizontale au centre de l'écran et j'ai pensé que je tenais le bon bout sauf que lorsque j'ai modifié le prg j’obtenais tjrs la même chose. Preuve que ce trait n'était pas lié à mon prg mais au pur hasard d'une cde mal établie.

    Si déjà je savais comment démarrer ce prg, je pense qu'après je vais pouvoir me dépatouiller un peu mieux. J'aurai certainement besoin d'autres aides pour la suite mais d'ici là j'aurai, j'espère un peu progressé.

    J'essaierai de vous envoyer un prg complet de ce que je faisait lorsque je travaillait avec un LCD 2 lignes 16 caractères .
    Actuellement il faut que je m'absente un moment

    A tout à l'heure

  9. #8
    vs2prod

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Bonjour,

    pour avoir développer de nombreuses applications en assembleur, je peux te dire que piloter un GLCD en assembleur, c'est pas évident et très fastidueux, de plus avec un 16F877 tu vas être vite limité en mémoire un logo de 128X64 prend déjà pas mal de place. si tu rajoutes les polices de caractères que tu vas devoir créer .... oublies le 16f877 et passe par exemple sur le 18F4552...

    Pour le développement j'utilise de Proton basic que tu peux télécharger en version de démo complétement fonctionnel, et ensuite il y a de nombreux exemples pour commander un GLCD 128X64.

    en plus tu pourras insérer des parties en assembleur...

    le proton Basic est facile a utiliser mais il faut s'y mettre, mais après quel bonheur !

  10. #9
    penthode

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    +1 pour proton !

    le BASIC est moins abscons que le C.
    [b]le bon sens est un fardeau, car il faut s'entendre avec ceux qui ne l'ont pas [/b]

  11. #10
    nondediode

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Bonsoir à tous,

    Je pense que vous avez raison, il est certainement plus facile de développer sur les outils modernes mais je ne suis pas formé à ces nouvelles technologie.
    J'ai déjà réalisé la platine, et je possède l'environnement nécessaire pour développer le programme.
    Le 18F4552 ressemble à quoi? est-il supporté par la EasyPIC3? j'en suis moins sûr et je n'ai pas les moyens d'investir dans une autre platine.
    Le 877 a déjà été utilisé par d'autres pour ce type d'application, J'ai vu de nbreux montages avec un GLCD en 128x64. En revanche qu'il ne soit pas programmé en assembleur c'est bien possible.
    https://www.electronique-mixte.fr/pr...tion/?pdf=1504
    Je suis pas très riche et mon but est de réaliser ce montage à moindre frais je travaille donc avec les seuls outils que je possède et je pense qu'il doit être possible que je fasse qq chose avec cet afficheur même si le programme reste compliqué.

    En tout cas vos conseils me sont utiles

  12. #11
    bobflux

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    L'assembleur est un compromis qui allonge le temps de développement pour espérer avoir un code plus efficace. Je dis "espérer" car pour que ce soit vrai, il faut que le programmeur soit plus compétent que le compilateur, ce qui est pas trop difficile sur un 8 bits, mais par contre sur un cpu plus complexe c'est non trivial.

    De nos jours, on a des microcontrôleurs 32 bits 50 Mhz à 1€ donc l'assembleur n'est pertinent que si tu fabriques un million d'unités et donc tu économises sur le CPU pour payer le développement.

    Il y a des bibliothèques logicielles open source pour gérer les LCD graphiques, inutile de se prendre le chou.

    Mieux vaut dépenser 30€ dans du hardware adapté que de passer 2 semaines à essayer de faire marcher un truc qui ne veut pas.

    Comme il s'agit d'un ampli à lampes, donc un truc de puriste, le plus important sera d'éviter que le microcontrôleur ajoute du bruit au signal. Pour cela on peut utiliser le mode sleep, stopper complètement l'horloge, et réveiller le micro avec une "Pin Change Interrupt" qui détecte une pression sur un bouton ou un changement sur un signal en entrée. Dans ce mode de sommeil profond, le micro devient quasiment un composant passif, puisqu'il ne fait absolument rien. Et même si tu foires complètement la CEM, et que ça fait "bzzz" dans les enceintes quand le micro tourne, comme sur un certain ampli du commerce que j'ai possédé et dont je tairai le nom, eh ben quand le micro est en veille il n'y a plus de problème.

  13. #12
    freepicbasic

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Le programme post#1 est non fonctionnel !
    Depuis aucun autre code .

    On utilise des noms apparemment de variables , en plein dans les registres
    Pas de traitement d'int avec pas de cli
    pas de main avec un loop ça part direct dans les décors.
    Pourquoi du 4Mhz alors qu'a 20Mhz ça fonctionne?

    Les pic 16F on le gros défaut de ne pas avoir beaucoup de RAM et pas de pile data...
    Enfin les commentaires des précédent posts sont tous justifiés.

    Quand on on fait le calcul une simple bitmap prend 1K. (128x64/8)
    Plus une ou deux fonts à insérer.
    Comment peut on mémoriser une image et la modifier ? C est impossible.

    Bref on peut tout de même se contenter de ce qu'on a, si on veut vraiment...

    Personnellement j'ai un peu laissé tombé les Pics pour Arduino, vraiment mieux...
    On peut passer aussi au STM32 comme déjà dit.
    Mais ça implique de connaitre ou apprendre le C !
    A+, pat

  14. #13
    invite03481543

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Bonjour nondediode,

    à 67 ans vous avez bien raison de rester sur l'assembleur.
    Pour un usage personnel et en loisir on utilise ce que l'on connait de mieux et l'assembleur est bien le meilleur langage bas niveau sur de tels µC, ils ont été conçus pour utiliser peu de commandes.
    N'en déplaise à ceux qui veulent vous corrompre avec arduino , on ne va pas s'étendre davantage sur ce sujet trollesque...

    Le contrôleur utilisé dans cet afficheur est le T6369 qui contient suffisamment de RAM, le µC se chargeant uniquement de l'envoi des commandes et de transférer les images de la mémoire flash du µC vers la RAM de l'afficheur.
    Voici une note d'application qui vous sera utile pour bien comprendre comment il fonctionne et découvrir les registres à utiliser pour le gérer.
    https://www.lcd-module.de/eng/pdf/zubehoer/t6963.pdf

    Il faut commencer par là et faire un schéma de branchement avec le µC, vous pouvez utiliser le mapping de votre carte easyPIC.


    Je ne dis pas que se sera simple à faire en assembleur mais si cela l'était il n'y aurait aucun plaisir.
    Faire des copiés-collés n'est pas faire de l'électronique et encore moins de la programmation
    Bon courage pour la suite.
    Images attachées Images attachées  

  15. #14
    nondediode

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Bonjour HULK28

    C’est enfin la réponse que j’attendais, vous avez compris mon insistance pour l’assembleur et je vous en remercie.
    Je comprends les conseils qui m’ont été proposés par les autres intervenants mais je n’ai pas trop envie de repartir à zéro.
    Jusqu’à présent, je me suis tjrs dépatouiller pour faire un peu tout ce que je voulais avec des afficheurs LCD de type « HD44780 » il n’y a pas de raison de rester bloquer sur un GLCD.
    Je vais réaliser le schéma et je le posterai pour bien comprendre ce que je veux faire.
    Concernant la platine EasyPIC3, je l’aie achetée en panne sur LBC pour 5 euros; je l’aie réparée et modifiée, car bcp de faux contact et de pb avec les supports. Elle était neuve avec tous ses accessoires mais complètement massacrée par la poste transistors et condensateurs cassés et arrachés, pins tordues etc.. !
    J’ai monté des supports à force d’insertion nul et je n’utilise plus les poussoirs.
    C’est donc une platine externe que j’ai réalisé avec toutes les fonctions conforme à mon projet. La EasyPIC3 me sert juste à programmer.
    A chaque fois que j’ai un projet, je réalise la carte finale et je programme en déplaçant le PIC d’une carte à l’autre et ça marche très bien.

    Pour ne pas laisser freepicbasic dans l’oubli :

    Concernant le prg que j’ai posté, il faut juste tenir compte de l’affectation des ports, c’est juste un copié / collé d’un morceau de prg que j’ai mis en base d’écriture pour attaquer le projet. Je suis conscient qu’il comporte des erreurs mais mon soucis premier est de comprendre comment je dois m’y prendre pour correspondre avec l’afficheur ensuite le prg sera corrigé pour être fonctionnel.
    Pour le quartz, j’ai tjrs utilisé un 4MHz passer à 20MHz ne pose à priori aucun pb.
    Concernant le langage C, je pense m’y mettre mais doucement et pas tout de suite

    Merci à tous de m’occuper de moi

  16. #15
    invite03481543

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Voici une note d'appli qui pourra vous être utile:
    http://www.hantronix.com/files/down/t6963app.pdf

    Ainsi que cette page pour un PIC16F avec explication du code:
    https://www.electro-tech-online.com/...ontroller.482/

  17. #16
    nondediode

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Un grand merci à vous!
    Ces 2 liens c'est un peu comme si je venais de faire 10 pas en avant!
    Je vais prendre le tps de les lire et de traduire (mon Anglais est très médiocre) mais déjà pour avoir parcouru en diagonal le pdf, il y a des choses qui ont tilté pour moi!
    En attendant je continue mon schéma pour le poster sur le forum

    Bravo et merci!

  18. #17
    nondediode

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Me voici avec le schéma mais aussi un .doc sur lequel j'ai dessiné tous les écrans qui me seront utiles. Cela vous permettra de bien comprendre mon projet.
    L'ampli en question est une technologie à tubes monté en double mono sur un même châssis. C'est le second de ma fabrication avec ces énormes tubes, le premier était 2 blocs mono qui me prenait bcp de place. Or, j'ai plusieurs amplis à lampes (de ma fabrication) et selon ce que j'écoute, je préfère le son d'une tétrode à celui d'une triode, il me faut donc en avoir plusieurs pour profiter de la musique que je veux écouter.
    Cet ampli représentera un poids de 85kg à lui seul et occupera une surface de 600 X 500! L'alimentation de ces tubes (triodes) est en 1200V avec un courant de 60mA / tube. les chauffages sont de 50W par tubes.
    Quand j'ai lu que les bruits numériques pouvaient perturber un signal audio, ici c'est tout le contraire, c'est la HT qui a plutôt tendance à venir contrarier les étages basse tension. Il faut donc que tout soit blindé et les alimentations complètement séparées. La CEM joue un rôle majeur dans la construction de ces amplis bien pour ça que la partie numérique est isolée galvaniquement de l'ampli.

    Je n'arrive pas à joindre un fichier word sur lequel il y a des dessins visio, je vais voir pour mettre ces images en jpeg
    Images attachées Images attachées  

  19. #18
    penthode

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    comment fais-tu bobiner tes transfos ?
    [b]le bon sens est un fardeau, car il faut s'entendre avec ceux qui ne l'ont pas [/b]

  20. #19
    nondediode

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Je suis arrivé tant bien que mal à convertir le fichier word en Jpeg! Merci internet!
    Par contre bcp de commentaires on été coupés, je les reprendraient après.
    Images attachées Images attachées

  21. #20
    invite03481543

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Il manque l'alim pour l'afficheur sur le schéma (post #17) ainsi que le potentiomètre de réglage pour le contraste (voir mon post#13)
    Vous ne prenez pas un afficheur rétro-éclairé? C'est plus sympa.

  22. #21
    invite03481543

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Egalement mieux vaut mettre une résistance par led.

  23. #22
    nondediode

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Chez electrosudouest à Toulouse pour tout ce qui est transfos de sortie et transfo HT
    Sinon tu as aussi dissident audio mais les transfos ne sont pas imprégnés et ça j'aime pas trop.
    Avec electrosudouest j'ai eu un pb une seule fois avec un TS. Depuis je contrôle systématiquement les impédances à la réception et ça se passe bien avec eux.
    Pour les transfo 6V3, j'ai une technique redoutable! Je prends des transfos torique 12V 150VA dédié aux éclairages BT et je refait les secondaires à la main à la tension qui va bien. ça coûte pas cher sur LBC et c'est nettement supérieur à ceux qu'on achète aux requins du monde audio.
    Je n'ai pas de bobineuse, je fait ça à la main (avec une perceuse quand c'est du Rcore) quand tu n'a pas trop de longueur à tirer ça va.
    Le pb dans le commerce les sorties sont normalisés à 6V, 9V ou 12V tu n'a rien en 6.3.

  24. #23
    nondediode

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    HULK28, c'est un oubli de ma part! encore une fois j'ai été trop vite.
    Bien sûr j'utilise le rétroéclairage, le potard est polarisé à -12V. J'ai repris exactement le montage du datasheet sans le transistor. L'alim de l'afficheur est un 5V et le module inverter NEL-D32-49. L'alim est commune au PIC et à l'afficheur. Si vous voulez je peux compléter le schéma et le remettre en ligne mais je pense que vous avez pigé.
    Si vous jetez un œil sur le JPEG de mon premier post vous verrez la carte et vous comprendrez que tout est monté dessus.

  25. #24
    nondediode

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Les leds n'étant pas de la même couleur, elles ne sont jamais allumées ensembles.

    La rouge définit le standby et la bleue le fonctionnement de l'ampli

  26. #25
    nondediode

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    le schéma complet
    Images attachées Images attachées  

  27. #26
    invite03481543

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Bonjour,

    si votre afficheur est bien un DMF5005N vous êtes dans ce cas obligé d'adopter ce schéma:



    VEE doit être relié tel qu'indiqué, sans quoi ça ne fonctionnera pas.
    Images attachées Images attachées  
    Dernière modification par gienas ; 20/11/2018 à 15h49. Motif: Suppression du doublon d'image

  28. #27
    nondediode

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Bonjour HULK28,

    Vous voulez dire que le transistor est obligatoire?
    Dans bcp d'endroit, j'ai lu qu'il était pas nécessaire, j'ai donc fait sans.
    Je suis entrain de lire les liens que vous m'avez donné; en effet ils sont très riche d'infos. J'ai essayé de me servir de l'exemple asm mais il n'est pas supporter par MPLAB; il détecte une 100aines d'erreur.
    Je vais m'inspirer de son prg pour le reconstruire. J'ai vu que le port D doit-être bi-directionnel.

    Cdlt,

  29. #28
    invite03481543

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Le transistor permet de fournir le courant pour VEE sans modifier le courant du pont diviseur.

  30. #29
    nondediode

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    OK je vais monter un BC557.

  31. #30
    antek

    Re : Développer un programme en assembleur avec PIC 16F877 pour gérer un afficheur graphique

    Citation Envoyé par nondediode Voir le message
    J'ai essayé de me servir de l'exemple asm mais il n'est pas supporter par MPLAB; il détecte une 100aines d'erreur.
    L'exemple 80C51 ou 16F887 ?

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. compréhension d'un programme assembleur pour afficher un afficheur lcd.
    Par invite71a200f7 dans le forum Électronique
    Réponses: 1
    Dernier message: 09/03/2012, 10h43
  2. programmer un afficheur lcd avec pic 16f877
    Par invited14768ec dans le forum Électronique
    Réponses: 5
    Dernier message: 08/05/2011, 19h49
  3. Il est bon mon programme d'afficheur LCD gérer en ??
    Par grd666 dans le forum Électronique
    Réponses: 0
    Dernier message: 18/06/2008, 14h03
  4. comment realiser la multiplication en assembleur avec un pic 16F877?
    Par invite54d71191 dans le forum Électronique
    Réponses: 10
    Dernier message: 14/05/2008, 08h45
  5. Programme gérer afficheur AIMV avec PIC16F877
    Par invite316e0cb0 dans le forum Électronique
    Réponses: 0
    Dernier message: 27/03/2008, 14h30
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...