Problem mit Timer

Gast #4025524
Lesenswert?
• ▲
▼
Hallo
ich habe ein Problem mit diesem Code in Bascom.
1
$regfile = "M8def.dat"
2
$crystal = 1000000
3
$hwstack = 100
4
$swstack = 100
5
$framesize = 100
6

7
Dim Ad As Word
8
Dim Ad_triac As Word
9

10
Config Portb.1 = Output
11
config Portb.2 = Output
12
Config Portb.3 = Output
13
Config Portb.4 = Output
14

15

16
Config Portb.1 = Output
17
Const Timer1_preload = 64559
18
Config Timer1 = Timer , Prescale = 1024
19
Enable Timer1
20
Stop Timer1
21
Timer1 = Timer1_preload
22
On Timer1 Isr_timer1
23
Enable Interrupts
24
Config Adc = Single , Prescaler = Auto , Reference = Avcc
25
Start Adc
26

27
On Int0 On_int0
28
Config Int0 = Falling
29
Enable Int0
30

31

32
Do
33
Portb.1 = 0
34
Portb.2 = 0
35

36

37

38

39

40
Loop
41

42
Isr_timer1:
43
Stop Timer1
44
Timer1 = Timer1_preload
45
PortB.1 = 1
46
Return
47

48
On_int0:
49

50
Start Timer1
51

52
Portb.2 = 1
53
Return
54

55
End                                                         'end program
Bei einem interrupt geht eine Led an, wie sie es soll. Gleichzeitig wird 
auch ein Timer gestartet, der wenn er überläuft eine zweite Led zum 
leuchten bringen soll. ich habe es so angedacht, dass diese nach 9ms 
angehen soll. allerdings tut sie es erst nach 1. Sekunde.
Was habe ich falsch gemacht??

Niclas
Gast #4025552
Lesenswert?
• ▲
▼
Dein Timer1 läuft durch den Prescaler von 1024 mit einer Frequenz von 
ca. 977Hz. Periodendauer ca. 1ms.

Durch den Preload von 64559 braucht es 977 (65536 - 64559) Ticks bis der 
Timer überläuft. 1ms * 977 macht ca eine Sekunde. Deine Beobachtung 
stimmt mit deinem Programm überein.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.