squelver
11.10.2008, 21:32
Hallo :)
Ich bin seit gestern wieder am üben. Nun hab ich mir was ausgedacht, soweit klappt, nur gibts ein kleines Problem.
Ich nutze einen Port für eine Segmentanzeige. Habe aber nur 5 Pins zur Verfügung. Ich habe jede Zahl definiert. Nun fehlen mir zwei Pins eines anderen Ports für die vollständige Anzeige der Zahlen. Kann man zwei Ports gleichzeitig definieren?
Hier mein Code:
//----------------------------------------------------------------------
// Titel : C Grundgerüst für das myAVR-Board
//----------------------------------------------------------------------
// Funktion : Skorpion-Roboter "Intelligentes Bein"
// Schaltung : ...
//----------------------------------------------------------------------
// Prozessor : ...
// Takt : 3.6864 MHz
// Sprache : C
// Datum : 10.10.2008
// Version : 0.1
// Autor : copious
//----------------------------------------------------------------------
#define F_CPU 3686400 // Taktferquenz des myAVR-Boards
#define zahl PORTB // Port
#define eins 0b00100001 // 1
#define zwei 0b00111110 // 2
#define drei 0b00111011 // 3
#define vier 0b00110001 // 4
#define fuenf 0b00011011 // 5
#define sechs 0b00011111 // 6
#define sieben 0b00100011 // 7
#define acht 0b00111111 // 8
#define neun 0b00111011 // 9
#define null 0b00101111 // 0
#define off 0b00000000 // aus
#include <avr\io.h> // AVR Register und Konstantendefinitionen
//----------------------------------------------------------------------
main () // Hauptprogramm, startet bei Power ON und Reset
{
DDRD = 0b11111100; // Pin 2 - 7 (Ausgang)
DDRB = 0b00111111; // Pin 0 - 5 (Ausgang)
DDRC = 0b00000110; // Pin 0 - 5 (Eingang)
PORTC = 0b00000110;
do
{
if(!(PINC&0b00000010))
{
zahl = eins;
}
else if(!(PINC&0b00000100))
{
zahl = zwei;
}
else
{
zahl = off;
}
}
while (true); // Schleifenende Mainloop
}
//----------------------------------------------------------------------
Ich bin seit gestern wieder am üben. Nun hab ich mir was ausgedacht, soweit klappt, nur gibts ein kleines Problem.
Ich nutze einen Port für eine Segmentanzeige. Habe aber nur 5 Pins zur Verfügung. Ich habe jede Zahl definiert. Nun fehlen mir zwei Pins eines anderen Ports für die vollständige Anzeige der Zahlen. Kann man zwei Ports gleichzeitig definieren?
Hier mein Code:
//----------------------------------------------------------------------
// Titel : C Grundgerüst für das myAVR-Board
//----------------------------------------------------------------------
// Funktion : Skorpion-Roboter "Intelligentes Bein"
// Schaltung : ...
//----------------------------------------------------------------------
// Prozessor : ...
// Takt : 3.6864 MHz
// Sprache : C
// Datum : 10.10.2008
// Version : 0.1
// Autor : copious
//----------------------------------------------------------------------
#define F_CPU 3686400 // Taktferquenz des myAVR-Boards
#define zahl PORTB // Port
#define eins 0b00100001 // 1
#define zwei 0b00111110 // 2
#define drei 0b00111011 // 3
#define vier 0b00110001 // 4
#define fuenf 0b00011011 // 5
#define sechs 0b00011111 // 6
#define sieben 0b00100011 // 7
#define acht 0b00111111 // 8
#define neun 0b00111011 // 9
#define null 0b00101111 // 0
#define off 0b00000000 // aus
#include <avr\io.h> // AVR Register und Konstantendefinitionen
//----------------------------------------------------------------------
main () // Hauptprogramm, startet bei Power ON und Reset
{
DDRD = 0b11111100; // Pin 2 - 7 (Ausgang)
DDRB = 0b00111111; // Pin 0 - 5 (Ausgang)
DDRC = 0b00000110; // Pin 0 - 5 (Eingang)
PORTC = 0b00000110;
do
{
if(!(PINC&0b00000010))
{
zahl = eins;
}
else if(!(PINC&0b00000100))
{
zahl = zwei;
}
else
{
zahl = off;
}
}
while (true); // Schleifenende Mainloop
}
//----------------------------------------------------------------------