Hallo an alle Modellflieger,
habe mit Pic 12Cxxx etwa 10 Stück von den Ortungspiepern erstellt. Nun dachte ich, dieses Thema
mit einem 8 poligen tiny13 aufzubauen. Bin noch Anfänger und sags gleich vorraus "meine Englischkenntnisse=0".
Bitte nicht mit dem Hinweis "ins Datenblatt schauen"! habe mir Bücher in Deutsch zugelegt.
Angefangen mit den AVR hats mit einem Lernpacket vom Franzis-Verlag, hinzugekommen ist eine
Programmiereinheit von myAVR, die ich über die ISP Schnittstelle erweitert habe.
Über die Funktionsweise des Ortungspiepers (OP) werde ich später berichten, es würde jetzt zu weit führen.
Als ersten Test habe ich mit Bascom eine IF / ELSE / ENDIF Routiene aufgebaut und komme hier nicht weiter.
Sofort nach Zugeben der Versorgung blinkt die LED an PortB.0 obwohl keine Taste betätigt ist.
Ich meinte zu wissen, das:
wenn keine Taste gedrückt, wird zwischen Else und Endif abgearbeitet, (Input=High / Pullupp aktiviert)
wenn Taste gedrückt, wird zwischen If und Else abgearbeitet.
Rein vom logischen dürfte die LED doch nicht blinken, wo hab ich nur einen Denkfehler!
'Datei-Name: tinypieper00.bas
'Datum: 03.09.2011
'Zielsetzung:Ortungspieper für 20/30/40 Minuten
'Taste "Test" für Testbetrieb an PB3 Pin 2
'Schalter "Sw1" für 20 Min. an PB4 Pin 3
'Schalter "Sw2" für 30 Min. an PB1 Pin 6
'Schalter "Sw3" für 40 Min. an PB2 Pin 7
'Ausgang an PB0 Pin 5
'System-Einstellungen
'================================================= =====
'Definition für ATtiny13
$regfile "attiny13.dat"
'Angabe der Taktfrequenz
$crystal = 1000000
'Konfiguration Ausgang / Eingänge:
'================================================= =====
'PORTB.0 als Output
Piep Alias Portb.0
Config Piep = Output
Test Alias Pinb.3
Config Test = Input
Portb.3 = 1
Sw1 Alias Pinb.4
Config Sw1 = Input
Portb.4 = 1
Sw2 Alias Pinb.1
Config Sw2 = Input
Portb.1 = 1
Sw3 Alias Pinb.2
Config Sw3 = Input
Portb.2 = 1
'Hauptprogramm-Schleife
Do
Abfrage:
If Test = 0 Then
Goto Piepen
Else
Goto Zeit1
End If
Zeit1:
If Sw1 = 0 Then
Goto Piepen
Else
Goto Zeit2
End If
Zeit2:
If Sw2 = 0 Then
Goto Piepen
Else
Goto Zeit3
End If
Zeit3:
If Sw3 = 0 Then
Goto Piepen
Else
Goto Abfrage
End If
Loop
Piepen:
Piep = 1
Wait 1
Piep = 0
Wait 1
Goto Piepen
Grüße
Rolf
Lesezeichen