Unit Konstant;{
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º T E C H N I S C H E U N I V E R S I T Ž T C H E M N I T Z º
º º
º Programm zur Ansteuerung des AD/DA-Wandlermoduls mit Einchip- º
º rechner 68HC11 º
º º
º UNIT zur Initialisierung und Konstantenvereinbarung º
º º
º Programmierer: Torsten Levin º
º 03 AET 89 º
º TU Chemnitz-Zwickau º
º º
º Chemnitz, Januar-April 1993 º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
}
INTERFACE
Uses Windows;
const
BildDaten: array[0..3] of PChar=('Punkte','Linien','Treppen','S„ulen');
KanalDaten: array[0..3] of PChar=(
'Kurve 0','Kurve 1','Kurve 2','Kurve 3');
KanalDatenA: array[0..4] of PChar=(
'Kurve 0','Kurve 1','Kurve 2','Kurve 3','Alle');
ADKanalDaten: array[0..7] of PChar=(
'Kanal 0','Kanal 1','Kanal 2','Kanal 3',
'Kanal 4','Kanal 5','Kanal 6','Kanal 7');
BipOffset = 128; { Offset bei bipolarem Betrieb }
ParaByte = $E3; { 9600 Baud,keine Parit„t,
1 Stopbit,8 Datenbit }
ADU = 0; { Hardware-Nr. fuer ADU }
AdPrName ='ad_prog.rec'; { AD-Haupt-Programmname }
AdPrNameD ='ad_dir.rec'; { AD-Programmname fuer Direkt-Betrieb }
AdStartAdr = $0400; { Startadr. des Progr. fuer ADU }
AdDatenAadr = $2000; { Startadr. d. Daten-Sp. fuer ADU }
AdMaxU = 5; { U(max):[Volt] }
AdStufen = 256; { Aufl”sung des ADU [Schritte] }
DAU = 1; { Hardware-Nr. fuer DAU }
DaPrName ='da_prog.rec'; { DA-Haupt-Programmname }
DaPrNameD ='da_dir.rec'; { DA-Programmname fuer Direkt-Betrieb }
DaStartAdr = $0800; { Startadr. des Progr. fuer DAU }
DaDatenAadr = $2000; { Startadr. d. Daten-Sp. fuer DAU }
DaMaxU = 5; { U(max):[Volt] }
DaStufen = 256; { Aufl”sung des DAU [Schritte] }
SendData ='send_dat.rec';{ Daten-Block Sende-Programm }
SStartAdr =$0C00;
EmpfData ='empf_dat.rec';{ Daten-Block Empfangs-Programm }
EStartAdr =$0D00;
LoadProg = 'LOAD T'; { Buffalo-Befehl "LOAD T <datei>" }
StartProg = 'CALL '; { Buffalo-Befehl "CALL <aadr>" }
MemModify = 'M '; { Buffalo-Befehl "M <aadr>" }
Type
TReal=Real;
Kurvetyp = Array[0..3] of Boolean;
PPuffer = Array[0..1023] of Byte;
{DPuffer = Array[0..9999] of Byte; }
const
MainMenu:array[0..5] of TSubMenu=
((name: 'File'; last: 5;
item: ('Laden...','Sichern...','Drucken...','DOS-Shell','šber...','Ende [Ctrl-X]')
),(name: 'ADU'; last: 2;
item: ('Betriebsart...','Start','Direktbetrieb...',nil,nil,nil)
),(name: 'DAU'; last: 1;
item: ('Start...','Direktbetrieb...',nil,nil,nil,nil)
),(name: 'Hardware'; last: 2;
item: ('St�tzstellenzahl...','Umsetzrate...','Modul initialisieren',nil,nil,nil)
),(name: 'Bilddarstellung'; last: 3;
item: ('Kurvendarstellung...','Y-Skalierung...','X-Zoom...','Kurve l”schen...',nil,nil)
),(name: 'Optionen'; last: 2;
item: ('Bildschirmfarben...','Bildschirmschoner...','Optionen sichern',nil,nil,nil)));
Var
{ MainMenue: Pulldowns; { Daten des Haupt-Programm-Men�s }
Kanalused : Kurvetyp; { Nutzung der Kurvenpuffer }
KanalSS : Array[0..3] of Word; { St�tzstellen der geladenen Kurven }
KanalMax : Array[0..3] of TReal; { Maxima der geladenen Kurven }
KanalMin : Array[0..3] of TReal; { Minima der geladenen Kurven }
ADQ,DAQ : TReal; { Umrechnugsquotienten f�r ADU und DAU }
ModulInit, { Modul initialisiert }
XAutomatik,
YAutomatik : Boolean;
Xmin,Ymin,
Xmax,Ymax : TReal;
ADPrSize,
DAPrSize : Word; { GrӇe der AD/DA-Programme }
ADPrPuffer,
DAPrPuffer : PPuffer; { Puffer f�r AD/DA-Programme }
Procedure InitWerte;
IMPLEMENTATION
Procedure InitWerte;
Begin
ModulInit := False;
XAutomatik:= True;
YAutomatik:= True;
FillChar(KanalUsed,sizeof(KanalUsed),False);
FillChar(KanalSS,sizeof(KanalSS),0);
FillChar(KanalMax,sizeof(KanalMax),0);
FillChar(KanalMin,sizeof(KanalMin),0);
AdQ:=AdMaxU/AdStufen*((BipOffset mod 127)+1);
DaQ:=DaMaxU/DaStufen*((BipOffset mod 127)+1);
Ymin:= Daq*(0-BipOffset);
Ymax:= DAQ*(255-BipOffset);
Xmin:= 0;
Xmax:= Daten.SStellen;
End;
End.
Detected encoding: ANSI (CP1252) | 4
|
|