Forum: Mikrocontroller und Digitale Elektronik PIC16F84A Programmierung


von Hans (Gast)


Lesenswert?

Hallo Gemeinde!
Ich bin, ich muss es zugeben, ein absoluter Neuling in Sachen PICs. Habe 
mir das Picstart Plus Set von Microchip zugelegt, um PICs programmieren 
zu können.

Jetzt habe ich den Source Code für eine Blinkschaltung (wehe, hier lacht 
jemand... :-)) erhalten, komme aber damit nicht so ganz klar.

Der Sourcecode liegt als .src Datei vor, ich möchte ihn in MPLAB laden, 
dann zum HEX-Code wandeln und in den Chip übertragen.

Der Programmierer meinte, so, wie er den Code geschrieben habe, würde 
man heute nicht mehr programmieren.

Beispiel:

  DEVICE  PIC16C84,XT_OSC,WDT_OFF,PROTECT_OFF

  mov  !RA,#11101111b
  mov  !RB,#00000000b
  mov  RA,#00000000b
  mov  RB,#00000000b
help1  equ  20h
x  equ  21h
count   equ  22h
ein     equ  23h
help2  equ  24h
help3  equ  25h
  clr  help1
  clr  help2
  clr  help3
  clr  x
  clr  count
  clr  ein
  snb  RA.3
  setb  help3.0
  clrb  RA.4
  mov  RB,#11111111b
  setb  RA.4
  clr  RB

start
  jb  help3.0,go
start1  jnb     RA.3,start1
  clr  count
plus    inc     count      ;Bestimmung der High-Länge
  jb      RA.3,plus               ;Bestimmung der High-Länge
  cjb     count,#4,start          ;High kleiner x : jmp zu start

go  mov  x,RA
  clrb  x.3
  clrb  x.4
  cje  x,#0,pro00
  cje  x,#1,pro01
  cje  x,#2,pro02
  cje  x,#3,pro03
  cje  x,#4,pro04
  cje  x,#5,pro05
  cje  x,#6,pro06
  cje  x,#7,pro07

pro00  nop  ;Flash mit 1 mal Nachblitzen "111"
  call  HH
  call  p50
  call  LL
  call  p100
  call  HH
  call  p1
  call  LL
;  call  p250
  call  p100
  call  p50
  jmp  start


und so weiter.

Nun meine Frage: Ist das tatsächlich ein SourceCode, den MPLAB nicht 
verarbeiten kann oder stelle ich mich nur zu blöd an, das Programm zu 
bedienen?

Wenn veraltet (was ich aufgrund der Endung .src vermute, da MPLAB ja 
.asm-Dateien will), kriegt man das umgewandelt? Gibt es kluge Programme, 
die sowas können? Oder gibt es für den PicStart Plus Programmer ein 
Programm, das mit dem alten SourceCode noch umgehen kann?

Über jede Hilfe freut sich

Hans

von Ralf Hochhausen (Gast)


Lesenswert?

Hallo,

die Datei, die Du da hast ist im Prinzip eine Assembler Datei, nur 
scheint sie nicht mit MPLAB geschrieben zu sein, da ein PIC16F84 diese 
Befehle nicht nutzt. Für den Befehl "mov" in deiner Datei verwendet er 
z.B. "movlw" (bewege Konstante ins w-Register) oder "movwf" (bewege 
w-Register ins RAM) usw.. Du mußt also die Befehle deines Sourcecodes an 
die anpassen, die MPLAB versteht. Dazu lädst Du dir am besten das 
Datenblatt bei www.microchip.com runter (ist leider in Englisch aber da 
muß man halt durch), dort ist eine Befehlstabelle enthalten und zudem 
auch jeder Befehl genau im Detail beschrieben. Weiterhin ist zu Zeit in 
der EAM Zeitung ein Einsteigerkurs mit Beispielcode, ist jedoch 
mittlerweile recht fortgeschritten und Du müsstest also Hefte 
nachbestellen (teuer). Als Tip für den Einstieg kann ich Dir die Seite 
www.sprut.de empfehlen, dort sind auch Einsteigerbeispiele enthalten als 
so eine Art Einsteigerkurs. Man kann sich dort die .asm Dateien und 
sogar den .hex Code runterladen und gleich loslegen. Es ist auch ein 
Lauflicht dabei (so fängt wohl jeder mal an!), ist bei mir auch schon 
gelaufen.
Achso, habe mir mal ein Buch über PICs beim Elektor gekauft, da wurde 
ein Assembler von Paralax verwendet, dort wurden glaube ich solche 
Befehle wie in deinem Sourcecode verwendet. Vielleicht wurde das 
Prohramm ja für diesen Assembler geschrieben??? (Das Buch ist nicht zu 
empfehlen!).

Soviel von mir

Gruß,

Ralf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.