PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 40kHz erzeugen?



roboter
26.04.2005, 15:50
Wie der Titel schon sagt möchte ich mit Bascom ein 40kHz Signal erzeugen. Ich brauche das um diesen Ultraschallsensor anzusteuern: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=5261

Bsi jetzt habe ich folgenden Code:
$regfile = "2313def.dat" 'ATmega8-Deklarationen
$crystal = 4000000 'Quarz: 4 MHz

Config Timer1 = Timer , Prescale = 1

Config Pind.5 = Output
Signal Alias Portd.5

On Timer1 Timer_irq

Const Timervorgabe = 65336

Enable Timer1
Enable Interrupts
Portd.5 = 1

Do
Loop

Timer_irq:
Timer1 = Timervorgabe
Toggle Signal
Return

Nur in dem Beitrag von Manf steht, das ich ein Burst von 16 Perioden des 40kHz Signals brauche. Wie kriege ich denn das mit den 16 Perioden hin?
Ist der Code ansonsten in Ordnung?

roboter
30.04.2005, 16:07
Keiner der mir helfen kann?

Ich habe das ganze jetzt so:
$regfile = "2313def.dat" 'ATmega8-Deklarationen
$crystal = 4000000 'Quarz: 4 MHz

Config Pinb.3 = Output
Burst Alias Portb.3

On Timer1 Ontimer1
Config Timer1 = Timer , Prescale = 1
Enable Interrupts

Portb.3 = 1
Do
Enable Timer1
Waitms 3
Disable Timer1
Portb.3 = 1
Waitms 1000
Loop

End

Ontimer1:
Timer1 = 65485
Toggle Burst
Return

Ist der Code so in Ordnung? Es soll immer nach einer Sekunde gemessen werden.

Michael
30.04.2005, 16:21
Hallo roboter,

Ist der Code so in Ordnung?
Nutz doch den Sound-Befehl von Bascom, da kannst du die Anzahl der Impulse und deren Dauer festlegen.
Gruß, Michael

roboter
30.04.2005, 18:49
Ich wollte das eigentlich lieber mit dem Timer machen, weil ich mit dem Timer noch nichts gemacht habe und das gerne lernen wollte. Außerdem:
The SOUND statement is not intended to generate accurate frequencies. Use a TIMER to do that.

pebisoft
30.04.2005, 21:00
hallo, hast du dieses interface fertig gekauft oder selber zusammengebaut.
mfg pebisoft

Michael
30.04.2005, 21:19
Hallo roboter,

The SOUND statement is not intended to generate accurate frequencies. Use a TIMER to do that.
Du willst 1. nur einen Burst von 16 Perioden und 2. ist es sicher nicht so wichtig, ob du nun 39,8 oder 40,2 kHz hast, oder?
Den Timer brauchst du eh noch, um die Laufzeit festzustellen.
Gruß, Michael

roboter
01.05.2005, 17:49
@Michael:
Wie funktioniert denn der Sound-Befehl genau? So ganz verstehe ich die Hilfe in Bascom nicht.


@pebisoft:

hallo, hast du dieses interface fertig gekauft oder selber zusammengebaut.
mfg pebisoftWie meinst du das jetzt?

Michael
01.05.2005, 18:29
Hallo roboter,
Der Befehl:
Sound Portx.x , 16 , 31
erzeugt bei mir mit einem Atmega8 @16MHz einen Burst von 16 Impulsen mit 40 kHz.
Gruß, Michael

01.05.2005, 18:49
Ich habe zu diesem Thema mal nen anderen Beitrag gefunden: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=6074

Dann werde ich wohl ein Mega8 mit 16MHz nehmen und das mal ausprobieren O:)

roboter
01.05.2005, 19:03
Der Gast war ich gerade.

Aber ich habe gerade gesehen das ich nur noch 3,6864MHz, 4MHz und 8MHz quarze habe. Kann mir jemand dafür den Befehl geben?