Nybörjarhjälp till pickit 2 sökes
Re: Nybörjarhjälp till pickit 2 sökes
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.
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.
Re: Nybörjarhjälp till pickit 2 sökes
Vill man förstå grunderna kan man ladda ner The video
http://web.cecs.pdx.edu/~harry/Relay/Vi ... index.html
http://web.cecs.pdx.edu/~harry/Relay/Vi ... index.html
Re: Nybörjarhjälp till pickit 2 sökes
Tack för informationen
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

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
Re: Nybörjarhjälp till pickit 2 sökes
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.
Re: Nybörjarhjälp till pickit 2 sökes
> 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" ?
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" ?
Re: Nybörjarhjälp till pickit 2 sökes
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.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.
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."
Re: Nybörjarhjälp till pickit 2 sökes
Precis som det står!
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!

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!
Re: Nybörjarhjälp till pickit 2 sökes
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.
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.
Re: Nybörjarhjälp till pickit 2 sökes
Nu har man fastnat igen
Men nu är det faktiskt bara en bokstav som förvirrar mig.
Under "OndelayLoop" så står det följande:
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å?

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.
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
Re: Nybörjarhjälp till pickit 2 sökes
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.
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.
Re: Nybörjarhjälp till pickit 2 sökes
Vart finns det?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.

Re: Nybörjarhjälp till pickit 2 sökes
Finns i PICens manual, annars finns den som separat nedladdning:
http://ww1.microchip.com/downloads/en/D ... 31029a.pdf
http://ww1.microchip.com/downloads/en/D ... 31029a.pdf
Re: Nybörjarhjälp till pickit 2 sökes
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
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

Re: Nybörjarhjälp till pickit 2 sökes
> 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 !!*
"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'
Re: Nybörjarhjälp till pickit 2 sökes
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.
Och
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 
Kod: Markera allt
W EQU H'0000'
F EQU H'0001'
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.
