PICKit2 lektion nr 1

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Plutonium
Inlägg: 60
Blev medlem: 24 februari 2005, 00:04:14
Ort: Essunga station
Kontakt:

PICKit2 lektion nr 1

Inlägg av Plutonium »

Hej.

Har nu suttit ett par kväll och funderat vilket språk jag skall använda till min PICKit2, och har bestämt mig för att nyttja assembler.

Allt detta är hibreiska för mig dessvärre, men ger mig inte i första stund. Dock skulle jag behöver lite hjälp för att komma igång.

Jag tar det ifrån början. Förklara gärna i all enkelhet vad bsf, bcf, movlw och movwf står för?

Vi börjar med detta sålänge.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> vilket språk jag skall använda till min PICKit2,

Först, du använder inget språk alls *till* en PICKit2.
Det språk du använder, används för att skriva applikationer
till en PIC processor. PICKit2 ser bara till att det kommer över
till din processor, den bryr sig inte (och vet inte) vilket språk som
koden var skriven i.

> Förklara gärna i all enkelhet vad bsf, bcf, movlw och movwf står för?

Finns ju absolut ingen som helst anledning att förklara det *HÄR*.
Det finns utmärkta beskrivningar av alla instruktioner, dels
i varje datablad, dels i den (i mitt tycke) lite bättre Reference Manual.

T.ex för Midrange (d.v.s PIC16 serien) :
http://ww1.microchip.com/downloads/en/D ... 31029a.pdf

Det finns förövrigt en del annat nyttigt i hela Midrange manualen:
http://ww1.microchip.com/downloads/en/D ... 33023a.pdf
speciellt "intro" delarna i början, section 1-6 och 9. Det övriga
är mindre viktigt (i början). Notera dock att Ref manualen inte riktigt
har hängt med de allra senaste PIC modellerna, så kolla gärna mot
databladet också till den processor som du tänker använda.

> Vi börjar med detta sålänge.

Vilka "vi" ? :-)
Det är du som ska börja...
MiSTer
Inlägg: 725
Blev medlem: 26 juli 2007, 03:55:18
Ort: Skene
Kontakt:

Inlägg av MiSTer »

1:a Träffen på Google, "Pic assembler pdf" http://www.covingtoninnovations.com/nop ... em2004.pdf

Verkar bra...
Sodjan kommer säkert in och förklarar vidare... eller visar vart det finns dom här... vad är det nu de heter? Dat... hmm... "Datablad" eller liknande :wink:

EDIT: Damnt it! Han är snabber han... :D
eAk
Inlägg: 74
Blev medlem: 10 september 2008, 22:50:23
Ort: Kungälv

Inlägg av eAk »

jo
bsf står för bit set file.

bsf register,bit ;så vitt jag mins var ett tag sedan jag gick över till C istället. Detta kommandot är din nya bästa vän typ för att ställa inställningar också vidare.
vilket betyder att du ställer en bit till 1
ex om du har ett register som heter inställningar och du vill sätta den 4:e biten till 1 för att aktivera en inställning så gör du

bsf inställningar,4

bcf
är samma fast det är bit clear file så du ställer en bit i ett register till 0

movlw använder du när du vill mata W registret med ett värde som du vill ha in i ett filregister ex om du har en variabel i ram defenierad
så kan du
movlw 13'D' ;är inte hundra på att det är såhär man skriver ett decimalt tal men har för mig jag mins rätt att D ska vara inom kolon kolla hjälpen i mplab så ser du.

sedan använder du movwf för att flytta vad du har lagrat i W till fil registret i detta fallet någon variabel du defenierat i ram.

hoppas du förstår något av det jag skrivit. jag är lite ringrostig på pic asm dessutom.

MVH
Senast redigerad av eAk 10 september 2008, 23:20:45, redigerad totalt 1 gång.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

eAk,

Jag tror att jag kan PIC assembler hyggligt, men jag har ändå lite svårt
att hänga med i det du skriver. Det är mycket möjligt att även du
kan PIC assembler, men du har mycket att träna på att skriva
tydligt och lättläst.

Stor bokstav, interpunktur o.s.v kanske känns lite tråkigt för
"SMS-generationen", men resultatet ser ut som *SKIT* och det är
fullständigt bortkastat att försöka förklara något med något som
knappt går att läsa...

PDF'en i MiSTers inlägg ser ju ganska OK ut, men den är nästan 10
år gammal. Tyvärr är det så med mycket info på nätet, och det är
inte alltid lika tydligt som i detta fall där det står på första sidan.
Men, annars så såg den ganska OK ut.
eAk
Inlägg: 74
Blev medlem: 10 september 2008, 22:50:23
Ort: Kungälv

Inlägg av eAk »

sodjan. det blev som vanligt jag skrev bara på utan att lägga energi på utseendet. och klicka bara skicka utan att kolla hur det såg ut.
när jag läser det själv efteråt kan jag knäppt tyda det själv.

Hoppas det blev bättre nu.
Plutonium
Inlägg: 60
Blev medlem: 24 februari 2005, 00:04:14
Ort: Essunga station
Kontakt:

Inlägg av Plutonium »

Tack för ert svar.

Men att hänvisa mig till en massa olika datablad funkar inte för mig då jag inte har någon som helst praktisk uppfattning om den teoretiska funktionen än.


Hur skriver jag till i koden nedan för att få följande funktion. Det sitter en brytare på pickit2 exprementkortet, och jag vill att om man använder den skall man kunna sätta på och stänga om LED.

Kod: Markera allt

#include <p16F690.inc>
     __config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)
     org 0
Start:
     bsf     STATUS,RP0       ; select Register Page 1
     bcf     TRISC,0          ; make IO Pin C0 an output
     bcf     STATUS,RP0       ; back to Register Page 0
     bsf     PORTC,0          ; turn on LED C0 (DS1)
     goto    $                ; wait here
     end
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Tack för ert svar.

För all del !

Vad är problemet med koden du visade ?
Är det din kod ? Och är allt helt klart över hur den fungerar ?
Vill du att den ska ändras ? Det är ju bara att sätta igång och testa.
Men först måste du förstå koden så som du postade den, om du inte
förstår den, så är det ju inte lätt att ändra den heller. Om du har
några frågor kring den, så fråga på bara!

*MEN*, fråga inte "vad gör BCF" en gång till, det finns som sagt
tydligt beskrivet redan...

Du kan knappast räkna med att få de övergripande svaren här, de
får du "läsa in" på annat sätt. Men om det är några *detaljer* som
är oklara, så fråga på bara.

> ...då jag inte har någon som helst praktisk uppfattning om den teoretiska funktionen än.

Det är det som databladen är till för...
eAk
Inlägg: 74
Blev medlem: 10 september 2008, 22:50:23
Ort: Kungälv

Inlägg av eAk »

Jag har faktiskt aldrig använt en knapp.
men skulle jag göra ett sådant program skulle jag göra en loop som kollar om benet är satt till 1/0 och sätta benet till dioden till 1/0 beroende på resultatet.
när jag började med sådanthär hittade jag en jätte bra nybörjar tutorial.
ska försöka hitta den länken åt dig.
eAk
Inlägg: 74
Blev medlem: 10 september 2008, 22:50:23
Ort: Kungälv

Inlägg av eAk »

http://www.mstracey.btinternet.co.uk/pi ... icmain.htm
där har du länken.
det är inte samma processor men läser du igenom databledet sammtidigt som du går igenom lektionerna så kommer du hitta vad du behöver göra annorlunda i din prosessor mot vad som är gjort i lektionen.
Det handlar mest om att ändra till en annan bank och välja andra io portar.
och anpassa efter schemat på hur din pickit 2 demo board är kopplad.
Plutonium
Inlägg: 60
Blev medlem: 24 februari 2005, 00:04:14
Ort: Essunga station
Kontakt:

Inlägg av Plutonium »

Det är inget problem med koden i helhet. Den fungerar och LED lyser som den skall göra.
Nej det är inte min kod, utan är tagen från den första lektionen som medföljde PICKit2 packetet.

Jag har bildat en hjälplig uppfattning vad koden utför.
Svar Jesus Adam, jag vill ändra denna kod så att jag kan sätta på och stänga av LED med hjälp av störmbrytaren.


"Om du har några frågor kring den, så fråga på bara!"
Hur kommer det sig att inte LED nr 2 vill tändas om jag lägger till denna rad?

Kod: Markera allt

     bcf     TRISC,1          ; make IO Pin C0 an output
     bsf     PORTC,1          ; turn on LED C1 (DS2)
eAk
Inlägg: 74
Blev medlem: 10 september 2008, 22:50:23
Ort: Kungälv

Inlägg av eAk »

led 2 är kopplad på port trisc,1
så där väljer du att trisc,1 är en output
och
ställa portc,1 till 1 gör att dioden tänds.
jag ska koppla in min demoboardo ch göra ettl itet program till dig kan vara kul såhär på kvällen.
ska bara installera mplab på denna datorn först och grejjer.
Plutonium
Inlägg: 60
Blev medlem: 24 februari 2005, 00:04:14
Ort: Essunga station
Kontakt:

Inlägg av Plutonium »

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

Inlägg av sodjan »

Denna rad ? Det är två rader...

De raderna är OK, men det beror på var du har lagt till dom.
Visa hela koden !
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> http://www.mstracey.btinternet.co.uk/pi ... icmain.htm

Snyggt uppställt och designat, men han har gjort en dundertabbe som
gör att all kod ser ut som skit och lär ut dåliga programmeringsvanor.
Han har inte gjort include på device-filen...
Skriv svar