Forum: Mikrocontroller und Digitale Elektronik Testen ob ein Display kaputt ist


von jacky (Gast)


Lesenswert?

Hi ich hab seit langem mal wieder einen Display aus der Schublade 
gekramt und ein altes Programm geladen, womit er einst funktioniert hat. 
Doch jetzt funktioniert er nicht mehr.

Hier das ist der Display:
http://www.komputer.de/zen/index.php?main_page=product_info&cPath=30&products_id=74

Hier ist mein Code ich habe die Clearfunktion so abgeändert das der 
Display komplett schwarz sein sollte.
1
#define LCD_RST PB1
2
#define SPI_CS  PB2
3
#define LCD_DC  PB0
4
5
#include <avr/io.h>
6
#include <util/delay.h>
7
8
int main(void)
9
{
10
  DDRB = 0xff;
11
  PORTB = 0x00;
12
  
13
  PORTB &= ~(1<<LCD_RST);
14
  _delay_ms(5);
15
  PORTB |= (1<<LCD_RST);
16
  
17
  spi_init();
18
  
19
  lcd_out(0x21, 0);
20
  lcd_out(0xc0, 0);
21
  lcd_out(0x06, 0);
22
  lcd_out(0x13, 0);
23
  lcd_out(0x20, 0);
24
  lcd_clear();
25
  lcd_out(0x0c, 0);
26
}
27
28
void lcd_out(unsigned char data, unsigned char datatype)
29
{
30
  PORTB &= ~(1 << SPI_CS);
31
  
32
  if(datatype == 0)
33
  {
34
    PORTB &= ~(1 << LCD_DC);
35
  }
36
  else
37
  {
38
    PORTB |= (1 << LCD_DC);
39
  }
40
  
41
  SPDR = data;
42
  
43
  while((SPSR & 0x80) == 0);
44
  
45
  PORTB |= (1 << SPI_CS);
46
}
47
48
void lcd_clear()
49
{
50
  unsigned int i;
51
52
  lcd_out(0x0c, 0);
53
  lcd_out(0x80, 0);
54
55
  for (i=0; i<504; i++)
56
  lcd_out(0xff, 1);
57
}
58
59
//spi
60
void spi_init(void)
61
{
62
  SPCR = (1 << SPE) | (1 << MSTR) | (1 << SPR0);
63
}

Kann es sein das der Display kaputt gegangen ist? Und wie testet man das 
allgemein? Das Backlight funktioniert noch.

von hp-freund (Gast)


Lesenswert?

Andere Taktfrequenz als früher?

von Nico (nico123)


Lesenswert?

Wenn Du es nicht falsch angeschlossen hast oder bei Extremtemperatuen 
gelagert hast, dann ist es sehr unwahrscheinlich dass es defekt ist!

Ist es korrekt angeschlossen: Vcc, Reset, richtige Ports am µC gewählt?

Was zeigt es denn an wenn du ihm Daten schickst?

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

jacky schrieb:
> Kann es sein das der Display kaputt gegangen ist? Und wie testet man das
> allgemein? Das Backlight funktioniert noch.

Teste Dein Programm zuerst mit einem definitiv funktionierendem Display. 
Wenn dieses damit klappt, ist die Wahrscheinlichkeit, eine 
Funktions-Aussage über das eigentliche Test-Display zu treffen, 
wesentlich höher.

von jacky (Gast)


Lesenswert?

Ja es ist alles richtig angeschlossen und habe auch getestet das kein 
Dauerreset dran liegt.

Die Taktfrequenz hat sich nicht geändert ich nehme immer die interne 
Taktfrequenz.

Wenn ich Datenschicke dann sehe ich eben nix. Ab und zu meine ich ein 
wenig flackern zu sehen.

von Nico (nico123)


Lesenswert?

Und wie hoch ist die SPI-Taktfrequenz? Laut Datenblatt darfst Du maximal 
100kHz!

von jacky (Gast)


Lesenswert?

Die Taktfrequenz ist 1MHz und der Teiler ist 16 weil im SPCR der Teiler 
auf 16 gestellt ist. Also sollte ich drunter liegen.

von hp-freund (Gast)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.