Uses Crt,Graph,Windows,Maus,Konstant,ADDAUnit,Diagramm,ADDAModul;{
ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
º 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 º
º º
º HAUPTPROGRAMM º
º º
º Programmierer: Torsten Levin º
º 03 AET 89 º
º TU Chemnitz-Zwickau º
º º
º Chemnitz, Januar-April 1993 º
ÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹
º Zugeh”rige Dateien: º
º º
º AD_DA.PAS Hauptprogramm º
º WINDOWS.PAS Unit, beinhaltet die gesamte Benutzeroberfl„che º
º ADDAUNIT.PAS Unit, beinhaltet programmspezifische Funktionen º
º ADDAMODU.PAS Unit, beinhaltet AD/DA-Modul-Funktionen º
º DIAGRAMM.PAS Unit, beinhaltet alle Funktionen zum Kurven- und º
º Diagramm zeichnen º
º KONSTANT.PAS Unit, beinhaltet viele Voreinstellungen und Verein- º
º barungen º
º MAUS.PAS Unit, beinhaltet alle Mausroutienen º
º PRINT.PAS Unit, beinhaltet die Druckroutienen º
º LW_TEST.PAS Unit, beinhaltet Test, welche Laufwerke existieren º
º BSS.PAS Unit, beinhaltet den Bildschirmschoner º
º IMAGE.PAS Unit, beinhaltet die Laderoutienen f�r Bilder º
º *.REC Programmdateien f�r das AD/DA-Wandlermodul º
º *.PIC Bilddateien, erstellt mit dem IMAGE-EDITOR (c) º
ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
}
{$M 10240,0,230400} { 10 KByte Stack, 225 KByte Heap }
label vorn;
Var
Name: String;
KanalNum : Integer;
SStellWord : Word;
f: File;
{---Hauptprogramm----------------------------------------------------}
Begin
{ Zeichnen des Hauptfensters }
InitWerte; { Initialisierung von Standardwerten }
ScreenInit;
InitModul; { Initialisierung des AD/DA-Moduls }
Repeat { Pull-Down-Men� zeichnen und Abfrage }
vorn:
case MenuInput(Mainmenu) of
$101: { F Laden einer Kurve } Begin
if Dateifenster('*.WAV','Kurve laden',True,150,120,Name)
and LoadDatei2(Name)
Then MaleKurve;
End;
$102: { F Sichern einer Kurve } Begin
for KanalNum:=1 to 4 do if KanalUsed[KanalNum-1] then break;
case KanalUsage of
0: begin
Fehler(200,100,false,'Keine Kurve ist','aktiv und damit','speicherbar.','');
goto vorn;
end;
1: ;
else Repeat
if not Auswahl(200,80,'Sichern einer Kurve',Kanaldaten,KanalNum)
then goto vorn;
If KanalUsed[KanalNum-1] Then break;
Fehler(200,100,False,'Diese Kurve ist','zur Zeit inaktiv.',
'Eine Speicherung','w„re sinnlos.');
Until false;
end{case};
if Dateifenster('*.WAV','Kurve sichern',False,150,120,Name)
and SaveDatei(Name,Kanalnum-1) then;
End;
$103: { F Drucken } Begin
DruckeBildschirm;
End;
$104: { F DOS-Shell } Begin
Dosshell('AD/DA-Wandlermodul Version 3.21');
ScreenInit;
End;
$105: { F šber... } Copyright('AD/DA-Wandlermodul','3.21','2003',
'TU Chemnitz (h#s)');
$106: { F Programm-Ende }
if Sicherheitsfenster(200,150,'Wollen Sie das',
'Programm wirklich','verlassen?') then break;
$201: { ADU Betriebsart } Begin
if Betriebsart Then OutStatusfenster;
End;
$202: { ADU Start } ADUmsetzung;
$203: { ADU Direktbetrieb } DirektAD;
$301: { DAU Start } Begin
for KanalNum:=1 to 4 do if KanalUsed[KanalNum-1] then break;
case KanalUsage of
0: begin
Fehler(200,100,false,'Keine Kurve ist','aktiv und damit','ausgebbar.','');
goto vorn;
end;
1: ;
else Repeat
if not Auswahl(200,80,'DA-Umsetzung einer Kurve',Kanaldaten,KanalNum)
then goto vorn;
If KanalUsed[KanalNum-1] Then break;
Fehler(200,100,False,'Diese Kurve ist','zur Zeit inaktiv.',
'Eine Umsetzung','w„re sinnlos.');
Until false;
end{case};
DAUmsetzung(Kanalnum-1);
End;
$302: { DAU Direktbetrieb } DirektDA;
$401: { HW St�tzstellen }
if FreiAuswahl(150,70,'St�tzstellenzahl',True,Daten.SStellen)
and SStellenEinstellen(Round(Daten.SStellen))
then OutstatusFenster;
$402: { HW Umsetzrate }
if FreiAuswahl(150,100,'Umsetzrate',False,Daten.Urate)
and UrateEinstellen(Daten.Urate)
Then Begin
OutstatusFenster;
MaleKurve;
OutXachse;
End;
$403: { HW Modul initialisieren } InitModul;
$501: { BD Datendarstellung } Begin
if Auswahl(200,100,'Kurvendarstellung',BildDaten,Daten.BildDatennr)
Then Begin
MaleKurve;
OutXAchse;
End;
End;
$502: { BD Skalierung } YSkalierung;
$503: { BD Y-Zoom } XZoom;
$504: { BD Kanal L”schen } Begin
KanalNum:=1;
if not Auswahl(200,80,'L”schen einer Kurve',KanaldatenA,KanalNum)
then goto vorn;
case KanalNum of
1..4: If KanalUsed[KanalNum-1]
and Sicherheitsfenster(200,150,'Wollen Sie die',
'Kurve '+Chr(Kanalnum+47)+' wirklich','l”schen?')
Then Begin
KanalUsed[KanalNum-1]:=False;
MaleKurve;
OutXAchse;
End;
5: If Sicherheitsfenster(200,150,'Sollen wirklich',
'alle Kurven ge-','l”scht werden?') Then Begin
FillChar(KanalUsed,sizeof(KanalUsed),false);
MaleKurve;
OutXAchse;
End;
End;
End;
$601: { O Farbwahl } If Farbwahl(150,100) Then ScreenInit;
$602: { O BSS } BSSMenue;
$603: { O Optionen Sichern } Begin
status(250,100,'Die Einstellungen','werden in der','Datei AD_DA.INI','gesichert.');
assign(f,'AD_DA.INI');
{$I-}
rewrite(f,1);
If Dateifehler(200,150,ioresult) Then Begin
BlockWrite(f,Daten,sizeof(daten));
close(f);
{$I+}
If not Dateifehler(200,150,ioresult) Then erase(f);
End;
CloseStatus;
End;
end;
Until false;
Closegraph; { Programmende }
TextColor(7);
TextBackground(0);
ClrScr;
End.
Detected encoding: ANSI (CP1252) | 4
|
|