Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

PIC16f677 - problem z ustawieniem stanów wysokich

majkelp1982 11 Lut 2011 16:27 909 2
  • #1 11 Lut 2011 16:27
    majkelp1982
    Poziom 8  

    Korzystam z kompilatora HI-Tech picc.exe.
    Po wgraniu do mikrokontrolera kodu :


    #include <htc.h>

    #define XTAL_FREQ 20MHZ
    #include "E:\delay.h"

    void main()
    {
    TRISB4 = 0;
    TRISB5 = 0;
    TRISB6 = 0;
    TRISB7 = 0;

    for ( ;; )
    {
    RB4 = 0;
    RB5 = 0;
    RB6 = 0;
    RB7 = 0;
    DelayMs(250);

    RB4 = 1;
    RB5 = 1;
    RB6 = 1;
    RB7 = 1;
    DelayMs(250);

    }
    }

    stan wysoki pojawia się tylko na pinach 10 i 11 czyli na RB6 i RB7

    a po wgraniu kodu :


    #include <htc.h>

    #define XTAL_FREQ 20MHZ
    #include "E:\delay.h"

    void main()
    {
    TRISB = 0x0;
    for ( ;; )
    {
    PORTB = 0x10;
    DelayMs(100);
    PORTB = 0x20;
    DelayMs(100);
    PORTB = 0x40;
    DelayMs(100);
    PORTB = 0x80;
    DelayMs(100);
    }
    }

    Układ działa poprawnie czyli podaje stany wysokie kolejno na wyprowadzenia RB4,RB5,RB6,RB7 portu w odstępie 100ms

    Nie mam pojęcia jak sterować stanami na poszczególnych końcówkach portu.

    Próbowałem zamiast RB4 = 1; wpisywać RB4 = 0xFF ale to też nie powodowało stanu wysokiego na RB4.

    W dokumentacji nie widzę nic nadzwyczajnego (oscylator czy reset) na tych wyprowadzeniach .

    Proszę o pomoc. Być może ktoś znalazł się w podobnej sytuacji do mnie.

    0 2
  • #2 11 Lut 2011 18:53
    wzk
    Poziom 19  

    majkelp1982 napisał:

    Nie mam pojęcia jak sterować stanami na poszczególnych końcówkach portu.

    Próbowałem zamiast RB4 = 1; wpisywać RB4 = 0xFF ale to też nie powodowało stanu wysokiego na RB4.

    W dokumentacji nie widzę nic nadzwyczajnego (oscylator czy reset) na tych wyprowadzeniach .

    Nieuważnie czytasz dokumentację mikrokontrolera. W efekcie kompilator konfiguruje sobie piny jak mu się podoba.
    Podpowiedź: ustaw słowo konfiguracyjne i rejestry związane z pinami.

    0
  • #3 11 Lut 2011 20:21
    majkelp1982
    Poziom 8  

    nie konfigurowałem tego w kodzie , bo zrobiłem to w programie.
    Korzystam z MPLAB IDE v8.63

    PIC16f677 - problem z ustawieniem stanów wysokich

    Dodano po 33 [minuty]:

    Rozwiązałem problem ustawiająć jeszcze ANS10 i ANS11 dla odpowiednio RB4,RB5 na 0.

    Nie wiedziałem, że będzie to stanowić problem.

    0