[LCD]Hoe 4x40 HD44780 aanturen

Pagina: 1
Acties:

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
hoi, ik heb dus al 4x20 support, maar 4x40 wil niet omdat deze op een iets andere manier aangestuurd moet worden.

Nu wou ik in Smartie 5.0 4x40 support (eindelijk) inbouwen, en vroeg me af of iemand me kan vertellen wat nou eigenlijk het grote verschil is in die aansturing.
En dus hoe het dan wel moet.

alvast bedankt BasieP

This message was sent on 100% recyclable electrons.


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:04

Creepy

Tactical Espionage Splatterer

Zoek de verschillen op tussen de schema's van een 4x20 en een 4x40. (hint: das 1 pin verschil).
Die ene pin die extra is, moet je gebruiken!
Aangezien je 4x20 al werken hebt moet dat toch geen probleem zijn.

edit:

Ow ja.. lees de FAQ van GoT eens door.. groeten onder een post hoeft niet en is niet gewenst (daar gebruik je anders je sig maar voor)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Verwijderd

Een 4x40 heeft een 2e HD44780 controller voor de onderste 2 regels, waarvan de Enable geschakeld word op de pin waar je op kleinere modellen je backlight op schakeld (17 volgens mij).

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
Op vrijdag 07 december 2001 14:28 schreef Creepy het volgende:
Zoek de verschillen op tussen de schema's van een 4x20 en een 4x40. (hint: das 1 pin verschil).
Die ene pin die extra is, moet je gebruiken!
Aangezien je 4x20 al werken hebt moet dat toch geen probleem zijn.
ja, maar ik zou niet weten hoe ik een extra pin moet aansturen, ik gebruik dezelfde DLL als jij waarschijnlijk doet (DLportIO.DLL), maar ik heb zelf die driver niet geschreven.. snap er niet zoveel van :(
Op vrijdag 07 december 2001 14:28 schreef Creepy het volgende:
edit:

Ow ja.. lees de FAQ van GoT eens door.. groeten onder een post hoeft niet en is niet gewenst (daar gebruik je anders je sig maar voor)
owja |:(
is goe ;)

This message was sent on 100% recyclable electrons.


Verwijderd

Op vrijdag 07 december 2001 22:55 schreef basiep het volgende:
Maar ik heb zelf die driver niet geschreven.. snap er niet zoveel van :(
Geeft niet, schrijf gewoon je eigendriver, we hebben al eerder iemand opweg geholpen met 'n HD44780 drivertje, kom maar met vragen. :Y)

Verwijderd

Hey,
Ken jij 'google' ?
;)

Ga eens zien op de site van je landgenoot:
http://home.iae.nl/users/pouweha/lcd/lcd.shtml

staat ook c/asm code bij voor verschillende projecten + extra links. Daar vond ik echt alles.

ciao

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:04

Creepy

Tactical Espionage Splatterer

Op vrijdag 07 december 2001 23:46 schreef DeJean het volgende:
Hey,
Ken jij 'google' ?
;)

Ga eens zien op de site van je landgenoot:
http://home.iae.nl/users/pouweha/lcd/lcd.shtml

staat ook c/asm code bij voor verschillende projecten + extra links. Daar vond ik echt alles.

ciao
Raad eens waar ik mijn info vandaan haade? Peer is zo'n peer! :)

basiep: Hmm.. als je een driver gebruikt, die je niet zelf hebt geschreven, en je hebt er ook de source niet van, wordt het een beetje moeilijk om aan te passen niet?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
ik heb de source wel, maar ik snap hem niet..
maar misschien komt dat wel omdat ik weinig weet van die lcd
ik zal eerst die site is lezen.
Bedankt DeJean

This message was sent on 100% recyclable electrons.


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
okay...
ik heb het gelezen, en ik moet zeggen dat ik er nu nog minder van snap.
Ik heb die init voorbeeldjes naast mijn driver gehouden, en ik zie eigenlijk weinig dat overeenkomt... :(

het enige wat ik nu weet zijn een aantal bytes die dingen doen.
Zoals $1 het scherm leeg maakt en dat als je een regel text wilt verzenden dat je dat char voor char moet doen, voorafgaant door $7 en gevolgt door $6 $7 $5 naar de control poort.
maar wat hoe ik nou mijn driver moet ombouwen zodat ie 4x40 support.. ik zou het niet weten..

ik bedoel dat ik niet weet hoe ik nou de eerste controller of de tweede aanspreek, want ik stuur het toch naar een poort, en niet naar een controller. :?

Ow btw: als ik al die code van die site achter alkaar plak, dan ben ik wel 4 A4tes kwijt, terwijl mijn driver maar een halve is ofzo...

This message was sent on 100% recyclable electrons.


Verwijderd

Kijk even naar de timings diagrammen dan weet je waar die bytes naar je control port voor staan. (evt even je aansluit schema er weer even bij pakken)

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
Op zaterdag 08 december 2001 16:08 schreef Yarvieh het volgende:
Kijk even naar de timings diagrammen dan weet je waar die bytes naar je control port voor staan. (evt even je aansluit schema er weer even bij pakken)
dat heb ik al gedaan, maar ik kom niet verder dan die clearscreen, writestring, en backlight enzo maar wat is nou anders aan de driver voor een 4x40?

verder vond ik dit ook een beetje raar:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
DECLARE
    lcd1x16     LITERALLY '000',
    lcd2x16     LITERALLY '001',
    lcd4x16     LITERALLY '002',
    lcd1x20     LITERALLY '003',
    lcd2x20     LITERALLY '004',
    lcd4x20     LITERALLY '005',
    lcd1x24     LITERALLY '006',
    lcd2x24     LITERALLY '007',
    lcd4x24     LITERALLY '008',
    lcd1x32     LITERALLY '009',
    lcd2x32     LITERALLY '010',
    lcd4x32     LITERALLY '011',
    lcd1x40     LITERALLY '012',
    lcd2x40     LITERALLY '013',
    lcd4x40     LITERALLY '014';    /* not supported !  */

not supported???

en dit:
code:
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
lcdinit:DO;
$include(c:\plm51\lcdsize.dcl)
DECLARE lcdregs     BYTE EXTERNAL AUXILIARY;
DECLARE lcdsize     BYTE EXTERNAL;
lcdinit:PROCEDURE(size) PUBLIC;
DECLARE size      BYTE;

IF  (size >= lcd1x16)
AND (size <= lcd4x40)
THEN
    lcdsize = size;
ELSE
    return;
CALL TIME(30);
lcdregs = 030H;
CALL TIME(60);
lcdregs = 030H;
CALL TIME(30);
lcdregs = 030H;
CALL TIME(30);
IF (lcdsize = lcd1x16)
OR (lcdsize = lcd1x20)
OR (lcdsize = lcd1x24)
OR (lcdsize = lcd1x32)
OR (lcdsize = lcd1x40)
THEN
    lcdregs = 030H;      /* 8 bits, 1 row, 5 x 7 dots     */
ELSE
    lcdregs = 038H;      /* 8 bits, 2 rows, 5 x 7 dots   */
CALL TIME(30);
lcdregs = 008H;          /* display off,cursor off,no blink  */
CALL TIME(30);
lcdregs = 001H;          /* clear display             */
CALL TIME(30);
lcdregs = 0CH;          /* display on, cursor off        */
CALL TIME(30);
lcdregs = 06H;          /* auto-increment, shift cursor     */
CALL TIME(30);

END lcdinit;
END lcdinit;

hier geven ze mooi aan dat als de lcd >= 1x16 en <= 4x40 dan....
maar daarna:
code:
1
2
3
4
5
6
7
8
9
IF (lcdsize = lcd1x16)
OR (lcdsize = lcd1x20)
OR (lcdsize = lcd1x24)
OR (lcdsize = lcd1x32)
OR (lcdsize = lcd1x40)
THEN
    lcdregs = 030H;      /* 8 bits, 1 row, 5 x 7 dots     */
ELSE
    lcdregs = 038H;      /* 8 bits, 2 rows, 5 x 7

doen ze alleen maar wat met de 1-rij displays en de 2-rij displays... :?

This message was sent on 100% recyclable electrons.


Verwijderd

Op zaterdag 08 december 2001 16:22 schreef basiep het volgende:
doen ze alleen maar wat met de 1-rij displays en de 2-rij displays... :?
4x40 heeft 2 controllers, je stuurt ze eigenlijk aan als 2 displays van 2x40. Maare als je nu es gewoon je bestaande code weg rot, en opnieuw begint met alleen dat datasheet, en gewoon eerst je eigen driver maken (niet zinloos code cut 'n pasten dus) voor aan sturing tot 4x20, dan beloof ik je dat de stap naar 'n 4x40 kinder spel is later.

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
ik heb al goede code voor 4x20, maar ik merk nogal weinig van dat 'kinderspel'
ik krijg hier een beetje het gevoel dat de 4x40 ondersteuning geheim is ofzo?
een raadsel dat je alleen zelf mag oplossen?
whatever.. :?
(ff rare gedachtengang)

maar okay: je zei dat van 4x20 naar 4x40 makelijk was. Okay, ik snap die code van de 4x20 prima, maar hoe zit dat nu met een 4x40?

ow nog een probleem:
Ik heb geen LCD, dus erg veel testen kan ik ook niet

This message was sent on 100% recyclable electrons.


Verwijderd

Op zaterdag 08 december 2001 17:17 schreef basiep het volgende:
ik krijg hier een beetje het gevoel dat de 4x40 ondersteuning geheim is ofzo?
Ehh ik heb dit al eerder gezecht, het enige verschil tussen en 4x40 en kleiner is een 2e hd44780 controller die alle datalines shared maar wel z'n eigen enable heeft die op pin 17 van je lpt geschakeld wordt, nix geheimzinnigs aan maar je wilt het gewoon niet zien geloof ik...
maar okay: je zei dat van 4x20 naar 4x40 makelijk was. Okay, ik snap die code van de 4x20 prima, maar hoe zit dat nu met een 4x40?
Nou ok prima dan, zorg dat ie voor regels 3 en 4 die 2e enable gebruikt en je bent klaar..
ow nog een probleem:
Ik heb geen LCD, dus erg veel testen kan ik ook niet
Lui genoeg op got die het graag voor je testen kan ik melden ;)

  • Dennis Nijhuis
  • Registratie: December 2000
  • Laatst online: 09-03-2025
Basiep: ik heb wel een 4*40 lcd en wil dus wel voor je testen. Als je iets hebt mag je wel ff mailen, oké?
Volgensmij is het niet zo heel moeilijk om dat te proggen, maar ik kan me natuurlijk zwaar vergissen.

Bestuh!!


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:04

Creepy

Tactical Espionage Splatterer

hmm... voor als je nog steeds niet doorhebt hoe je de tweede controller aanstuurt:

Is precies hetzelfde als de eerste controller, het verschil zit em erin dat je de juiste ENABLE lijn hoog/laag moet gooien. Die enable lijn van de tweede controller is dus pin 17 op de LPT poort.

Hmz.. dacht dat je in Delphi bezig was BasieP? Die code van die je hebt laten zien is dit toch echt niet. Mag ik vragen waar je dat vandaan hebt?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10-2025
van de site die eerder in dit draadje gepost is

This message was sent on 100% recyclable electrons.


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:04

Creepy

Tactical Espionage Splatterer

hm.. ik zie het ja... voorbeeld voor de aansturing van een LCD via een 8051. Grappig als voorbeeld, maar heb je vrij weinig aan denk ik. Die 8051 kan gewoon rechtstreeks alle lijnen aansturen en uitlezen. Dat iets iets wat op je parallele poort wat moeilijker gaat helaas (als je meer dan 8 pinnen gebruikt dus)

Wil het trouwens al lukken met het schrijven van een eigen aansturing?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1