-
        

Ergebnis 1 bis 7 von 7

Thema: Port auslesen

  1. #1

    Port auslesen

    Anzeige

    Hallo!

    Ich versuche mich seit sage und schreibe zwei Stunden daran, den Wert von PortB ins Arbeitsregister zu schreiben. Habe schon die wildesten Sachen ausprobiert. Kein Erfolg. Ich hatte vor längerer Zeit schon einmal mit PICs zu tun, und wollte jetzt wieder anfangen und nun verzweifle ich an dieser simplen Aufgabe! Ich hoffe Ihr seht meinen Fehler! Ich sage auf alle Fälle schon einmal herzlichen Dank im Vorraus! Im folgenden ist mein Quelltext:
    list p=16f871
    #include <P16f871.INC>
    goto main
    main
    bsf STATUS, RP0 ; Bank 1
    movlw B'11111111' ;
    movwf TRISB ;
    bcf STATUS, RP0 ; Bank 0
    loop
    movf PORTB,0
    goto loop
    end

    Ich hoffe, Ihr könnt mir helfen, bin echt am verzweifeln. Auch spurt brachte mich nicht weiter.
    greetz,

    Sebi

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Dein Loop ist ja eigentlich recht übersichtlich. So blöd es klingt: woher weißt du, daß es nicht klappt ? Schreib doch das w-register wohin.

    Sollte "Loop" nicht einen Dopelpunkt haben ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Hi!

    Danke für die Antwort!
    Ich nutze den PIC Simulator IDE und der zeigt mit den Inhalt des w-registers an. ´Beim initialisieren des Ports klappt die Anzeige und auch beim testen mit Beispielen von der Sprut-Homepage klappt das problemlos. Habe leider keine Ahnung, warum es bei diesem Programm nicht klappt. Auch wenn ich den Inhalt von W z.B. an PortC ausgeben will, klappt das mit vordefinierten Werten, nur halt nicht das Einlesen. Loop muss keinen Doppelpunkt haben, klappt auch so.
    greetz,

    Sebi

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Tja, ich hab meinen PIC-Betrieb weitgehend eingestellt, dadurch weiß ich nicht mehr, wie ich den Simulator dazu bringe, die Pins von PORTB irgendwie zu simulieren. Ohne dem liegt natürlich immer NULL dran.

    Werd' ich nicht viel helfen können, tut leid
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.10.2004
    Ort
    ferd. Waldmüllerg. 7/2
    Alter
    32
    Beiträge
    456
    Also das, was du brauchst ist der Stimulus Controll von MPlab um digitale Signale an den Eingängen des Microcontroller zu simulieren. Also, wenn dir ein (relativ) einfach geschriebener englischer Text keine Probleme bereitet, würde ich dir als erste Anlaufstelle diese Seite von Microchip empfehlen. Ungefähr bei der Hälfte wird sehr gut auf die Nutzung des Stimulus Controlls (erreichbar unter Debugger -> Stimulus Controler -> New Scenario) eingegangen.
    Naja, so viel zur Theorie, der Rest ist eigentlich nur noch trial and error, bis man sich in die Nutzung dieses Moduls eingearbeitet hat.

    Naja, viel kann ich leider auch nicht sagen, denn ich benutze es fast nie (hab mir vor kurzen nen ICD2-Clon aufgebaut und man gewöhnt sich schnell an den neuen Luxus von so nem Ding ).
    MfG
    Mobius

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    19.12.2005
    Ort
    Wang-Dong-Township
    Alter
    47
    Beiträge
    67

    ICD2-Clon

    Zitat Zitat von Mobius
    (hab mir vor kurzen nen ICD2-Clon aufgebaut und man gewöhnt sich schnell an den neuen Luxus von so nem Ding).
    MfG
    Mobius

    Hi Mobius,

    kannst Du mir verraten, wo man eine Bauanleitung von so' nem ICD2-Clon herbekommen kann??? Sollte möglichst ohne SMD-Bauteile sein!!!

    Greetz, Jan

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    08.10.2004
    Ort
    ferd. Waldmüllerg. 7/2
    Alter
    32
    Beiträge
    456
    Also, ich hab einfach diesen da aufgebaut (okay, ich hab da noch die drei LEDs von da mit reingenommen und einen Teil des Interfaces, damit der ICD2 die Versorgungsspannung des Targets abschalten kann), alles schön auf eine Streifenplatine. War nicht einmal sooo schwierig gewesen, einzig das Problem mit dem Bootloader, wenn man einen PIC16F877A benutzt war ein wenig nervig aber dieser und dieser Thread (diese Seite hat auch einige weitere Threads zu dem Thema) helfen weiter.

    Alles in allem ist das eine sehr minimalistische Herangehensweise (die Schaltpläne für den echten ICD2 sind von Microchip kostenlos erhältlich), aber sie funktioniert und nachdem man sich angewöhnt hat, dass man z.B.: die Programmierspannung zuerst manuell einstellen muss, geht das auch gut von statten.
    MfG
    Mobius

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •