Um eine 7Segmentanzeige pinsparend anzusteuern will ich einen SN74LS164
verwenden. Das Display mit gemeinsamer Kathode ist an Q0-Q7
angeschlossen, MR hängt in der Luft; Eingänge A&B sind verbunden und
hängen an PC4 des AVR; CP (Clock) ist mit PC5 verbunden.
Das C Programm dazu:
1 | #include <avr/io.h>
|
2 | #define F_CPU 4000000
|
3 | #include <util/delay.h>
|
4 |
|
5 | int main (void) {
|
6 | DDRD |= (1<<PC5) | (1<<PC4); //PC4&PC5 als Ausgänge
|
7 | PORTC |= (1<<PC4); //Data auf high
|
8 | PORTC |= (1<<PC5); //Clock auf high
|
9 | _delay_ms(10); //10 ms warten
|
10 | PORTC &= ~(1<<PC5);//Clock auf low
|
11 | while (1);
|
12 | }
|