- LiFePO4 Speicher Test         
Ergebnis 1 bis 8 von 8

Thema: Hilfe beim Applikationsboard LCD

  1. #1
    Neuer Benutzer
    Registriert seit
    17.04.2004
    Ort
    Halle an der Saale
    Alter
    45
    Beiträge
    3

    Hilfe beim Applikationsboard LCD

    Anzeige

    E-Bike
    Hallo, sicherlich nervt es vereinzelt die profis das hin und wieder nervige simple fragen auftauchen. nun auch hinweise auf die suchoptionen sind wahrlich etwas überflüssig. ich Suche einen der mir ein kleines programm schreiben kann. es geht hierbei nur darum das ich einmal verstehe wie man das 2x16 LCD Display ansteuern kann. klar sind beispielprogramme hier und da hilfreich,jedoch nicht immer. ich versuche über eine if anweisung einen sprung zu einer lcd ausgabe zu realisieren,aber ohne erfolg.auch beim versuch ein fertiges beispielprogramm umzubasteln führte mich mehr zu anderen erfolgen als zu dem was ich benötige. ich versuche eine lampencontrol zu realisieren,E-technisch kein thema jedoch das signal bei defekt soll eben am LCD display erscheinen. das AD Signal ist kleiner 10 welches am LCD DIsplay eben ausgeben soll "Lampe defekt" welches auch beim größer 10 eingang wieder vom LCD gelöscht werden soll.(CLEAR) bitte helft mir... wenn auch nur tips.

    thx

    mago


    PS: noch ne andere frage, wenn der eingang unter 10 (von 255) ist dann ist doch die spannung kleiner.ich verwendete einen transistor der GND schaltet... und habe den IN stecker am Colektor nach einem Wiederstand geschalten.dieser wiederstand dann ist an der spannung. somit ist doch das signal IN immer zur masse oder? transistor C - E Strecke wird somit gemessen ?!?!?! müßte dann auch ca 200mV sein ~ <10 von 255

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.12.2003
    Alter
    34
    Beiträge
    1.187
    Das mit dem wiederstand kapier ich jetzt nicht so.

    Ich könnte dir ein LCD-Proggi geben, das ist aber auf meine Norm gesetzt, deshalnb müsstest du die Ports angleichen, wär' das was?
    Back on the road again...

    Falls ihr wissen wollt, was ich so in meiner roboterfreien Zeit gertieben hab: www.plasmaniac.de.vu

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.12.2003
    Alter
    34
    Beiträge
    1.187
    Code:
    '        ___   __                       __
    ' |     |     |  \        |   |  |  |  |   \
    ' |     |     |   |  ---  |   |  |--|  |---
    ' |___  |___  |__/        \___/  |  |  |   \
    
    define a 97
    define b 98
    define c 99
    define d 100
    define e 101
    define f 102
    define g 103
    define h 104
    define i 105
    define j 106
    define k 107
    define l 108
    define m 109
    define n 110
    define o 111
    define p 112
    define q 113
    define r 114
    define s 115
    define t 116
    define u 117
    define v 118
    define w 119
    define x 120
    define y 121
    define z 122
    define lcd byteport[2]
    define rw port[13]
    define rs port[14]
    define enable port[15]
    define buffer byte
    define parameter byte
    
    define zahl word
    define ziffer byte
    define jahr byte
    define tage byte
    
    gosub initialisierung
    pause 10
    
    #sync
    if year<97 then beep 150,50,0 else goto sync
    beep 150,25,25
    
    #loop
    gosub lcd_out
    goto loop
    
    #lcd_out
    parameter=1
    gosub whichline
    parameter=e-32
    gosub writeletter
    parameter=s
    gosub writeletter
    parameter=32
    gosub writeletter
    parameter=i
    gosub writeletter
    parameter=s
    gosub writeletter
    parameter=t
    gosub writeletter
    parameter=32
    gosub writeletter
    zahl=hour
    ziffer=zahl/10
    parameter=ziffer+48
    gosub writeletter
    zahl=zahl-ziffer*10
    ziffer=zahl
    parameter=ziffer+48
    gosub writeletter
    parameter=58
    gosub writeletter
    zahl=minute
    ziffer=zahl/10
    parameter=ziffer+48
    gosub writeletter
    zahl=zahl-ziffer*10
    ziffer=zahl
    parameter=ziffer+48
    gosub writeletter
    parameter=58
    gosub writeletter
    zahl=second
    ziffer=zahl/10
    parameter=ziffer+48
    gosub writeletter
    zahl=zahl-ziffer*10
    ziffer=zahl
    parameter=ziffer+48
    gosub writeletter
    if day<>tage then goto date
    tage=day
    return
    
    #date
    parameter=32
    gosub writeletter
    parameter=a
    gosub writeletter
    parameter=m
    gosub writeletter
    parameter=32
    gosub writeletter
    #mo
    if dow>1 then goto di
    parameter=m-32
    gosub writeletter
    parameter=o
    gosub writeletter
    parameter=n
    gosub writeletter
    parameter=t
    gosub writeletter
    parameter=a
    gosub writeletter
    parameter=g
    gosub writeletter
    goto trennteil
    #di
    if dow>2 then goto mi
    parameter=d-32
    gosub writeletter
    parameter=i
    gosub writeletter
    parameter=e
    gosub writeletter
    parameter=b
    gosub writeletter
    parameter=s
    gosub writeletter
    parameter=t
    gosub writeletter
    parameter=a
    gosub writeletter
    parameter=g
    gosub writeletter
    goto trennteil
    #mi
    if dow>3 then goto do
    parameter=m-32
    gosub writeletter
    parameter=i
    gosub writeletter
    parameter=t
    gosub writeletter
    parameter=t
    gosub writeletter
    parameter=w
    gosub writeletter
    parameter=o
    gosub writeletter
    parameter=c
    gosub writeletter
    parameter=h
    gosub writeletter
    goto trennteil
    #do
    if dow>4 then goto fr
    parameter=d-32
    gosub writeletter
    parameter=o
    gosub writeletter
    parameter=n
    gosub writeletter
    parameter=n
    gosub writeletter
    parameter=e
    gosub writeletter
    parameter=r
    gosub writeletter
    parameter=s
    gosub writeletter
    parameter=t
    gosub writeletter
    parameter=a
    gosub writeletter
    parameter=g
    gosub writeletter
    goto trennteil
    #fr
    if dow>5 then goto sa
    parameter=f-32
    gosub writeletter
    parameter=r
    gosub writeletter
    parameter=e
    gosub writeletter
    parameter=i
    gosub writeletter
    parameter=t
    gosub writeletter
    parameter=a
    gosub writeletter
    parameter=g
    gosub writeletter
    goto trennteil
    #sa
    if dow>6 then goto so
    parameter=s-32
    gosub writeletter
    parameter=a
    gosub writeletter
    parameter=m
    gosub writeletter
    parameter=s
    gosub writeletter
    parameter=t
    gosub writeletter
    parameter=a
    gosub writeletter
    parameter=g
    gosub writeletter
    goto trennteil
    #so
    if dow>7 then goto trennteil
    parameter=s-32
    gosub writeletter
    parameter=o
    gosub writeletter
    parameter=n
    gosub writeletter
    parameter=n
    gosub writeletter
    parameter=t
    gosub writeletter
    parameter=a
    gosub writeletter
    parameter=g
    gosub writeletter
    #trennteil
    parameter=32
    gosub writeletter
    parameter=d
    gosub writeletter
    parameter=e
    gosub writeletter
    parameter=n
    gosub writeletter
    parameter=32
    gosub writeletter
    zahl=day
    ziffer=zahl/10
    parameter=ziffer+48
    gosub writeletter
    zahl=zahl-ziffer*10
    ziffer=zahl
    parameter=ziffer+48
    gosub writeletter
    parameter=46
    gosub writeletter
    zahl=month
    ziffer=zahl/10
    parameter=ziffer+48
    gosub writeletter
    zahl=zahl-ziffer*10
    ziffer=zahl
    parameter=ziffer+48
    gosub writeletter
    parameter=46
    gosub writeletter
    zahl=year
    ziffer=zahl/10
    parameter=ziffer+48
    gosub writeletter
    zahl=zahl-ziffer*10
    ziffer=zahl
    parameter=ziffer+48
    gosub writeletter
    if day=30 and month=1 then gosub geburtstag
    return
    
    #geburtstag
    parameter=2
    gosub whichline
    parameter=h-32
    gosub writeletter
    parameter=e
    gosub writeletter
    parameter=r
    gosub writeletter
    parameter=z
    gosub writeletter
    parameter=l
    gosub writeletter
    parameter=i
    gosub writeletter
    parameter=c
    gosub writeletter
    parameter=h
    gosub writeletter
    parameter=e
    gosub writeletter
    parameter=n
    gosub writeletter
    parameter=32
    gosub writeletter
    parameter=g-32
    gosub writeletter
    parameter=l
    gosub writeletter
    parameter=u
    gosub writeletter
    parameter=e
    gosub writeletter
    parameter=k
    gosub writeletter
    parameter=w
    gosub writeletter
    parameter=u
    gosub writeletter
    parameter=n
    gosub writeletter
    parameter=s
    gosub writeletter
    parameter=c
    gosub writeletter
    parameter=h
    gosub writeletter
    parameter=32
    gosub writeletter
    parameter=z
    gosub writeletter
    parameter=u
    gosub writeletter
    parameter=m
    gosub writeletter
    parameter=32
    gosub writeletter
    parameter=49
    gosub writeletter
    parameter=52
    gosub writeletter
    parameter=46
    gosub writeletter
    parameter=g-32
    gosub writeletter
    parameter=e
    gosub writeletter
    parameter=b
    gosub writeletter
    parameter=u
    gosub writeletter
    parameter=r
    gosub writeletter
    parameter=t
    gosub writeletter
    parameter=s
    gosub writeletter
    parameter=t
    gosub writeletter
    parameter=a
    gosub writeletter
    parameter=g
    gosub writeletter
    
    #initialisierung
    lcd=off
    parameter=&h38:gosub command
    lcd=&b00000010
    tog enable
    tog enable
    parameter=&h28:gosub command
    parameter=&h0c:gosub command
    
    #clear
    parameter=&h02:gosub command
    parameter=&h02:gosub command
    return
    
    #whichline
    if parameter=1 then parameter=&h80
    if parameter=2 then parameter=&hc0
    goto command
    
    #command
    buffer=off
    goto write_
    
    #writeletter
    buffer=&b00100000
    
    #write_
    lcd=buffer or (parameter shr 4)
    tog enable
    tog enable
    lcd=buffer or (parameter and &h0f)
    tog enable
    tog enable
    return
    Back on the road again...

    Falls ihr wissen wollt, was ich so in meiner roboterfreien Zeit gertieben hab: www.plasmaniac.de.vu

  4. #4
    Neuer Benutzer
    Registriert seit
    17.04.2004
    Ort
    Halle an der Saale
    Alter
    45
    Beiträge
    3

    nun...

    das mit dem wiederstand ist so gemeint, ein stromkreis der mit der C-control sensorspannung betrieben ist.zwischen den 5V und dem GND ist eine Collektor Emitter strecke,am collektor ist ein 1KOhm Wiederstand. an diesem Collektor hängt mein Signal IN an die Control. dieses gemessene signal müsste also nicht die am wiederstand abfallende spannung messen,sondern die die über dem transistor am C - E abfallen.
    (ca. 260mV)

    nun und ich versuche eben bei einem signal (wenn dieser oben erwähnte stromkreis durch den transistor geschlossen wird.) auf dem display auch auszugeben das es dieses signal ist. je nachdem wie ich den stromkreis nenne. bin leider mit LCDs derzeit auf neuland. danke an matthias werde mal dein progi versuchen zu nutzen.

    thx

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.12.2003
    Alter
    34
    Beiträge
    1.187
    Also nen Analogausgang auf'm Display Ausgeben? Kein Problem. Wenn du willst, kann ich dir heute noch eins Posten. Du musst mir nur die Genaue Belegung des LCDs auf dem Applikationboard sagen.
    Back on the road again...

    Falls ihr wissen wollt, was ich so in meiner roboterfreien Zeit gertieben hab: www.plasmaniac.de.vu

  6. #6
    mago79a
    Gast

    habs im eigenversuch...

    ....geschafft... die daten fürs display sind die vom applikationsboard (beispielprogramme) habs aber mit ASCII Codes gemacht.

    ...
    define lcd_port byteport[2]
    define lcd_rs port[14]
    define lcd_rw port[13]
    define lcd_e port[15]
    define lcd_buf byte
    define lcd_param byte

    define Eingang AD[8]

    gosub LCD_INIT
    pause10

    #LOOP
    if Eingang >10 then goto LOOP
    if Eingang <10 then goto Ausgabe


    #Ausgabe
    lcd_param = 1
    gosub LCD_GOTOLINE
    lcd_param = 84
    gosub LCD_WRITECHAR
    lcd_param = 69
    gosub LCD_WRITECHAR
    lcd_param = 83
    gosub LCD_WRITECHAR
    lcd_param = 84
    gosub LCD_WRITECHAR

    if Eingang >10 then gosub LOOP
    if Eingang <10 then goto Ausgabe

    '*****LCD Interface*****

    ...


    jedoch weiß ich nicht ob mein original programm optimal ist... hab da noch durchs löschen eben beim zustandsänderung das flackern des lcds durch das gosub lcd_init (löschen des displays auch)

    wenn du mal mein programm ansehen magst würd ichs dir gern mal schicken. weiß nicht so recht wie ichs hier so poste wie du.


    PS: der Eingang AD[8] ist meine selbstgebaute Lampencontrol die bei defekter Lampe ein Signal ausgibt. Möchte das in mein Auto später über eine AVR ATMEL128 überwachen lassen.(Alle Lampen) Möglichst über unterschiedliche wiederstrände (addierend) so das ich nur ein analog eingang verwenden kann. *g*

    greetz

    und danke für die hilfe.[/code]

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.12.2003
    Alter
    34
    Beiträge
    1.187
    Um das so zu schreiben muss du "
    Code:
    " den text und "
    2 schreiben.

    Hier ist der code:

    Code:
    define lcd byteport[2]
    define rw port[13]
    define rs port[14]
    define enable port[15]
    define buffer byte
    define parameter byte
    define zahl word
    define ziffer byte
    define zaehler word
    define a 97
    define b 98
    define c 99
    define d 100
    define e 101
    define f 102
    define g 103
    define h 104
    define i 105
    define j 106
    define k 107
    define l 108
    define m 109
    define n 110
    define o 111
    define p 112
    define q 113
    define r 114
    define s 115
    define t 116
    define u 117
    define v 118
    define w 119
    define x 120
    define y 121
    define z 122
    define ad1 ad[8]
    
    gosub initialisierung
    pause 10
    
    
    #loop
    zahl=ad1
    gosub lcd_out
    goto loop
    
    #lcd_out
    parameter=1
    gosub whichline
    ziffer=zahl/100
    parameter=ziffer+48
    gosub writeletter
    zahl=zahl-ziffer*100
    ziffer=zahl/10
    parameter=ziffer+48
    gosub writeletter
    zahl=zahl-ziffer*10
    ziffer=zahl
    parameter=ziffer+48
    gosub writeletter
    return
    
    #initialisierung
    lcd=off
    parameter=&h38:gosub command
    lcd=&b00000010
    tog enable
    tog enable
    parameter=&h28:gosub command
    parameter=&h0c:gosub command
    
    #clear
    parameter=&h02:gosub command
    parameter=&h02:gosub command
    return
    
    #lcd_shift
    parameter=&b00011100
    gosub command
    pause 8
    goto lcd_shift
    
    #whichline
    if parameter=1 then parameter=&h80
    if parameter=2 then parameter=&hc0
    goto command
    
    #command
    buffer=off
    goto write_
    
    #writeletter
    buffer=&b00100000
    
    #write_
    lcd=buffer or (parameter shr 4)
    tog enable
    tog enable
    lcd=buffer or (parameter and &h0f)
    tog enable
    tog enable
    return
    Um einen Buchstaben zu schreiben, musst du einfach nur schreiben:

    parameter=m
    gosub writeletter

    Wenn der buchstabe groß geschrieben werden soll, muss du noch -32 dranhängen.
    Back on the road again...

    Falls ihr wissen wollt, was ich so in meiner roboterfreien Zeit gertieben hab: www.plasmaniac.de.vu

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.12.2003
    Alter
    34
    Beiträge
    1.187
    Mist, eigentlich sollte da: " [ c o d e ] " den text und " [ c o d e ] " stehen. Die Leerzeichen sind dazu da, dass nicht wieder das ganze umgewandelt wird.
    Back on the road again...

    Falls ihr wissen wollt, was ich so in meiner roboterfreien Zeit gertieben hab: www.plasmaniac.de.vu

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test