- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 11

Thema: Problem mit EA DOG 16x2

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    19.08.2006
    Beiträge
    12
    Wie im Thread http://www.mikrocontroller.net/forum/read-1-149112.html beschrieben hab ich ein EA DOG 16x2 im SPI Mode an einen ATTiny26 folgendermaßen angeschlossen. (Bild im Anhang)
    Ich benutze PA.4 bis PA.7 zur Ansteuerung.
    Weiter unten in dem Thread is nen Bascom Beispiel Source den ich größtenteils übernommen hab. Hier meine angepasste Version:
    Code:
    '--------------------------------------------------------------------
    
    '  Autor: Robert Mayr
    
    '--------------------------------------------------------------------
    
    $prog , &HF1 , ,                                            'Hardware-Einstellungen fuer internen 1 MHz Taktgeber
    $crystal = 1000000                                          '1 MHz, Damit auch die Software davon weiss
    $regfile = "at26def.dat"                                    'Wir benutzen einen Tiny26
    
    'LCD Command Codes
    Const Cleardisplay = &H01
    Const Returnhome = &H02
    
    
    '--------------------------------------------------------------------
    
    '******* Konfiguration PortA 4-7 zur LC-Ausgabe mit DOGM162 *******
    
    '--------------------------------------------------------------------
    
    Ddra = &B11110000                                           'Pin PA4-7 ist Ausgang
    'PA4 = SI
    'PA5 = CLK
    'PA6 = RS
    'PA7 = CSB
    
    Porta = &B111100000                                         'PullUp von PA4-7 aktivieren
    
    
    
    Dim J As Byte
    
    Dim Text As String * 16
    
    Dim Ausgabe(16) As Byte At Text Overlay
    
    Dim I As Byte
    
    '--------------------------------------------------------------------
    
    '********* vor allem anderen, gebe was auf das Display
    Gosub Lcinit
    
    Gosub Intro
    'Startbildschirm
    
    End                                                         'end program
    
    '********* Daten Seriell ausgeben **********
    Schiebe:
    Waitus 30
    
    Reset Porta.7                                               'CSB auf 0
    
    Shiftout Porta.4 , Porta.5 , J , 1 , 8 , 10                 'schiebe 8 bits mit der steigenden Flanke und 10us Delay raus
    
    Set Porta.7                                                 'CSB auf 1
    
    Return
    
    '--------------------------------------------------------------------
    
    '******* Hier wird die erste Meldung aufs Display gezaubert *********
    
    '--------------------------------------------------------------------
    
    Intro:
    
    'Cls                                                         'clear the LCD display
    
    'Cursor Off
    J = &H80 : Gosub Schiebe                                    'select the upper line
    Text = "1234567890123456"                                   'display this at the top line
    
    Gosub Textaus
    
    
    J = &HC0 : Gosub Schiebe                                    'select the lower line
    Text = "abcdefghijklmnop"                                   'display this at the lower line
    
    Gosub Textaus
    
    Return
    
    '--------------------------------------------------------------------
    
    '********************** Textausgabe auf Display *********************
    
    '--------------------------------------------------------------------
    
    Textaus:
    
    Set Porta.6                                                 'RS auf 1
    
    For I = 1 To 16
    
       J = Ausgabe(i)
    
       Gosub Schiebe
       Waitms 200
    
    Next I
    
    Reset Porta.6                                               'RS auf 0
    
    Return
    
    '--------------------------------------------------------------------
    
    '********************** Initialisiere LC-Display ********************
    
    '--------------------------------------------------------------------
    
    Lcinit:
    Waitms 50
    
    Set Porta.5                                                 'CLK=1
    Set Porta.7                                                 'CSB auf 1
    Reset Porta.6                                               'RS auf 0
    Reset Porta.7                                               'CSB auf 0
    
    'Initialisiere LCD
    
    J = &H38 : Gosub Schiebe                                    '0011 1000 8Bit 2Lines IS[0,1]
    J = &H39 : Gosub Schiebe                                    '0011 1001 8Bit 2Lines IS[0,1]
    
    J = &H1D : Gosub Schiebe                                    '0001 1101 Cursorshift: Screen Right IS[0,1]
    
    J = &H7C : Gosub Schiebe                                    '0111 1100 Contrast = 0C -> 12/64
    
    J = &H50 : Gosub Schiebe                                    '0101 0000 Icons off, Booster off, Contrast 00
    
    J = &H6C : Gosub Schiebe                                    '0110 1100 Fon = On, Rab = 4
    
    Waitms 200
    
    J = &H0F : Gosub Schiebe                                    '0000 1111 Display = On, Cursor = On, CursorBlink = On
    
    J = &H01 : Gosub Schiebe                                    '0000 0001 Clear Display
    
    J = &H06 : Gosub Schiebe                                    '0000 0110 DDRam Increments, no DisplayShift
    
    Set Porta.7                                                 'CSB auf 1
    
    Return
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken lcd_254.jpg  

Berechtigungen

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

Solar Speicher und Akkus Tests