www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bascom8051+Sound+Timer


Autor: Uli Schwierzke (pumuckel123)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute, ich habe ein Problem und bitte um Eure Hilfe. Ich habe mit 
einem 89c5131 eine Schaltung aufgebaut, bei der ich verschiedene Töne 
ausgeben will. Da der "Sound" Befehl in Bascom keine befriedigenden 
Ergebnisse liefert, es lässt sich offensichtlich nur ein Ton einstellen, 
wollte ich die gewünschten Töne per Timer erzeugen. Die Tonerzeugung per 
Timer klappt auch aber es geht weder ein 2.Timer noch ein Wait Befehl. 
Im Anhang ist meine kleine Testroutine.
Vielleicht hat einer von Euch eine Lösung parat!!!
Danke für Eure Hilfe
Gruss Uli
'Sound test

$large

$regfile = "89C5131.dat"
$crystal = 24000000


Declare Sub Initialisieren
Declare Sub Ton_test

Dim I As Integer , Ii As Integer , Warte As Integer

Config Timer0 = Timer , Gate = Internal , Mode = 2
Config Timer1 = Timer , Gate = Internal , Mode = 2

On Timer0 Timer_0_int
Load Timer0 , 100
Enable Timer0


On Timer1 Timer_1_int
Load Timer1 , 100
Enable Timer1

Enable Interrupts



Config Lcd = 20 * 4
Speaker Alias P0.0

D_up Alias P3.1
D_down Alias P3.0
F_up Alias P3.3
F_down Alias P3.2


Call Initialisieren
'main Loop


Lowerline
Lcd "     Main Loop !    "
Cursor Off
Ii = 8
Start Timer0
Do
 Locate 4 , 1
 Lcd "                "
  For Ii = 8 To 16
   Locate 4 , 1
   Lcd Ii

   Warte = 1
   Start Timer1
   Do
   Loop Until Warte >= 20000
   Stop Timer1
  Next Ii
Loop

Sub Initialisieren
Cls
I = 0
Ii = 1
Warte = 1

End Sub

Timer_0_int:
I = I + 1
If I = Ii Then
I = 0
Speaker = Not Speaker
End If
Return

Timer_1_int:
Warte = Warte + 1
Return

End

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.