Forum: Mikrocontroller und Digitale Elektronik Atmega8 zu schnell/ungenau!


von Thilo (Gast)


Lesenswert?

Hi Leute!
Wollte per Mega8 2 Leds im 10 Sekundenabstand leuchten lassen!
habe das mit "wait 10" versucht... allerings wartet der da nur so 4-5 
Sekunden /-: Wo drann liegts? Brauch ich wirklich nen externen Quarz? 
Was für welche kann ich da alles nehmen?

Gruß Thilo

von Micha (Gast)


Lesenswert?

Hallo Thilo

Erst mal solltest Du genauer beschreiben, was du verwendest:

1. Hardware (Takt!!! intern/Extern Quartz)
2. Software (Hm, Glaskugel ein: Bascom????)
3. Source-Code

Sonst wirst Du nicht viele brauchbare Antworten bekommen (Glaskugel...)
Wenn Deine Zeiten doppelt so schnell sind wie eigentlich beabsichtigt, 
so läuft eventl. der Chip doppelt so schnell ?

Gruß, Michael

von Thomas (kosmos)


Lesenswert?

du musst Bascom auch mitteilen wie schnell der µC getatktet ist, da eine 
Schleife bei 4 MHz z.b. doppelt solange braucht als wenn der µC mit 8 
MHz getaktet ist.

von Holger K. (krulli) Benutzerseite


Lesenswert?

$crystal = 1000000
oder wie auch immer dein Takt ist...

von Thilo (Gast)


Lesenswert?

$regfile = "m8def.dat"
 $crystal = 8000000

 Config Lcd = 16 * 2
 Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , 
Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
 Config Lcdbus = 4
 Config Portd.7 = Output
 Config Portc.0 = Input
 Config Portc.1 = Input
 Config Portc.2 = Input
 Config Portc.3 = Input
 Config Portc.4 = Input
 Config Portc.5 = Input



 Cls
 Locate 1 , 1
 Lcd "blub 1"
 Locate 2 , 1
 Lcd "blub 2"
 Waitms 10000
 Do
 Cls
 Locate 1 , 1
 Lcd "hui: "
 Locate 2 , 1
 Lcd "buh: "

 Locate 1 , 12
 Lcd "00:00"
 Locate 2 , 12
 Lcd "12:00"
 Wait 10
 Locate 1 , 12
 Lcd "00:10"
 Locate 2 , 12
 Lcd "11:50"
 wait 10

 Cursor Off
 Wait 600
 Loop



so in etwa sieht der text aus ^^ beispiel.... am mega8 habe ich per 
fusebits nicht verstellt.... und standartmäßig sollte der dann ja mit 1 
Mhz laufen (-:

von Thilo (Gast)


Lesenswert?

sorry hab mich verschrieben $crystal = 1000000 natürlich

von Frank L. (hermastersvoice)


Lesenswert?

und warum schreibst du das dann nicht auch in dein Programm? Komische 
Vorgehensweise...

von Holger K. (krulli) Benutzerseite


Lesenswert?

Nur blöd, das du nirgends eine LED einschaltest

von Thilo (Gast)


Lesenswert?

1. Mit den 8mhz ^^ habe ich versucht das Problem loszuwerden, hätte ja 
doch sein können dass der auf 8mhz läuft...
2.Ist das daoben nur ein beispiel für das Problem! ich kann dir auch 
gerne das Programm mit den LEDs reinkopieren
3.Habe ich es sicher nicht nötig hier ein Problem vorzutäuschen obwohl 
alles bestens läuft /-:

von Es gehtauch einfach (Gast)


Lesenswert?

Und wie wär's, wenn man einfach nen NE555 nehmen würde, aber warum 
einfach, wenns auch kompliziert geht :)

von Thilo (Gast)


Lesenswert?

sorry dass ich nicht mit dem Wissen geboren wurde was ein NE555 ist ! 
/-:

von Marius S. (lupin) Benutzerseite


Lesenswert?

lol, Thilo damit outest du dich aber als typischer BASCOM-User :-)

von bascom-looser (Gast)


Lesenswert?


von Thilo (Gast)


Lesenswert?

so hab mir jetzt ein paar von diesen Timer ICs ausgelötet... kann mir 
wer ein paar HowTos geben oder sagen wies jetzt weitergeht?

von xyz (Gast)


Lesenswert?

>1. Mit den 8mhz ^^ habe ich versucht das Problem loszuwerden, hätte ja
doch sein können dass der auf 8mhz läuft...

8mhz? 8milliherz?

Mann sollte sich schon an die entsprechende Notation in der
Elektrotechnik halten.

Also 8MHz

von Hannes L. (hannes)


Lesenswert?

xyz wrote:

> 8mhz? 8milliherz?
>
> Mann sollte sich schon an die entsprechende Notation in der
> Elektrotechnik halten.

Nunja, die Megasiemens (MS) als Zeitangabe findet man hier auch 
gelegentlich. ;-) Ist halt cool...


>
> Also 8MHz

oder 20 ms. ;-)

...

von Henrik J. (henrikj)


Lesenswert?

Wenn du den Controller schon hast und es nur an der Programmierung 
scheitert, ist es abwegig nen NE555 zu nehmen. Quatsch, das!

Ich kann kein BASCOM und schaue sowieso nur ungern in den Code anderer. 
Deswegen kann ich dir hier nicht helfen. Aber wenn du schon nur die 
halbierte Zeit hast, ist das ja schonmal ein Anfang für die Fehlersuche. 
Irgendwelche Schleifen flasch parametriert?

Und wenn du ne LED schalten willst... Warum sagt der Code dann etwas 
über LCDs?

von Hubert.G (Gast)


Lesenswert?

Wenn du doch einen 555 nehmen willst schaust du hier: 
www.domnick-elektronik.de/elek555.htm

von Zeusi (Gast)


Lesenswert?

Hallo,
entweder taktest Du den internen RC auf 125kHz oder Du nimmst einfach 
die mehrfache schleifenanzahl,...

grüüüße

von Hannes L. (hannes)


Lesenswert?

Zeusi wrote:
> Hallo,
> entweder taktest Du den internen RC auf 125kHz oder Du nimmst einfach
> die mehrfache schleifenanzahl,...
>
> grüüüße

Mit einem Timer soll das auch gehen.

...

von Avr N. (avrnix) Benutzerseite


Lesenswert?

http://www.rowalt.de -> dann Timer

ist gut für den Änfänger, Aufwendige Projekte findest du 
http://www.comwebnet.de

von Magnus Müller (Gast)


Lesenswert?

@avrnix:

Der Thread (und der letzte Beitrag) ist über 4 Montate alt...

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.