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
Hallo, vielleicht solltest Du Dir erst über den Unterschied zwischen einem Frequenzgenerator und einer Periodendauermessung klarwerden... ;) Gruß aus Berlin Michael
Du hast recht. Ich sollte natürlich die Periodendauer ausgeben und keinen Frequenzgenerator basteln.
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
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) ; }
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.