Hallo Leute ich habe ein Problemchen:
Ich habe RN-Control 1.4, ein LCD vom Pollin LCD YL 162-90 16x2 Und ein RN Adapter Wannenstecker auf Steckklemmen.
Link zum Pollin Datenblatt:
http://www.pollin.de/shop/downloads/D120060D.PDF
Und hier noch eins:
So nun wirds kompliziert, zumindestens für mich. Ich habe das Display wie folgt angeschlossen:
Pin1 GND am RN Adapter
Pin2 +5V am RN Adapter
Pin3 Leer
Pin4 auf Pin6 RN Adapter
Pin5 Leer
Pin6 auf Pin5 RN Adapter
Pin7 Leer
Pin8 Leer
Pin9 Leer
Pin10 Leer
Pinn11 auf Pin1 RN Adapter
Pinn12 auf Pin2 RN Adapter
Pinn13 auf Pin3 RN Adapter
Pinn14 auf Pin4 RN Adapter
Pinn15 +5V am RN Adapter
Der RN Adapter ist mit dem PortB verbunden
(gerade beim Tippen ist mir jetzt was aufgefallen. Am RN Adapter sind es Pin0-Pin7 und Im Bascom Pin1-bis Pin8 dann bin ich um ein Pin verschoben oder?)
Ich habe kein Poti dram um Kontrast zu regeln.
Eigentlich sollte doch auf dem Display Hallo Welt erscheinen. Aber das Display bleibt leer kein cursor kein Zeichen nur die Hintergrundbeleuchtung leuchtet.
Kann mir da jemand helfen bitte.
Und das ist mein Bascom Code:
Code:Declare Sub Zufallszahlperseriellsenden() 'Declare Sub Motortest() 'Declare Sub Lauflicht() 'Declare Sub Showporta() 'Declare Sub Showdigitalporta() Declare Function Tastenabfrage() As Byte $regfile = "m32def.dat" $framesize = 32 $swstack = 32 $hwstack = 32 Dim I As Integer Dim N As Integer Dim Ton As Integer $crystal = 16000000 'Quarzfrequenz $baud = 9600 Config Adc = Single , Prescaler = Auto 'Für Tastenabfrage und Spannungsmessung Config Pina.7 = Input 'Für Tastenabfrage Porta.7 = 1 'Pullup Widerstand ein Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4 , E = Portb.5 , Rs = Portb.6 Config Lcdmode = Port Cls Locate 1 , 1 Lcd "Hallo Welt" Const Ref = 5 / 1023 'Für Batteriespannungsberechnung Dim Taste As Byte Dim Volt As Single I = 0 Sound Portd.7 , 400 , 450 'BEEP Sound Portd.7 , 400 , 250 'BEEP Sound Portd.7 , 400 , 450 'BEEP Print Print "**** RN-Control 1.4 *****" Print "Eddies Test und Lernprogramm" Print Do Taste = Tastenabfrage() If Taste <> 0 Then Select Case Taste Case 1 Call Zufallszahlperseriellsenden 'Batteriespannung 'Taste 1 Zeigt Bateriespannung über RS232 an Case 2 Call Zufallszahlperseriellsenden 'Motortest 'Taste 2 Motoren beschleunigen und abbremsen Case 3 Call Zufallszahlperseriellsenden 'Lauflicht 'Einige Male Lauflicht über LEDs anzeigen. 'Am I2C-Port darf in diesem Moment nichts angeschlossen sein Case 4 Call Zufallszahlperseriellsenden 'Showporta 'Zeigt Messwerte an allen Port A PINs Case 5 Call Zufallszahlperseriellsenden 'Showdigitalporta 'Zeigt digitalen I/O Zustand von PA0 bis PA5 an End Select Sound Portd.7 , 400 , 500 'BEEP End If Waitms 100 Loop End 'Diese Unterfunktion fragt die Tastatur am analogen Port ab Function Tastenabfrage() As Byte Local Ws As Word Tastenabfrage = 0 Ton = 600 Start Adc Ws = Getadc(7) ' Print "Tastenabfrage anpassen!ADC Wert ws=" ; Ws If Ws < 500 Then Select Case Ws Case 400 To 450 Tastenabfrage = 1 Ton = 550 Case 330 To 380 Tastenabfrage = 2 Ton = 500 Case 260 To 305 Tastenabfrage = 3 Ton = 450 Case 180 To 220 Tastenabfrage = 4 Ton = 400 Case 90 To 130 Tastenabfrage = 5 Ton = 350 ' Case Else ' Print "Tastenabfrage anpassen!ADC Wert ws=" ; Ws End Select Sound Portd.7 , 400 , Ton 'BEEP End If End Function Sub Zufallszahlperseriellsenden() Dim A As Integer Dim B As Integer Dim C As Integer Dim D As Integer A = Rnd(100) B = Rnd(100) C = Rnd(100) D = Rnd(100) Print Val(a) ; ";" ; Val(b) ; ";" ; Val(c) ; ";" ; Val(d) ; ";" End Sub '( 'dieser Abschnitt kommt oben nach Dim Vvolt rein ' Für Motorentest 'Ports für linken Motor Config Pinc.6 = Output 'Linker Motor Kanal 1 Config Pinc.7 = Output 'Linker Motor Kanal 2 Config Pind.4 = Output 'Linker Motor PWM 'Ports für rechten Motor Config Pinb.0 = Output 'Rechter Motor Kanal 1 Config Pinb.1 = Output 'Rechter Motor Kanal 2 Config Pind.5 = Output 'Rechter Motor PWM Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down Pwm1a = 0 Pwm1b = 0 Tccr1b = Tccr1b Or &H02 'Prescaler = 8 'Diese Unterfunktion zeigt Batteriespannung an Sub Batteriespannung() Local W As Word Start Adc W = Getadc(6) Volt = W * Ref Volt = Volt * 5.2941 Print "Die aktuelle Spannung beträgt: " ; Volt ; " Volt" End Sub 'Testet Motoren und Geschwindigkeitsreglung Sub Motortest() 'Linker Motor ein Portc.6 = 1 'bestimmt Richtung Portc.7 = 0 'bestimmt Richtung Portd.4 = 1 'Linker Motor EIN 'Rechter Motor ein Portb.0 = 1 'bestimmt Richtung rechter Motor Portb.1 = 0 'bestimmt Richtung rechter Motor Portd.5 = 1 'rechter Motor EIN I = 0 Do Pwm1a = I Pwm1b = I Waitms 40 I = I + 5 Loop Until I > 1023 Wait 1 Do Pwm1a = I Pwm1b = I Waitms 40 I = I - 5 Loop Until I < 1 Pwm1a = 0 'Linker Motor aus Pwm1b = 0 'rechter Motor aus End Sub ' Einige Male Lauflicht über LEDs anzeigen. Am I2C-Port darf in diesem ' Moment nichts angeschlossen sein Sub Lauflicht() Config Portc = Output Portd = 0 For N = 1 To 10 For I = 0 To 7 Portc.i = 0 Waitms 100 Portc.i = 1 Next I Next N Config Portc = Input End Sub 'Zeigt die analogen Messwerte an Port A an Sub Showporta() Local Ws As Word Config Porta = Input For I = 0 To 5 ' Alle internen Pullup Widerstände ein, bis auf Batteriespannungsmessungsport Porta.i = 1 Next I Print Print "Ermittelte Messwerte an Port A:" For I = 0 To 7 ' Alle Eingänge inkl. messen Start Adc Ws = Getadc(i) Volt = Ws * Ref Print "Pin " ; I ; " ADC-Wert= " ; Ws ; " bei 5V REF waeren das " ; Volt ; " Volt" Next I End Sub 'Zeigt den Zustand einiger freier I/O von Die Analogen Messwerte An Port A An Sub Showdigitalporta() Local Zustand As String * 6 Config Porta = Input For I = 0 To 5 ' Alle internen Pullup Widerstände ein, bis auf Batteriespannungsmessungsport Porta.i = 1 Next I Print Print "Ermittelter I/O Zustand Port A:" For I = 0 To 5 ' Alle Eingänge inkl. messen If Pina.i = 1 Then Zustand = "High" Else Zustand = "Low" End If Print "Pin " ; I ; " I/O Zustand= " ; Pina.i ; " " ; Zustand Next I End Sub ')







Zitieren

Lesezeichen