Hello World für PIC Mikrocontroller mit dem K150

Mit dem K150 Programmiergerät und der passenden IDE lassen sich folgende Mikrocontroller von Microchip programmieren:

10 Serie:
PIC10F200 * PIC10F202 * PIC10F204 * PIC10F206 *
PIC10F220 * PIC10F222 *

12C Serie:
PIC12C508 PIC12C508A PIC12C509 PIC12C509A
PIC12C671 PIC12C672 PIC12CE518 PIC12CE519
PIC12CE673 PIC12CE674
12F Serie:
PIC12F508 PIC12F509 PIC12F629 PIC12F635
PIC12F675 PIC12F683
16C Serie:
PIC16C505 PIC16C554 PIC16C558 PIC16C61
PIC16C62 PIC16C62A PIC16C62B PIC16C63
PIC16C63A PIC 16C64 PIC16C64A PIC16C65
PIC16C65A PIC16C65B PIC16C66 PIC16C66A
PIC16C67 PIC16C620 PIC16C620A PIC16C621
PIC16C621A PIC16C622 PIC16C622A PIC16C71
PIC16C71A PIC16C72 PIC16C72A PIC16C73
PIC16C73A PIC16C73B PIC16C74 PIC16C74A
PIC16C74B PIC16C76 PIC16C77 PIC16C710
PIC16C711 PIC16C712 PIC16C716 PIC16C745
PIC16C765 PIC16C773 PIC16C774 PIC16C83
PIC16C84
16F Serie:
PIC16F505 PIC16F506 PIC16F54 PIC16F57 *
PIC16F59 * PIC16F627 PIC16LF627A PIC16F627A
PIC16F628 PIC16LF628A PIC16F628A PIC16F630
PIC16F631 * PIC16F631-1 * PIC16F636 PIC16F636-1
PIC16F639 * PIC16F639-1 * PIC16F648A PIC16F676
PIC16F677 PIC16F677-1 PIC16F684 PIC16F685 *
PIC16F685-1 * PIC16F687 * PIC16F687 *- 1 PIC16F688
PIC16F689 * PIC16F689-1 * PIC16F690 * PIC16F690-1 *
PIC16F716 PIC16F72 PIC16F73 PIC16F74
PIC16F76 PIC16F77 PIC16F737 PIC16F747
PIC16F767 PIC16F777 PIC16F83 PIC16F84
PIC16F84A PIC16F87 PIC16F88 PIC16F818
PIC16F819 PIC16F870 PIC16F871 PIC16F872
PIC16F873 PIC16F873A PIC16LF873A PIC16F874
PIC16F874A PIC16F876 PIC16F876A PIC16F877
PIC16F877A
18 Serie:
PIC18F242 PIC18F248 PIC18F252 PIC18F258 PIC18F442 PIC18F448
PIC18F452 PIC18F458 PIC18F1220 PIC18F1320 PIC18F2220 PIC18F2320
PIC18F2321 PIC18F4210 PIC18F2331 PIC18F2450 PIC18F2455 PIC18F2480
PIC18F2510 PIC18F2515 PIC18F2520 PIC18F2525 PIC18F2550 PIC18F2580
PIC18F2585 PIC18F2610 PIC18F2620 PIC18F2680 PIC18F4220 PIC18F4320
PIC18F6525 PIC18F6621 PIC18F8525 PIC18F8621 PIC18F2331 PIC18F2431
PIC18F4331 PIC18F4431 PIC18F2455 PIC18F2550 PIC18F4455 PIC18F4550
PIC18F4580 PIC18F2580 PIC18F2420 PIC18F2520 PIC18F2620 PIC18F6520
PIC18F6620 PIC18F6720 PIC18F6585 PIC18F6680 PIC18F8585 PIC18F8680

* nur über ICSP

An Software werden folgende Tools benötigt:

  1. Treiber für den K150 (inklusive Chip Versionsüberprüfung)
  2. Programmiersoftware DIY K150 v150807 microbrn.exe
  3. IDE (Great Cow Development Enviroment)

Installation:

Wenn der K150 Programmer mit einem USB-Port des Computers verbunden wird erscheint das Gerät im Windows Geräte-Manager als “USB-Serial Controller” unter “Andere Geräte”.
USb-Serial Controller

Die verbaute Version des PL2303 wird nur von Windows 2000, XP, Server 2003, Vista, Server 2008 und Windows 7 unterstützt. (Jeweils in der 32-bit und 64-bit Variante)

Wenn nun der zuvor heruntergeladene Treiber “PL2303_Prolific_DriverInstaller_v1.14.0_20160802.exe” aus dem Archiv “PL2303_Prolific_DriverInstaller_v1_14_0” installiert wird, sollte das Board im Gerätemanager erkannt werden.
PL2303-Treiberg-new
Gerätemanager
In diesem Fall wurde das Board dem COM-Port 3 zugewiesen. Sollte der zugewiesen COM-Port höher als 9 sein muss dieser wie hier beschreiben geändert werden. Dies ist nötig, da in der Software nur Ports von 1 bis 9 gewählt werden können.

Bei Windows 10 kann es zu Problemen mit den von Windows automatisch installierten Treibern kommen.

Bei 64-Bit Systemen:

  1. Laden Sie die “PL2303_64bit_ Installer.exe” herunter und speichern Sie sie, indem Sie hier klicken.
  2. Trennen Sie alle USB-To-Serial-Adapter von Ihrem Computer – und doppelklicken Sie auf “PL2303_64bit_Installer.exe”.
  3. Wenn Sie dazu aufgefordert werden, schließen Sie Ihrer USB-To-Serial-Adapter an und klicken Sie auf “Weiter”.
  4. Starten Sie Ihren Computer neu. Das war’s!

Bei 32-Bit Systemen:

  1. Laden Sie die “PL-2303_Driver_ Installer.exe” herunter und speichern Sie sie, indem Sie hier klicken.
  2. Führen Sie das Installationsprogramm aus. Wenn Sie aufgefordert werden den aktuellen Treiber zu entfernen bestätigen Sie dies.
  3. Führen Sie dann das Installationsprogramm erneut aus, um den richtigen Treiber zu installieren.

Nach der Installation des Treibers kann der Chipsatz mittels des Testtools: “checkChipVersion_v1006.exe” überprüft werden. (Eventuell als Administrator ausführen) Hierfür muss der im Geräte-Manager hinterlegte Port gewählt werden.

Chip-Tester

Im nächsten schnitt wird die Great Cow BASIC-IDE installiert.

Die heruntergeladene Datei: “GCB_Installer-95.exe” starten und den Anweisungen folgen. Eine Installation unter “GCB@Syn” im Laufwerk C wird empfohlen. Nun muss noch die Programmiersoftware für den K150 in der Great Cow IDE installiert werden. Dafür müssen die Dateien des PIC_Programmer_Software.zip in das Verzeichnis: “C:\GCB@Syn\K150” koppiert werden.

K150-Software

Unter “microbrn.exe” kann diese gestartet und zum Flashen genutzt werden. Wichtig ist, das unter “File -> Port” der korrekte Port aus dem Gerätemanager hinterlegt wird und unter “File Programmer” der “K150” ausgewählt ist.

K150 Board connected

Bei erfolgreicher Konfiguration erscheint die Ausgabe: “K150 board connected”.

Als letzter Schritt muss die Programmiersoftware noch in der IDE hinterlegt werden. Dies geschieht in der Datei: “flashPIC.bat”, welche Sie unter: “C:\GCB@Syn\G+Stools\flashPIC.bat” finden. Die Datei muss in einem Editor geöffnet und wie folgt editiert werden:

@echo off
echo *** flashPIC.bat ***
echo.
REM Version 0.95.007 - Added chip checking for PicKit2
REM This batchfile is called from G+Stool.exe if an PIC-chipmodel is detected and
REM no "FlashThis.bat" is present in the sourcefile-folder.
REM You can adapt this file to your needs.
REM %1 is replaced with the hexfile in double quotes i.e. "C:\My Folder\nice file.hex"
REM %2 is replaced with the chipmodel i.e. 16F688
REM G+Stool.exe always makes the GCB@Syn root-folder the current folder.

REM Call MicroBrn K150 programming software:
"K150\microbrn.exe" %1 %2 /f /Q 2


REM Creating "G+Stools\FlashError.txt" makes G+Stool to leave the message-window open:
if not errorlevel 1 goto END

 echo ERROR running: %0 with parameters %1 %2 %3 %4 %5 %6 %7 %8 %9 >"G+Stools\FlashError.txt"
 echo ERROR running: %0 with parameters %1 %2 %3 %4 %5 %6 %7 %8 %9
:END

Wichtig ist dabei, dass der Befehl “REM” Zeilen auskommentiert und die Zeile:

"K150\microbrn.exe" %1 %2 /f /Q 2

einkommentier ist. Die 2 am ende der Zeile muss an den jeweiligen Port aus dem Gerätemanager angepasst werden. (2 = COM2)

Hello World eine LED Blinkt:

Als Beispielprogramm welches in die IDE kopiert und über “Hex Flash” auf den Mikrocontroller übertragen werden kann. In diesem Beispiel wird ein “PIC16F8777A” mit einer LEd am PORTD verwendet.

‘   FILE:    PIC_16F877a_LED_Test.gcb
‘   DATE:    01/08/14
‘   VERSION: 0.1a
‘   AUTHOR:  Anobium, based on the work of Andrew Davies dated 26/07/14’  This test program will flash the LEDs connected to port D on the development board.
‘  It was written using the Great Cow Basic (GCB) complier. Install GCB – you are recommended to use
‘  GCB@SYN from the Great Cow Basic website.’    This code is free software; you can redistribute it and/or
‘    modify it under the terms of the GNU Lesser General Public
‘    License as published by the Free Software Foundation; either
‘    version 2.1 of the License, or (at your option) any later version.’    This code is distributed in the hope that it will be useful,
‘    but WITHOUT ANY WARRANTY; without even the implied warranty of
‘    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
‘    Lesser General Public License for more details.’    If you require a copy of the GNU Lesser General Public
‘    License along with this code; please write to the Free Software
‘    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
‘Chip settings
#chip 16F877a, 4    ‘ Select the chip and the chip speed
#config Osc = XT    ‘ Select the external oscillator

dir portd out         ‘ Set all PORTD ports as outputs

do forever            ‘ Loop for ever

PORTD=0xFF      ‘Turn off LED’s on port D
wait 125 ms       ‘wait

PORTD=0x00      ‘ Turn on LED’s on port D
wait 125 ms       ‘wait
loop

Warning: Trying to access array offset on value of type null in /home/customer/www/42project.net/public_html/wp-content/plugins/wp-related-items-pro/wri-pro.php on line 381

Warning: Trying to access array offset on value of type null in /home/customer/www/42project.net/public_html/wp-content/plugins/wp-related-items-pro/wri-pro.php on line 381