-
        

Ergebnis 1 bis 3 von 3

Thema: pic 16f627

  1. #1

    pic 16f627

    Anzeige

    moin leuts,

    ich mal wieder.

    habe jetzt ein anderes problem was ich mir leidernoch nichterklaeren kann:

    vorab kurze infos:
    - compiler cc5x um von c zum hexfile zu kommen,
    - conrad pic Programmer board k8048

    ich hab mir ein sehr sehr simples kleines programm geschieben was nur den status von porta.2 an portb.0 ausgeben soll, sprich ist porta.2 high dann soll ne led an portb.0 leuchten. geht nur leider nicht und ich weis nicht wieso.

    ich hab euch mal etwas code reingestellt:
    Code:
    #include <16F627.h>		// Prozessor-Typ definieren
    #pragma config|=0b.1.11.11.1.0.1.1.1.0.001
    
    void main(void)				// Start des Hauptprogramms
    {
    char i;
    
    TRISB = 0b.0000.0000;		// PortB als Ausgang definieren
    bit Plus @ PORTA.0;
    //TRISA = 0b.1111.1111;		// PortB als Ausgang definieren
    //PORTB = 0b.0000.0000;
    
    Sprungmarke:
    
    
    PORTB.0 = PORTA.2;
    
    goto Sprungmarke;		// Alles wiederholen
    
    }						// Ende des Hauptprogramms
    sieht recht simpel aus und sollte es auch sein.

    vielleicht hat einer eine idee wieso es nicht geht, seit 2 stunden sitz ich hier an sowas einfachem und bin fast am verzweifeln

    danke fuer eure hilfe.

    gruss
    msp

  2. #2
    hallo leute,

    ich denke ich habs rausgefunden:
    Code:
    CMCON = 0b00000111; // Disable Comparator module's
    		// Disable pull-ups
    		// INT on rising edge
    		// TMR0 to CLKOUT
    		// TMR0 Incr low2high trans.
    		// Prescaler assign to Timer0
    		// Prescaler rate is 1:256
    OPTION_REG = 0b11010111; // Set PIC options (see datasheet).
    INTCON = 0; // Disable interrupts.
    ich verstehs nur nicht ganz, kann mir das jemand erklaeren bitte? sonst schaue ich nach das geht auch.

    danke trotzdem.

    gruss
    msp

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    17.03.2006
    Beiträge
    22
    Hallo,

    wie? Die Lösung selbst gefunden, aber nicht verstanden?

    Es geht wieder um die analogen Pins:

    Nach dem Einschalten/Reset stehen alle PORT-PINs auf Eingang und alle analogen Eingänge sind eingeschaltet. Der PIC geht sozusagen in den sichersten Zustand. Die Aktivierung der analogen Eingänge hat auch Gründe im Stromverbrauch.

    Wie Du in dem Code selbst geschrieben hast, werden zuerst die analogen Eingänge deaktiviert.
    Erst dann können die digitalen Signale verarbeitet werden.

Berechtigungen

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