Forum: Mikrocontroller und Digitale Elektronik Initialisierung Mega162


von Sebastian F. (snake080)


Lesenswert?

Hallo,
ich habe ein Problem mit dem Mega162. Und zwar macht er quasi nix...
Ich habe schon extra eine Testplatine geätzt um einfach ein paar LED's 
an und auszumachen aber nix.
Der Controller ist neu und es ist nix an den Fuse-Bits geändert. Ich 
benutze zum Programmieren den HV-Prog & AVR Studio 4.16. Als Takt nutze 
ich den internen Oszillator.
Mein Testprogramm sieht so aus:

.include "m162def.inc"
;
.ORG $0000
;
ldi r16,LOW(RAMEND)
out SPL,r16
;
;ldi r16,HIGH(RAMEND)
;out SPH,r16
;
sbi DDRA,0
sbi DDRB,0
sbi DDRC,0
sbi DDRD,0
sbi DDRE,0
;
main:
cbi PINA,0
cbi PINB,0
cbi PINC,0
cbi PIND,0
cbi PINE,0
;
sbi PINA,0
sbi PINB,0
sbi PINC,0
sbi PIND,0
sbi PINE,0
rjmp main

Im Simulator läuft es audh seltsam, beim ausschalten der LED geht sie 
beim nächsten Befehl wieder an. Habe auch die DDRx mit c probiert, da 
klappt es im Simulator aber so auch nicht. Mit dem Stack habe ich auch 
schon ohne Erfolg rumprobiert...

von Karl H. (kbuchegg)


Lesenswert?

> cbi PINA,0

dort ist aber schon klar, dass ein Port-Ausgang über PORTx angesprochen 
wird und nicht über PINx ?

Machs doch nicht so kompliziert fürs erste
1
.include "m162def.inc"
2
;
3
.ORG $0000
4
;
5
   ldi r16, 0xFF
6
   out DDRA, r16
7
   out DDRB, r16
8
   out DDRC, r16
9
   out DDRD, r16
10
11
   ldi r16, 0xAA
12
   out PORTA, r16
13
   out PORTB, r16
14
   out PORTC, r16
15
   out PORTD, r16
16
   
17
loop:
18
   rjmp loop

Das setzt abwechselnd an jedem Port einen Pin auf 0 und den nächsten auf 
1

von Sebastian F. (snake080)


Lesenswert?

Hi,
DANKE! Ich habe davor gesessen mit meinem Programm was läuft und es 
nicht gesehen... (PIN/PORT) - jetzt funktioniert alles.

Nur ein Problem habe ich noch: Der Stack-Pointer... da bekomme ich beim 
Assemblieren irgendwie immer einen Fehler out of adress...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.