Zeitgesteuerte LED's mit Taster und Timer Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte
| Autor |
Zeitgesteuerte LED's mit Taster und Timer Suche nach: led (32776) taster (7733) timer (2137) |
|
|
|
|
BID = 634597
Meenzer Gerade angekommen
Avatar auf fremdem Server ! Hochladen oder per Mail an Admin
Beiträge: 6 Wohnort: Nieder-Olm
|
|
Guten Nachmittag zusammen,
ich möchte gerne meinen Atmega 16 programieren. Und zwar das er nach dem
drücken einer Taste (bzw. Taster) die erste LED für 2 Sek., sie
abschaltet und danach die zweite LED für 5 Sek. leuchten lässt und diese
dann auch abschaltet. Hab schon viel gegooglet, doch zu einem richtigen
ergebnis kam ich bis jetzt noch nicht. Möchte das mit einem Timer
realisieren, jedoch hab ich keinerlei ahnung von der Programierung bzw.
der Funktionsweise eines Timers. Hier mein bis jetzt zusammen
gebastelter Quellcode:
1.
$regfile = "m16def.dat"
2.
3.
4.
5.
'$crystal = 8000000
6.
$baud = 38400
7.
8.
Ddrb = &B1111_0000
9.
10.
Ddrd = &B0000_0000
11.
12.
13.
14.
Portb.4 = 0
15.
Portb.5 = 0
16.
Portb.6 = 0
17.
Portb.7 = 0
18.
Portd = &B1111_1111
19.
20.
21.
Dim LEDZeit1 As Word
22.
Dim LEDZeit2 As Word
23.
24.
25.
LED1 Alias Portb.4
26.
LED2 Alias Portb.5
27.
28.
29.
'TASTER1 an PD2
30.
Taster1 Alias Pind.2
31.
Config Taster1 = Input
32.
33.
'TASTER2 an PD3
34.
Taster2 Alias Pind.3
35.
Config Taster2 = Input
36.
37.
38.
39.
Config Timer1 = Timer , Prescale = 256
40.
On Timer1 Zeit
41.
42.
Enable Timer1
43.
Load Timer1 , 34285
44.
45.
46.
Enable Interrupts
47.
48.
LEDZeit1 = 0
49.
LEDZeit2 = 0
50.
51.
52.
Do
53.
Debounce Taster1 , 0 , On_taster1 , Sub
54.
Debounce Taster2 , 0 , On_taster2 , Sub
55.
Loop
56.
57.
'End
58.
59.
Zeit:
60.
61.
On_taster1:
62.
63.
Incr LEDZeit1
64.
If LEDZeit1 => 1 Then LED1 = 1 Else LED1 = 0
65.
If LEDZeit1 = 9 Then Reset LEDZeit1
66.
67.
Return
68.
69.
On_taster2:
70.
Incr LEDZeit2
71.
If LEDZeit2 => 1 Then LED2 = 1 Else LED2 = 0
72.
If LEDZeit2 = 9 Then Reset LEDZeit2
73.
74.
Return
75.
76.
End
Weiter weiß ich nicht....das ding macht einfach nicht was ich will. Wäre
nett von euch wenn ihr mir weiterhelfen könnten. Habe nicht wirklich
Ahnung vom Programieren, also bitte nicht so viele Fachausdrücke
Danke im Vorraus
Gruß Eli
[ Diese Nachricht wurde geändert von: Meenzer am 17 Sep 2009 16:24 ] |
|
BID = 634634
DonComi Inventar
     
Beiträge: 8604 Wohnort: Amerika
|
|
Hallo Meenzer,
Vorerst: wir haben Code-Tags, damit wird das übersichtlicher .
Achja, deine Taktfrequenz ist wirklich 8MHz? Wenn das schon nicht stimmt, sind sämtliche Zeitwerte deines Programmes in der Realität anders .
Und der AVR tut auch was?
Edit:
Öhm, also von der Timersache ist das OK, der erzeugt eine Frequenz von etwa 1Hz. Hast du mal daran gedacht, den Timer im Interrupt neuzuladen, also wieder
Load Timer1, 34285
Ansonsten ist das Programm eigentlich in Ordnung. Nur eben den Wert neuladen .
Und die Zählwerte anpassen, für 2 Sekunden ist 9 schon viel zu hoch .
Einzig die Frage, ob das Entprellen der Tasten richtig funktioniert. Ich kann mit dem Befehl debounce nichts anfangen, aber wird schon stimmen.
_________________
[ Diese Nachricht wurde geändert von: DonComi am 17 Sep 2009 19:28 ]
[ Diese Nachricht wurde geändert von: DonComi am 17 Sep 2009 19:31 ] |
|
BID = 634653
ElektroNicki Inventar
     
Beiträge: 6424 Wohnort: Ugobangowangohousen
|
Wie wärs mit waitms?
_________________
|
BID = 634661
DonComi Inventar
     
Beiträge: 8604 Wohnort: Amerika
|
Zitat :
|
Möchte das mit einem Timer
realisieren
|
_________________
|
|
Zum Ersatzteileshop
Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum
Datenschutz
Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland
gerechnet auf die letzten 30 Tage haben wir 18 Beiträge im Durchschnitt pro Tag heute wurden bisher 0 Beiträge verfasst © x sparkkelsputz Besucher : 187907023 Heute : 1306 Gestern : 19923 Online : 179 24.12.2025 3:55 5 Besucher in den letzten 60 Sekunden alle 12.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
|
xcvb
ycvb
0.0748450756073
|