bigeggmc
07.03.2006, 21:41
Guten abend,
ich bin neu hier und durch nen lehrgang dazu gekommen mich mehr mit microcontrollern zu befassen.
nun hab ich mir die experimentierplatform von myavr besorgt.
da ich leider zu geizig bin mir dazu auch noch die software und die bücher zu kaufen bin ich nun dazu übergegangen mir die sachen aus dem internet (google) zu holen, bzw mir das damit bei zu bringen.
da ich mir das ja nun alles er surft hab, aber das prog doch selber geschrieben (man will ja ned klauen) hab, möcht ich gern mal von den profis wissen wie es mir gelungen ist?
hier also das prog zu einer stern-dreieckschaltung für nen starkstrommotor,
meins ist die deluxe version mit zustandsanzeige auf nem lcd 8-[
$regfile = "m8def.dat"
$crystal = 3686400
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Portd.2 , E = Portd.3 , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 'Belegung am MEGA8
Config Lcdbus = 4
Config Lcdmode = Port
Config Portd = Output
Config Portb = Output
Config Portc.0 = Output
Config Portc.1 = Output
Config Portc.2 = Output
Config Portc.4 = Input
Config Portc.5 = Input
Portc.5 = 1
Portc.4 = 1
Cls
Do
If Pinc.4 = 0 Then 'verzögerung bei einschalten der hintergrundbeleuchtung vom display (dämmerungsschalter)
Waitms 250
If Pinc.4 = 0 Then Portb.1 = 1
End If
If Pinc.4 = 1 Then 'verzögerung beim ausschalten der hintergrundbeleuchtung vom display (dämmerungsschalter)
Waitms 250
Portb.1 = 0
End If
If Pinc.5 = 0 Then
Waitms 250
If Pinc.5 = 0 Then Locate 1 , 1
Lcd "Start Motor in"
Locate 2 , 1
Lcd "Sternschaltung"
Goto 1
1:
Portc.2 = 1 'motorhauptschütz an
Portc.1 = 1 'schütz für sternschaltung
Wait 4
Cls
Locate 1 , 1
Lcd "Umschalten"
Locate 2 , 1
Lcd "in Dreieck"
Portc.2 = 1 'motorhauptschütz an
Portc.1 = 0 'schütz für sternschaltung aus um kurzschluss zu vermeiden 500 ms verzögerung bis
'einschalten von schütz für dreieckschaltung
Wait 1
Cls
Locate 1 , 1
Lcd "Motor Laeuft in"
Locate 2 , 1
Lcd "Dreieckschaltung"
Waitms 500
Portc.0 = 1
Wait 10
display off
If Portc.0 = 1 Then Stop 'verriegelung gegen wiederstart des programms mit pinc.5
End If
Loop
End
nun ja, bascom sacht das prog funz, mein board auch ;) also was sacht ihr dazu und wie kann ich was noch verbessern?
ich bin neu hier und durch nen lehrgang dazu gekommen mich mehr mit microcontrollern zu befassen.
nun hab ich mir die experimentierplatform von myavr besorgt.
da ich leider zu geizig bin mir dazu auch noch die software und die bücher zu kaufen bin ich nun dazu übergegangen mir die sachen aus dem internet (google) zu holen, bzw mir das damit bei zu bringen.
da ich mir das ja nun alles er surft hab, aber das prog doch selber geschrieben (man will ja ned klauen) hab, möcht ich gern mal von den profis wissen wie es mir gelungen ist?
hier also das prog zu einer stern-dreieckschaltung für nen starkstrommotor,
meins ist die deluxe version mit zustandsanzeige auf nem lcd 8-[
$regfile = "m8def.dat"
$crystal = 3686400
Config Lcd = 16 * 2
Config Lcdpin = Pin , Rs = Portd.2 , E = Portd.3 , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 'Belegung am MEGA8
Config Lcdbus = 4
Config Lcdmode = Port
Config Portd = Output
Config Portb = Output
Config Portc.0 = Output
Config Portc.1 = Output
Config Portc.2 = Output
Config Portc.4 = Input
Config Portc.5 = Input
Portc.5 = 1
Portc.4 = 1
Cls
Do
If Pinc.4 = 0 Then 'verzögerung bei einschalten der hintergrundbeleuchtung vom display (dämmerungsschalter)
Waitms 250
If Pinc.4 = 0 Then Portb.1 = 1
End If
If Pinc.4 = 1 Then 'verzögerung beim ausschalten der hintergrundbeleuchtung vom display (dämmerungsschalter)
Waitms 250
Portb.1 = 0
End If
If Pinc.5 = 0 Then
Waitms 250
If Pinc.5 = 0 Then Locate 1 , 1
Lcd "Start Motor in"
Locate 2 , 1
Lcd "Sternschaltung"
Goto 1
1:
Portc.2 = 1 'motorhauptschütz an
Portc.1 = 1 'schütz für sternschaltung
Wait 4
Cls
Locate 1 , 1
Lcd "Umschalten"
Locate 2 , 1
Lcd "in Dreieck"
Portc.2 = 1 'motorhauptschütz an
Portc.1 = 0 'schütz für sternschaltung aus um kurzschluss zu vermeiden 500 ms verzögerung bis
'einschalten von schütz für dreieckschaltung
Wait 1
Cls
Locate 1 , 1
Lcd "Motor Laeuft in"
Locate 2 , 1
Lcd "Dreieckschaltung"
Waitms 500
Portc.0 = 1
Wait 10
display off
If Portc.0 = 1 Then Stop 'verriegelung gegen wiederstart des programms mit pinc.5
End If
Loop
End
nun ja, bascom sacht das prog funz, mein board auch ;) also was sacht ihr dazu und wie kann ich was noch verbessern?