Forum: Mikrocontroller und Digitale Elektronik PIC16F721 lässt sich nicht mehr programmieren


von Frederik P. (frederikp)


Lesenswert?

Hallo,

ich wollte mir eine kleine Uhr mit dem DS1307 und mit Temperatursensor 
(LM35) bauen. Dazu vier 7-Segment-Anzeigen und den 74HC/HCT4511 als 
Ansteuerung.

Nur mit PIC (16F721) und DS1307 ließ er sich nach einigen Problemen 
programmieren und konnte mit allen drei Timern an verschiedenen 
Ausgängen wackeln. Heute habe ich die Displayplatine, die Transistor für 
die 7-S-A und den 74HC/HCT4511 angelötet und verbunden.

Beim Anschließen einer Spannung (5V) wurde der LM25 extrem heiß. OK, 
verpolt, umgesteckt, funktioniert aber noch.

Aber jetzt lässt sich der PIC nicht mehr programmieren. Mit PICkit3 
kommt immer:
1
Firmware Suite Version.....01.28.57
2
Firmware type..............Midrange
3
4
Target detected
5
Failed to get Device ID
Doch das komische: Mit einem anderen Programm für den PIC16F1825, 
VDD=3,irgendwas Volt sagt er:
1
Connecting to MPLAB PICkit 3...
2
Firmware Suite Version.....01.28.57
3
Firmware type..............Enhanced Midrange
4
5
Target detected
6
Target Device ID (0x1c20) does not match expected Device ID (0x2760).
Und diese Device ID (0x1c20) stimmt!!!

Meine Vermutung ist, dass es an den Conf-Words liegt, da bei der 
gleichen Platine und gleichem PIC zwei unterschiedliche Programme 
funktionieren...
Oder an VDD=3,..V und jetzt VDD=5V

Schaltplan habe ich leider nicht (habe immer zuviel falsch gezeichnet 
und dann falsch gelötet, O:) ...), kann ich aber jetzt mal machen. Denke 
jedoch nicht, dass dieser von Bedeutung sein wird, da es ja einmal 
klappt.

Ich hoffe, dass der PIC nicht kaputt ist. Bei reiner Spannung ohne ICSP 
spuckt er am MCLR 5V aus.

CONF-Words:
1
#include <xc.h>
2
3
// CONFIG1
4
#pragma config FOSC = INTOSCIO  // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA4/CLKO pin, I/O function on RA5/CLKI)
5
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
6
#pragma config PWRTE = ON       // Power-up Timer Enable bit (PWRT enabled)
7
#pragma config MCLRE = ON       // RA3/MCLR/VPP Pin Function Select bit (RA3/MCLR/VPP pin function is MCLR; Weak pull-up enabled.)
8
#pragma config CP = OFF         // Flash Program Memory Code Protection bit (Code protection off)
9
#pragma config BOREN = ON       // Brown-out Reset Enable bits (Brown-out Reset enabled)
10
#pragma config PLLEN = ON       // INTOSC PLLEN Enable Bit (INTOSC Frequency is 16 MHz (32x))
11
12
// CONFIG2
13
#pragma config WRTEN = OFF      // Flash memory self-write protection bits (Write protection off)

Ich hoffe, mir kann einer helfen.

Danke im Voraus,

Frederik

von Stefan (Gast)


Lesenswert?

Kondensator vergessen an VCAP und GND ?

von Frederik P. (frederikp)


Lesenswert?

Was ist VCAP?

Ich habe bei der RTC und beim µC einen 0,1µF Kondensator von VDD zu GND.

von Stefan (Gast)


Lesenswert?

Siehe Datenblatt.

von Frederik P. (frederikp)


Lesenswert?

VCAP gibt es bei dem PIC16F721 nicht. Siehe Screenshot vom Datenblatt: 
http://imageshack us/photo/my-images/849/datenblatt.png/

Bei dem Versuch, das Bild direkt hochzuladen, bekomm ich einen 
500-Fehler.

Ich konnte ihn ja auch mal programmieren...

von Stefan (Gast)


Lesenswert?

Ja richtig, mich um eine Zahl
vertan. Tausche ihn mal aus,
dann siehste ja ob er defekt war.

von Frederik P. (frederikp)


Lesenswert?

Ich probiere gerade abwechselnd mit zwei, habe jedoch noch einen 
dritten, den ich ungern verschwenden möchte, falls der Fehler noch da 
ist...

Ich habe jetzt mal als Power 3,125V ausgewählt und es funktioniert!!!! 
Ich glaube SPRUT schrieb mal, dass MCLR DEUTLICH über VDD liegen muss. 
Wieso macht der PICkit3 keine HIGH_VOLTAGE-Programmierung??? Miststück!

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.