Wie Timer2 vom 80535 programmieren ?

J

John Orlando

Guest
Hallo

Ich moechte den Timer 2 des 80535 als Frequenzgenerator mit einem moeglichst
grossen Frequenzbereich programmieren.
Wie muss ich die Register setzten ? Hat das schon jemand gemacht oder kennt
eine Adresse wo so etwas moeglichst genau und ausfuehrlich beschrieben
steht.
Danke.

MFG
 
John Orlando schrieb:
Ich moechte den Timer 2 des 80535 als Frequenzgenerator mit einem moeglichst
grossen Frequenzbereich programmieren.
Wie muss ich die Register setzten ? Hat das schon jemand gemacht oder kennt
eine Adresse wo so etwas moeglichst genau und ausfuehrlich beschrieben
steht.
Hallo,

mit dem 80535 habe ich es zwar noch nicht gemacht, aber mit dem 80c167.
Höher als die Eingangsfrequenz des Timers geht eh nicht, meistens ist
bei der Hälfte Schluß.
Um möglichst weit nach unten zu kommen muß man möglichst zwei Zähler
kaskadieren damit man statt nur 8 oder 16 Bit dann 16 oder 32 Bit
insgesamt zur Verfügung hat.
Alternativ gibt es auch oft einen Vorteiler um z.B. acht verschiedene
Frequenzen von 1/8; 1/16; 1/32 bis 1/1024 der Prozessortaktfrequenz
auszuwählen.

Bei manchen Timern kann man auch zwei Reload Register abwechselnd
benutzen, dann kann man die High und Low Zeiten getrennt einstellen.
Manchmal gibt es alternativ auch ein ein Ausgangsflipflop extra, damit
kann man die Frequenz noch halbieren und ein Tastverhältnis 1:1 erzeugen.

Ich habe mir halt die Beschreibung des Timers mit den verschiedenen
Betriebsarten genau durchgelesen und nach Beispielprogrammen dazu
gesucht. Zum Testen habe ich dann was passendes drangehängt um Frequenz
und Tastverhältnis zu messen. Je nachdem was Dir zur Verfügung steht,
Oszillograph, Logikanalysator, Logic Probe, bei sehr niedrigen
Frequenzen hilft auch schon eine Leuchtdiode.

Bye
 
In article <433a3cc8$0$16495$9b4e6d93@newsread4.arcor-online.net>,
"John Orlando" <orlando10@gmx.de> writes:
versuch mal das datenblatt vom M80515 oder M80c515 zu bekommen. da steht
alles drinn.

Timer 2 kann kann als 16 bit timer mit autoreload verwendet werden.
Also die Eingangsfrequenz durch 1 bis 65536 teilen.

Die Eingangsfeequenz ist wahlweise Quarzfrequenz durch 12 oder 24.
Auch eine externe frequenz ist möglich darf aber nicht schneller als 1/24
der Quarzfrequenz sein.

Verrat uns mal die gewünschte aufösung und den frequenzbereih. Dann können
wir sagen ob und wie das möglich ist.

Ich moechte den Timer 2 des 80535 als Frequenzgenerator mit einem moeglichst
grossen Frequenzbereich programmieren.
Wie muss ich die Register setzten ? Hat das schon jemand gemacht oder kennt
eine Adresse wo so etwas moeglichst genau und ausfuehrlich beschrieben
steht.
Danke.

MFG
--
MFG Gernot
 
Hallo

Schoenen Dank fuer die bisherigen Antworten

Verrat uns mal die gewünschte aufösung und den frequenzbereih. Dann können
wir sagen ob und wie das möglich ist
..
hatte ich doch gesagt, moeglichst gross, alles was Timer 2 hergiebt :)
Was fuer Werte muss ich in die Register schreiben? Komme mit deren Bedeutung
noch nicht zurecht.
So ganz praktisch. Hab da eine Frequenz, wo muss ich die reinschreiben?
Welche Betriebsart muss ich waehlen und womit dann die Register setzten?

MFG

"John Orlando" <orlando10@gmx.de> schrieb im Newsbeitrag
news:433a3cc8$0$16495$9b4e6d93@newsread4.arcor-online.net...
Hallo

Ich moechte den Timer 2 des 80535 als Frequenzgenerator mit einem
moeglichst
grossen Frequenzbereich programmieren.
Wie muss ich die Register setzten ? Hat das schon jemand gemacht oder
kennt
eine Adresse wo so etwas moeglichst genau und ausfuehrlich beschrieben
steht.
Danke.

MFG
 
In article <433b8daf$0$26222$9b4e6d93@newsread2.arcor-online.net>,
"John Orlando" <orlando10@gmx.de> writes:
.
hatte ich doch gesagt, moeglichst gross, alles was Timer 2 hergiebt :)
Was fuer Werte muss ich in die Register schreiben? Komme mit deren Bedeutung
noch nicht zurecht.
So ganz praktisch. Hab da eine Frequenz, wo muss ich die reinschreiben?
Welche Betriebsart muss ich waehlen und womit dann die Register setzten?
Das geht nicht so wie du denkst.
Du has einen teiler der mit einer bestimmten frequenz läuft.
Diese ist normal Quarz durch 12.

Läuft dieser zähler über 65535 kann er auf einen eingestellten wert
springen. Dabei kann er einen Interrupt auslösen.
Hier ein kleines programm das den timer in diesem Modus startet.

CCEN=0;
CRCL=(65536-(clock/12/frequenz))%256;
CRCH=(65536-(clock/12/frequenz))/256;
T2CON=1+16;
TR2=1

bei muss dir klar sein dass je höher die frequenz wirs die sprünge immer
gröber werden. Das heisst wenn bei clock/12/frequenz ein Rest übrigbleibt
die eingestellte frequenz nicht genau stimmt.

--
MFG Gernot
 

Welcome to EDABoard.com

Sponsor

Back
Top