Atmega8 SPI Display Dogm162 3,3V 4Bit ansteuern BASCOM

Gast #4356768
Lesenswert?

Hallo zusammen,

ich hab jetzt alle Beiträge durch was Bascom und SPI mit DOGM betrifft, 
auch die Bascom Hilfe bringt mir nichts.
Ich glaub ich bin zu doof ein einfaches Display an zu steuern.
SPI hab ich bis jetzt noch nicht gemacht und stellt sich als relativ 
schwierig heraus.

Ich hab einen Atmega8 und ein Dogm162 Display

Verschaltet ist es so:

Atmega8 --- Display

8 PB7   ---  38 CSB
7 PB6   ---  39 RS
15 Mosi --- 28 SI
17 SCK  --- 29 CLK

Mir ist etwas schleierhaft wie ich die CSB und RS Pins ansteuern muss...

Die Initialisierung mit den Hex werten ist genau nach Datenblatt

Versorgt wird alles über 3,3Volt und Beschaltung ist ebenfalls genau 
nach Datenblatt
http://www.lcd-module.de/pdf/doma/dog-m.pdf


Ich bekomms einfach nicht zum laufen....
Könnt ihr mir hier irgendwie weiterhelfen?

1
$regfile = "m8def.dat"
2
$Crystal=4000000
3
$hwstack=40
4
$swstack=16
5
$framesize=32
6

7

8
'*************************************LCD***************************************
9
Config Spi = Hard , Interrupt = Off , Data_order = Msb , Master = Yes , Polarity = High , Phase = 0 , Clockrate = 16 , Noss = 1 , Spiin = 0
10

11

12
'*************************************VAR***************************************
13
Dim Spi_temp As Byte
14

15

16
'RS vom Display
17
Config Portb.6 = Output
18
Rs Alias Portb.6
19
Rs = 1
20

21

22
'CSB vom Display
23
Config Portb.7 = Output
24
Inv_cs Alias Portb.7
25
Inv_cs = 1
26

27
'***********************************LCD_INIT************************************
28

29
Reset Rs
30
Reset Inv_cs
31

32
waitms 5
33

34

35
Spi_temp=&H39
36
Spiout Spi_temp , 1                                        
37

38

39
Waitms 5
40

41
Spi_temp = &H14
42
Spiout Spi_temp , 1                                       
43

44
Waitms 5
45

46
Spi_temp = &H55
47
Spiout Spi_temp , 1                                        
48

49
Waitms 5
50

51
Spi_temp = &H6D
52
Spiout Spi_temp , 1      
53

54

55
Waitms 5
56

57
Spi_temp = &H78
58
Spiout Spi_temp , 1                     
59
                    
60
Waitms 5
61

62
Spi_temp = &H38
63
Spiout Spi_temp , 1                                         
64

65

66
Waitms 5
67

68
Spi_temp = &H0F
69
Spiout Spi_temp , 1                                        
70

71
Waitms 5
72

73
Spi_temp = &H01
74
Spiout Spi_temp , 1                                         
75

76
Waitms 5
77

78
Spi_temp = &H06
79
Spiout Spi_temp , 1                                         
80

81

82
wait 5
83

84

85
 Cls                                                         
86
Locate 1 , 1 : Lcd "Hello World"
87

88
Locate 2 , 1 : Lcd "line 2"
89

90

91
do
92

93
wait 1
94

95
loop
96

97
End
#4356815
Lesenswert?

Es fehlt die Initialisierung  der SPI Schnittstelle, der Befehl 
"SPIINIT".

Das ist aber auch nicht richtig, denn die Pinnummern des Kontrollers 
stimmen nicht:

8 PB7   ---  38 CSB
7 PB6   ---  39 RS
15 Mosi --- 28 SI
17 SCK  --- 29 CLK

So ist es:

PB5 ist SCK (Anschluß 19)
PB4 ist MISO (anschluß 18)
PB3 ist MOSI (Anschluß 17)
PB2 ist SS   (Anschluß 16)

Der SS-Pin muß "von Hand" auf Ausgang gesetzt werden.

MfG Paul
Gast #4356901
Lesenswert?

Das Pinning am Controller stimmt schon, da ich die Bauform MLF benutze

Siehe Bild

Kannst du mir sagen wo ich welchen pin hinverbinden muss?

PB5 ist SCK (Anschluß 17)   -- > Dogm CLK (Pin 29)
PB4 ist MISO (anschluß 16)  -- > Dogm CSB (Pin 38)
PB3 ist MOSI (Anschluß 15)  -- > Dogm SI (Pin 28)
PB2 ist SS   (Anschluß 14)  -- > Dogm RS (Pin 39)

Dann das "Spiinit" ich nehm mal an vor "Config Spi = "

Und den Ausgang PB2 auf Output Configurieren

Bei dem Miso muss man nichts mehr machen, oder?


Werd dann gleich mal umlöten
Angehängte Dateien:
Gast #4358574
Lesenswert?

Ich brings einfach nicht hin...

Werd mal meinen Atmega wechseln, vielleicht ist hier was defekt.


Sobald das Läuft meld ich mich mit dem Quellcode nochmal für alle die 
irgendwann auch so ein Problem haben.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren