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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.