Im System programmierbar bedeutet, daß das Flash-ROM des Controllers
ohne ein spezielles Programmiergerät programmiert werden kann, selbst
wenn der Controller bereits in der eigentlichen Anwendungsschaltung
verbaut ist.
Dazu müssen nur einige wenige Leitungen an einen Stecker geführt
werden.
Um diese ISP-Schnittstelle zu bedienen, werden üblicherweise
Programmieradapter verwendet, die am Parallelport des PCs angeschlossen
werden; Schaltungen für derartige Teile werden hier des öfteren
veröffentlicht.
Vor einiger Zeit gab es mal eine Diskussion zum Thema
http://www.mikrocontroller.net/forum/read-1-133761.html#133806
Zwar verwendet die ISP-Schnittstelle eine serielle Datenübertragung,
aber eine synchrone (bei der ein Taktsignal mit übertragen wird), daher
ist die serielle PC-Schnittstelle aufgrund ihrer asynchronen (quasi
taktlosen) Übertragung dafür ungeeignet.
Die Parallelportprogrammieradapter bilden die synchrone serielle
Schnittstelle durch Bitwackelei ("bit banging") an einigen Portpins
nach, das ist mit dem Parallelport halbwegs brauchbar hinzubekommen.
Wenn Du unbedingt über die serielle Schnittstelle programmieren
möchtest, benötigst Du entweder eine Software, die durch Bitwackelei an
der seriellen Schnittstelle das ISP-Protokoll nachbildet (letztlich also
dasselbe macht wie die Software, die die Parallelschnittstelle bedient)
oder aber einen Bootloader im Controller. Letzteres ist ein Programm,
das im Controller läuft und über die serielle Schnittstelle die zu
programmierenden Daten empfängt. Eine dritte Variante ist ein
Programmiergerät mit eingebautem Microcontroller, der das ISP-Protokoll
erzeugt und vom PC über die serielle Schnittstelle mit den zu
programmierenden Daten zu füttern ist.
Bei einem Bitwackel-Adapter für die serielle Schnittstelle ist, ebenso
wie beim Bootloaderverfahren unbedingt auf die erforderlichen
Pegelwandler zu achten; die serielle Schnittstelle arbeitet mit
Signalpegeln von +/- 12V, was bei direkter Verbindung den Controller
tötet.
Ist das Programm einmal in den Controller geladen, so startet es beim
Einschalten des Controllers automatisch. Das ist ein Mechanismus, der
sich Power-on-Reset nennt; bei manchen Aufbauten muss man durch eine
Resetschaltung (Widerstand und Kondensator) etwas nachhelfen.