Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] Probleme mit Portzuweisung Mega8
Hallo miteinander,
für mein aktuelles Projekt, eine LED-Uhr mit einem Mega8,
(die Hardware ist bereits fertig) brauche ich insgesamt 18 Ports als Ausgang. Die Hardware ist soweit fertig, nur die Software (1.11.7.4) macht Probleme.
Im Simulator funktioniert das Portschalten mit Bitmasken wie gewünscht.
In der Schaltung jedoch nicht.
Nun stellt sich mir bei der grundsätzlichen Fehlersuche die Frage, ob es an den Einstellungen im cfg-File liegen kann, denn es müssen unter Options ja die Ports für I2C, 1-Wire, SPI und LCD festgelegt werden, obwohl ich diese anderweitig nutze.
Oder bin ich da aufm Holzweg ](*,)
Gruß
Jens
schick doch mal ne art anschlussbelegung deiner ports (alle) und dein programm plz.
Martin
Hallo,
anbei der Code. Ist für den Simulator etwas modifiziert.
$regfile = "M8def.dat"
$crystal = 16000000
Config Timer0 = Timer , Prescale = 1 'timer0 nur für Simulator ansonsten timer1 mit prescale 256
On timer0 timer_sub
DDRB = $B11111111 'zeigt die stunden von 0-5
DDRC = $B11111111 'zeigt die stunden von 6-11
DDRD = $B00011111 ' viertelstunden, pin d5-d6 zum einstellen
PortB = $B11111111
PortC = $B11111111
PortD = $B11111111 'pullups
sekundenblinker alias portd.4 'Portd.4 = PIN 6
dim sekunde as word
dim quarter as byte '0, 15, 30, 45 Minuten
dim Stunde as byte
Enable Timer0
Enable Interrupts
Do
if Stunde < 6 then
portb = lookup(Stunde , stunden_data)
portc = 255
endif
if Stunde >= 6 then
portc = lookup(Stunde , stunden_data)
portb = 255
endif
portd = lookup(quarter , quarter_data)
Loop
Timer_sub:
incr sekunde
if sekunde = 6 then 'eigentlich 900 aber zum simulieren nur mit 6
sekunde = 0
incr quarter
end if
if quarter = 4 then
quarter = 0
incr STUNDE
end if
if Stunde = 12 then
Stunde = 0
end if
toggle sekundenblinker 'Portd.4 = PIN 6
Return
Quarter_data:
Data &B11111110 'voll Portd.0 = PIN 2
Data &B11111101 'viertelnach Portd.1 = PIN 3
Data &B11111011 'halb Portd.2 = PIN 4
Data &B11110111 'viertelvor Portd.3 = PIN 5
Stunden_data: '0-5 ist portb, 6-11 ist portc
Data &B11111110 '0 PortB.0 = PIN 14
Data &B11111101 '1 PortB.1 = PIN 15
Data &B11111011 '2 PortB.2 = PIN 16
Data &B11110111 '3 PortB.3 = PIN 17
Data &B11101111 '4 PortB.4 = PIN 18
Data &B11011111 '5 PortB.5 = PIN 19
Data &B11111110 '6 PortC.0 = PIN 23
Data &B11111101 '7 PortC.1 = PIN 24
Data &B11111011 '8 PortC.2 = PIN 25
Data &B11110111 '9 PortC.3 = PIN 26
Data &B11101111 '10 PortC.4 = PIN 27
Data &B11011111 '11 PortC.5 = PIN 28
Das ganze soll eine Uhr werden mit kreisförmig angeordneten 12 LED´s für die Stundenanzeige und 4 LED´s für die Viertelstunden.
Wie gesagt, in der Schaltung tut sich bei den LED´s bis auf den Sekundenblinker nichts :-k
Gruß
Jens
du könntest das mal ausprobieren mit config portx=output/input und das mit den pullups würd ich wenn nötig extern machen aber sonst kann ich so auf die schnelle auch nix erkennen
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.