Schieberegister (HEF4094B) Programmieren

Gast #5662728
Lesenswert?
• ▲
▼
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
Lesenswert?
• ▲
▼
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

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.