Nybörjarhjälp till pickit 2 sökes

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
sodjan
EF Sponsor
Inlägg: 43231
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Nybörjarhjälp till pickit 2 sökes

Inlägg av sodjan »

Det är inte allt i den som är vettigt. Notera att den är ganska gammal.
T.ex kapitel som det om USART tar bara upp den gammla modellen,
AUSART och EUSART saknas. Samma sak med moderna INTOSC o.s.v.
Men med hänsyn till det, så har den ju mer kring själva användadet
utöver den rent tekniska beskrivningen i datablanden, men man får
använda dom tillsammans.

Dock tror jag att några av de första med generella kapitlen (om
arkitekturen generellt o.s.v.) är OK, även kap 29 som har bättre
exempel för varje instruktion.
BMI
Gått bort
Inlägg: 496
Blev medlem: 31 juli 2006, 22:29:08
Ort: Halmstad

Re: Nybörjarhjälp till pickit 2 sökes

Inlägg av BMI »

Vill man förstå grunderna kan man ladda ner The video
http://web.cecs.pdx.edu/~harry/Relay/Vi ... index.html
Crille93
Inlägg: 96
Blev medlem: 2 maj 2009, 19:40:12

Re: Nybörjarhjälp till pickit 2 sökes

Inlägg av Crille93 »

Tack för informationen :D
Nu har jag läst och så och tänkte ge mig på "lektion 1" igen som följde med pickit 2 och kände att det har släppt lite nu när jag kollar men däremot så förstår jag inte en bit i koden "#include <p16F690.inc>
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF &
_MCLRE_OFF & _CP_OFF & _BOD_OFF & _IESO_OFF & _FCMEN_OFF)".
Kan någon berätta vad allt detta betyder?

Här är hela koden
; PICkit 2 Lesson 1 - 'Hello World'
;
#include <p16F690.inc>
__config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF &
_MCLRE_OFF & _CP_OFF & _BOD_OFF & _IESO_OFF & _FCMEN_OFF)
org 0
Start
BSF STATUS,RP0 ;select Register Page 1
BCF TRISC,0 ;make I/O Pin C0 an output
BCF STATUS,RP0 ;back to Register Page 0
BSF PORTC,0 ;turn on LED C0
GOTO $ ;wait here
end
Användarvisningsbild
AndersG
EF Sponsor
Inlägg: 9045
Blev medlem: 25 februari 2008, 17:10:58
Ort: Mariehamn
Kontakt:

Re: Nybörjarhjälp till pickit 2 sökes

Inlägg av AndersG »

Menar du _config biten? Den bestämmer vissa parametrar för processorn. Tex hur den klockas. Om Watchdogtimer används etc. Om du kollar i direkthjälpen i MPASM/MPLAB så finns förklaringarna där.
sodjan
EF Sponsor
Inlägg: 43231
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Nybörjarhjälp till pickit 2 sökes

Inlägg av sodjan »

> Kan någon berätta vad allt detta betyder?

Nej, det vore fullständigt galet att göra det här i forumet !

Det är mycket bättre om *du* talar om vilken del av dokumentationen som var oklar eller otydlig.
Allt står i dokumentationen och det vore ju helgalet att börja beskriva saker här bara därför
att du inte har läst dokumentationen. Sen så kan det mycket väl (och sannolikt) vara en hel
del i dokumentationen som kan vara svårt att förstå, men det är en helt annan sak, och det
tar vi när du har talat om vad det gäller.

Att bara fråga rakt ut vad "include" och "__config" är för något är fel metod.

Sen så bör du kolla lite på code-taggarna för att posta kod så att den blir läsbar.
Hur tyckte du själv att det såg ut när du klickade på "Förhandsgranska" ?
Crille93
Inlägg: 96
Blev medlem: 2 maj 2009, 19:40:12

Re: Nybörjarhjälp till pickit 2 sökes

Inlägg av Crille93 »

AndersG skrev:Menar du _config biten? Den bestämmer vissa parametrar för processorn. Tex hur den klockas. Om Watchdogtimer används etc. Om du kollar i direkthjälpen i MPASM/MPLAB så finns förklaringarna där.
Tack! Jag misstänkte att det hade något med det att göra men förstod inte helt när jag läste förklaringen i lektion 1.

sodjan:
Jag är ledsen över att jag var otydlig men det var just _config biten vad den gör.


Sedan så undrar jag vad som "#include <p16F690.inc>" gör? Är det att den kollar upp vad det finns för funktioner på en PIC vid namn p16F690? För i förklaringen så står det:

"Brings in an include file defining all the Special Function
Registers available on the PIC16F690. Also, it defines valid
memory areas. These definitions match the names used in the
device data sheet."
Användarvisningsbild
vfr
EF Sponsor
Inlägg: 3515
Blev medlem: 31 mars 2005, 17:55:45
Ort: Kungsbacka

Re: Nybörjarhjälp till pickit 2 sökes

Inlägg av vfr »

Precis som det står! :D

Den definierar de interna resurserna på den PIC:en. Minnesareor, registernamn, adresser mm. Det är den viktigaste inkluderingsfilen alla kategorier. Ta en titt i den så ser du hur det är uppbyggt!
sodjan
EF Sponsor
Inlägg: 43231
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Nybörjarhjälp till pickit 2 sökes

Inlägg av sodjan »

Ungefär, men "kollar upp" kanske inte är rätt beskrivning.

Notera att man (rent tekniskt) skulle kunna göra allt det som p16F690.inc själv i sin egen kod,
men Microchip har fixat dessa filer för att spara jobb åt dig.

Har du tittat i p16F690.inc ? Om inte, gör det bums ! Då ser du att det inte är något hokus-pokus alls...

> Jag är ledsen över att jag var otydlig men det var just _config biten vad den gör.

Använd dels sista biten i INC filen och motsvarande del av databladet så brukar
det ge sig vad det hela handlar om. Har du inte kollat i INC filen innan så är detta
en utmärkt anledning att göra det.
Crille93
Inlägg: 96
Blev medlem: 2 maj 2009, 19:40:12

Re: Nybörjarhjälp till pickit 2 sökes

Inlägg av Crille93 »

Nu har man fastnat igen :roll:
Men nu är det faktiskt bara en bokstav som förvirrar mig.
Under "OndelayLoop" så står det följande:

Kod: Markera allt

     decfsz    Delay1,f            ; Waste time.  
Och jag kan inte komma på vad "f" i "Delay1,f" betyder? Jag har fått fram till att det är en siffra eller är jag helt ute och cyklar? Och om det är en siffra, vilken siffra är det då?

Kod: Markera allt

#include <p16F690.inc>
    __config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)

    cblock 0x20
Delay1                   ; Define two file registers for the
Delay2                   ; delay loop
     endc
      
     org 0
Start:
     bsf       STATUS,RP0          ; select Register Page 1
     bcf       TRISC,3             ; make IO Pin B.0 an output
     bcf       STATUS,RP0          ; back to Register Page 0
MainLoop:
     bsf       PORTC,3             ; turn on LED C0
OndelayLoop:
     decfsz    Delay1,f            ; Waste time.  
     goto      OndelayLoop         ; The Inner loop takes 3 instructions per loop * 256 loopss = 768 instructions
     decfsz    Delay2,f            ; The outer loop takes and additional 3 instructions per lap * 256 loops
     goto      OndelayLoop         ; (768+3) * 256 = 197376 instructions / 1M instructions per second = 0.197 sec.
                                   ; call it a two-tenths of a second.
      
     bcf       PORTC,3             ; Turn off LED C0
OffDelayLoop:
     decfsz    Delay1,f            ; same delay as above
     goto      OffDelayLoop
     decfsz    Delay2,f
     goto      OffDelayLoop
     goto      MainLoop            ; Do it again...
     end
Användarvisningsbild
AndersG
EF Sponsor
Inlägg: 9045
Blev medlem: 25 februari 2008, 17:10:58
Ort: Mariehamn
Kontakt:

Re: Nybörjarhjälp till pickit 2 sökes

Inlägg av AndersG »

Har du kollat på PIC "Instruction Set"?? Typ:

MOVF Move f
Syntax: [ label ] MOVF f,d
Operands: 0 ≤ f ≤ 127
d ∈ [0,1]
Operation: (f) → (destination)
Status Affected: Z
Description: The contents of register ‘f’ are
moved to a destination dependant
upon the status of ‘d’. If d = 0,
destination is W register. If d = 1,
the destination is file register ‘f’
itself. d = 1 is useful to test a file
register, since status flag Z is
affected.
Crille93
Inlägg: 96
Blev medlem: 2 maj 2009, 19:40:12

Re: Nybörjarhjälp till pickit 2 sökes

Inlägg av Crille93 »

AndersG skrev:Har du kollat på PIC "Instruction Set"?? Typ:

MOVF Move f
Syntax: [ label ] MOVF f,d
Operands: 0 ≤ f ≤ 127
d ∈ [0,1]
Operation: (f) → (destination)
Status Affected: Z
Description: The contents of register ‘f’ are
moved to a destination dependant
upon the status of ‘d’. If d = 0,
destination is W register. If d = 1,
the destination is file register ‘f’
itself. d = 1 is useful to test a file
register, since status flag Z is
affected.
Vart finns det? :roll:
Användarvisningsbild
AndersG
EF Sponsor
Inlägg: 9045
Blev medlem: 25 februari 2008, 17:10:58
Ort: Mariehamn
Kontakt:

Re: Nybörjarhjälp till pickit 2 sökes

Inlägg av AndersG »

Finns i PICens manual, annars finns den som separat nedladdning:

http://ww1.microchip.com/downloads/en/D ... 31029a.pdf
Crille93
Inlägg: 96
Blev medlem: 2 maj 2009, 19:40:12

Re: Nybörjarhjälp till pickit 2 sökes

Inlägg av Crille93 »

Tack.
Får kolla på det du skrev förut och se om jag förstår vad "f" betyder imorgon för nu så fungerar inte hjärnan :mrgreen:
sodjan
EF Sponsor
Inlägg: 43231
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Nybörjarhjälp till pickit 2 sökes

Inlägg av sodjan »

> Och jag kan inte komma på vad "f" i "Delay1,f" betyder?

"f" är en symbol och den definieras tillsammans med en massa andra symboler i p16F690.inc.
*TITTA I DEN !!*

Kod: Markera allt

W                            EQU     H'0000'
F                            EQU     H'0001' 
Crille93
Inlägg: 96
Blev medlem: 2 maj 2009, 19:40:12

Re: Nybörjarhjälp till pickit 2 sökes

Inlägg av Crille93 »

Nu har jag försökt förstå detta i 3 dagar eller nått men jag förstår fortfarande inte vad "f" betyder i koden. Skulle någon kunna sammanfatta vad det betyder och inte ge mig koder som gav mig fler frågor än svar så skulle det vara super! För att dessa förklaringar förstod jag ingenting av.

Kod: Markera allt

W                            EQU     H'0000'
F                            EQU     H'0001' 
Och

Kod: Markera allt

MOVF Move f
Syntax: [ label ] MOVF f,d
Operands: 0 ≤ f ≤ 127
d ∈ [0,1]
Operation: (f) → (destination)
Status Affected: Z
Description: The contents of register ‘f’ are
moved to a destination dependant
upon the status of ‘d’. If d = 0,
destination is W register. If d = 1,
the destination is file register ‘f’
itself. d = 1 is useful to test a file
register, since status flag Z is
affected.
Till AndersG och sodjan: Jag hoppas att jag inte låter oförskämd när jag tog upp era förklaringar men när jag såg era förklaringar så kom det upp fler frågor än svar :roll:
Skriv svar