Forum: Mikrocontroller und Digitale Elektronik PIC16F88 LED Ein- u. Ausschalten (Spannung am Ausgangspin geht nicht von 5V auf 0V, sondern auf 3V


von sebastian (Gast)


Lesenswert?

Hi

ich verwende einen PIC16F88 mit dem CCS-Compiler, und möchte mit einem 
rastenden Schalter eine LED an- bzw. ausschalten.

Wenn ich den rastenden Schalter am Eingangspin (PIN_A0) öffne, geht die 
Spannung am Ausgangspin (PIN_A2) nicht von 5V auf 0V, sondern auf etwa 
nur 3V runter. Aus diesem Grund bleibt die LED dauerhaft an. Hat dafür 
jemand eine Erklärung?

Mein Programmcode sieht folgendermaßen aus:

void main()
{
while(true)
{
if(input(PIN_A0))
   output_high(PIN_A2);
else
   output_low(PIN_A2);
}
}

Vielen Dank für eure Hilfe!!!

von Mine Fields (Gast)


Lesenswert?

Schaltung?

Direction Register sind gesetzt?

von stephan_ (Gast)


Lesenswert?

poste mal Schaltplan und kompletten Code

von stephan_ (Gast)


Lesenswert?

Hast Du den ADC und die Komparatoren ausgeschaltet?

; Ports PIC16F88

  bsf  STATUS, RP0    ; Bank 1
  bcf  STATUS, RP1    ;
  clrf  ANSEL      ; alles digital I/O
  movlw  b'00000111'
  movwf  CMCON      ; Comparators off
  bcf  STATUS, RP0    ; Bank 0
  bcf  STATUS, RP1    ;

von sebastian (Gast)


Lesenswert?

Hallo,

normalerweilse sollten die Komperatoren und die ADC'S ausgeschaltet 
sein, weil ich sie im CCS-Compiler deaktiviert habe "not used". Ich 
werde zur Kontrolle aber noch einmal nachschauen und am Dienstag den 
kompletten Code reinstellen.

Zum Schaltplan gibt es nicht viel zu sagen. Ich hab ein 24V 
Spannungsnetzteil. Mit dem gehe ich auf einen Festspannungsregler 
LM7805, der mir die 5V erzeugt für die Versorgungsspannung des PICS. Am 
Eingangspin PIN_A0 ist ein rastender Schließer-Kontakt und am 
Ausgangspin PIN_A2 ein 250 Ohm Vorwiderstand mit einer gelben LED.

Vielen Dank!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.