Timer 1 macht Probleme
Mittwoch, 23. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  Programmiersprache Assembler  |  Timer (Assembler)  |  Timer 1 macht Probleme « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Umfrage
Frage: Wieso Läuft der Timer nicht?!
Timer nicht an?   -0 (0%)
Was vergessen?   -1 (100%)
Stimmen insgesamt: 1

Autor Thema: Timer 1 macht Probleme  (Gelesen 2012 mal)
 
Cobra-Schock
Newbie
*
Offline Offline

Beiträge: 6


Profil anzeigen
« am: Januar 13, 2011, 17:06:39 »

Ich bin neu hier und hoffe das ich Hilfe kriege, da ich echt nicht weiter weiß:
Ich verwende ein PIC 16F627A,
habe mich mit den Ports "anvertraut" und versuche mich nun an den Timer.

Mein Program ist eigendlich recht einfach, Der Timer1 soll ein Interrupt auslösen und dann eine LED anmachen.

Im Anhang habe ich mal Den Gesamten Code hingeschrieben. Ich habe schon versucht TMR1L und TMR1H auch null zu setzten, was nichts Bewirkte. Ich habe bereits Hier und auf anderen Seiten im Netz gesucht, jedoch konnte ich kein Beitrag finden, der mein Problem Spiegelt.

Hoffe auf Antwort

Gruß Sascha

* interrupt.asm (0.92 KB - runtergeladen 74 Mal.)
Gespeichert
Lux
Jr. Member
**
Offline Offline

Beiträge: 87



Profil anzeigen WWW
« Antworten #1 am: Januar 13, 2011, 20:47:11 »

Ach na klaro das alte Problem mit den Bänken: Das PIE1 Register ist auf Bank 1!

Also den Befehl:

Code:

bsf PIE1, TMR1IE ;Timer1 freigabe

Dahin machen, wo du auch die TRIS einstellst, dann sollte es klappen.
Gespeichert

www.PIC-Projekte.de Projekt Vorstellungen | PIC-µC-Forum
Cobra-Schock
Newbie
*
Offline Offline

Beiträge: 6


Profil anzeigen
« Antworten #2 am: Januar 14, 2011, 18:54:08 »

ICh Danke für die schnelle Hilfe.

Die Folge von der veränderung:

Die LED geht sofort an.

Müsste das nicht "erst" nach ca. einer Sekunde geschehen?( 4000000Mhz/4/1/65536=1,525s)?!
oder Ist das so schnell das ich das erst umbasteln muss, damit ich das sehen
kann das es funzt?

Gespeichert
Lux
Jr. Member
**
Offline Offline

Beiträge: 87



Profil anzeigen WWW
« Antworten #3 am: Januar 14, 2011, 20:28:42 »

Die LED geht nach 0,07s an, denn:

Bei einem 4 MHz Quarz hast du einen internen Takt von 1 MHz (hattest du ja erkannt).
Das bedeutet ein Zyklus dauert 1 (hoch -1) Mhz = 1µs.

Ein Überlauf erfolgt nach 65536 Zyklen also 1µs * 65536 = 0,07s.

 Smiley
Gespeichert

www.PIC-Projekte.de Projekt Vorstellungen | PIC-µC-Forum
Stephan
Jr. Member
**
Offline Offline

Beiträge: 88


Profil anzeigen
« Antworten #4 am: Januar 16, 2011, 11:28:30 »

Nein, die LED geht nach einer unbestimmten Zeit an, weil TMR1L und TMR1H nicht gesetzt sind und diese Zähler bei PowerOn unbestimmte Zustände haben (Datewnblatt S.49).

WENN sie 0x00 und 0x00 WÄREN, dann würde es knapp 0.6 sek dauern weil der Vorteiler über T1CKPS1 und T1CKPS0 1:8 gesetzt ist (gut 0,52 sec) und noch der im Config gesetzte Power-UP-Timer mit 72 msec zuschlägt.
Gespeichert
Cobra-Schock
Newbie
*
Offline Offline

Beiträge: 6


Profil anzeigen
« Antworten #5 am: Januar 16, 2011, 16:25:52 »

Danke für den Hinweiß Zwinkernd

Dann werde ich das mal auf 0 Setzen *gg*

Gruß

Sascha
Gespeichert
Lux
Jr. Member
**
Offline Offline

Beiträge: 87



Profil anzeigen WWW
« Antworten #6 am: Januar 16, 2011, 19:52:56 »

Nein, die LED geht nach einer unbestimmten Zeit an, weil TMR1L und TMR1H nicht gesetzt sind

Stimmt, danke hatte ich nicht gesehen.
Gespeichert

www.PIC-Projekte.de Projekt Vorstellungen | PIC-µC-Forum
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.099 Sekunden mit 21 Zugriffen.
 
Top! Top!