Hallo!
Ich versuche schon sehr lange ein Nokia 3310 Display mit einem Pic
anzusteuern! Ich habe auch schon sehr viele Informationen zu diesem
Thema gefunden! Doch leider klappt es nicht.
Mein Display arbeitet einfach nicht und ich weiß einfach nicht warum!
Habe ich vielleicht irgendetwas im Code übersehen dass falsch sein
könnte??
1 | #include<18F4680.h>
|
2 | #use delay (clock=20000000)
|
3 | #fuses HS, NOWDT, NOPROTECT, NOLVP
|
4 | #include<stdlib.h>
|
5 | #include<stdio.h>
|
6 |
|
7 | void main (void) {
|
8 | //int i;
|
9 | // configure SPI
|
10 | // SMP CKE D/A P S R/W UA BF
|
11 | // 0 0 0 0 0 0 0 0
|
12 | #bit SSPSTAT_CKE = 0xb.6
|
13 | // WCOL SSPOV SSPEN CKP SSPM3 SSPM2 SSPM1 SSPM0
|
14 | // 0 0 1 0 0 0 0 1
|
15 | // SSPM3-SSPM0: 0000 -> Master Mode; Tosc/16
|
16 | // SSP Enable Bit: 1
|
17 | #bit SSPCON1_CKP = 0xb.4
|
18 |
|
19 | SSPCON1_CKP = 0;
|
20 | SSPSTAT_CKE = 0;
|
21 |
|
22 | setup_spi(spi_master|SPI_CLK_DIV_16);
|
23 |
|
24 | //Display reset
|
25 | output_high(PIN_C4); // RES
|
26 | delay_ms(5);
|
27 | output_low(PIN_C4); // RES
|
28 | delay_ms(20);
|
29 | output_high(PIN_C4); // RES
|
30 |
|
31 | output_low(PIN_D3); // Chip enabled
|
32 |
|
33 | output_low(PIN_D2); // D/C -> DIsplay mode
|
34 | spi_write(0x21);
|
35 | spi_write(0xC8);
|
36 | spi_write(0x06);
|
37 | spi_write(0x13);
|
38 | spi_write(0x20);
|
39 | spi_write(0x0C);
|
40 |
|
41 | output_high(PIN_D2); // D/C -> DIsplay mode
|
42 |
|
43 | spi_write(0xFF);
|
44 | spi_write(0x00);
|
45 | spi_write(0xFF);
|
46 | spi_write(0x00);
|
47 | spi_write(0xFF);
|
48 | spi_write(0x00);
|
49 | spi_write(0xFF);
|
50 | spi_write(0x00);
|
51 | spi_write(0xFF);
|
52 | spi_write(0x00);
|
53 | spi_write(0xFF);
|
54 | spi_write(0x00);
|
55 |
|
56 | while(true) {
|
57 | }
|
58 | }
|
Die Schaltung habe ich so aufgebaut, wie es im Internet sehr sehr oft zu
finden ist:
PIN
1 -> 3,3V
2 -> SCLK
3 -> SDI
4 -> D/C
5 -> SCE
6 -> GND
7 -> Vout
8 -> RES
(bei jedem PIN vom Display max.3,3V -> durch Spannungsteiler)
Ich habe schon alle Lötstelle des öfteren überprüft und auch mit dem
Messgerät die Verbindungen überprüft, aber ich finde keinen Fehler!
Kann es sein, dass das Display beim anlöten beschädigt worden ist?
also ist das Display darauf sehr empfindlich (war nicht ganz einfach die
Drähte anzulöten da ich nicht einen so feinen lötkolben habe)
Habe auch noch ein Display von einem Nokia5110 zuhause aber das
funktioniert mit diesem Code auch nicht (habe den 9tn PIN
berücksichtigt; PIN6 auf V+ -> interner Oszillator)
aja die beiden DIsplays funktionieren, also das vom 5110 funktioniert
mit Sicherheit immer noch! und das vom 3310er hat, bevor ich die Drähte
angelötet habe, auch funktioniert (jetzt kann ich es ja nicht mehr in
das handy einbauen und testen)
Ich hoffe mir kann jemand helfen und danke schon im Voraus!
mfg dewe