Flashboard mit Bascom, wer hat erfahrung?

Gast #148111
Lesenswert?

Hallo,
ich bin neu einsteiger und würde gerne ein wenig mit dem Flashboard von
Elektor experimentieren. Als erstes wollte ich an dem atmel 89s8252
einfach mal mit dem Port 1.2 als eingang den Port 1.0 schalten, an dem
hängt eine LED. Die LED leuchtet immer, auch wenn ich den Port 1.2 auf
masse lege.
wo liegt der fehler in dem programm?

Do
If P1.2 = 1 Then
   P1.0 = 0
Else
   P1.0 = 1

Loop
End If
Gast #148112
Lesenswert?

hi,
wenn das dein komplettes programm ist geht's nicht.
als erstes muss man den prozessor festlegen und die ein- und ausgänge
definieren. als anweisung in bascom (ich kenn nur das bascom für die
at's, tiny's und mega's, aber vllt. gilt das auch für die 89er's)
muss man einen port so einlesen:
if PinA.1 = 1 then...
und so den port beschreiben:
set PortA.2  oder  reset PortA.2

es ist möglich, dass es in deinem bascom-compiler anders gehandhabt
wird dann gilt das natürlich nicht, aber ich könnt mir gut vorstellen,
bascom ist bascom, egal für welche controllers.
gruss, harry
Gast #148113
Lesenswert?

hab das programm umgeschrieben und nun bekomme ich von bascom einen
fehler bei set p1.0 = 0 angezeigt. hab mal alle P´s gegen PIN
getauscht, bascom kennt bei dem 89s8252 wohl leider kein PIN.
Do
If P1.1 = 1 Then
   Set P1.0 = 0   *fehler
Else
   P1.0 = 1

Loop
End If
Gast #148114
Lesenswert?

Bascom AVR würde hier nicht meckern :
Do
If Pind.1 = 1 Then
 Reset Portb.1
Else
  Set Portb.1
    End If
Loop

Was du machst :
Set P1.0 = 0   ist klar das da ein Fehler kommt weil:

entweder Set P1.0 oder
P1.0 = 1
nicht beides in einer Zeile
Gast #148115
Lesenswert?

hab es geschafft, hier das listing
If P1.2 = 1 Then
   P1.0 = 1

   End If
If P1.2 = 0 Then
   P1.0 = 0
   End If

Return
End

und etwas einfacher

If P1.2 = 1 Then
   P1.0 = 1
   Else
   P1.0 = 0

   End If

Return
End

alles unter Bascom8051. Vielleicht meckert das programm deshalb bei
eingabe vin PIN.
ist echt klasse das Forum,
danke für die hilfe, hab nun schon eine und verknüpfung erfolgreich
eingefügt und übe nun ein flip-flop. klappt aber noch nich.
Micha
Gast #148118
Lesenswert?

hat noch einer ne idee zu einem flip flop.
habe mal das hier versucht, aber die diode am ausgang 1.0 leuchtet nur
solange wie der eingang 1.2 auf masse liegt.
>
Goto Main

Main:
 If P1.2 = 1 Then Goto Setzen
 If P1.3 = 1 Then Goto Rsetzen

Setzen:

P1.0 = 1
Goto Main

Rsetzen:

P1.0 = 0
Goto Main

Return

 End
Gast #148121
Lesenswert?

danke Peter,
hab das ganze umgeschrieben, und siehe da es klappt.

ist ja echt interessant mit controlern zu experimentieren.
ich muß aber noch viel lernen.
hier das neue listing

Goto Main

Main:
 If P1.2 = 0 Then Goto Setzen
 If P1.3 = 0 Then Goto Rsetzen
Return
Setzen:
P1.0 = 1
Goto Main
Rsetzen:
P1.0 = 0
Goto Main
Return

 End

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren