Benutzer-Werkzeuge

Webseiten-Werkzeuge


projects:avr:pietzo_speaker

Piezo Summer des AVR Butterfly

Für die Ausgabe von Tönen hat der AVR Butterfly einen Piezosummer. Dieser ist an PORTB5 angeschlossen. Benutzt man den PWM lassen sich verschiedene Frequenzen generieren um Melodien zu spielen.

Der Port Pin 5 dient neben der normalen I/O Funktion auch als Output für den PWM Timer. Und ist daher zur Ausgabe von Frequenzen besonders geeignet. Weshalb er wohl als Anschluß für den Piezo Summer auf dem AVR Butterfly genommen worden ist.

Aber auch durch einfaches umschalten des Pins lassen sich dem Summer Töne entlocken. Forth Beispiel Code für den Piezo. (Dank an Ulrich Hoffmann für das Beispiel)

Anschlußskizze PORTB5 Pin auf dem AVR Butterfly

Funktion der Port Pins allgemein

Die Output Pins auf dem ATmega169 können alle einzeln gesteuert werden. Direkt mittels der SBI und CBI Befehle, oder durch beschreiben oder lesen des zugehörigen Data Registers. Jeder Pin verfügt über hi sink & hi source Eigenschaften und ist daher in der Lage eine LED zu treiben. Auch hat jeder Pin einen eigenen pull-up Wiederstand mit Vcc unabhängigem Wert sowie Schutzdioden gegen Vcc und Gnd.

Nomenklatur: Registername, Portbuchstabe x, Pin Nummer n

  • DRB5 Port B data register pin 5; w/r
    • DDRB5 Port B data direction register pin 5; w/r
    • PINB5 Port B pin register B pin 5; read only

    Jeder Port - und damit jeder einzelne Pin auch - besteht aus 3 Registern. Dem Data Register DRx, dem Data Direction Register DDRx und dem Port Input Register PINx. Die Pins können einzeln Eingang oder Ausgang sein. Über das PINx kann nur eingelesen werden, es werden aber die selben Pins gelesen wie im DRx.
    Eine den ganzen Portx betreffende Kontrolle besteht über das MCUCR. Wird dort das pull up disable bit (PUDbit) gesetzt, sind alle Pins des Port ohne Pullup Widerstand.

Jeder Pin eines Port ist mehrfach belegt. Unser PORTB5 hat neben dem I/O noch folgende Belegung:

• OC1A/PCINT13, Bit 5 OC1A, Output Compare Match A output: The PB5 pin can serve as an external output for the Timer/Counter1 Output Compare A. The pin has to be configured as an output (DDB5 set (one)) to serve this function. The OC1A pin is also the output pin for the PWM mode timer function. PCINT13, Pin Change Interrupt Source 13: The PB5 pin can serve as an external interrupt source.

Über einen Multiplexer können die alternativen Funktionen zugewiesen werden. Siehe Datenblatt des ATmega169.

{{projects:avr:alternate_pin.jpg|}}

projects/avr/pietzo_speaker.txt · Zuletzt geändert: 2013-06-06 21:27 von 127.0.0.1