Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

Kommentar:
Einfügen von HTML im Kommentar:

Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a>
Bild einfügen: <img src="BILDURL">
Text formatieren: <b>fetter Text</b>  <i>kursiver Text</i> <u>unterstrichener Text</u>
Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> Hallo Leute ! > In Turbobasic läuft das Programm schon ! > Achtung : Es geht scheinbar nicht jeder LPT Port. > > Das Prinzip : > > 1) Sensor in One-shot Mode setzen > 2) Conf. Lesen und Prüfung, ob Wandlung fertig ( Bit 7) > 3) Temp wie gewohnt lesen > 4) Slope und Counter lesen > 5) Conversion wieder starten > 6) Wenn Slope <> 0 Temp = Temp - 0,25+(C-S)/S > > Auflösung : ca. 0,025 Grad ! ( Nicht die Genauigkeit ) > > Mfg, > Willi > > Anlage : Turbobasicprogramm > ( Bitte den Stil entschuldigen ) > In CC2 auch schon lauffähig, ist aber so programmiert, das ich es keinem zeigen will ! > > > &#39;DS1621 Ansteuerung f?r parallelen Port des DS 1621 > > Cls > > Print " Programm setzt DS1621 Adr. 150 in One Shot Mode !! > Print " Mit < Return > beenden ! > > PortD = &H0378 > PortC = &H037A > > Defint i,j,x,z,W,s,c > > > Gosub Stromein &#39;Autofeed 5 Volt ein > &#39;Gosub Stromaus > > &#39;---- Bus l”schen falls noch Daten anstehen ---- > Gosub Sclon : Gosub Scloff &#39; Scl ist immer Ausgang > For I=0 to 7: Gosub PulseScl: Next I : Gosub Sclon > > &#39; --- Temperatursensoren initialisieren --- > For J = 0 to 7 : Adr = &H90+2*J : Gosub Init : Next J > > For I = 1 to 5000 : Next > > Time$="000000" > &#39; --- Alle Temperaturen anzeigen --- > Schleife: > For J = 0 to 7 > Adr = &H90+2*J > > &#39; Nochmal: > Gosub ReadConfig > v=v+1 : If V > 1000 then Wert = 255 > If Wert < 128 Goto Nochmal > V=0 > Gosub ReadTemp > Gosub ReadCounter : C = Wert > Gosub ReadSlope : S = Wert : If S = 0 THen S = 1 > Gosub StartConversion > Locate (5+j),2 : Print "Temp ";j;"= ";V$;Using "###.##";T-.25+(s-c)/s > Locate 20,6: Print " Z = ";Z : > Nochmal: > Next J > Z=Z+1 > Print Time$ > > If inkey$ = "" then Schleife &#39; Auf Return warten > END > > > ReadTemp: > &#39;-- Parameter setzen 2-Byte Kommando --- > Gosub I2CStart &#39;Start > Wert = Adr : Gosub Senden > Wert = &HAA : Gosub Senden > Gosub SCLon : Gosub SDAoff : Gosub SCLoff &#39; Repeated Start > Wert =Adr+1 : Gosub Senden &#39; Lesebit (+1 !) > Gosub LeseByte : If ( Wert and &H80) then v$ = "-" else V$="+" > T=( Wert and &H7F ) > Gosub SDAoff : Gosub PulseSCL &#39; Master ackn. > Gosub LeseByte > If (Wert and &H80) then T=T+0.5 &#39; Print ",5 øCel." else Print ",0 øCel." > &#39; Locate (3+j),2 : Print "Temp =";j;V$;Using "###.##";T > Gosub SDAon : Gosub PulseSCL &#39; Master not ackn. > Goto I2CStop > > ReadConfig: > &#39;-- Parameter setzen 1-Byte Kommando --- > Gosub I2CStart &#39;Start > Wert = Adr : Gosub Senden > Wert = &HAC : Gosub Senden > Gosub SCLon : Gosub SDAoff : Gosub SCLoff &#39; Repeated Start > Wert =Adr+1 : Gosub Senden &#39; Lesebit (+1 !) > Gosub LeseByte > Locate (5+j),50 : Print "Config =";Using "####";Wert; > Print " -";right$ ("0000" +Bin$(Wert),8) > Gosub SDAon : Gosub PulseSCL &#39; Master not ackn. > Goto I2CStop > > > > > ReadCounter: > &#39;-- Parameter setzen 1-Byte Kommando --- > Gosub I2CStart &#39;Start > Wert = Adr : Gosub Senden > Wert = &HA8 : Gosub Senden > Gosub SCLon : Gosub SDAoff : Gosub SCLoff &#39; Repeated Start > Wert =Adr+1 : Gosub Senden &#39; Lesebit (+1 !) > Gosub LeseByte > Locate (5+j),21 : Print "Count =";Using "####";Wert > Gosub SDAon : Gosub PulseSCL &#39; Master not ackn. > Goto I2CStop > > > ReadSlope: > &#39;-- Parameter setzen 1-Byte Kommando --- > Gosub I2CStart &#39;Start > Wert = Adr : Gosub Senden > Wert = &HA9 : Gosub Senden > Gosub SCLon : Gosub SDAoff : Gosub SCLoff &#39; Repeated Start > Wert =Adr+1 : Gosub Senden &#39; Lesebit (+1 !) > Gosub LeseByte > Locate (5+j),35 : Print "Slope =";Using "####";Wert > Gosub SDAon : Gosub PulseSCL &#39; Master not ackn. > Goto I2CStop > > End > &#39;--------------------------------------- > &#39;Senden1: > &#39; Gosub I2CStart &#39; IýC - Start > &#39; Wert = Adr > &#39; Gosub Senden &#39; Adresse senden > &#39; Wert = Daten > &#39; Gosub Senden &#39; Wert Senden > &#39;Goto I2CStop &#39; Stop IýC Bus > > Senden: > Out PortC,Inp(PortC) &#39; and 233 &#39;Gosub Ausgang > For I = 0 to 7 > If (Wert and &H80) then Gosub SDAon else Gosub SDAoff > Out PortC,Inp(PortC) xor 8 &#39; wie > Out PortC,Inp(PortC) xor 8 &#39; Gosub PulseScl > Wert = Wert*2 > Next I > Out PortC,Inp(PortC) or 32 &#39; Gosub Eingang > Out PortC,Inp(PortC) and 247 &#39; Gosub Sclon /Hier kann man "Ackn." abfragen ! > Goto Scloff &#39; Mit Goto spart ein Return aber gef„hrlich ! > > LeseByte: > Wert = 0 > Out PortC,Inp(PortC) or 32 &#39;Gosub Eingang &#39;Deact SDA > For I = 1 to 8 > Wert = Wert*2 > Out PortC,Inp(PortC) and 247 &#39;Gosub SCLon > If Inp(Portd) and 1 then incr Wert > Out PortC,Inp(PortC) or 8 &#39; entspricht Gosub SCLoff > Next I > Return > > Start: > Out PortC,Inp(PortC) &#39; and 223 &#39; Gosub Ausgang > Out PortD,1 > Return > > SDAoff: > &#39; Gosub Ausgang &#39; Muss hier stehen ! > Out PortC,Inp(PortC) and 223 &#39; Hier MUSS and 233 stehen ! > Out PortD,0 > Return > > SDAon: > &#39; Gosub Ausgang Muá nicht sein > Out PortD,1 > Return > > SCLon: > Out PortC,Inp(PortC) and 247 > Return > > I2CStart: > Gosub SDAoff > &#39;Gosub SCLoff &#39;Start > > SCLoff: > Out PortC,Inp(PortC) or 8 > Return > > PulseSCL: &#39; Kommt mit high raus ( invertiert ) > Out PortC,Inp(Portc) xor 8 > Out PortC,Inp(PortC) xor 8 > Return > > Eingang: > Out PortC,Inp(PortC) or 32 > Return > > Ausgang: > Out PortC,Inp(PortC)&#39; and 223) > Return > > Stromaus: > X=(Inp(PortC) or 2) : Out PortC,x > Return > > Stromein: > X=(inp(CPort) and 253) : Out CPort,x > Return > > &#39;-- Parameter setzen 2-Byte Kommando --- > Init: > Gosub I2CStart > Wert = Adr : Gosub Senden > Wert = &HAC : Gosub Senden > Wert = &H03 : Gosub Senden &#39;Setze 1 Shot mode ! > Gosub I2CStop > > SetTL: > Gosub I2CStart &#39; I2C Start > Wert = Adr : Gosub Senden > Wert = &HA2 : Gosub Senden > For I = y to 500 : Next > Wert = 25 : Gosub Senden > For I = y to 500 : Next > Wert = 0 : Gosub Senden > For I = y to 500 : Next > Gosub I2CStop > > SetTH: > Gosub I2CStart &#39; I2C Start > Wert = Adr : Gosub Senden > Wert = &HA1 : Gosub Senden > For I = y to 500 : Next > Wert = 29 : Gosub Senden > For I = y to 500 : Next > Wert = 0 : Gosub Senden > For I = y to 500 : Next > Gosub I2CStop > > &#39;-- Parameter setzen 1-Byte Kommando --- > StartConversion: > > Gosub I2CStart &#39; I2C Start > Wert = Adr : Gosub Senden > Wert = &HEE : Gosub Senden > Wert = &H00 : Gosub Senden > > I2CStop: > Gosub SDAoff > Gosub SCLon > Goto SDAon &#39; Stop IýC Bus
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB