IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

éditeur pour afficheurs LCD graphiques


Sujet :

Assembleur

  1. #1
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Points : 217
    Points
    217
    Par défaut éditeur pour afficheurs LCD graphiques
    Salut a tous, forum

    Après maintes recherche sur le net.

    Je suis donc a la recherche svp d'un logiciel gratuit et en francais
    Un éditeur pour afficheurs LCD graphiques

    je souhaiterai créer un police de caractères avec des hauteurs de lettrine différentes sur mème type d'écran, voir svp photo ci-jointe

    Merci a vous et de votre temps, bonne fin de dimanche a vous

    Ray
    Images attachées Images attachées  

  2. #2
    Membre actif Avatar de golden boy
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 120
    Points : 230
    Points
    230
    Par défaut
    Je ne comprends pas bien ce que tu cherches exactement mais comment veux-tu faire ta police si tu dois utiliser un 7 segments comme sur tes images ?

  3. #3
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Points : 217
    Points
    217
    Par défaut
    Citation Envoyé par golden boy Voir le message
    Je ne comprends pas bien ce que tu cherches exactement mais comment veux-tu faire ta police si tu dois utiliser un 7 segments comme sur tes images ?
    Merci pour ta réponse

    En fait je souhaite refaire des matrices de caracteres comme sur la photo un LCD graphique

    le but faire un temporisateur (0-50 mn) digital avec clavier pour insoleuse un peu perso mais aussi dans le but de m'initier a la programmation, (je débute)

    donc des grands affichages pour (les minutes) plus petites pour les secondes

    et quelques divers utilitées.

    Ray

  4. #4
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Il nous faudrait quelques précisions.

    Ton afficheur est relié à un PC (port parallèle ou USB ) ?
    Ou alors c'est un modèle autonome avec micro-contrôleur intégré ?

    a+ François

  5. #5
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    tu pourrais déjà regarder du coté de ce site
    http://www.crystalfontz.com/software/
    ces logiciels permettent de prendre le controle des LCD depuis le port COM, LPT ou USB d'un PC. ça permet de tester si les ecrans sont en bon etat, t peut permettre de comprendre comment ça fonctionne.
    sinon, en assembleur, j'ai déjà essayé de piloter un LCD de 128*64 pixels noir et blanc depuis le port LPT, j'avais juste reussi à faire tout blanc ou tout noir (probleme de timing).
    sur le LCD 4 lignes, j'ai reussi à prendre le controle en assembleur, le code est celui là, et merite un bon remaniage, car les temps, c'est du n'importe quoi total, mais ça marche sur mon PC avec un 1604 sur le port LPT sous certaines conditions.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
     
    macro delay .t {
            mov ecx,.t*1
    local .a
    .a:     loop .a
    }
     
            org 100h
            delay 200
            call lcd.init
            delay 200
            call lcd.clear
            mov ax,001h
            call lcd.goto
            mov al,'0'
            call lcd.putc
            mov ax,003h
            call lcd.goto
            mov si,message
            call lcd.puts
    @@:
            in al,60h
            cmp al,43h
            je .exit
            jmp @b
    .exit:
            mov ax,3
            int 10h
            ret
    message db 'hello',0
     
    ;LPT connection
    ;pin 1 = E = .ctrl bit0 1
    ;pin 16 = RS = .ctrl bit2 4
    ;pin 14 = R/W = .ctrl bit3  8
    ;pins 2 to 9 = data = .data
     
    ;LCD connection
    ;pin 1 = gnd
    ;pin 2 = +5V
    ;pin 3 = contrast
    ;pin 4 = Register Select
    ;pin 5 = Read /Write
    ;pin 6 = Enable
    ;pins 7 to 14 = data
    lcd:
    .lpt=378h
    .data=.lpt+0
    .stat=.lpt+1
    .ctrl=.lpt+2
    .rs=4
    .e=1
    .rw=8
    .p1:
            mov dx,lcd.data
            ret
    .p3:
            mov dx,lcd.ctrl
            ret
    .rs0:
            in al,dx
            or al,.rs
            out dx,al
            ret
    .rs1:
            in al,dx
            and al,not .rs
            out dx,al
            ret
    .e0:
            in al,dx
            or al,.e
            out dx,al
            ret
    .e1:
            in al,dx
            and al,not .e
            out dx,al
            ret
    .rw0:
            in al,dx
            or al,.rw
            out dx,al
            ret
    .rw1:
            in al,dx
            and al,not .rw
            out dx,al
            ret
    .clear:
     
            mov dx,.ctrl
            in al,dx
            delay 20
            or al,not 4
            out dx,al
            mov al,1
            delay 20
            call lcd.write
            ret
     
    .write:
            mov dx,.data
            out dx,al
            mov dx,.ctrl
            in al,dx
            or al,1
            out dx,al
            mov dx,.ctrl
            in al,dx
            delay 20
            and al,not 1
            out dx,al
            delay 20
            ret
     
    .init:
     
        mov dx,.ctrl
     
        in al,dx
        delay 20
        and al,4
        out dx,al
        delay 20
        in al,dx
        delay 20
        or al,not 4
        out dx,al
     
        mov al,0fh
        call lcd.write
        delay 20
        mov al,1
        call lcd.write
        delay 20
        mov al,38h
        call lcd.write
        delay 20
        ret
     
     
    .goto:
    ;al=x
    ;ah=y
        delay 20
        push ax
        mov dx,.ctrl
        in al,dx
        delay 20
        or al,not 4
        out dx,al
        delay 20
        pop ax
        cmp ah,1
        jne @f
        add al,40h
    @@:
        cmp ah,2
        jne @f
        add al,10h
    @@:
        cmp ah,3
        jne @f
        add al,50h
    @@:
        or al,80h
        call lcd.write
        ret
     
     
    .putc:
        delay 20
        rol ax,8
        mov dx,.ctrl
        in al,dx
        delay 20
        and al,4
        out dx,al
        delay 20
        ror ax,8
        call lcd.write
        ret
     
    .puts:
        delay 20
        mov dx,.ctrl
        in al,dx
        delay 20
        and al,4
        out dx,al
    @@:
        mov al,[si]
        cmp al,0
        je @f
        call .putc
        inc si
        jmp @b
    @@:
        ret
    sur les microncontroleurs, c'est plus simple car il y a moins de code à ecrire grace aux timers et autres facilités onchip telles que drivers LCD, qui generent la bonne trame quoi qu'il arrive. il suffit alors de programmer la memoire du driver LCD our qu'il se charge tout seul de l'envoi à l'ecran, tel une carte graphique rudimentaire.

    ps: procure toi la doc de ton ecran aussi, sans ça, tu ne sauras pas quel sont ses timings et signaux, et donc, tu ne pourras pas le programmer.

    la fonte quand à elle est vraiment un probleme basique qui ne demande pas des masses de travail.
    soit par bitmaps, soit par calculs, dans tout les cas, ecrire des lettres à l'ecran vient largement après la gestion et le controle total de l'ecran. ou prendre un chronometre du commerce, ça ira plus vite.

  6. #6
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Points : 217
    Points
    217
    Par défaut
    Citation Envoyé par edfed Voir le message
    tu pourrais déjà regarder du coté de ce site
    http://www.crystalfontz.com/software/
    ces logiciels permettent de prendre le controle des LCD depuis le port COM, LPT ou USB d'un PC. ça permet de tester si les ecrans sont en bon etat, t peut permettre de comprendre comment ça fonctionne.
    sinon, en assembleur, j'ai déjà essayé de piloter un LCD de 128*64 pixels noir et blanc depuis le port LPT, j'avais juste reussi à faire tout blanc ou tout noir (probleme de timing).
    sur le LCD 4 lignes, j'ai reussi à prendre le controle en assembleur, le code est celui là, et merite un bon remaniage, car les temps, c'est du n'importe quoi total, mais ça marche sur mon PC avec un 1604 sur le port LPT sous certaines conditions.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
     
    macro delay .t {
            mov ecx,.t*1
    local .a
    .a:     loop .a
    }
     
            org 100h
            delay 200
            call lcd.init
            delay 200
            call lcd.clear
            mov ax,001h
            call lcd.goto
            mov al,'0'
            call lcd.putc
            mov ax,003h
            call lcd.goto
            mov si,message
            call lcd.puts
    @@:
            in al,60h
            cmp al,43h
            je .exit
            jmp @b
    .exit:
            mov ax,3
            int 10h
            ret
    message db 'hello',0
     
    ;LPT connection
    ;pin 1 = E = .ctrl bit0 1
    ;pin 16 = RS = .ctrl bit2 4
    ;pin 14 = R/W = .ctrl bit3  8
    ;pins 2 to 9 = data = .data
     
    ;LCD connection
    ;pin 1 = gnd
    ;pin 2 = +5V
    ;pin 3 = contrast
    ;pin 4 = Register Select
    ;pin 5 = Read /Write
    ;pin 6 = Enable
    ;pins 7 to 14 = data
    lcd:
    .lpt=378h
    .data=.lpt+0
    .stat=.lpt+1
    .ctrl=.lpt+2
    .rs=4
    .e=1
    .rw=8
    .p1:
            mov dx,lcd.data
            ret
    .p3:
            mov dx,lcd.ctrl
            ret
    .rs0:
            in al,dx
            or al,.rs
            out dx,al
            ret
    .rs1:
            in al,dx
            and al,not .rs
            out dx,al
            ret
    .e0:
            in al,dx
            or al,.e
            out dx,al
            ret
    .e1:
            in al,dx
            and al,not .e
            out dx,al
            ret
    .rw0:
            in al,dx
            or al,.rw
            out dx,al
            ret
    .rw1:
            in al,dx
            and al,not .rw
            out dx,al
            ret
    .clear:
     
            mov dx,.ctrl
            in al,dx
            delay 20
            or al,not 4
            out dx,al
            mov al,1
            delay 20
            call lcd.write
            ret
     
    .write:
            mov dx,.data
            out dx,al
            mov dx,.ctrl
            in al,dx
            or al,1
            out dx,al
            mov dx,.ctrl
            in al,dx
            delay 20
            and al,not 1
            out dx,al
            delay 20
            ret
     
    .init:
     
        mov dx,.ctrl
     
        in al,dx
        delay 20
        and al,4
        out dx,al
        delay 20
        in al,dx
        delay 20
        or al,not 4
        out dx,al
     
        mov al,0fh
        call lcd.write
        delay 20
        mov al,1
        call lcd.write
        delay 20
        mov al,38h
        call lcd.write
        delay 20
        ret
     
     
    .goto:
    ;al=x
    ;ah=y
        delay 20
        push ax
        mov dx,.ctrl
        in al,dx
        delay 20
        or al,not 4
        out dx,al
        delay 20
        pop ax
        cmp ah,1
        jne @f
        add al,40h
    @@:
        cmp ah,2
        jne @f
        add al,10h
    @@:
        cmp ah,3
        jne @f
        add al,50h
    @@:
        or al,80h
        call lcd.write
        ret
     
     
    .putc:
        delay 20
        rol ax,8
        mov dx,.ctrl
        in al,dx
        delay 20
        and al,4
        out dx,al
        delay 20
        ror ax,8
        call lcd.write
        ret
     
    .puts:
        delay 20
        mov dx,.ctrl
        in al,dx
        delay 20
        and al,4
        out dx,al
    @@:
        mov al,[si]
        cmp al,0
        je @f
        call .putc
        inc si
        jmp @b
    @@:
        ret
    sur les microncontroleurs, c'est plus simple car il y a moins de code à ecrire grace aux timers et autres facilités onchip telles que drivers LCD, qui generent la bonne trame quoi qu'il arrive. il suffit alors de programmer la memoire du driver LCD our qu'il se charge tout seul de l'envoi à l'ecran, tel une carte graphique rudimentaire.

    ps: procure toi la doc de ton ecran aussi, sans ça, tu ne sauras pas quel sont ses timings et signaux, et donc, tu ne pourras pas le programmer.

    la fonte quand à elle est vraiment un probleme basique qui ne demande pas des masses de travail.
    soit par bitmaps, soit par calculs, dans tout les cas, ecrire des lettres à l'ecran vient largement après la gestion et le controle total de l'ecran. ou prendre un chronometre du commerce, ça ira plus vite.
    Bonjour,

    Merci bien de ta réponse ainsi que pour le code, je débute aussi autant avoir un but, c'est du luxe pour un tempo mais bon plaisir d'essayer de construire quelque chose moi mème, pour le chrono du commerce, c'est une bonne idée, je vais creuser ca, hiihihihihi.

    Pour l'écran je l'attends et le PIC un 18F4525

    Encore merci je regarde ca

    Ray

  7. #7
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Points : 217
    Points
    217
    Par défaut
    Citation Envoyé par Forthman Voir le message
    Il nous faudrait quelques précisions.

    Ton afficheur est relié à un PC (port parallèle ou USB ) ?
    Ou alors c'est un modèle autonome avec micro-contrôleur intégré ?

    a+ François
    Bonjour,

    Merci pour la réponse, il ne sera pas relier au PC juste dans un boitier alimenter a part.

    PIC un 18F4525
    Ecran bleu rétro eclairé
    Gestion par petit clavier 12 touches
    Relais pour les tubes UV

    Bonne journée merci

    Ray

  8. #8
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    J'y connais rien en PIC, mais il y a de la RAM là dedans ?
    Je veux dire suffisamment pour stocker les images des caractères...

    J'avais moi aussi fait mumuse avec un tel afficheur.
    les octets étaient disposés verticalement (contrairement à un affichage sur PC)
    et l'écran était coupé en deux (2 adresses différentes partie haute et basse)
    Pour afficher des graphismes il fallait jongler pas mal

    J'ai un gros doute sur le fait que ça soit une réalisation des plus simple ton truc

  9. #9
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    la realisation est simple si on utilise la ram pour stocker les pixels.
    vu qu'il y a largement assez de ram dans le 18F4525 (plus de 3500 octets), ça permet de stocker plus de 3 fois la totalité des pixels d'un lcd noir et blanc de 128*64.
    ça peut aussi permettre de stocker des pixels de 3 bits, donc, 8 niveau de gris.
    pour ça, il faudra juste inclure une sorte de pwm de 8 pas pour chaque pixel lors du rafrachissement.

    pour ce qui est de generer les caractères, le plus simple est de le faire dans le code source, sous forme de bitmaps en lecture seule, dans le programme.
    il y a largement assez de memoire pour ça.

    je vais d'ailleur me payer un 18F4525 pour tester, car en plus, j'ai besoin moi aussi de faire une gestion de LCD 128*64 bien rapide.

    j'en profite pour poster un code en plus, ce code permet de gerer le 1604 depuis le port lpt, mais cette fois ci, les temps sont presque bon, et l'algo l'est aussi, la frequence de rafraichissement est respectable, et le rendu est sans flickers.

    l'idée est de manipuler les bon bits au bon moment, dans le bon ordre.
    dans ce code, je n'ai laissé que ce qui est chargé de l'affichage LCD.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
     
    macro delay .t
    {
            mov ecx,.t*.t
    @@:
            dec ecx
            jne @b
    }
     
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
            org 100h
    main:
            call init
            call refresh
            mov ax,3
            int 10h
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;; ;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;
    ;16 apparent chars, 24 virtual chars
    message:
    .0:     db '0123456789ABCDEF' ; xxxxxxxxxxxxxxxx
    .1:     db 'c:/>fool/tetris ' ;                                        xxxxxxxxxxxxxxxx
    .2:     db 'this code needs ' ;                 xxxxxxxxxxxxxxx
    .3:     db 'Graphic screen  ' ;                                                        xxxxxxxxxxxxxxxx
    .pad:   db '        '         ;                                xxxxxxxx                                xxxxxxxx
    .end:
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    refresh:
            mov si,message
    @@:
            mov ah,[si]
            call putc
            inc si
            cmp si,message.1
            jne @b
            mov si,message.2
    @@:
            mov ah,[si]
            call putc
            inc si
            cmp si,message.3
            jne @b
            mov si,message.pad
    @@:
            mov ah,[si]
            call putc
            inc si
            cmp si,message.end
            jne @b
            mov si,message.1
    @@:
            mov ah,[si]
            call putc
            inc si
            cmp si,message.2
            jne @b
            mov si,message.3
    @@:
            mov ah,[si]
            call putc
            inc si
            cmp si,message.end
            jne @b
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    putc:
            push eax ebx ecx edx
            call lcd.writedatacheck
            pop edx ecx ebx eax
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    init:
            mov ah,38h        ;function set
            call lcd.writeinstnocheck
            call delay37
            mov ah,38h        ;function set
            call lcd.writeinstnocheck
            call delay37
     
            mov ah,0ch        ;display on
            call lcd.writeinstcheck
            call delay37
     
            call lcd.clear
     
            mov ah,6          ;entry mode set
            call lcd.writeinstcheck
            call delay37
            ret
     
    ;---------------------------------------------------------------------------------
    ;LPT connection
    ;pin 1 = E = .ctrl bit0, 1 inverted
    ;pin 14 = R/W = .ctrl bit1, 2 inverted
    ;pin 16 = RS = .ctrl bit2, 4
    ;pins 2 to 9 = data = .data
    ;
    ;LCD connection
    ;pin 1 = gnd
    ;pin 2 = +5V
    ;pin 3 = contrast
    ;pin 4 = Register Select
    ;pin 5 = Read /Write
    ;pin 6 = Enable
    ;pins 7 to 14 = data
    ;---------------------------------------------------------------------------------
    delay37:
            delay 500
            ret
    delay1520:
            delay 60
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    lcd:
    .lpt=378h
    .data=.lpt+0
    .stat=.lpt+1
    .ctrl=.lpt+2
    .e=1
    .rw=2
    .rs=4
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .p1:
            mov dx,lcd.data
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .p2:
            mov dx,lcd.stat
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .p3:
            mov dx,lcd.ctrl
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .goto:
    ;al=x
    ;ah=y
            cmp ah,1
            jne @f
            add al,40h
    @@:
            cmp ah,2
            jne @f
            add al,10h
    @@:
            cmp ah,3
            jne @f
            add al,50h
    @@:
            or al,80h
            call .writeinstcheck
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .clear:
            mov ah,1
            call lcd.writeinstcheck
            call delay1520
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .writedatacheck:
            call .busycheck
    .writedatanocheck:
            call .dr
            call .wr
            call .en
            call .p1
            mov al,ah
            out dx,al
            call delay1520
            call .dis
            call .p1
            mov al,0ffh
            out dx,al
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .writeinstcheck:
            call .busycheck
    .writeinstnocheck:
            call .ir
            call .wr
            call .en
            call .p1
            mov al,ah
            out dx,al
            call delay1520
            call .dis
            call .p1
            mov al,0ffh
            out dx,al
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .busycheck:
            call .ir
            call .rd
            call .en
            call .busy
            call .dis
            ret
    .busy:
            call .p1
    @@:
            in al,dx
            and al,80h
            je @b
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .dr:
    .datareg:
            call .p3
            in al,dx
            or al,.rs
            out dx,al
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .ir:
    .instreg:
            call .p3
            in al,dx
            and al,not .rs
            out dx,al
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .dis:
    .disable:
            call .p3
            in al,dx
            or al,.e
            out dx,al
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .en:
    .enable:
            call .p3
            in al,dx
            and al,not .e
            out dx,al
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .wr:
    .write:
            call .p3
            in al,dx
            or al,.rw
            out dx,al
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .rd:
    .read:
            call .p3
            in al,dx
            and al,not .rw
            out dx,al
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  10. #10
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Points : 217
    Points
    217
    Par défaut
    Citation Envoyé par edfed Voir le message
    la realisation est simple si on utilise la ram pour stocker les pixels.
    vu qu'il y a largement assez de ram dans le 18F4525 (plus de 3500 octets), ça permet de stocker plus de 3 fois la totalité des pixels d'un lcd noir et blanc de 128*64.
    ça peut aussi permettre de stocker des pixels de 3 bits, donc, 8 niveau de gris.
    pour ça, il faudra juste inclure une sorte de pwm de 8 pas pour chaque pixel lors du rafrachissement.

    pour ce qui est de generer les caractères, le plus simple est de le faire dans le code source, sous forme de bitmaps en lecture seule, dans le programme.
    il y a largement assez de memoire pour ça.

    je vais d'ailleur me payer un 18F4525 pour tester, car en plus, j'ai besoin moi aussi de faire une gestion de LCD 128*64 bien rapide.

    j'en profite pour poster un code en plus, ce code permet de gerer le 1604 depuis le port lpt, mais cette fois ci, les temps sont presque bon, et l'algo l'est aussi, la frequence de rafraichissement est respectable, et le rendu est sans flickers.

    l'idée est de manipuler les bon bits au bon moment, dans le bon ordre.
    dans ce code, je n'ai laissé que ce qui est chargé de l'affichage LCD.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
     
    macro delay .t
    {
            mov ecx,.t*.t
    @@:
            dec ecx
            jne @b
    }
     
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
            org 100h
    main:
            call init
            call refresh
            mov ax,3
            int 10h
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;; ;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;
    ;16 apparent chars, 24 virtual chars
    message:
    .0:     db '0123456789ABCDEF' ; xxxxxxxxxxxxxxxx
    .1:     db 'c:/>fool/tetris ' ;                                        xxxxxxxxxxxxxxxx
    .2:     db 'this code needs ' ;                 xxxxxxxxxxxxxxx
    .3:     db 'Graphic screen  ' ;                                                        xxxxxxxxxxxxxxxx
    .pad:   db '        '         ;                                xxxxxxxx                                xxxxxxxx
    .end:
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    refresh:
            mov si,message
    @@:
            mov ah,[si]
            call putc
            inc si
            cmp si,message.1
            jne @b
            mov si,message.2
    @@:
            mov ah,[si]
            call putc
            inc si
            cmp si,message.3
            jne @b
            mov si,message.pad
    @@:
            mov ah,[si]
            call putc
            inc si
            cmp si,message.end
            jne @b
            mov si,message.1
    @@:
            mov ah,[si]
            call putc
            inc si
            cmp si,message.2
            jne @b
            mov si,message.3
    @@:
            mov ah,[si]
            call putc
            inc si
            cmp si,message.end
            jne @b
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    putc:
            push eax ebx ecx edx
            call lcd.writedatacheck
            pop edx ecx ebx eax
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    init:
            mov ah,38h        ;function set
            call lcd.writeinstnocheck
            call delay37
            mov ah,38h        ;function set
            call lcd.writeinstnocheck
            call delay37
     
            mov ah,0ch        ;display on
            call lcd.writeinstcheck
            call delay37
     
            call lcd.clear
     
            mov ah,6          ;entry mode set
            call lcd.writeinstcheck
            call delay37
            ret
     
    ;---------------------------------------------------------------------------------
    ;LPT connection
    ;pin 1 = E = .ctrl bit0, 1 inverted
    ;pin 14 = R/W = .ctrl bit1, 2 inverted
    ;pin 16 = RS = .ctrl bit2, 4
    ;pins 2 to 9 = data = .data
    ;
    ;LCD connection
    ;pin 1 = gnd
    ;pin 2 = +5V
    ;pin 3 = contrast
    ;pin 4 = Register Select
    ;pin 5 = Read /Write
    ;pin 6 = Enable
    ;pins 7 to 14 = data
    ;---------------------------------------------------------------------------------
    delay37:
            delay 500
            ret
    delay1520:
            delay 60
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    lcd:
    .lpt=378h
    .data=.lpt+0
    .stat=.lpt+1
    .ctrl=.lpt+2
    .e=1
    .rw=2
    .rs=4
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .p1:
            mov dx,lcd.data
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .p2:
            mov dx,lcd.stat
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .p3:
            mov dx,lcd.ctrl
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .goto:
    ;al=x
    ;ah=y
            cmp ah,1
            jne @f
            add al,40h
    @@:
            cmp ah,2
            jne @f
            add al,10h
    @@:
            cmp ah,3
            jne @f
            add al,50h
    @@:
            or al,80h
            call .writeinstcheck
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .clear:
            mov ah,1
            call lcd.writeinstcheck
            call delay1520
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .writedatacheck:
            call .busycheck
    .writedatanocheck:
            call .dr
            call .wr
            call .en
            call .p1
            mov al,ah
            out dx,al
            call delay1520
            call .dis
            call .p1
            mov al,0ffh
            out dx,al
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .writeinstcheck:
            call .busycheck
    .writeinstnocheck:
            call .ir
            call .wr
            call .en
            call .p1
            mov al,ah
            out dx,al
            call delay1520
            call .dis
            call .p1
            mov al,0ffh
            out dx,al
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .busycheck:
            call .ir
            call .rd
            call .en
            call .busy
            call .dis
            ret
    .busy:
            call .p1
    @@:
            in al,dx
            and al,80h
            je @b
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .dr:
    .datareg:
            call .p3
            in al,dx
            or al,.rs
            out dx,al
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .ir:
    .instreg:
            call .p3
            in al,dx
            and al,not .rs
            out dx,al
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .dis:
    .disable:
            call .p3
            in al,dx
            or al,.e
            out dx,al
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .en:
    .enable:
            call .p3
            in al,dx
            and al,not .e
            out dx,al
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .wr:
    .write:
            call .p3
            in al,dx
            or al,.rw
            out dx,al
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    .rd:
    .read:
            call .p3
            in al,dx
            and al,not .rw
            out dx,al
            ret
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    Bonsoir

    Merci de ta réponse, bon je pense que c'est réalisable pas facile mais je vais essayer quand meme avec un peu d'entraide c'est possible.

    merci pour tes codes ca va me servir des que j'aurai bien compris comment ca marche

    pour l'instant il faut que je recommande un ecran, pas recu le bon Greeeeuuuu

    encore merci a toi
    a plus tard bonne soirée

    Raymond

  11. #11
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Points : 217
    Points
    217
    Par défaut
    Citation Envoyé par Forthman Voir le message
    J'y connais rien en PIC, mais il y a de la RAM là dedans ?
    Je veux dire suffisamment pour stocker les images des caractères...

    J'avais moi aussi fait mumuse avec un tel afficheur.
    les octets étaient disposés verticalement (contrairement à un affichage sur PC)
    et l'écran était coupé en deux (2 adresses différentes partie haute et basse)
    Pour afficher des graphismes il fallait jongler pas mal

    J'ai un gros doute sur le fait que ça soit une réalisation des plus simple ton truc
    bonsoir

    merci pour ta réponse

    si c'est possible, je suis tenace, et avec Developpez.com, j'y arriverai grace a tous meme si je débute.

    Bonne soirée

    Bye ray

  12. #12
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    Ok, alors c'est tout bon

    Moi je suis pas électronicien, ni même informaticien et j'avais réussi alors

  13. #13
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Points : 217
    Points
    217
    Par défaut
    merci a tous de vos réponses, c'est sympa.

    quelqu'un saurai t'il svp ou trouver un écran graphique 128X64 bleu et rétro éclairé avec controleur KS0107B

    a prix résonable, j'ai chercher mais pas trop trouvé ce que je voulais, je ne doit pas etre doué pour le bussiness hihihihi

    merci a vous et de votre temps

    bonne soirée a vous

    Raymond

  14. #14
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    quitte à faire du LCD graphique... autant prendre ce qu'on peut trouver, tant au niveau materiel qu'au niveau documentation.

    on peut acheter et telecharger la doc sur rs-particuliers.
    je ne vois pas de meilleure solution à ce jour pour un particulier, il y a aussi conrad, selectronic, et divers autres boutiques d'electronique en ligne.

    quitte à acheter un LCD, pourquoi pas prendre aussi quelques leds de toutes les couleurs, et quelques PIC, des potentiometres, et des boutons. et aussi de la plaque à trous, ça peut toujours servir ce genre de composant.
    ne pas oublier aussi de la barrete secable tulipe, ça peut faire office de connecteurs, de support de CI, de jumpers, tout depend de l'imagination du soudeur.
    je dis ça parce que les frais de cochon sont de 10€, alors tant qu'à faire, il faut rendre ce chiffre neggligeable, de l'ordre de 10% du prix de la commande.


    par exemple:
    http://www.rs-particuliers.com/WebSe...es-040105.aspx

    on prend le premier:
    http://www.rs-particuliers.com/WebCa...l-7122637.aspx
    et magique, la doc est dispo.

    allez, je vais voir s'il y a pas moins cher...
    http://www.rs-particuliers.com/WebCa...ge-564400.aspx
    il coute 7.63€ aujourd'hui.
    et la doc semble complete, controleur ST7565R.
    mais quand on arrive à faire le driver pour un, on arrive à le faire pour tous.

    il faut faire attention avec les LCD graphiques. il faut parfois generer un signal alternatif de driving, car la matrice lcd ne supporte pas le continu. desfois le circuit est integré à l'ecran, desfois non. quand il ne l'est pas, il faut l'ajouter, ou le simuler avec le microcontroleur.

  15. #15
    Membre actif
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2008
    Messages
    704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2008
    Messages : 704
    Points : 217
    Points
    217
    Par défaut
    Citation Envoyé par edfed Voir le message
    quitte à faire du LCD graphique... autant prendre ce qu'on peut trouver, tant au niveau materiel qu'au niveau documentation.

    on peut acheter et telecharger la doc sur rs-particuliers.
    je ne vois pas de meilleure solution à ce jour pour un particulier, il y a aussi conrad, selectronic, et divers autres boutiques d'electronique en ligne.

    quitte à acheter un LCD, pourquoi pas prendre aussi quelques leds de toutes les couleurs, et quelques PIC, des potentiometres, et des boutons. et aussi de la plaque à trous, ça peut toujours servir ce genre de composant.
    ne pas oublier aussi de la barrete secable tulipe, ça peut faire office de connecteurs, de support de CI, de jumpers, tout depend de l'imagination du soudeur.
    je dis ça parce que les frais de cochon sont de 10€, alors tant qu'à faire, il faut rendre ce chiffre neggligeable, de l'ordre de 10% du prix de la commande.


    par exemple:
    http://www.rs-particuliers.com/WebSe...es-040105.aspx

    on prend le premier:
    http://www.rs-particuliers.com/WebCa...l-7122637.aspx
    et magique, la doc est dispo.

    allez, je vais voir s'il y a pas moins cher...
    http://www.rs-particuliers.com/WebCa...ge-564400.aspx
    il coute 7.63€ aujourd'hui.
    et la doc semble complete, controleur ST7565R.
    mais quand on arrive à faire le driver pour un, on arrive à le faire pour tous.

    il faut faire attention avec les LCD graphiques. il faut parfois generer un signal alternatif de driving, car la matrice lcd ne supporte pas le continu. desfois le circuit est integré à l'ecran, desfois non. quand il ne l'est pas, il faut l'ajouter, ou le simuler avec le microcontroleur.
    Salut merci bien de ta réponse, c'est sympa, t'inquiète j'ai tout le matos qu'il faut a part le bel écran graphique 128X64 bleu et rétro éclairé avec controleur KS0107B

    je tient a que ce soit ce matos qui a fait ces preuves d'après ce que j'ai pu lire a ce sujet.

    en tout cas merci pour les prévisions du matériel, que ferais je sans toi, néanmoins tu as raison car vu le prix du transport.

    je vais essayer encore pour trouver le bon LCD

    encore merci a toi pour la recherche, je dirai si je trouve.

    bonne soirée et bon W-end

    Raymond

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par eliot.raymond Voir le message
    Salut a tous, forum

    Après maintes recherche sur le net.

    Je suis donc a la recherche svp d'un logiciel gratuit et en francais
    Un éditeur pour afficheurs LCD graphiques

    je souhaiterai créer un police de caractères avec des hauteurs de lettrine différentes sur mème type d'écran, voir svp photo ci-jointe

    Merci a vous et de votre temps, bonne fin de dimanche a vous

    Ray
    Je développe ce genre de logiciel pour la programmation de LCD
    graphique depuis 2006.
    Aujourd'hui, il n'est plus gratuit (j'ai du investir dans des outils pour le faire évoluer ) mais si ça intéresse quelqu'un de l'évaluer et de me
    faire part de ses remarques et expériences, c'est volontiers !

    http://bitmap2lcd.com

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PIC 16F876] Plugin pour afficheur lcd
    Par jpwitz dans le forum MPLAB
    Réponses: 7
    Dernier message: 03/05/2011, 18h43
  2. Quel composant pour afficher un graphique ?
    Par tipiweb dans le forum Composants VCL
    Réponses: 6
    Dernier message: 18/06/2005, 17h39
  3. [Graphes] Pour faire des graphiques ?
    Par Kyti dans le forum 2D
    Réponses: 3
    Dernier message: 29/03/2005, 15h55
  4. quel langage choisir pour mon interface graphique
    Par mrom34 dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 09/03/2004, 19h12
  5. Quel langage pour un application graphique sous windows
    Par ipeteivince dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 06/06/2003, 17h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo