mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT90S1200 und PC-Speaker


Autor: Thomas Klingbeil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
hat jemand eine Idee, wie man einen AT90S1200 dazu bringen kann auf
einem angeschlossenen PC-Speaker einen Piepston auszugeben (als
Statusmeldung)?

Danke,
Thomas

Autor: Dingens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
an/abschaltbarer rechteckgenerator. ne555 tuts.

Autor: Thomas Klingbeil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
geht das irgendwie mit den bordmitteln?
ich will den atmel keine melodien spielen lassen, sondern der soll
einfach nur pieps machen... (und das nichtmal in einer bestimmten
tonlage ;) )

Autor: Henning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nimm nen piezo, der brauch kein signal, nur spannung

Autor: Dingens (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wenn du'nen pwm ausgang über hast, is zwar'ne verschwendung, aber
naja. würde aber keine interrupts oder sonstewas für so'n schnulli
verschwenden. da wärs mir eher wert für 30cent oder so 'nen dummen
6pin-teiler mit chip-enable-eingang nehmen und vom takt abzweigen

Autor: Thomas Klingbeil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab ich vielleicht vergessen zu sagen: bin wirklich noch anfänger.
was ist denn ein pwm-ausgang? und hat der atmel AT90S1200-4 sowas?

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der 1200er hat keinen PWM-Ausgang.
Schalte den Speaker einfach zwischen 2 Portpins, ggf. mit zusätzlichem
Widerstand.
Zum Programm:
entweder mit Timer, oder wenn der Chip sonst nichts zu tun hat, auch
mit einfachen delay.

ldi r16, 0b00000001
loop:
out PORTB, temp
cpl r16 //invertiert
//hier entsprechendes delay je nach Taktfrequenz und Tonhöhe
rjmp loop  //forever

eleganter gehts mit dem Timer, aber da du offensichtlich ganz am Anfang
bist, machs erst mal so.

Autor: Thomas Klingbeil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab ich das richtig verstanden, dass der ton durch an-und ausschalten
zustande kommt?
wozu ist temp da? (oder is r16 = temp [im beispiel])
kann mir jemand einen anhaltspunkt geben, wie ich nen hörbaren ton
erzeugen kann?

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
jo, temp ist r16.
Willst du einen Ton von z.B. 1kHz erzeugen, beträgt die Periodendauer
1ms, eine halbe Periode also 500µs. Die restliche Programmlaufzeit mal
ausser acht gelassen, muss die Verzögerung also 500µs betragen. Bei
1MHz Taktfrequenzsind das 500 Takte, bei z.B. 4MHz 2000 Takte.
Kann man leicht mit Schleifen realiesieren:

delay:
ldi r17, 100
delay_loop:
dec r17  //1. Takt
nop      //2. Takt
nop      //3. Takt
brne delay_loop //4.+5.Takt

erzeugt also eine Warteschleife von 100*5 Takten, also bei 1MHz 500µs.

Autor: Thomas Klingbeil (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
auf jeden fall schonmal vielen dank.
seh ich das jetzt richtig, dass ich, wenn der ton eine sekunde gehalten
werden soll, das ganze dann bei dieser frequenz 1000 mal wiederholen
muss?

Autor: Henning (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du must den code der die pins schaltet und die warteschleife enthält
eine sekunde lang ausführen (in einer weiteren schleife)

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.