Microcontroller - Assembler

OP #3103757
Lesenswert?

Hi,

sitze schon seit zwei Tagen an einem Problem und komme nicht weiter, 
obwohl es nur eine simple Angelegenheit ist.

Ich versuche mit dem Mikrocontroller PIC16F876 ganz einfach nur ein paar 
LEDs anzusteuern. Dazu habe ich im TRISA alle Pins als Output definiert. 
Und im PORTA setzte einige Pins auf 1, siehe Code:
1
 main
2
  bcf     STATUS,IRP    ;Bank1 wird ausewählt
3
  bsf     STATUS,RP0
4
  bcf     STATUS,RP1
5

6
  clrf    TRISA         ;alle pins von PORTA sind Outputs
7
  
8
  bcf     STATUS,IRP    ;Bank0 
9
  bcf     STATUS,RP0
10
  bcf     STATUS,RP1    
11

12
  movlw   '00011111'     ;Leds von RA0...RA4 sollen leuchten
13
  movwf   PORTA
14
 end

Mein Problem: LEDs leuchten nicht! Laut Special Function Register sind 
alle Pins von PORTA auf Null.
Habe das gleiche schon bei PORTB ausprobiert. Hier das gleiche Problem.

Warum werden die Bits nicht gesetzt? Habe ich etwas vergessen zu 
initialisieren?

Danke für eure Hilfe!
lg
Gast #3103779
Lesenswert?

Ohne jezt mal genau ins Datenblatt zu schauen, aber der Port A ist bei 
PICs auch gerne noch mit weiteren Funktionen Belegt wie z.B analog 
Eingänge.
Da muß eventuel auch noch was Eingestellt werden

Mach das Bankumschalten mal lieber so:
  BANKSEL    TRISA

  BANKSEL    PORTA
Da wählt der Assembler selber die richtige Bank.

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