Hallo und guten Abend,
ich habe eine kleines Problem.
Ich hbae hier ein Programm, welches über einen Attiny 13 eine LED
blinken lässt, wenn auf einen LDR Fotowiderstand Licht fällt. Die LED
ist an den PortB3 angeschlossen. Zusätzlich will ich jetzt aber
gleichzeitig eine zweite LED die an PortB1 angeschlossen ist, blinken
lassen.
Ich habe hierzu folgenden Basic Code...
1 | $regfile = "ATtiny13.DAT"
|
2 | $crystal = 16000 'Frequenz des internen Oszillators
|
3 | $hwstack = 2 'hardwarestack herabsetzen damit genügend variablen zur verfügung stehen
|
4 |
|
5 | Config Adc = Single , Prescaler = Auto
|
6 | Config Portb = &B00001000 'Pinb.3 auf 'Ausgang', Rest auf 'Eingang' schalten
|
7 | Portb = 0 'Ausgänge auf Low setzen
|
8 | Stop Ac 'Analog-Komparator abschalten, um Strom zu sparen
|
9 |
|
10 | Wdtcr = &B11010011 'Watchdog definieren: 0.125 Sekunden, Interrupt auslösen, kein Reset
|
11 | Enable Interrupts 'Interrupts freigeben
|
12 |
|
13 | Const Tagschwelle = 800 'Schwellwert für Schlafmodus
|
14 | Dim Ldr As Integer '0 = Dunkel, 1023 = Hell
|
15 |
|
16 | Do
|
17 | Gosub Pause
|
18 | Start Adc 'A/D-Wandler starten
|
19 | Ldr = Getadc(2) 'Helligkeitswert einlesen
|
20 | Stop Adc 'A/D-Wandler zum Stromsparen wieder stoppen
|
21 | If Ldr <= Tagschwelle Then
|
22 | Gosub Blinken 'Bei großer Änderung Dunkel->Hell: Blinken
|
23 | End If
|
24 | Loop
|
25 |
|
26 | Blinken: 'LED blinken lassen
|
27 | Portb.3 = 1
|
28 | Reset Watchdog
|
29 | Powerdown
|
30 | Portb.3 = 0
|
31 | Return
|
32 |
|
33 | Pause:
|
34 | Wdtcr = &B11110001 'Watchdog auf 8 Sekunden stellen
|
35 | Reset Watchdog
|
36 | Powerdown
|
37 | Wdtcr = &B11010011 'Watchdog wieder auf 0,125 Sekunden zurückstellen
|
38 | Return
|
39 |
|
40 | End
|
Wie kann ich das realisieren das die zweite LED an PortB1 auch mit
blinkt.
Kann da jemand weiter helfen.
vielen Dank und viele Grüße
funeddy