Hallo Tweakerts 
Ik heb een vraagje, ik ben druk bezig met het aansturen van een LCD module in C++, met een uC.
De microcontroller is Atmega328P. Goed eerst even wat info;
Datasheet LCD Module
Alles is als volgt aangesloten;
Poort, Function
B6, E (Enable LCD)
B5, RS (Slect tussen data of commando's)
B4, R/W (Altijd 0 want we blijven lekker schrijven)
B3, D7
B2, D6
B1, D5
B0, D4
En zoals te zien gaat het dus via 4 Bits.
Dan de code :
Wat ik doe, of in elk geval wat ik denk dat ik doe is het display initializeren volgens de datasheet.
Dit is dus puur het initializeren, de rest komt daarna wel
.
Alleen; het werkt dus niet. Aan het einde geef ik "Clear DIsplay" maar het display gaat niet leeg, er verandert helemaal niets !
Heeft iemand ervaring met het initializeren van een KS0066 aangestuurd display ? Het liefst via C++ maar Assembler mag evt. ook
Thnx
EDIT: in eerst instantie lijkt het nu te werken ! Ik vergat enable LCD hoog te zetten
voor nu iig gered
Ik heb een vraagje, ik ben druk bezig met het aansturen van een LCD module in C++, met een uC.
De microcontroller is Atmega328P. Goed eerst even wat info;
Datasheet LCD Module
Alles is als volgt aangesloten;
Poort, Function
B6, E (Enable LCD)
B5, RS (Slect tussen data of commando's)
B4, R/W (Altijd 0 want we blijven lekker schrijven)
B3, D7
B2, D6
B1, D5
B0, D4
En zoals te zien gaat het dus via 4 Bits.
Dan de code :
C++:
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
| #include <io.h> void Delay(int timer) { for (int i=0;i<timer;i++) { for (int j=0;j<78;j++) { for (int k=0;k<254;k++) { int l=0; l++; } } } } int main() { DDRB=0xFF; Delay(5); // power up 50 mSec wait PORTB=0x03; Delay(5); PORTB=0x03; Delay(5); PORTB=0x03; Delay(5); PORTB=0x02; Delay(5); PORTB=0x02; PORTB=0x00; PORTB=0x04; PORTB=0x00; PORTB=0x10; PORTB=0x00; PORTB=0x07; } |
Wat ik doe, of in elk geval wat ik denk dat ik doe is het display initializeren volgens de datasheet.
Dit is dus puur het initializeren, de rest komt daarna wel
Alleen; het werkt dus niet. Aan het einde geef ik "Clear DIsplay" maar het display gaat niet leeg, er verandert helemaal niets !
Heeft iemand ervaring met het initializeren van een KS0066 aangestuurd display ? Het liefst via C++ maar Assembler mag evt. ook
Thnx
EDIT: in eerst instantie lijkt het nu te werken ! Ik vergat enable LCD hoog te zetten
[ Voor 3% gewijzigd door Bloemstukje op 26-01-2011 20:41 ]
gewoon nee.