PIC Spannung niedrig
Mittwoch, 23. Mai 2012
 
 

PIC Mikrocontroller Forum  |  PIC Mikrocontroller  |  PIC Mikrocontroller Allgemein  |  PIC Spannung niedrig « vorheriges nächstes »
Seiten: [1] Nach unten Drucken
Autor Thema: PIC Spannung niedrig  (Gelesen 2815 mal)
 
bastler1010
Newbie
*
Offline Offline

Beiträge: 11


Profil anzeigen
« am: Juli 31, 2011, 15:33:55 »

Hallo,

ich habe ein Problem mit meinem PIC16f876.
Testweise habe ich versucht eine LED über einen dig. Output zum Leuchten zu bringen.
Sie leuchtet schwach, da nur ca. 2,1V anliegen??
Dasselbe bei den anderen Ports.

Code:

Code:
list p=16f876
#include <p16f876.inc>
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_OFF & _XT_OSC & _WRT_OFF & _LVP_OFF & _DEBUG_ON & _CPD_OFF

#define LED_3 PORTB, 4
w_temp EQU 0x70
status_temp EQU 0x71
_BANK_0 macro
BCF STATUS,RP0
BCF STATUS,RP1
endm

_BANK_1 macro
BSF STATUS,RP0
BCF STATUS,RP1
endm

_BANK_2 macro
BCF STATUS,RP0
BSF STATUS,RP1
endm

_BANK_3 macro
BSF STATUS,RP0
BSF STATUS,RP1
endm

----Hier kommt dann der Reset und Interrupt------

start
_BANK_0
clrf PORTA
clrf PORTB
clrf PORTC
_BANK_1
movlw b'00000000'
movwf TRISB

main

bsf LED_3

END

Hoffentlich könnt ihr mir helfen.... Zwinkernd

Danke.
« Letzte Änderung: August 01, 2011, 15:37:17 von Stampede » Gespeichert
Lux
Jr. Member
**
Offline Offline

Beiträge: 87



Profil anzeigen WWW
« Antworten #1 am: Juli 31, 2011, 16:47:39 »

Wie hast Du die LED denn angeschlossen? Auf den ersten Blick fehlt mir in dem Programm eine Endlosschleife (goto main) und nachdem Du die Tris Bits gelöscht hast, musst Du wieder zurück auf Bank 0.

Gruß Nico
Gespeichert

www.PIC-Projekte.de Projekt Vorstellungen | PIC-µC-Forum
bastler1010
Newbie
*
Offline Offline

Beiträge: 11


Profil anzeigen
« Antworten #2 am: Juli 31, 2011, 19:20:14 »

Ich habe die LED zu Testzwecken direkt an den TTL-Ausgang.
Aber auch ohne LED habe ich nur ca. 2,1V am Multimeter.
Wieso denn eine Endlosschleife? Einmal setzen reicht doch.
Gespeichert
Lux
Jr. Member
**
Offline Offline

Beiträge: 87



Profil anzeigen WWW
« Antworten #3 am: Juli 31, 2011, 19:32:13 »

Das Problem ist, dass wenn der PIC nicht in die Endlosschleife gesetzt wird er immer wieder neu "hochfährt" bzw. abstürzt.  Wie auch immer der PIC muss immer weiter beschäftigt werden. Das wäre auf jeden Fall schon mal eine Erklärung warum nur die 2,1 Volt am Ausgang anliegen (auch wenn nichts angeschlossen ist). Wenn nicht sehen wir weiter..
 
Du kannst das setzten des Ausgangs ja auch vor die Schleife machen:

Code:
bsf LED_3

main

goto main
END

Btw.: LED immer mit Vorwiderstand!
« Letzte Änderung: Juli 31, 2011, 19:38:06 von Lux » Gespeichert

www.PIC-Projekte.de Projekt Vorstellungen | PIC-µC-Forum
bastler1010
Newbie
*
Offline Offline

Beiträge: 11


Profil anzeigen
« Antworten #4 am: Juli 31, 2011, 19:41:27 »

Habe gerade festgestellt, dass an dem Ausgang immer die 2,0V anliegen... &#196;rgerlich
Gespeichert
bastler1010
Newbie
*
Offline Offline

Beiträge: 11


Profil anzeigen
« Antworten #5 am: Juli 31, 2011, 20:37:15 »

Jetzt liegen manchmal sogar 5V an.... Unentschlossen
Gespeichert
Lux
Jr. Member
**
Offline Offline

Beiträge: 87



Profil anzeigen WWW
« Antworten #6 am: Juli 31, 2011, 20:50:23 »

Am besten wäre mal ein Schaltplan und der komplette Code.
Gespeichert

www.PIC-Projekte.de Projekt Vorstellungen | PIC-µC-Forum
bastler1010
Newbie
*
Offline Offline

Beiträge: 11


Profil anzeigen
« Antworten #7 am: August 01, 2011, 07:23:44 »

Der Schaltplan ist nichts besonderes:
1. 7805 + 2x 100n Keramik + 1x 47u Elko
2. Quarz + 2x27p Keramik
3. 5-polige Programmierschnittstelle

Ergänzung zum Quellcode:

Code:
ORG     0x000
clrf    PCLATH          
   goto    start          
ORG     0x004          
movwf  w_temp          
movf    STATUS,w        
movwf  status_temp    



movf    status_temp,w    
movwf  STATUS            
swapf   w_temp,f
swapf   w_temp,w          
retfie      

Jetzt liegen, nachdem ich bei der Messung von der Schaltung + uC Abstand halte, immer 5V an.
Diese brechen aber nach ca.15s auf 0V zusammen. Nach einer kurzen Messpause liegen wieder 5V an.
Genug Saft bekommt er aber auf alle Fälle (ca.1A).    
« Letzte Änderung: August 01, 2011, 15:37:33 von Stampede » Gespeichert
Lux
Jr. Member
**
Offline Offline

Beiträge: 87



Profil anzeigen WWW
« Antworten #8 am: August 01, 2011, 09:44:25 »

Hast Du jetzt die Endlosschleife drin?
Gespeichert

www.PIC-Projekte.de Projekt Vorstellungen | PIC-µC-Forum
bastler1010
Newbie
*
Offline Offline

Beiträge: 11


Profil anzeigen
« Antworten #9 am: August 01, 2011, 11:00:42 »

Die Endlosschleige ist mit eingebaut.
Gespeichert
bastler1010
Newbie
*
Offline Offline

Beiträge: 11


Profil anzeigen
« Antworten #10 am: August 01, 2011, 14:35:57 »

Danke!!

Die Sache funktioniert jetzt.
Lösung: An MCLR V+ mit 10K legen (als Pullup)
Gespeichert
Stampede
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 969



Profil anzeigen WWW
« Antworten #11 am: August 01, 2011, 15:38:45 »

Zitat
Lösung: An MCLR V+ mit 10K legen (als Pullup)
Hehe Lösung. Das sollte eigentlich so selbstverständlich sein wie Spannung an den Controller legen.

Grüße
Stefan

PS: Bitte Code Tags verwenden.
Gespeichert

Stephan
Jr. Member
**
Offline Offline

Beiträge: 88


Profil anzeigen
« Antworten #12 am: August 01, 2011, 21:10:12 »

> Hehe Lösung. Das sollte eigentlich so selbstverständlich sein wie Spannung an den Controller legen.

Das hängt natürlich von der CONFIG ab.
Gespeichert
Stampede
Globaler Moderator
Hero Member
*****
Offline Offline

Beiträge: 969



Profil anzeigen WWW
« Antworten #13 am: August 03, 2011, 14:40:15 »

Zitat
Das hängt natürlich von der CONFIG ab.
Logisch, aber wenn man MCLR bewusst in der CONFIG abschaltet (default ist MCLR ein), dann kann man dem jenigen unterstellen dass er weiß was er tut. Dann läuft er bestimmt nicht in diese "Falle".

Gruß
Stefan
Gespeichert

bastler1010
Newbie
*
Offline Offline

Beiträge: 11


Profil anzeigen
« Antworten #14 am: August 04, 2011, 12:30:13 »

Ja, sorry!

Hab' ihn einfach vergessen..... Augen rollen
Gespeichert
Seiten: [1] Nach oben Drucken 
« vorheriges nächstes »
Gehe zu:  

Powered by MySQL Powered by PHP Made for Mozilla (Firefox) Made for Internet Explorer
Seite erstellt in 0.043 Sekunden mit 18 Zugriffen.
 
Top! Top!