Zeitgesteuerte LED's mit Taster und Timer

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 24 12 2025  03:55:05      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Oszilloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : 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



_________________


Zurück zur Seite 0 im Unterforum          Vorheriges Thema Nächstes Thema 


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