RE: PIC als assemblerprogrammierbare digitallelektronik.

#1 von SET800 , 12.01.2015 14:05

Hallo,

ich habe nach Interenetsuche die Idee mich mit PIC-Controller zu beschäftigen.

die gibt es ab 60cent mit 4 I/0 pins bis 28pol und 40pol dil, ordentlich I/O,
teils I²C anschlußmöglichkeit usw.

Nach Internetstudium zeigt sich neben vielen Varianten und anderen ATmel, Aduino
rapsberry eben PIc für MICH überschaubar und ausreichend.

Fragen:
Softwarentwicklung, Assembler schreiben laden und brennen PICkit 2 2.6.
Als eines der möglichen Programmiertools z.B. von Reichelt DIAMEX PIC KIT,

Reicht das um 28-pin "Käfer" lauffähig zu programmieren?

PC windows 8.1 und NUR USB!

Alternative für alt-PC mit XP und R232 und debug-Optionen?

Gruß Wolfgang.


SET800  
SET800
EuroCity (EC)
Beiträge: 1.453
Registriert am: 05.12.2010
Ort: Mühldorf am Inn
Spurweite H0, Z
Stromart AC, Digital


RE: PIC als assemblerprogrammierbare digitallelektronik.

#2 von ICEVfan , 12.01.2015 18:38

Hallo Wolfgang,

folgende Seite kann ich Dir wärmstens empfehlen, da findest Du reichlich Informationen über PICs:
http://www.sprut.de/


Gruß

Fabian


ICEVfan  
ICEVfan
RegionalExpress (RE)
Beiträge: 84
Registriert am: 15.12.2012
Spurweite H0


RE: PIC als assemblerprogrammierbare digitallelektronik.

#3 von kaeselok , 12.01.2015 19:01

Zitat von SET800
PC windows 8.1 und NUR USB!

Alternative für alt-PC mit XP und R232 und debug-Optionen?

Gruß Wolfgang.



Hallo Wolfgang,

ich habe einen Sprut8 Brenner (siehe Sven Brandt Seiten) und kann die schon vom Kollegen Fabian verlinkte Seite ebenfalls empfehlen. Um das Ding via USB an Windows 7 x64 zum Laufen zu kriegen, musste ich etwas "üben". Nicht jeder Treiber tut, nicht jedes Brennprogramm tut.

Aber letztlich flashe ich damit alle PICs auf den Sven Brandt Decodern (hauptsächlich LED Decoder, aber auch die motorischen Weichenantriebsdecoder).

Viele Grüße,

Kalle


 
kaeselok
ICE-Sprinter
Beiträge: 6.761
Registriert am: 30.04.2007
Spurweite 1
Stromart Digital


RE: PIC als assemblerprogrammierbare digitallelektronik.

#4 von SET800 , 13.01.2015 14:01

Hallo,
ersmal danke, dazu einige Verständnisfragen:

1. Die flash-pic-typen könne bei bei Programmierfehlern neu programmiert werden, 50-mal wäre kein Problem.
2. Es lässt sich ein "fuse-bit" setzen, dann nur neuprogrammierbar mit Spezialplantine und 12V...
3. OTP sind EPROM als Progranmmspeicher, sollte richtig funktionieren oder es ist Müll.

Gruß


SET800  
SET800
EuroCity (EC)
Beiträge: 1.453
Registriert am: 05.12.2010
Ort: Mühldorf am Inn
Spurweite H0, Z
Stromart AC, Digital


RE: PIC als assemblerprogrammierbare digitallelektronik.

#5 von volkerS , 13.01.2015 16:41

Hallo Wolfgang,
OTP = one time programmable. Werden / wurden nur in der Industrie verwendet. Wenn das Programm fehlerhaft ist = Mülltonne.
Alte Pics hatten ein Fenster wie Eproms = ebenfalls veraltet.
Die heutigen Pics sind elektrisch löschbar und sollten mindestens 100 Programmierzyklen schaffen. Das Eeprom im Pic sogar noch weit aus mehr.
Zum Schutz gegen Auslesen der Software gibt eine Fuse. Dabei kann man zwischen Programm und Data unterscheiden.
Ich setze üblicherweise nur die Programm-Fuse. Sonst kann ein Programm auch selbst nicht mehr das Eeprom beschreiben.
Als Programmer verwende ich PicKit2 und PicKit3. Laufen unter WIN 7 Pro 64bit, haben USB und benötigen keine weiteren Komponenten zum Programmieren. Was du dir ggfs. selbst anfertigen musst ist eine Lochrasterplatine mit Sockel für deinen PIC und den 6 Stiften, die mit dem Programmer verbunden werden.
Natürlich geht auch Onboard-Programmieren, aber dazu müssen die I/Os, die zum Programmieren benötigt werden vom Rest der Schaltung getrennt werden (Jumper).
Volker


volkerS  
volkerS
ICE-Sprinter
Beiträge: 5.995
Registriert am: 14.10.2014


RE: PIC als assemblerprogrammierbare digitallelektronik.

#6 von hampton , 13.01.2015 18:05

Hallo Wolfgang,

ich würde dir das Pickit 2 oder 3 für den Anfang empfehlen. Das 3er ist neuer und kann auch die neueren Pics programmieren. Für das 2er ist der Support eingestellt.
Wenn du wirklich noch in Assembler starten willst dann nimm z.B. das Pickit 2 im Set mit einem 16f690. Für C-Programmierung gleich in der 18f-Schiene starten.

Pic Grundlagen gibt es bei http://www.sprut.de
Software -Routinen für Decoder aller Art bei http://www.digital-bahn.de

Grüße
Florian


Grüße Florian
----------
Sinus-Treiber / BLDC-Controller
Waggon-Beleuchtungsplatine


hampton  
hampton
InterRegioExpress (IRE)
Beiträge: 255
Registriert am: 04.04.2011
Ort: Stuttgart
Spurweite H0
Stromart Digital


RE: PIC als assemblerprogrammierbare digitallelektronik.

#7 von PhilippJ_YD , 15.01.2015 14:38

Ich selber bin ja mehr in der AVR Welt zu Hause, aber das ist ja meistens reine Geschmackssache.

Was die Wiederbeschreibbarkeit angeht; bei Atmel werden meines Wissens für den flash 10.000 Zyklen angegeben, für die EEPROM 100.000 Den Flash bekommt man also auch mit vielen Anläufen nicht kaputt. Der EEPROM ist da schon kritischer, falls eine Software öfter darin schreibt. Ich denke, Mikrochip wird da einen ähnlichen Entwicklungsstand haben.

Gibt es einen speziellen Grund, noch in Assembler zu schreiben? Außer in extrem zeitkritischen Anwendungen lohnt sich dieser Aufwand zumindest bei den AVRs eigentlich nicht mehr. Die vorhandenen C Compiler sind in den meisten Fällen so weit entwickelt, dass man nur mit wirklich viel Ahnung effizientere Ergebnisse mit Assembler schafft. Für solche Fälle bleibt einem dann auch noch die Möglichkeit, per inline Assembler einige Zeilen einzuschieben.

Was die reine Hardware angeht, sind die verschiedenen Chips für normale Anwendungen ja quasi ebenbürtig. Deshalb würde ich an deiner Stelle vor Allem darauf achten, wie die Programmierumgebungen beschaffen sind, die in Frage kommen. Daran hängt meiner Meinung nach deutlich mehr, als an der Herstellerwahl.

Beispiel aus der AVR Welt: Ich persönlich komme mit den neueren AVR Studios wunderbar zurecht und bin froh, dass diese quasi dem Visual Studio von Microsoft entsprechen. Dagegen finde ich die Arduino Entwicklungsumgebung sehr bescheiden. Das bedeutet, dass das Gefühl bei der Softwareentwicklung für ein und den selben Chip massiv davon abhängt, wie die Programmierumgebung aussieht.


Gruß, Philipp


PhilippJ_YD  
PhilippJ_YD
CityNightLine (CNL)
Beiträge: 1.652
Registriert am: 20.06.2014
Spurweite H0
Stromart DC, Digital


RE: PIC als assemblerprogrammierbare digitallelektronik.

#8 von SET800 , 21.01.2015 19:56

Hallo,
warum nicht in C? Ich hab zwar auf PDP8, PDP11 und 386 ( MS-DOS-MicrosoftC ) in C-Programmiert, aber immerr nur von Tastatur zum Display. Von Bios-Funktionen gelang eben nur printf ( auf das Display ) zu nutzen, wenn ich Daten als Ergebniss speichern wollte per Tastatur das Programm mit Umleitung in Datei starten ( z.B. flaeche.exe > ergebniss.txt ). Dos-Batch-Befehle lieferten dann einen Ausdruck.

Aber Hardware ansteuern kenne ich nur von Bitslice AMD2901, 8085, Z80, 6809, 68020 in Assembler und bei SPS-Systemen wie S5 und GE-Fanuc. Da aber auch komplexe Werkzeugmaschinenbahnsteuerungen mit Reihenentwicklungen in Echtzeit für Winkelfunktionen usw.


SET800  
SET800
EuroCity (EC)
Beiträge: 1.453
Registriert am: 05.12.2010
Ort: Mühldorf am Inn
Spurweite H0, Z
Stromart AC, Digital


RE: PIC als assemblerprogrammierbare digitallelektronik.

#9 von PhilippJ_YD , 22.01.2015 16:57

Wie gesagt, ASM Programierung auf Mikrocontroller Ebene ist absolut möglich. Allerdings tut man sich meiner Meinung nach heute keinen Gefallen mehr, wenn man darauf zugreift, ohne absolut darauf angewiesen zu sein. Das Schreiben von C Syntax ist da doch deutlich übersichtlicher und mit den passenden Compilern auch in der Ausführungsgeschwindigkeit nur in seltenen Fällen unterlegen. Der Unterschied zu Programmen für PCs besteht im wesentlichen darin, dass man zusätzlich die Hardwareregister der Prozessoren anspricht. Das wird dir aus der Zeit mit asm vertraut vorkommen.

Die meisten Anwendungen sind ohnehin so zu gestalten, dass selbst ein 8bit Prozessor locker 50% seiner Zeit nichts tut als auf Interrupts zu warten. Wenn der langsam wirklich an seine Grenzen kommt, lohnt meist direkt der Umstieg auf eine größere Prozessorreihe. Zumindest im Hobbybereich. Wenn es um Stückzahlen geht, kann es natürlich wieder lohnen Code so zu optimieren, dass er auf der günstigeren Prozessorreihe funktioniert.

Ein sehr gutes Tutorial für die Atmelwelt ist finde ich dieses hier. Auf der Website gibt es übrigens auch die Assembler Entsprechung:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
Für PICs wird es sicherlich ein vergleichbares geben.


Gruß, Philipp


PhilippJ_YD  
PhilippJ_YD
CityNightLine (CNL)
Beiträge: 1.652
Registriert am: 20.06.2014
Spurweite H0
Stromart DC, Digital


   


Xobor Einfach ein eigenes Forum erstellen
Datenschutz