Forum

Einloggen | Registrieren | RSS  

MKay

Deutschland,
14.03.2008,
09:59
 

PIC Programmierung (Elektronik)

Hallo,

wer von euch kennt sich mit der Programmierung von PIC´s aus?
Ich habe z.Z. von der Berufsschule her díe Aufgabe mit Assembler in MPLAB ne Ansteurung von einem LCD zu realisieren etc.
Wenn wer darüber was weiß, dann lasst es mich wissen.
Bin für alle Infos dankbar.

P.s. Bis denne antwortet fleißig

MfG
MKay

Zottel

14.03.2008,
10:33

@ MKay

PIC Programmierung

www.sprut.de

hws(R)

E-Mail

59425 Unna,
14.03.2008,
11:21

@ MKay

die Chips programmieren ?

Chip in den Prommer, passendes HexFile laden, auf "Brennen" klicken. :-D

OK, vermutlich meinst du, wie man ein Programm dazu schreibt. Dazu muss man die Befehle des Assemblers kennen, grundlegende Kenntnisse, wie man ein Programm aufbaut und schreibt (erstmal nen Flussdiagramm machen oder Nassay-Schneidermann zeichnen).
Spezielle Kenntnisse, wie man die Ausgangspinchn des PICs ansteuert.

Und dann Kenntnisse über die LCD, was die für Signalformen an ihren Eingangspinchen braucht.
Priinzipiell gibts da "nackte" LCD's, wo man für jedes Anzeigesegment ein Pinchen hat und ständig passende Rechtecksignale dranlegen muss.
Die zweite Sorte hat eingene Elektronik drin und man muss an ca 8..12 Pinchen einmal die gewünschte Anzeige reinschreiben und die interne Elektronik rechnet die Buchstaben selbst in passende Pünktchen um und zeigt sie an.

Hab ich alles schonmal programmiert, sowohl mit PIC's als auch mit Atmels und Z8 und früher mit Z80 und 8080er Serie.
Ein fertiges Rezept für blutige Anfänger "selbst programmiert in 24 Stunden" gibts leider nicht.

Aus deiner Frage befürchte ich mal, dass die dazu sämtliche nötigen Vorkenntnisse fehlen.

hws

Harald Wilhelms(R)

E-Mail

14.03.2008,
13:57
(editiert von Harald Wilhelms
am 14.03.2008 um 13:59)


@ hws

die Chips programmieren ?

» Chip in den Prommer, passendes HexFile laden, auf "Brennen" klicken. :-D

Ich hake mich hier mal ein, weil gerade das Thema passt.
In der Elektor gibt es gerade einen Datenlogger mit dem
PIC PCF18F452 der mir irgendwie gefällt.:-) Kann man
den eigentlich "nackt" kaufen und ohne Prommer über die
RS232 vollständig programmieren? Den passenden Hexfile
habe ich mir schon von Elektor gezogen. Ich habe zwar
ganz gute Grundkenntnisse der Elektronik, habe aber
noch nie mit PICs gearbeitet. Für den fertigen PIC
will Elektor immerhin 27,50 EUR. Ausserdem habe
ich gesehen, das es den 18F452 auch im DIL-Gehäuse
gibt und das würde für meine übliche Lochrasterverdrah-
tung besser passen.

» Hab ich alles schonmal programmiert, sowohl mit PIC's als auch mit Atmels

Ich habe vor 20 Jahren auch mal was mit dem 6502
gemacht, seitdem aber nichts mehr. Ich bin z.Z. am
überlegen, ob ich einen Neueinstieg eher mit PICs
oder eher mit dem Atmel mache. Wenn man eine solche
Frage in der Elektronik-NG stellt, zettelt man ja
regelmässig ein Glaubenskrieg an.
:-(
Gruss
Harald

Memphis

14.03.2008,
14:22

@ Harald Wilhelms

die Chips programmieren ?

» Ich habe vor 20 Jahren auch mal was mit dem 6502
» gemacht, seitdem aber nichts mehr. Ich bin z.Z. am
» überlegen, ob ich einen Neueinstieg eher mit PICs
» oder eher mit dem Atmel mache.

PICs oder Atmel - ich weiß auch nicht womit ich da beginnen soll.
Was ist mit dem R8C13, den auch Elektor vorgestellt hat. Ein 16-Bit µC im LQFP-32 Gehäuse.
Wäre das keine Option?
Mir gefällt der kleine "Käfer".

Gibt es zu diesem Bauteil Erfahrungswerte?
Ist der überhaupt vergleichbar mit PIC, Atmel etc. ?


Gruß, Memphis

hws(R)

E-Mail

59425 Unna,
14.03.2008,
14:32

@ Harald Wilhelms

WEN nackt kaufen ?

Den PIC, den Bausatz - oder deine Freundin ?

» PIC PCF18F452 der mir irgendwie gefällt.:-) Kann man
» den eigentlich "nackt" kaufen und ohne Prommer über die
» RS232 vollständig programmieren?

Ich kenn die Schaltung nicht, vermute aber mal, dass die Daten, die über die RS232 kommen, von dem Teil mitgeloggt werden.

Der PIC dazu muss natürlich schon fertig in der Schaltung stecken - und zwar fertig programmiert.
Wer sollte sonst die serielle Schnittstelle auslesen und mit den empfangenen Zeichen was anfangen.

Ja, die PIC's gibts "nackt" d.h. unprogrammiert zu kaufen, das ist eigentlich der Normalfall. Und der Anwender brennt dann selbst sein entsprechendes Programm rein. Entweder über das bei einem Bausatz mitgelieferte Hex-File. Oder eben ein eigenes selbst geschriebenes Programm.
Dass zu einem Bausatz ein fertig programmierter Chip (egal ob Pic, Atmel oder sonsteiner) mitgeliefert wird, ist eher die Ausnahme und stellt einen Service des Entwicklers dar. Damit auch "nur Löter" ohne µC Erfahrung und Prommer nachbauen können.

» Für den fertigen PIC will Elektor immerhin 27,50 EUR

naja, ist für den Service eigentlich nicht zu viel.
Bastler vergessen dabei immer, dass man den leeren Chip erst kaufen und im Voraus bezahlen muss, dann programmieren und versenden. Rechnung schreiben, den Rechnungseingang nachprüfen. Und diese Leute wollen ein Gehalt haben - der Bastler arbeitet umsonst .. ähh kostenlos mein ich. Oder würdest du später kostenlos beim Elektor Verlag arbeiten und Bausätze zusammenstellen?

» ich gesehen, das es den 18F452 auch im DIL-Gehäuse
» gibt

Die gibt es in verschiedenen Gehäusen. Wenn es derselbe Typ ist, macht es keinen Unterschied - eben ausser der Pinbelegung. kann man auch nehmen. Schaltung und Software bleibt die gleiche.

» und das würde für meine übliche Lochrasterverdrah-
» tung besser passen.

Gibts von denen keine passende Platine? Würde ich einem selbstgestrickten Lochrasteraufbau vorziehen.

» überlegen, ob ich einen Neueinstieg eher mit PICs
» oder eher mit dem Atmel mache. Wenn man eine solche
» Frage in der Elektronik-NG stellt, zettelt man ja
» regelmässig ein Glaubenskrieg an.

Ich arbeite in der Firma mit beiden (und mit dem Z8 und anderen auch noch)
Die Entscheidung hängt nicht vom "Glaubenskrieg" ab, sondern von den benötigten Ressourcen: Flash, Ram, I/O Pinchen, evtl Timer, eingebaute PWM u.ä. Und auch vom Preis, wenn es um mehrere hundert / tausend Stück geht.

Wenn man einen µP kennt, kommt man auch schnell in einen anderen Assembler rein. Zumal grössere Programmierarbeiten üblicherweise in "C" gemacht werden. Da muss man sich eigentlich nur die Hardware (Pinchen, PWM usw) genauer anschauen, um die passend zu bedienen.

hws

Harald Wilhelms(R)

E-Mail

14.03.2008,
14:50

@ hws

WEN nackt kaufen ?

» Den PIC, den Bausatz - oder deine Freundin ?

Den PIC gibts bei Reichelt für 6,60. :-)
»
» » PIC PCF18F452 der mir irgendwie gefällt.:-) Kann man
» » den eigentlich "nackt" kaufen und ohne Prommer über die
» » RS232 vollständig programmieren?

» Ich kenn die Schaltung nicht, vermute aber mal, dass die Daten, die über
» die RS232 kommen, von dem Teil mitgeloggt werden.

Nein, loggen tut er nur das, was über die Analogeingänge
reinkommt.

» Der PIC dazu muss natürlich schon fertig in der Schaltung stecken - und
» zwar fertig programmiert.

Es gibt doch aber eine Menge uCs, die man nur über ein zusammengelötetes Kabel programmieren kann, ohne
Prommer. Ob das für die PICs auch gilt, weiss ich nicht.

» Wer sollte sonst die serielle Schnittstelle auslesen und mit den
» empfangenen Zeichen was anfangen.

Ich hatte gedacht, gehofft, in den Pics wäre so ne Art
kleines BIOS schon drin...

» Dass zu einem Bausatz ein fertig programmierter Chip (egal ob Pic, Atmel
» oder sonsteiner) mitgeliefert wird, ist eher die Ausnahme und stellt einen
» Service des Entwicklers dar. Damit auch "nur Löter" ohne µC Erfahrung und
» Prommer nachbauen können.
»
» » Für den fertigen PIC will Elektor immerhin 27,50 EUR
»
» naja, ist für den Service eigentlich nicht zu viel.
» Bastler vergessen dabei immer, dass man den leeren Chip erst kaufen und im
» Voraus bezahlen muss, dann programmieren und versenden. Rechnung schreiben,
» den Rechnungseingang nachprüfen. Und diese Leute wollen ein Gehalt haben -
» der Bastler arbeitet umsonst .. ähh kostenlos mein ich. Oder würdest du
» später kostenlos beim Elektor Verlag arbeiten und Bausätze
» zusammenstellen?

Naja, es gibt ja immer noch einen Unterschied zwischen
kostenlos und 20 EUR Aufschlag. Zumal Elektor ja sowas
dauernd macht.

» Gibts von denen keine passende Platine? Würde ich einem selbstgestrickten
» Lochrasteraufbau vorziehen.

Gibts schon, aber für die Handvoll Bauelemente reicht
mir das Lochraster

» » überlegen, ob ich einen Neueinstieg eher mit PICs
» » oder eher mit dem Atmel mache.

» Ich arbeite in der Firma mit beiden (und mit dem Z8 und anderen auch
» noch)
» Die Entscheidung hängt nicht vom "Glaubenskrieg" ab, sondern von den
» benötigten Ressourcen: Flash, Ram, I/O Pinchen, evtl Timer, eingebaute PWM
» u.ä. Und auch vom Preis, wenn es um mehrere hundert / tausend Stück geht.

Ich habe da keine besonderen Anforderungen; die übliche
Standardausstattung reicht mir fürs erste. Mir geht es
allein um den leichteren Einstieg. Ich habe mal gehört
PICs hätten eine etwas gewöhnungsbedürftige Art der Programmierung. Ich hatte nämlich vor, als erstes nicht
mit C, sondern eher mit Assembler zu arbeiten.
Gruss
Harald

Harald Wilhelms(R)

E-Mail

14.03.2008,
14:55

@ Memphis

die Chips programmieren ?

» PICs oder Atmel - ich weiß auch nicht womit ich da beginnen soll.

ZUmal es nur wenige gibt, die beides abwechselnd nutzen.

» Was ist mit dem R8C13, den auch Elektor vorgestellt hat. Ein 16-Bit µC im
» LQFP-32 Gehäuse.
» Wäre das keine Option?
» Mir gefällt der kleine "Käfer".

Ich habe die entsprechenden Artikel in der Elektor
auch gelesen. Mir erscheint der für meine Zwecke
schon fast etwas aufwändig. Ich werde meinen Einstieg
auch erst in der zweiten Jahreshälfte machen, da ich
dann etwas mehr Zeit habe.
Gruss
Harald

enton(R)

14.03.2008,
15:56

@ Harald Wilhelms

WEN nackt kaufen ?

» Ich habe da keine besonderen Anforderungen; die übliche
» Standardausstattung reicht mir fürs erste. Mir geht es
» allein um den leichteren Einstieg. Ich habe mal gehört
» PICs hätten eine etwas gewöhnungsbedürftige Art der Programmierung. Ich
» hatte nämlich vor, als erstes nicht
» mit C, sondern eher mit Assembler zu arbeiten.


So viel ich weiß haben die PIC's z.B. keine Carry Flag usw.
Als ich angefangen hab µ-C's zu programmieren, hab ich auch ziemlich lange verglichen, und oft hieß es, das PIC's in Assembler recht schwer zu Programmieren sind, aufgrug ihrer "etwas eigenen" Struktur.
Beim Atmega ist das kein Problem.
Warum willst du eigentlich in Assembler programmieren?
Damit machst du dir das leben nur unnötig schwer.
Assembler lohnt sich eigentlich nur bei sehr Zeitkritischen Anwendungen, wenns auf jeden Takt ankommt.
Ich hab den Atmega sowohl in Assembler als auch in C programmiert und kann dir nur raten, es gleich in C zu machen.

--
Da säuft man den ganzen Tag und wird trotzdem nicht für voll genommen :-(

enton(R)

14.03.2008,
16:00

@ Harald Wilhelms

WEN nackt kaufen ?

» Es gibt doch aber eine Menge uCs, die man nur über ein zusammengelötetes
» Kabel programmieren kann, ohne
» Prommer. Ob das für die PICs auch gilt, weiss ich nicht.

Das sind sogenannte Bitbanger. Da schickt der PC seine Daten einfach raus, ohne zu schauen ob der µ-C sie auch verarbeiten kann.(nach dem Motto: friss oder stirb)
Bei kleinen Programmen und alten Rechnern kann das unter umständen noch gut gehen. Mit neuen, schnellen Rechnern wirst du da Probleme bekommen.
Investier lieber in nen guten Prommer mit Hostcontroller, da hast im Endeffekt mehr freude dran.

--
Da säuft man den ganzen Tag und wird trotzdem nicht für voll genommen :-(

hws(R)

E-Mail

59425 Unna,
14.03.2008,
16:04

@ Harald Wilhelms

WEN nackt kaufen ?

» Den PIC gibts bei Reichelt für 6,60. :-)

Also 20 Euro für das Handling? Davon muss die gesamte Mannschaft vom Verlagsleiter bis zur Sekretärin und dem Versandmenschen leben. Und 50% davon sackt schonmal der Staat über die Steuern ein.
Da fragt sich natürlich, WER der Wucherer ist.

» Es gibt doch aber eine Menge uCs, die man nur über ein zusammengelötetes
» Kabel programmieren kann, ohne
» Prommer.

Das IST der Prommer, das zusammengelötete Kabel. Z.B. der Ponyprog für Atmels. Obs sowas für diesen PIC auch gibt, weiss ich nicht. Ich pflege was vernünftiges zu verwenden, aber auch Vernünftiges gibts im Bereich von 100Euro.

Dann fängt aber evtl die Fummelei an, weil solche Billigprommer oft Macken zeigen und nicht funktionieren. Bei Laptop reicht der Spannungspegel der Seriellen nicht aus, Fehler beim Zusammenlöten ....
Sowas kann man nur dann machen, wenn man jemanden besuchen kann, der einen fertigen Prommer besitzt und bei Fehlern aushilft - oder man viel Musse und Kenntnisse hat.

» Ich hatte gedacht, gehofft, in den Pics wäre so ne Art
» kleines BIOS schon drin...

Das gibts erst in ner Nummer größer. Mit Platine und Schnittstelle und kostet ca 50..100 Euro.
Embedded ist das Stichwort.

» Naja, es gibt ja immer noch einen Unterschied zwischen
» kostenlos und 20 EUR Aufschlag. Zumal Elektor ja sowas
» dauernd macht.

Die LEBEN davon - und zahlen Steuern.

» Gibts schon, aber für die Handvoll Bauelemente reicht
» mir das Lochraster

Mach was vernünftiges incl. Platine und fertig programmiertem Chip.

Willstes unbedingt frickeln, programmier ich dir auch nen Chip - für dich sogar kostenlos und portofrei.

Aber rechne jetzt mal spasseshalber die theoretischen Kosten zusammen:

Briefporto Bestellung
Chipkosten
Porto Päckchen
Porto & Umschlag für Chip zu mir schicken
Mein Rückporto (auch wenn du's nicht bezahlen musst)

» Ich habe da keine besonderen Anforderungen; die übliche
» Standardausstattung reicht mir fürs erste. Mir geht es
» allein um den leichteren Einstieg.

Dann isses eigentlich sch...egal.

» Ich habe mal gehört
» PICs hätten eine etwas gewöhnungsbedürftige Art der Programmierung.

Ja, aber da du noch nichts anderes kennst, wirst du das als "normal" ansehen.
Und dann evtl später die anderen üblichen µC's als seltsam und gewöhnungsbedürftig empfinden - falls du jemals noch nen anderen lernen möchtest.

» Ich hatte nämlich vor, als erstes nicht
» mit C, sondern eher mit Assembler zu arbeiten.

Ist insofern sinnvoll, dass C einen relativ grossen Overhead hat und in ganz kleine µP's gar nicht reinpasst. Ausserdem lernt man so den Chip besser kennen. Das hilft beim Verständnis und auch bei C-Programmierung muss man schon wissen, wie man einen Timer anspricht oder ein Pinchen setzt/ausliest.

Schick mir doch mal nen Link zu dem Projekt oder scan das ein. Nein - nachbauen will ich nicht. Die Zeit verwende ich besser und kauf so einen Bausatz oder Fertigplatine.

hws

Memphis

14.03.2008,
16:06

@ Harald Wilhelms

R8C13

» Ich habe die entsprechenden Artikel in der Elektor
» auch gelesen. Mir erscheint der für meine Zwecke
» schon fast etwas aufwändig.

Ich hab das Board und auch noch die notwendigen Utensilien um den R8C13 zu programmieren. Leider komme ich mangels Zeit nicht oft dazu etwas zu machen.
Deshalb wollte ich dieses Posting zum Anlass nehmen um einige Meinungen zu diesem Bauteil einzuholen. Elektor bietet zwar ein eigenes Forum zu diesen µC an, jedoch ist dieses schlecht besucht. Oft warten man wochenlang auf Antwort - und ob diese dann die richtige ist ...

Freue mich jedenfalls auf Feedback zum Thema R8C13 :-)



Gruß Memphis

hws(R)

E-Mail

59425 Unna,
14.03.2008,
16:12

@ enton

WEN nackt kaufen ?

» Beim Atmega ist das kein Problem.

Der ATMega ist ja auch ein "Flagschiff".
Sagt schließlich der Name "MEGA".
Aber schau dir mal die"Tiny..." an.
1k Flash, kein Ram .. da is nix mit C.

» Assembler lohnt sich eigentlich nur bei sehr Zeitkritischen Anwendungen,
» wenns auf jeden Takt ankommt.
Oder wenn's nen kleiner (billiger) Chip sein soll.
nen 5poliger PIC in SOT 323-5 Gehäuse, so gross wie ein SMD Transistor. Da is nix mit C.

» Ich hab den Atmega sowohl in Assembler als auch in C programmiert und kann
» dir nur raten, es gleich in C zu machen.

Zwecks besserem Verständnis des µC's sollte man einmal zumindest Assembler gemacht haben.

hws

Hütter

14.03.2008,
16:17

@ hws

die Chips programmieren ?

» Chip in den Prommer, passendes HexFile laden, auf "Brennen" klicken. :-D

Wie ist das eigentlich mit den PICs, Atmels und Konsorten?
Kann man die mehrfach programmieren (Brennen), oder ist das nur einmal möglich?

Soll heißen; Wenn das Programm falsch oder fehlerhaft ist, dann wars das für dieses Bauteil - oder kann man auch "überschreiben"? Wenn ja wie oft?


Der Hütter

enton(R)

14.03.2008,
16:18

@ Hütter

die Chips programmieren ?

so oft du willst.( Flash kann man mehr als 100000 mal beschreiben)

--
Da säuft man den ganzen Tag und wird trotzdem nicht für voll genommen :-(

enton(R)

14.03.2008,
16:19

@ hws

WEN nackt kaufen ?

» Zwecks besserem Verständnis des µC's sollte man einmal zumindest Assembler
» gemacht haben.

Ist ev. nicht schlecht, aber Spaß machts nicht:-)

--
Da säuft man den ganzen Tag und wird trotzdem nicht für voll genommen :-(