Programmering av PIC i MPLAB

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
xenonfire
Inlägg: 144
Blev medlem: 4 april 2004, 14:12:42
Ort: Skaraborg

Programmering av PIC i MPLAB

Inlägg av xenonfire »

Tjenare.

Måste man alltid skriva in detta tillsammans med sitt program i Source ( *.asm) ?
*************************************************************
list p=16F84 ; list directive to define processor
#include <p16F84.inc> ; processor specific variable definitions

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _RC_OSC


ORG 0x000 ; processor reset vector
goto main ; go to beginning of program


ORG 0x004 ; interrupt vector location

*************************************************************
Användarvisningsbild
marcla
Inlägg: 311
Blev medlem: 19 juli 2006, 11:36:38
Ort: Gislaved

Inlägg av marcla »

ja... det beror på...
Du kan hoppa över "#include <p16F84.inc>" men då måste du deklarera i programmet var alla register finns ex. "PORTC EQU 13h"

Själv börjar jag mitt program direkt efter "ORG 0x000" utan "goto main" och utan "ORG 0x004" men jag kanske gör fel men det funkar i alla fall...
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Vadå "tillsamans" med sitt program !?
Det där *är* (en del av) ditt program.

Vad är problemet ?

Vad skulle kunna göra är att försöka undvika att skriva
någonting med "F84" i alls... :-)

Pesonligen skulle jag dessutom köra relocatable så inga
ORG alls (utan CODE block istället), men det är en lite annan sak.

Och hoppa absolut *inte* över #include av device filen...
Användarvisningsbild
squiz3r
Inlägg: 5424
Blev medlem: 5 september 2006, 20:06:22
Ort: Lund
Kontakt:

Inlägg av squiz3r »

>Själv börjar jag mitt program direkt efter "ORG 0x000" utan "goto main" och utan "ORG 0x004" men jag kanske gör fel men det funkar i alla fall...
Då kan man ju inte använda interruppts, men om man inte gör det kan det väll fungera.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Exakt, om alla interrupt alltid är avstängda, så kan det naturligtsvis
ligga annan kod där. Men om man har en generell kod-mall så spelar
det inte heller någon större roll om man undantar några minnesplatser
för en eventuell ISR, bara för att slippa ha flera kodmallar...
Skriv svar