Forum: Mikrocontroller und Digitale Elektronik Bascom Zeitbaasis


von wolf4124 (Gast)


Lesenswert?

Hallo

Wie realisiere ich bei Bascom eine Zeitbasis von z.B. 1 Sekunde

Gruß

Wolf4124

von leo9 (Gast)


Lesenswert?

timer setzen und auf Interrupt "warten", in der Int. Routine den
Tmr-Counter entsprechend erhöhen und schon kommt der nächste Int. genau
eine Sek. später. Oder gleich mit Preload der Timer arbeiten, hängt halt
davon ab welchen uP du verwendest.

grüsse leo9

von David (Gast)


Lesenswert?

Genau hierzu habe ich eine eigenartige Erfahrung gemacht.

Ich habe für dieses Problem den Timer1 vom ATMega8 genommen
(11,05920MHz)
In der ISR lade ich den Timer sofort mit
Load timer1 , 10800
den Timer neu und das gibt einen schönen sekundentakt.
ABER!!!
Am Start des Programmes mache ich das gleiche (LOAD ...), leider dauert
es bis zum ERSTEN Interrupt 6 sekunden (also ein kompletter Timer1
Überlauf), erst danach läuft der 1 Sekunden Takt

Ersetze ich allerdings das
"
LOAD TIMER1, 10800
"

durch

"
Tcnt1h = 214
Tcnt1l = 166
"
(also 65536 - 10800)
dann habe ich sofort den sekundentakt!

Warum gibt es einen Unterschied zwischen dem LOAD Befehl vonm BASCOM
und den direkten setzen der Register???

von David (Gast)


Lesenswert?

Habe natürlich was vergessen!!

PRESCALE = 1024

damit das nachrechnen auch klappt  :-)

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.