Sida 2 av 5

Postat: 1 november 2006, 21:33:59
av vfr
TRIS-registerna talar om om portpinnarna är ingångar eller utgångar. Instruktionen "MOVWF TRISA" flyttar helt enkelt innehållet i W-registret till TRISA. Har du då rätt värde i W från början så kan du få t.ex RA4 till input. Det beror helt enkelt på vad du laddat i W-registret i instruktionerna före.

Postat: 2 november 2006, 10:21:30
av squiz3r
ok.. Tack!

jag får läsa vidare. intr för att jag fattar mycket... men när man har läst igenom allt typ tre gånger kan man nog något... :)

Postat: 2 november 2006, 14:09:07
av squiz3r
hej, igen

en idiotisk fråga till bara:

är följande programspråk C eller vad är det??


_____________________________________________


include f628_4i
include jlib

var volatile byte CMCON at 0x1F = 0x07 -- disable port a analog functions

var bit LED is pin_a0
pin_a0_direction = output

forever loop
delay_100ms( 5 )
LED = high
delay_100ms( 5 )
LED = low
end loop

Postat: 2 november 2006, 14:12:55
av Icecap
Ser ut som det avskyvärda språket BASIC.

Mitt råd: ge dig inte in på BASIC om du vill lära dig att programmera, det är en återvändsgränd.

Postat: 2 november 2006, 14:22:25
av squiz3r
basic har jag redan programerat med i många år (basic stamp) men tanken va ju att sluta med det...

det jag tycker är konstigt bara är:

för att programera en pic12f628 i basic behöver man väl en basic tolk?

jag hittade exemplet på: http://www.voti.nl/blink/index.html
och där framgår inte att man skulle ha en basic tolk??? :roll:

Postat: 2 november 2006, 14:25:38
av vfr
Då är det säkert "jal". Ett eget språk som han själv konstruerat, efter vad jag har förstått.

Postat: 2 november 2006, 14:53:55
av Icecap
Ja, det kan ju då vara JAL (Just Another Language). Börja inte med det heller, det är ett mycket specifikt PIC-språk.

Om du MÅSTE börja med annat än Assembler kan jag rekommendera MikroC som är gratis men har en kodbegränsning som, i nuläget, vida överskrider ditt behov.

Men jag vill fortfarande rekommendera MPLAB från Microchip, det ger den bästa start i min mening, sedan kan man avancera uppåt när man väl 'kan' PIC.

Postat: 2 november 2006, 15:10:01
av squiz3r
vad är lättast att börja med mikroC eller assembler?
jag har läst ca 50sider i produkt bladet o kolat på miljontals andra ställen o suttit time efter time o läst om assembler, nu börjar jag förstå nåt men det är väldigt lite... (jag kan fortfarande så lite så att jag tycker att det är fullkomligt ologiskt...)

men hur funkar det när man programerar en pic i annat än assembler? måste man inte ha en "tolk" då? eller kan en pic fler språk? som tex "JAL"?

Postat: 2 november 2006, 16:02:01
av Icecap
En PIC kan inga språk!

Den kan däremot utföra de instruktioner som man lägger i minnet på de. De instruktioner kan man skapa med assembler, C, JAL, Pascal, Basic eller annat språk efter önska använder en kompiler, dessa kompilers "omvandlar" det man skriver till assembler och kör det sedan genom en assembler som då gör den slutgiltiga koden som man kan programmera in i PIC'en.

Så när programkoden väl ligger som en HEX-fil har PIC'en ingen aning om vem eller vad som har genererat dessa instruktioner, den utför dom bara.

Mitt råd är att traska på i assembler-spåret, jag tycker att inlärningströskeln är lägst där om man vill förstå vad som händer. Senare kan du kliva "uppåt" i språk men det finns en inlärningströskel där också, alltså ska du klara av 2 steg om du går direkt på ett högnivåspråk, med assembler är det bara 1 steg nu.

Postat: 2 november 2006, 16:25:38
av squiz3r
ok tack för svaret!!

då fortsätter jag med assembler :D

vet du om man kan hitta några lätta prog. exempel nånstans samt komando lista där det står vad alla komandon betyder?

(då menar jag riktigt lätta progexempel där det står steg för steg vad som "händer")

Tack i gen (på förhand) :)

Postat: 2 november 2006, 16:42:39
av Icecap
Kommandons betydelse: Kolla databladet! Det står alltid i dom.

Lätta programexemplen kan lätt finnas på Microchips sida, där finns många AN (Application Notes = "hur gör man"), en del är mycket komplicerat, andra är oerhört enkla.

Har för mig att de har en tutorial också

Postat: 2 november 2006, 17:48:12
av idiotdea
Första träffen http://www.mstracey.btinternet.co.uk/pi ... icmain.htm på google med "pic tutorial" tyckte jag var ganska bra när jag började med PIC (några månader sedan). Den förklarar ganska bra om assembler, hur man programmerar en PIC, och även hur man kopplar den för enkla test.

Å andra sidan kunde jag delvis assembler redan när jag började med PIC, och det underlättade nog en hel del. När man väl har lärt sig grunderna blir databladen mycket lättare att förstå sig på, och samtidigt även mycket mer användbara.

Postat: 2 november 2006, 19:22:48
av squiz3r
tack för länken!! :D den är JÄTTE bra!

bara två frågor angående programet nedan...

fråga 1: om "labeln" start ska stå först i programet, kan den då stå på samma rad som (i detta fallet) "wovlw"?

fråga 2: efter som det inte fins nån "pause" funktion i detta prog.et borde det ju blinka en gång värje millisekund?



_______________________________________________________

Kod: Markera allt

 
                         bsf                 03h,5
                         movlw              00h
                         movwf              85h
                         bcf                 03h,5
  Start                  movlw              02h
                         movwf              05h
                         movlw              00h
                         movwf              05h
                         goto               Start

edit: en fråga till kan man "räkna" om HEX tal till Binära tal???

Postat: 2 november 2006, 19:26:05
av Icecap
En label får en adress när assemblern kommer till den. Den ska stå före en instruktion, mellan dom, ha en kommentar efter eller vad du vill.

Jag brukar ofta göra någonting såhär:

Hex2Dec ; Här omvandlas en Hex sträng till ett tal
...
...
...
osv

Då ser man vad som händer. Är det bara ett "internt" label i en rutin är det sällan jag kommenterar det på så vis.

Postat: 2 november 2006, 19:30:36
av danei
"edit: en fråga till kan man "räkna" om HEX tal till Binära tal???"

Ja det är däsför amn använder HEX. en siffra HEX motsvara fyra binära.

Kod: Markera allt

1    0001
2    0010
3    0011
4    0100
5    0101
6    0110
7    0111
8    1000
9    1001
A    1010
B    1011
C    1100
D    1101
E    1110
F    1111