Schieberegister (HEF4094B) Programmieren

Gast #5662728
Hallo zusammen,
ich hoffe ihr könnt mir weiter helfen.
Bin grad dabei Ein Schieberegister zu programmieren.
Schieberegister --> HEF4094B
Microkontroller: Atmega32u4
Programm: Atmelstudio 7
Programmsprache: C

#include <avr/io.h>
int main(void)
{

  DDRB |= (1<<2) | (1<<3) | (1<<4) | (1<<5);
  unsigned char array [8] = {0,0,0,0,0,0,0,1};
  unsigned char array2 [8] = {1,1,1,1,1,1,1,1};
  unsigned char i;

     while (1)
     {
  PORTB = 0x04;     // damit nur mein OE aktiv ist
  for(i=0; i<8;i++)
  {
    PORTB = 0x04;
    if(array [i] == array2[i])
    {
       PORTB |=(1<<4);     // Data signal aktiv
    }
    else
          {
        PORTB &= ~(1<<4);   // Data signal low

    }
  PORTB |= (1<<5);   //Clock aktiv
  PORTB |=(1<<3);    // STR aktiv
        }

    }
}


Habe aif dem pin von schieberegister 2 LEDs drauf gelötet. Und möchte 
jetzt nur das der eine LED leuchtet. Bei mir leuchten die 2 LEDs aber. 
Stimmt die Konfiguration von dem Schieberegister ?
Angehängte Dateien:
#5665955
vllt. hilft dir das hier weiter!

Es ist zwar nicht explizit für einen ATmega32u4 (und mit diesem konnte 
ich das nicht testen weil ich keinen zur Verfügung habe), sollte aber 
dennoch mit diesem funktionieren, da außer Bitbanging keine Hardware des 
Controllers genutzt wird.

Getestet habe ich das mit:

- ATtiny13 \ 85 \ 44
- ATmega8 \ 328 \ 2560

sowohl mit HEF4094 als auch mit SN74HC595 Schieberegistern.

Das einzig zu beachtende ist die Zuordnung der Pins des Schieberegisters 
zum Mikrocontroller. Anschluss OE ist auf +Vcc zu legen (und somit sind 
die
Ausgaenge immer aktiv).
1
                                                 HEF4094
2
                                             Anschlusspins IC
3

4
                                              +------------+
5
                                              |            |
6
                                          str | 1   H   16 | +Vcc
7
                                          dat | 2   E   15 | oe
8
                                          clk | 3   F   14 | out4
9
                                         out0 | 4       13 | out5
10
                                         out1 | 5   4   12 | out6
11
                                         out2 | 6   0   11 | out7
12
                                         out3 | 7   9   10 | out_seriell'
13
                                          gnd | 8   4    9 | out_seriell
14
                                              |            |
15
                                              +------------+
16

17

18
               Anschlussbelegung
19

20
   ATtiny44            HEF4094
21
   -------------------------------------
22
                       16 Vcc
23
                       15 oe = Vcc
24
   11 (PA2)    ...      2 (seriell data)
25
   10 (PA3)    ...      1 (strobe)
26
   12 (PA1)    ...      3 (clock)
27
                       10 (seriell out')
28
                        8 GND
29

30
*/
31

32
// Anbindung Schieberegister an den Mikrocontroller, bei
33
// Bedarf abaendern
34

35
// Dataanschluss nach PA2
36
#define sr_datport     A
37
#define sr_datbitnr    2
38

39
// Clockanschluss nach PA1
40
#define sr_clkport     A
41
#define sr_clkbitnr    1
42

43
// Strobeanschluss nach PA3
44
#define sr_strport     A
45
#define sr_strbitnr    3
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.