Frequenzgenerator mit 80c51

Gast #578862
Lesenswert?
• ▲
▼
Hi!
Ich bräuchte da mal etwas unterstützung. Ich soll mit einem 80c51 eine 
Art Frequenzgenerator realisieren und mir fehlt etwas der Startpunkt wo 
ich anfangen soll.
Am P3_2 soll ein Rechtecksignal gemessen werden und die Periodendauer in 
ys am Port 0 (lower Byte) und am Port1 (higher byte) ausgeben. Also zB. 
bei 1356 ys -> 1356d = 54Ch  Port0= 4Ch  Port=1 05h

Kann mir jemand sagen wie ich da am besten Anfange?! Oszifrequenz ist 
12Mhz und das ganze in Ansi-C

Vielen Dank im Vorraus für eure Tipps!

Ciao
Johannes
Gast #578875
Lesenswert?
• ▲
▼
Hallo,

wenn das Ding nichts weiter machen soll:

In einer Schleife den Pinzustand abfragen, wenn der von L auf H wechselt 
einen passenden Timer starten. Weiter abfragen, bis wieder ein 
L/H-Wechsel erkannt wird, dann den Timer auslesen und die Zeit 
ausrechnen und ausgeben und dann eben wieder von vorn...

Wenn es vornehm werden soll: Flanken-Interrupt programmieren usw.

Gruß aus Berlin
Michael
Gast #578889
Lesenswert?
• ▲
▼
Könnte das klappen?

Void Init ExtInt 0(void){

TCON=TCON|0x01;
IE=IE|0x81;
}

Void Iinit Timer0(void){

THO =0;
TLO= 0;
TMOD=TMOD|0x01;
TMOD=TMOD&0xF1;
}
Void ISR EIO(void) interrupt0{
If(TRO==1){TRO=0;
P1=TLO;
P2=THO;
TLO=0;
THO=0;
TRO=1;
}
else{TRO=1;}
}
Void main(void){
Init extint 0();
Init Timer0() ;
While(1) ;
}

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren