Messwerte ins EEPROM speichern
Hallo Speed,
stell doch Dein Prog hier 'mal ein! Das ist viel einfacher.
Übrigens: Für den Taster brauchst Du keinen A/D-Wandler-Eingang, sondern nur einen Digitalport, weil es ja nur 2 Werte (An/Aus) geben kann!
Gruß Dirk
Liste der Anhänge anzeigen (Anzahl: 1)
Prog
Hallo Speed,
probier 'mal diese Version.
Keine Garantie, weil nicht getestet und nur 'mal so schnell runtergeschrieben.
Gruß Dirk
Second hand Application Board
Hallo Speed,
hier die Routinen für die LCD-Ansteuerung. Auch "convert" ist dabei (Ausgabe bis 999):
Code:
' Keyboard- und LCD-Interface
define lcd_buf byte[12]
define lcd_param byte[13]
' Binär - Dezimal Umwandlung
define hunderter byte[14]
define zehner byte[15]
define einer byte[16]
define value byte[17]
' LCD-Port
define lcd_port byteport[2]
define lcd_rw port[13]
define lcd_rs port[14]
define lcd_e port[15]
'********************************************************************
' Initialisierung LCD-Display
gosub LCD_INIT
' Hier Hauptprogramm!!
'********************************************************************
' LCD-Interface:
#LCD_INIT
' alle ports 0
lcd_port = off
' 8-Bit-Modus aktivieren
lcd_param=&H38 : gosub LCD_WRITECMD
' mit 8-Bit-Command in 4-Bit-Modus umschalten
lcd_port=&B00000010
tog lcd_e
tog lcd_e
' ab jetzt 4-Bit-Modus
lcd_param = &H28 : gosub LCD_WRITECMD
lcd_param = &H0C : gosub LCD_WRITECMD
' Display loeschen
#LCD_CLS
lcd_param = &H02 : gosub LCD_WRITECMD
lcd_param = &H01 : gosub LCD_WRITECMD
return
' Zeilenwechsel
#LCD_GOTOLINE
if lcd_param = 1 then lcd_param = &H80
if lcd_param = 2 then lcd_param = &HC0
goto LCD_WRITECMD
' LCD-Kommando
#LCD_WRITECMD
lcd_buf = off
goto LCD_WRITE
' Zeichenausgabe
#LCD_WRITECHAR
lcd_buf = &B00100000
' Kommando oder Zeichen an Display senden
#LCD_WRITE
lcd_port = lcd_buf or (lcd_param shr 4) ' Hi-Nibble
tog lcd_e
tog lcd_e
lcd_port = lcd_buf or (lcd_param and &H0F) ' Lo-Nibble
tog lcd_e
tog lcd_e
return
'********************************************************************
' Binär - Dezimal Umwandlung:
#convert
hunderter=value/100
if hunderter>0 then lcd_param=hunderter+&H30 else lcd_param=&H20
gosub LCD_WRITECHAR
'zehner abfragen
zehner=(value-(hunderter*100))/10
lcd_param=zehner+&H30
gosub LCD_WRITECHAR
'einer abfragen
einer=value-(hunderter*100)-(zehner*10)
lcd_param=einer+&H30
gosub LCD_WRITECHAR
return
'********************************************************************
Gruß Dirk