Lautstärkereglung mit ATMega8 und DS1802

OP #1096722
Lesenswert?
• ▲
▼
Hallo Gemeinde,

Ich (immer noch blutiger Anfänger mit µC) versuche mich gerade an einer 
Lautstärkeregelung mit dem Digitalpoti DS1802.
Leider komme ich nicht mehr weiter, vielleicht kann mir einer von Euch 
helfen.
Ich nutze die Hardware SPI und habe folgendermaßen beschaltet:
ATmega8        DS1802
PB3 (MOSI) --> D   (Serial Port Data Input)
PB5 (SCK)  --> CLK (Serial Port Clock Input)
PB2 (SS)   --> RST (Serial Port Reset Input)
Wenn ich nun die Fernbedienung betätige kann ich mit dem Oszi an PIN D 
und Pin RST des DS1802 Dateneingang nachweisen.
Leider kann ich keine Änderung des Widerstandes an den entsprechenden 
Pins des DS1802 feststellen (was ja eigentlich Sinn der Übung ist).
Vielleich erkennt ein Profi gleich wo ich Mist gebaut hab.

Hier mein Programm:

' Lautstärkeregelung über IR-Fernbedienung mit ATMega8 und DS1802
$regfile = "m8def.dat"
'erzeugt kleineren code
$lib "mcsbyte.lbx"
$baud = 19200
$crystal = 4000000

Declare Sub Lauter
Declare Sub Leiser
Declare Sub Setvolume

' für Digitalpoti DS1802
Config Spi = Hard , Data Order = Msb , Master = Yes , Polarity = High , 
Phase = 0 , Clockrate = 4 , Noss = 0
Spiinit

Config Portc = Output

'Pin für IR-Sensor PD7
Config Rc5 = Pind.7
Portd.7 = 1

Enable Interrupts

Dim Addr As Byte , Comm As Byte
Dim Vol_l As Byte , Vol_r As Byte

Vol_l = 0
Vol_r = 0

Do
  Getrc5(addr , Comm)
  If Addr <> 255 Then
    Reset Comm.7
    Select Case Comm
      Case 16
        Call Lauter
      Case 17
        Call Leiser
    End Select
  End If
Loop
End

Sub Lauter
  If Vol_l < 63 Then Vol_l = Vol_l + 1
  If Vol_r < 63 Then Vol_r = Vol_r + 1
  Call Setvolume
End Sub

Sub Leiser
  If Vol_l > 0 Then Vol_l = Vol_l - 1
  If Vol_r > 0 Then Vol_r = Vol_r - 1
  Call Setvolume
End Sub

Sub Setvolume
  ' DS1802 ansteuern
  Spiout Vol_l , 1
  Spiout Vol_r , 1
End Sub

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.