BASCOM LCD 20*4

OP #2837874
Lesenswert?

Hallo,

habe folgendes Problem:

http://www.youtube.com/watch?v=jb1hbH2tqcI&feature=plcp

Bei dem Atmega128 handelt es sich um das Modul von Avr-Praxis.

Db7 ist an PE.4 (OCB3)
Db6 ist an PE.6 (T3 INT6)
Db5 ist an PB.0 (SS\)
Db4 ist an PB.2 (MOSI)
E   ist an PB.4 (OC0)
RS  ist an PB.6 (OC1B)
GND LCD ist an PG.3 (TOSC2)

in Klammern die Alternativbelegung...


Danek für Eure Hilfe!
Christoph
1
'--------------------------------------------------------------------------
2
' Compilerinstruktionen und Compilerdirektiven
3
'--------------------------------------------------------------------------
4

5
$regfile = "m128def.dat"
6
$crystal = 16000000
7
$hwstack = 64
8
$swstack = 64
9
$framesize = 64
10
$baud = 9600
11

12
'--------------------------------------------------------------------------
13
' Definition von Ressourcen
14
'--------------------------------------------------------------------------
15

16
Pwr_all Alias Portg.0                                       ' Relais 12 Volt für alles
17
Pwr_tft Alias Portg.1
18
Pwr_video Alias Portb.7
19
Pwr_xbee Alias Porte.2
20
Pwr_gps Alias Portc.6
21

22
Pwr_lcd Alias Portg.3                                       ' LCD GND
23

24
Tft1 Alias Portb.5
25
Tft2 Alias Portb.3
26
Tft3 Alias Portb.1
27
Tft4 Alias Porte.7
28
Tft5 Alias Porte.5
29

30
Led_gruen Alias Portd.6                                     ' link-LED
31

32
Ledduo_rot Alias Portd.5                                    ' Duo-LED für Battery-Status rot und grüen
33
Ledduo_gruen Alias Portd.7
34

35
Lcd_led Alias Porte.3                                       ' LCD-Beleuchtung
36

37
Bit0 Alias Portd.1
38
Bit1 Alias Portd.4
39
Bit2 Alias Portd.0
40

41
Piezo Alias Portg.4                                         ' Piezo
42

43
Joy_taster_rechts Alias Pinf.0                              ' Taster Joystick rechts
44
Joy_taster_links Alias Pinf.2                               ' Taster Joystick links
45

46

47

48
'--------------------------------------------------------------------------
49
' Definition von Konstanten
50
'--------------------------------------------------------------------------
51

52
Const Adc_multi = 0.0048828125                              ' = 5.0 / 1024.0 -> ADC auflösen
53
Const Timerstartwert1 = 36735
54

55

56
'--------------------------------------------------------------------------
57
' Definition von Variablen und Datentypen
58
'--------------------------------------------------------------------------
59

60
'---- Command senden ----
61
Dim Cmd As Byte
62

63
'---- Betriebsspannung messen ----
64
Dim Spannung As Word
65
Dim Battery_orig As Single
66
Dim Battery As String * 5
67

68
'---- Commands einlesen ----
69
Dim Dollarzeicheneingang As Byte                            'Beginn des Datenstrings mit Dollarzeichen
70
Dim Teildaten(14) As String * 20                            ' Array mit den extrahierten Daten
71
Dim Anzahl As Byte
72
Dim Datenstring As String * 40
73
Dim Datenkopf As String * 7
74

75
'---- LCD Darstellung ----
76
Dim Lcd_command As String * 20
77
Dim Lcd_voltage As String * 20
78
Dim Lcd_temperatur As String * 20
79
Dim Lcd_gps As String * 20
80

81
'---- Link-Flag ----
82
Dim Connect As Bit
83

84
'---- GPS RS232 TTl einlesen ----
85
Dim Gelesen As Byte                                         'eingelesenes Zeichen
86

87
Dim Teilstring(14) As String * 12
88
Dim Anzahl2 As Byte
89
Dim Gpsdaten As String * 98
90
Dim Header As String * 6
91
Dim Stunde As Byte
92
Dim Tempstring As String * 2
93

94
'---- Sekundenzähler/Timer ---
95
Dim Sec1 As Word                                            ' Variable für Timer1
96
Dim Sec0 As Word
97

98
'---- ADC Joysticks ----
99
Dim Joy_links_y As Word                                     ' Y-Achse LINKS
100
Dim Joy_links_x As Word                                     ' X-Achse LINKS
101

102
Dim Joy_rechts_y As Word                                    ' Y-Achse RECHTS
103
Dim Joy_rechts_x As Word                                    ' X-Achse RECHTS
104

105

106
'---- LCd Menü ----
107

108

109
'--------------------------------------------------------------------------
110
' Konfiguration und Basiseinstellungen
111
'--------------------------------------------------------------------------
112

113
'---- RS232 Software GPS ----
114
' RS232 Hardware
115
Config Serialin = Buffered , Size = 110                     ' konfig serial in
116
Open "COMC.0:9600,8,N,1" For Input As #1                    ' PC.2 = RxD SoftUART / GPS
117
Open "COMC.2:9600,8,N,1" For Output As #2                   ' PC.3 = TxD SoftUART / GPS
118

119
'---- ADC ----
120
Config Adc = Single , Prescaler = Auto , Reference = Avcc   'ADC Wandler definieren
121

122
'---- Timer ----
123
Config Timer1 = Timer , Prescale = 256                      ' für zähler Timer1 konfigurieren
124

125
Config Timer3 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1       ' für led und kontrast timer3
126

127

128
'---- Outputs ----
129
Config Pwr_all = Output
130
Config Pwr_video = Output
131
Config Pwr_tft = Output
132
Config Pwr_xbee = Output
133
Config Pwr_gps = Output
134
Config Pwr_lcd = Output
135
Config Led_gruen = Output
136
Config Ledduo_rot = Output
137
Config Ledduo_gruen = Output
138
Config Lcd_led = Output
139
Config Bit0 = Output
140
Config Bit1 = Output
141
Config Bit2 = Output
142
Config Tft1 = Output
143
Config Tft2 = Output
144
Config Tft3 = Output
145
Config Tft4 = Output
146
Config Tft5 = Output
147

148
'---- Joysticks ----
149
Config Joy_taster_links = Input
150
Config Joy_taster_rechts = Input
151

152

153

154

155

156

157

158

159
Pwr_lcd = 0                                                 ' LCD einschalten
160

161
Wait 2
162

163
'---- LCD ----
164
Config Lcd = 20 * 4
165
Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.0 , Db6 = Porte.6 , Db7 = Porte.4 , E = Portb.4 , Rs = Portb.6
166
Cursor Off
167

168
Deflcdchar 0 , 32 , 32 , 21 , 14 , 4 , 4 , 4 , 4            ' Link-Zeichen
169
Deflcdchar 1 , 32 , 14 , 31 , 31 , 31 , 31 , 31 , 31        ' battery-full
170
Deflcdchar 2 , 32 , 14 , 31 , 17 , 17 , 31 , 31 , 31        ' battery-half
171
Deflcdchar 3 , 32 , 14 , 31 , 17 , 17 , 17 , 17 , 31        ' battery empty
172

173
'---- Interrupts ----
174
Enable Interrupts
175
Enable Timer1
176
Enable Timer3
177

178
On Timer1 Timer1_isr
179

180
Start Adc
181

182

183
'--------------------------------------------------------------------------
184
' Init
185
'--------------------------------------------------------------------------
186

187
Pwr_all = 1                                                 ' Relais für POWER ON einschalten
188

189
Waitms 250
190

191
Bit0 = 1                                                    ' Kanal für 5,8 Ghz alles zunächst high
192
Bit1 = 1
193
Bit2 = 1
194

195
Pwr_xbee = 1                                                ' XBee einschalten ON
196
Pwr_gps = 1                                                 ' GPS Modul einschalten ON
197

198
Led_gruen = 1                                               ' Led-grün OFF
199
Ledduo_rot = 0                                              ' Duo-LEDs OFF
200
Ledduo_gruen = 0
201

202

203

204
                                            '
205
Lcd_led = 0                                                 ' LCD-Beleuchtung ON
206

207
Connect = 0                                                 ' connect-flag = 0
208

209
Sec1 = 0                                                    ' sec1-Zähler = 0
210
Battery_orig = 12                                           ' zunächst von voller Batterie 12 Volt ausgehen
211

212
Tft1 = 1
213
Tft2 = 1
214
Tft3 = 1
215
Tft4 = 1
216
Tft5 = 1
217

218

219

220
Pwr_tft = 1                                                 ' TFT einschalten ON
221

222

223
Pwr_video = 0                                               '1                                               ' 5,8 Ghz einschalten ON
224

225

226

227
Sound Piezo , 220 , 227
228
Waitms 125
229
Sound Piezo , 220 , 227
230
Waitms 125
231
Sound Piezo , 220 , 227
232
Waitms 125
233

234
Wait 1
235

236
' Begrüßung
237
Cls
238
Cursor Off
239

240
Locate 1 , 1
241
Lcd "KaprigControlRxZ1"
242
Locate 2 , 1
243
Lcd "KaprigControlRxZ2"
244
Locate 3 , 1
245
Lcd "KaprigControlRxZ3"
246
Locate 4 , 1
247
Lcd "KaprigControlRxZ4"
248

249

250

251
'--------------------------------------------------------------------------
252
' Hauptprogramm
253
'--------------------------------------------------------------------------
254

255
Cls
256

257
Do
258
Loop
259
End
Gast #2837923
Lesenswert?

Hallo,

da würde ich erstmal 99% vom Code auskommentieren und nur die LCD 
Routine testen.

Wenn die dann funktioniert, dann Stück für Stück den Rest wieder rein 
und Du wirst das Problem finden.
Gast #2838067
Lesenswert?

Als erstes würde ich mal die M103C Fuse abschalten.
Wenn das nicht hilft den Fehler in der Verdrahtung zum
LCD suchen.

Cls  ' Das hier hätte das Display eigentlich löschen müssen.
     ' Im Video sieht man aber den Müll immer noch;)

Do
Loop
End

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