Initialisierung Mega162

OP #1440246
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...
#1440254
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren