Erste Gehversuche PIC-Programmierung

Hallo NG,

für ein Modellbahnprojekt habe ich heute erstmals versucht zwei Arten PICs neu zu programmieren (16F628 und 16F630). Die 16F628er waren kein Problem (also funktioniert der JDM-Brenner schonmal), bei den 16F630ern habe ich mir aber anscheinend die Karten gelegt und den OSCCAL-Wert gekillt: Drei von 4 PICs kann ich nicht mehr auslesen, IC-Prog spuckt nur noch "3FFFF" aus, allerdings habe ich den dritten PIC vor dem neuen Beschreiben ausgelesen und die Datei gesichert - aber auch dieses Backup lässt sich nicht mehr einspielen (Fehlermeldung in etwa: Kein Oszillator Kalibrationswert gefunden). Da dies meine ersten Gehversuche mit der Programmierung von PICs sind, wäre dankbar, wenn ich Hinweise bekommen könnte was ich falsch gemacht habe und wie ich es richtig mache (kann ich die PICs noch retten?).

Gruß, Christian

--
---------------
www.noetzel.org
Reply to
Christian Noetzel
Loading thread data ...

Christian Noetzel schrieb:

Bringt der JDM denn saubere 12V? Steht im Quellcode/Hexfile denn auf

03ffh die nötige RETLW Anweisung?

Gruß Dieter

Reply to
Dieter Wiedmann

Dieter Wiedmann schrieb:

Hallo Dieter,

was heisst "saubere 12V", wie hoch darf die Schwankung sein? Ich habe das nicht nachgemessen, weil ich einfach aufgrund der Tatsache, dass das brennen der 16F628er geklappt hat, von einer ordnungsgemäßen Funktion ausgehe - werde ich heute Abend aber nachholen.

Vermute ich richtig, dass 03ffh der letzte Zifferenblock ist? Dort steht 3fff

formatting link
und das Programm ist an anderer Stelle bereits im Einsatz.

Falls ich an irgendeiner Stelle zu sehr auf dem Schlauch stehe bitte ich um Nachsicht, ich habe bis jetzt (leider) keinerlei Hintergrundkenntnisse, sozusagen ein DAU :)

Gruß & Danke Christian

--
---------------
www.noetzel.org
Reply to
Christian Noetzel

Christian Noetzel schrieb:

Nach Datenblatt von Vdd+3,5V bis 13V, aber man sollte dennoch nicht unter 10V bleiben.

Mach das auf jeden Fall.

Du vermutest richtig, und da steht eben keine RETLW Anweisung, deshalb meckert wohl die Programmiersoftware. Für die Funktion des Bausteins spielt das aber keine Rolle, solange der Code die Oszillatorkalibrierung nicht nach Microchips Vorgaben macht, bzw nutzt.

Und dann auch noch mit spanischer Programmiersoftware? Das kommt mir spanisch vor.;-)

Gruß Dieter

Reply to
Dieter Wiedmann

Dieter Wiedmann schrieb:

Nächstes Problem: Wo messe ich: Vdd zu welchem Pin - Vss?

formatting link

Extra für den Screenshot :)

Gruß, Christian

--
---------------
www.noetzel.org
Reply to
Christian Noetzel

Der PIC Kit2 Programmer von Microchip hat unter TOOLS>OSCCAL> ein Autogenerate. War um dieses Tool auch schon froh ;-).

Im Netz habe ich irgendwo noch andere Wege gesehen um den OSCCAL Wert zu erhalten. Bezogen sich aber auf 12er PIC's

Reply to
Peter Nyffeler

Und hier der Link

formatting link

Es besteht Hoffnung, dass dieses Verfahren auch für den 16F60 geht. den in der Beschreibung des PICKit 2 in

formatting link
steht "Regenerate OSCCAL ? Regenerates the OSCCAL value (only for PIC12F629/

675 and PIC16F630/676)"
Reply to
Peter Nyffeler

Mit der Netzfrequenz kalibrieren klingt aber reichlich umständlich und ins EEPROM speichern ist auch keine gute Idee, da ja eine spezielle Speicherstelle dafür im Flash vorgesehen ist.

Einfacher wäre es wohl mit einem weiteren PIC mit Steuerprogramm, an dem ein Quarz hängt. Dann ein Messprogramm auf den zu kalbrierenden PIC laden, den PIC mit dem Steuerprogramm mit einem seriellen Port versehen, verbinden, Wert in Hyperterminal auslesen und vor dem nächsten flashen wieder eintragen. In der Nobel-Ausführung könnte man auch einen PIC ohne seriellen Port nehmen, der das Kalibrierungsprogramm brennt, den Chip resettet und danach den Kalibrierungswert brennt. Beide Varianten sollten mit jedem zu kalibrierenden PIC funktionieren, wobei die Nobel-Ausführung aber auf Seiten des steuernden PICs recht aufwändig wäre.

--
Frank Buss, fb@frank-buss.de
http://www.frank-buss.de, http://www.it4-systems.de
Reply to
Frank Buss

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.