-         

Ergebnis 1 bis 4 von 4

Thema: Eingang auf 0V oder +5V abfragen

  1. #1

    Eingang auf 0V oder +5V abfragen

    Anzeige

    Hallo PIC-Gemeinde,

    ich bin relativ neu im PIC-Bereich und habe schon das erste Problem:
    Ich habe einen PIC 16F887 (auf dem PICkit2 44-Pin Demo Board) und möchte damit den RB3 abfragen. Und zwar hab ich es so gedacht:

    Ich lege +VDD über einen Widerstand auf den RB3 (über einen Taster).
    Solange der Taster nicht gedrückt ist soll die LED leuchten. Wird der Taster gedrückt soll sie ausgehen, und wieder angehen sobald ich ihn loslasse usw.
    Die LED zum Leuchten bringen schaffe ich 8-) allerdings hab ich ein Problem mit der Abfrage des RB3 Eingangs. Hier ist mein Code aus dem MPLab:

    Code:
    #include <p16F887.inc>
    
    org 0
    
    ;Ausgang bei RD
    bsf STATUS,RP0
    bcf TRISD,0
    bcf STATUS,RP0
    
    goto MAIN_LOOP
    
    
    LED_ON:
    ;LED anschalten 
    bsf PORTD,0
    goto MAIN_LOOP
    
    
    LED_OFF:
    ;LED ausschalten
    bcf PORTD,0
    goto MAIN_LOOP
    
    
    MAIN_LOOP:
    ;Hauptschleife, hier kommt die Abfrage
    BTFSC PORTB,3
    goto LED_OFF
    goto LED_ON
    
    
    
    goto $
    
    end
    Kann mir jemand sagen wo der Fehler liegt?

    Vielen Dank für Hilfe,
    Healther

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    20.11.2007
    Beiträge
    24
    Hey, was ist denn genau dein problem? Würd auf den aller ersten blick sagen, du solltest dich ma um prellfreiheit deines tasters bemühen (such mal nach prellen + taster). Entweder software oder hardwareseitig. Ob das jetzt aber dein problem behebt (was ich ja leider nicht herrauslesen kann) weis ich nich
    lg

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    06.06.2007
    Ort
    Aurich
    Beiträge
    36
    Hast du denn den Pic passend konfiguriert?

    Der Code ist soweit ich das sehe ok, ein entprellen des tasters ist nicht nötig für diese schaltung...

    Ich würde allerding dem pin noch einen pulldownwiderstand verpassen um den sicher auf 0 zu zihen.

    ohne das ich das datenblatt genau gelesen habe, aber wenn ich sehe was der port alles kann:
    3.4.4.4 RB3/AN9/PGM/C12IN2-
    Figure 3-9 shows the diagram for this pin. This pin is
    configurable to function as one of the following:
    • a general purpose I/O
    • an analog input for the ADC
    • Low-voltage In-Circuit Serial Programming enable
    pin
    • an analog input to Comparator C1 or C2

  4. #4
    Hallo ihr beiden,
    vielen Dank für eure Ansätze. Das eigentliche Problem war dass der Eingang nicht auf 0V bzw. 5V reagierte, er hatte mehr oder weniger einen undefinierten Zustand. Wie ich heraus fand (in der Zwischenzeit) lag es daran, dass ich den Pin nicht als digitalen Input definiert habe. Habe es jetzt kurzfristig von RB3 auf einen der RD Pins gelegt (die sind als digitaler Input/Output definiert) um die Funktion zu testen, und der Code funktioniert dann auch. Also hab ich einfach nur den Fehler am falschen Ort gesucht....

    Trotzdem nochmal vielen Dank.
    Andreas

Berechtigungen

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