DATE$/de

Aus MCS Wiki AVR
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Funktion

Interne Datums-Variable.

 

 

Syntax

DATE$ = "mm/dd/yy"

var = DATE$

 

 

Anmerkungen

Die DATE$ Variable wird in Kombination mit  CONFIG CLOCK benutzt.

 

Der CONFIG CLOCK Befehl erzeugt einen Interrupt der jede Sekunde auftritt. In dieser Interrupt-Routine werden die _Sec_Min und _Hour Variablen aktualisiert. Die _dat_month und _year Variablen werden ebenfalls aktualisiert. Das Datumsformat ist dasselbe wie in VB.

 

Wenn man der DATE$ Variablen eine Konstante oder eine andere Variable zuweist dann werden die _day, _month und _year Variablen auf das neue Datum gesetzt.

Der einzige Unterschied zu VB ist, dass alle Daten bei der Zuweisung des Datums gegeben werden müssen. Dafür benötigt man wenig Code. Natürlich kann man dieses Verhalten ändern.

 

Important.jpg
 DATE$ sollte nicht mit der DATE-Funktion verwechselt werden!



 

Assembler

Die folgenden Assembler-Routinen werden aufgerufen.

Bei Zuweisung zu DATE$ : _set_date (calls _str2byte)

Beim Lesen von DATE$ : _make_dt (calls _byte2str)

 

 

Siehe auch

TIME$ , CONFIG CLOCK , DATE

 

 

 

Beispiel


'-----------------------------------------------------------------------------------------
'name : megaclock.bas
'copyright : (c) 1995-2005, MCS Electronics
'purpose : shows the new TIME$ and DATE$ reserved variables
'micro : Mega103
'suited for demo : yes
'commercial addon needed : no
'-----------------------------------------------------------------------------------------
 
$regfile = "m103def.dat" ' specify the used micro
$crystal = 4000000 ' used crystal frequency
$baud = 19200 ' use baud rate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space
 
'With the 8535 and timer2 or the Mega103 and TIMER0 you can
'easily implement a clock by attaching a 32768 Hz xtal to the timer
'And of course some BASCOM code
 
'This example is written for the STK300 with M103
Enable Interrupts
 
'[configure LCD]
$lcd = &HC000 'address for E and RS
$lcdrs = &H8000 'address for only E
Config Lcd = 20 * 4 'nice display from bg micro
Config Lcdbus = 4 'we run it in bus mode and I hooked up only db4-db7
Config Lcdmode = Bus 'tell about the bus mode
 
'[now init the clock]
Config Date = Mdy , Separator = / ' ANSI-Format
 
Config Clock = Soft 'this is how simple it is
'The above statement will bind in an ISR so you can not use the TIMER anymore!
'For the M103 in this case it means that TIMER0 can not be used by the user anymore
 
'assign the date to the reserved date$
'The format is MM/DD/YY
Date$ = "11/11/00"
 
'assign the time, format in hh:mm:ss military format(24 hours)
'You may not use 1:2:3 !! adding support for this would mean overhead
'But of course you can alter the library routines used
 
Time$ = "02:20:00"
 
'---------------------------------------------------
 
'clear the LCD display
Cls
 
Do
Home 'cursor home
Lcd Date$ ; " " ; Time$ 'show the date and time
Loop
 
'The clock routine does use the following internal variables:
'_day , _month, _year , _sec, _hour, _min
'These are all bytes. You can assign or use them directly
_day = 1
'For the _year variable only the year is stored, not the century
End

Languages   English Deutsch  
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
In anderen Sprachen
Sprache