18F2480?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
warrior
Inlägg: 50
Blev medlem: 22 februari 2007, 12:36:58
Ort: Borås

18F2480?

Inlägg av warrior »

Undrar om nån kan hjälpa mig med databladet för 18F2480?
Finns det inget STATUS register som innehåller carry som i 16f84 .

Ligger verkligen PortB på 0x81 och TrisB på 0x93.

Om någon är bra på detta får ni gärna förklara!

Tack på förhand
John
Användarvisningsbild
lgrfbs
Inlägg: 7320
Blev medlem: 28 januari 2005, 15:48:53
Ort: X-län
Kontakt:

Inlägg av lgrfbs »

sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Undrar om nån kan hjälpa mig med databladet för 18F2480?

Hjälpa hur då ? Att hitta det ?

> Finns det inget STATUS register som innehåller carry som i 16f84 .

Sidan 88.

> Ligger verkligen PortB på 0x81 och TrisB på 0x93.

Nej.

> Om någon är bra på detta får ni gärna förklara!

Självklart!
Men förklara vadå? Vad är problemet ?
warrior
Inlägg: 50
Blev medlem: 22 februari 2007, 12:36:58
Ort: Borås

Inlägg av warrior »

Jag känner inte igen mig i memory map!
Hur hittar jag Portarnas adresser och deras trisar?

Vad läser jag bäst om direkt adressering?

/john
Användarvisningsbild
Icecap
Inlägg: 26659
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Du hittar dom vid att ange PORTB och TRISB, var de ligger exakt "ska du skita i" för att vara lite brutal. om du programmerar och måste ange dessa adressor i nummervärde gör du fel!
warrior
Inlägg: 50
Blev medlem: 22 februari 2007, 12:36:58
Ort: Borås

Inlägg av warrior »

Jag skriver i asm.
Behöver jag inte deklarera var portarna och dess styrregister (Tris) finns.


Och när jag ändå frågar hör detta till C eller Asm.


list p=18f2480
#include <p18f2480.inc>


;Variables
CBLOCK 0x000
WREG_TEMP
STATUS_TEMP
BSR_TEMP
rehnmaak
Inlägg: 2204
Blev medlem: 13 december 2005, 01:43:41

Inlägg av rehnmaak »

Nu ska vi vara snälla :helgon:


Det ser ut som att TRISB ligger på 0xF93 och PORTB ligger på 0xF81. (se sid 71)

Men som Icecap skrev så är det bättre att inkludera någon lämplig .h fil eller liknande där dessa register är definerade redan så slipper man fundera.
warrior
Inlägg: 50
Blev medlem: 22 februari 2007, 12:36:58
Ort: Borås

Inlägg av warrior »

Om jag har fattat detta riktigt så står väl varje bokstav för en bank.
Men börjar bankerna på F eller finns det nån mer register map.

Funkar h filer i asm. Hur skriver man exakt?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Jag känner inte igen mig i memory map!

Från vadå ? Vad menar du med "känner igen" ??

> Hur hittar jag Portarnas adresser och deras trisar?

Databladet, minnesmappen i kapitel 5.3 "Data Memory Organization"

> Vad läser jag bäst om direkt adressering?

Kapitel 5.4 "Data Addressing Modes".

> Behöver jag inte deklarera var portarna och dess styrregister (Tris) finns.

Självklart inte.

> Om jag har fattat detta riktigt så står väl varje bokstav för en bank.

Vilken "bokstav" ?

> Men börjar bankerna på F eller finns det nån mer register map.

Sidorna 67 och framåt har alla detaljer.

> Funkar h filer i asm.

Naturligtsvis inte !

Du får nog vara lite mer konkret. Vad är det igentligen som ör oklart ?
rehnmaak
Inlägg: 2204
Blev medlem: 13 december 2005, 01:43:41

Inlägg av rehnmaak »

P18F2480.inc inkluderar du i ditt assemblerprogram.

Som det står på sid 67 så är MOVFF den enda instruktionen som adresserar hela 12-bit adressen. Annars måste man köra med indirekt adressering... Som sagt allt finns att läsa i databladet.
Skriv svar