Assembler kann ich nicht, aber da das hier ja eigentlich auch das Bascom Forum ist, schreibe ich mal wie man die Frequenz von 38kHz damit erzeugen kann.
Code:
$crystal = 8000000
Config Timer0 = Timer, Prescale = 1
On Timer0 Timerroutine
Enable Timer0
Enable Interrupts
Timerroutine:
Timer0 = 45
'diese Routine wird knapp 37900 mal pro Sekunde aufgerufen
Return
Wenn du die Timerroutine doppelt so oft aufrufst, sprich 76000 mal pro Sekunde und in der Routine einfach nur einen Pin toggles hast du an dem Pin ein Rechtecksignal mit ca. 38 khz
Dafür musst du in obigem Code nur "Timer0 = 45" durch Timer0 = 151" ersetzen und in die Timerroutine ein "Toggle Pinx.x" einfügen.
Mit Timer1 geht das natürlich auch, da das ein 16bit Timer ist, ergeben sich dafür allerdings andere Zahlenwerte.
Lesezeichen