-         

Seite 1 von 5 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 48

Thema: Tips & Tricks

  1. #1
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.969

    Tips & Tricks

    Anzeige

    Hallo!

    Ich habe das Thema geöffnet mit einer Hoffnung, dass mit der Zeit es eine Art von FAQ für alle, die sich mit PIC Mikrokontroller beschäftigen, seien wird.

    Es soll eine Sammlung von kleinen sowohl Software als auch Hardware Ideeen sein, die aus Erfahrung vorkommt und hilfreich ist.

    Für guten Anfang möchte ich als Beispiel zwei vorstellen:

    Kopieren von eizelnem Bit vom Regiter1 (z.B. Bit 3) ins Register2 (z.B. Bit 5):

    bcf Register2,5
    btfsc Register1,3
    bsf Register2,5

    "Togglen" vom Timer1 um Prescaler auszulesen:

    bsf Register,T0SE
    bcf Register,T0SE

    Wobei Register ist der, der TOSE Bit enthält z.B. OPTION_REG beim PIC16F84(A).

    Ich bedanke mich im voraus für alle Posts, die (hoffentlich) dazu beitragen werden, dass die Sammlung wächst!

    MfG

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    13.08.2005
    Beiträge
    195
    du musst dich bei der Wiki neu anmelden, also du brauchst einen zusätzlichen wiki-Benutzername für das Wiki (kann aber der gleiche sein wie hier im forum)

    SEIDL.

  3. #3
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Schaut mal dort (und Umgebung), ev.
    http://www.talkingelectronics.com/te...ive_index.html
    Da kann man einiges übernehmen (übersetzen), natürlich mit Quellen angabe (oder halt link)
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  4. #4
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.969
    Hallo PicNick!

    Vielen Dank für den interesanten Link!

    MfG

  5. #5
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.969
    Hallo!

    Die alle im ASM Programm ungebrauchten SFRs können als "normale" Register (GPR) verwendet werden. Wenn zum Beispiel Timer1 nicht benutzt wird, können seine Register TMR1H und TMR1L für Speicherung von Daten benutzt werden. Oder wenn keine indirekte Adressierung benutzt wird, kann für Daten Speicherung Register "FSR" angewendet werden, u.s w.

    Es könnte aber gefährlich werden, wenn mehrere Programme gebindet sind. Deswegen muss es immer am Ende, beim volständigen Programm, geprüft werden, welche SFRs tatsächlich benutzt werden dürfen.

    MfG

  6. #6
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.969
    Hallo!

    Wenn mann ein Menü auf dem Grafikdisplay erstellt, kann bestimmter Menüpunkt invers dargestellt werden, wenn mann vor der Ausgabe durch UP "DispOut" ein "_Finv" (invers) Flag setzt. Wenn es gesetzt ist, werden alle Bits des ausgegebenden Bytes im Register "R" mit "comf R" negiert, sonst wird der Befehl übersprungen und das Byte aus "R" normal ausgegeben. Nach der inversen Ausgabe wird das "_Finv" Flag gelöscht. Ein Beispielcode dazu:

    Code:
    #define        _Finv   Flags,0     ; Flag definieren
                   ...............
    
    
    DispOut        btfsc   _Finv        ; prüfen, ob _Finv gesetzt (invers) ist
                   comf  R,1            ; wenn ja, alle bits im "R" negieren,
                   .............        ; sonst normal ausgeben
                    return
    MfG

  7. #7
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.969
    Hallo!

    Wenn gleicher Pin durch Umschalten von TRISX Bit zum Eilesen einer Taste und Ausgabe auf ein Display benutzt werden sollte, muss seriel mit der Taste ein Widerstand geschaltet werden, da die Taste während der Ausgabe den Portpin an GND kurzschliessen kann.

    Wenn interne pull-ups benutzt werden, entfällt der pull-up Widerstand 10k.

    MfG
    Code:
    
                    VCC
                     +
                     |
                    .-.
                    | | 10k
                    | |
                    '-'
       zum PIC       |
       Portpin <-----+-----> zum Display
                     |
                    .-.
                    | | 1k
                    | |
                    '-'
                     |
                  \  o
                   \
                    \.
                     o
                     |
                    ===
                    GND

  8. #8
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.969
    Hallo!

    Bei Entwicklungsboards, um Defekte von Ports zu vermeinden, sollte zwischen jedem Portpin und dem Anschluss von externer Hardware ein Widerstand 270 Ohm, der den Kurzlussstrom auf ca. 20 mA begrenzt, geschaltet werden.

    MfG
    Code:
       .-----.  ___  .---.
       |     |-|___|---o | Anschluss-
       |     |  270  |   | buchse für
       |     |.......| o | externe
       |     |  ___  |   | Hardware
       |     |-|___|---o |
       | PIC |  270  '---'
       |     |
       |     |
       |     |
       |     |
       |     |
       '-----'

  9. #9
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.969
    Hallo!

    Jeder PIC, welcher für HS oder XT Oszillator konfiguriert ist, funktioniert genauso, wenn anstatt eines Quarzes und zwei Kondensatoren, die auf Pins OSC1 und OSC2 angeschlossen sind, auf Pin OSC1 ein Rechteck aus einem Quarzoszillator zugeführt wird.

    Die PICs aus der 18FXXX Familie funktionieren sogar wenn sie für HSPLL Oszillator konfiguriert sind. Die Frequenz ist dann gleich 4x Frequenz des Quarzoszillators.

    Das ermöglichst ein Austausch eines Quarzes mit einem Quarzoszillator ohne Änderung der Konfiguration und die Option _EXT_OSC scheint überflüssig zu sein.

    MfG

  10. #10
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.969
    Hallo!

    Aus meiner eigener Erfahrung zeigt es sich, dass wenn man nicht in der Konfiguration _BODEN_OFF einsetzt, fast alle Programme (vor allem die mit Displays) beim Einschalten der Betriebspannung besser (sicherer) starten.

    MFG

Seite 1 von 5 123 ... LetzteLetzte

Berechtigungen

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