Forum: Mikrocontroller und Digitale Elektronik ATmega8a programmiern


von Laura (Gast)


Lesenswert?

Hallo
Ich bin total neu in der Welt der Mikrocontroller. Ich habe es geschafft 
ein Programm auf mein ATmega8a zu übertragen, welches nur eine LED 
blinken lässt. Jetzt wollte ich ein anderes Programm übertragen, doch 
Bascom avr erkennt mein Mikrocontroller nicht. Kann es daran liegen, 
dass schon ein Programm vorhanden ist und ich das erst löschen muss?

Dazu habe ich noch eine Frage zu einem Befehl. Ich will in meinem 
nächsten Programm einen Taster mit einbeziehen. In den Programm was ich 
schon habe wird der Taster so verwenden, dass die LED blinkt wenn der 
Taster gedrückt ist.
Gibt es auch eine Möglichkeit ein Programm erst abzuspielen, wenn der 
Taster einmal gedrückt wurde? Sodass er nicht die ganze Zeit gedrückt 
bleiben muss? Also dass er einmal gedrückt werden muss, um das Programm 
zu starten?

Schonmal Danke für die Hilfe
LG Laura Emig

von Hubert G. (hubertg)


Lesenswert?

Laura schrieb:
> Kann es daran liegen,
> dass schon ein Programm vorhanden ist und ich das erst löschen muss?

Nein.

Laura schrieb:
> Gibt es auch eine Möglichkeit ein Programm erst abzuspielen, wenn der
> Taster einmal gedrückt wurde? Sodass er nicht die ganze Zeit gedrückt
> bleiben muss? Also dass er einmal gedrückt werden muss, um das Programm
> zu starten?

Ja. Taste abfragen, wenn gedrückt Merker (Flag) setzen. Wenn Flag 
gesetzt, dann Programm starten.

von Laura (Gast)


Lesenswert?

Hubert G. schrieb:
> Ja. Taste abfragen, wenn gedrückt Merker (Flag) setzen. Wenn Flag
> gesetzt, dann Programm starten.

Könntest du mir ein Beispielprogramm schicken?
LG Laura Emig

von geert (Gast)


Lesenswert?

Laura schrieb:
> Ich habe es geschafft
> ein Programm auf mein ATmega8a zu übertragen, welches nur eine LED
> blinken lässt.

Laura schrieb:
> Könntest du mir ein Beispielprogramm schicken?

Schick doch mal das Programm, dass du schon mal uebertragen hast. Das 
koennte man dann modifizieren.

von Wolfgang (Gast)


Lesenswert?

Laura schrieb:
> Also dass er einmal gedrückt werden muss, um das Programm
> zu starten?

Da stimmt deine Vorstellung von den Abläufen im µC noch nicht.

Sobald der ATmega mit Strom versorgt wird, fängt er kurze Zeit danach 
an, das Programm in seinem Speicher abzuarbeiten. Das tut er so lange, 
bis jemand ihm den Strom abdreht (Sleep, WDT u.ä. erstmal außen vor 
gelassen, das kommt später). Ob er im Programm auf das Drücken einer 
Taste wartet und dann irgend etwas bestimmtes tut, hängt einzig von 
deinem Programm ab.

von Laura (Gast)


Angehängte Dateien:

Lesenswert?

das "led bild" ist auf dem controller und das zweite Bild ist das schon 
beschriebene.
Danke schonmal
LG

von geert (Gast)


Lesenswert?

Laura schrieb:
> das "led bild" ist auf dem controller und das zweite Bild ist das schon
> beschriebene.

Bitte als Textdatei anhängen oder in den Code Tags einschließen wie es 
unter "Formatierung" unter "Antwort schreiben" beschrieben ist bzw auch 
hier http://www.mikrocontroller.net/articles/Formatierung_im_Forum

Aus einem Bild heraus wird kaum jemand etwas abschreiben, wenn er es per 
copy und paste bekommen könnte.

von Hubert G. (hubertg)


Lesenswert?

1
Taste Alias Pinb.0
2
Config Portb.0 = Input
3
Portb0 = 1
4
Dim Progstart As Bit
5
6
Do
7
  If Taste =0 Then
8
  Progstart = 1
9
  End If
10
  
11
  If Progstart = 1 Then
12
    Hier kommt dein Programm
13
    
14
  End If
15
Loop
16
17
End
Wenn du am Ende deines Programms Progstart wieder auf 0 setzt, dann 
läuft es nur einmal durch, ansonst endlos.

von Hubert G. (hubertg)


Lesenswert?

Wie wäre es mit einem kleinen BASCOM-Tutorial?
http://halvar.at/elektronik/kleiner_bascom_avr_kurs

von Laura Emig (Gast)


Lesenswert?

Danke.
Ich glaube mit diesem Tutorial sollte ich es hingekommen. Danke nochmal
LG Laura Emig

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.