Programmeringstips PIC
Programmeringstips PIC
Jag är nybörjare på PIC och tänkte göra mig ett program för första gången.....
Kolla i denna tråd vad jag har tänkt å göra:
http://www.elektronikforumet.com/forum/ ... =4&t=39909
Har nu köpt mig ett PICKIT2 och undrar om nån kan ge mig lite programmeringsförslag
jag ska använda 3 ingångar och 1 utgång som ska generera pulser beroende på dom olika ingångarna
ska nu prova med dom olika lektionerna som följer med PIKIT2
Kolla i denna tråd vad jag har tänkt å göra:
http://www.elektronikforumet.com/forum/ ... =4&t=39909
Har nu köpt mig ett PICKIT2 och undrar om nån kan ge mig lite programmeringsförslag
jag ska använda 3 ingångar och 1 utgång som ska generera pulser beroende på dom olika ingångarna
ska nu prova med dom olika lektionerna som följer med PIKIT2
Re: Programmeringstips PIC
Jahaja, då är det väl bara att köra igång.
När du har någon konkret fråga så tar vi den då.
> jag ska använda 3 ingångar och 1 utgång som ska generera pulser beroende på dom olika ingångarna
Hur då ? Det kan ju se ut på tusentals olika sätt...
När du har någon konkret fråga så tar vi den då.
> jag ska använda 3 ingångar och 1 utgång som ska generera pulser beroende på dom olika ingångarna
Hur då ? Det kan ju se ut på tusentals olika sätt...
Re: Programmeringstips PIC
Har nu labbat med pickit2 och testat dom medföljande testprogrammen, skulle behöva lite tips på hur jag enklast får ut pulser
Vill få ut 13 olika frekvenser mellan 1,88hz och 13hz (ev 18,8hz-130hz) beroende på vad ingång 1-3 har för status.
Vad ska jag lägga energin på, PWM eller Timer ?
Vad är enklast för mig som nybörjare ?
Vill få ut 13 olika frekvenser mellan 1,88hz och 13hz (ev 18,8hz-130hz) beroende på vad ingång 1-3 har för status.
Vad ska jag lägga energin på, PWM eller Timer ?
Vad är enklast för mig som nybörjare ?
Re: Programmeringstips PIC
> frekvenser mellan 1,88hz och 13hz
Alltså 1,88 Hz och 13 Hz ?
Det är ju väldigt låga frekvsenser, jag tror att du får problem
med PWM modulen. Vad har du för övrigt för krav på dessa
signaler när det gäller jitter o.s.v. ?
Utan att veta mer än vad du har sagt så är det nog enklast att
sätta upp em timer, räkna ut 13 olika timer värden och sen bara
polla de 3 ingångarna och ändra timer värde beoende på
ingångarna. Utgången/utsignalen fixar du i timer interruptet.
Alltså 1,88 Hz och 13 Hz ?
Det är ju väldigt låga frekvsenser, jag tror att du får problem
med PWM modulen. Vad har du för övrigt för krav på dessa
signaler när det gäller jitter o.s.v. ?
Utan att veta mer än vad du har sagt så är det nog enklast att
sätta upp em timer, räkna ut 13 olika timer värden och sen bara
polla de 3 ingångarna och ändra timer värde beoende på
ingångarna. Utgången/utsignalen fixar du i timer interruptet.
Re: Programmeringstips PIC
Jo frekvensen är låg, det ska bli 7 st fasta lägen, tänkte nog fel tidigare (1,88 - 3,75 - 5,63 - 7,5 - 9,38 - 11,25 - 13,13 Hz)
jag kan visserligen gångra med 10 eller annat värde men det ska bli en puls till en energilogger så det är inte våldsamt exakt och jag vet ej vilken maxfrekvens den kan räkna, vill bara kunna logga dom olika stegen.
Timer funktionen verkar ju bli den smartaste lösningen, ska labba på detta
jag kan visserligen gångra med 10 eller annat värde men det ska bli en puls till en energilogger så det är inte våldsamt exakt och jag vet ej vilken maxfrekvens den kan räkna, vill bara kunna logga dom olika stegen.
Timer funktionen verkar ju bli den smartaste lösningen, ska labba på detta
Re: Programmeringstips PIC
Du stället altså timern till have periodtiden och "togglar" utgången vid varje interrupt.
Om du t.ex ska ha 13,13 Hz så blir det en periodtid på ca 76 ms. Ställ timern så
att den ger ett interrupt varje 38 ms. En annan sak som du inte har angivit är
med vilken noggranhet tiderna/frekvenserna ska genereras. Handlar det bara
om "inom några procent" eller mycket noggrannare än så ?
Om du t.ex ska ha 13,13 Hz så blir det en periodtid på ca 76 ms. Ställ timern så
att den ger ett interrupt varje 38 ms. En annan sak som du inte har angivit är
med vilken noggranhet tiderna/frekvenserna ska genereras. Handlar det bara
om "inom några procent" eller mycket noggrannare än så ?
Re: Programmeringstips PIC
Noggrannheten är inte viktig, några procent är helt ok.
Jag har nu beställt boken Mikrocontrollers för att få lite mer uppfattning om struktur m.m,
eftersom jag inte programmerat sen 80-talet då vi fick en abc 80 till eltelelinjen med basic...
Jag har nu beställt boken Mikrocontrollers för att få lite mer uppfattning om struktur m.m,
eftersom jag inte programmerat sen 80-talet då vi fick en abc 80 till eltelelinjen med basic...
Re: Programmeringstips PIC
He he, jag gick fjärde året på el-tele 4-årigt i Norrköping när
våran lärare stolt rullade in skolans första ABC80 i klassrummet...
Sen har jag i och för sig i princip programmerat konstant sedan dess...
Förrutom en bok så kan du även kolla på det intro material som
microchip har. Det beror lite på vilken nivå du vill att det ska ligga på.
våran lärare stolt rullade in skolans första ABC80 i klassrummet...

Sen har jag i och för sig i princip programmerat konstant sedan dess...
Förrutom en bok så kan du även kolla på det intro material som
microchip har. Det beror lite på vilken nivå du vill att det ska ligga på.
-
- Inlägg: 8
- Blev medlem: 31 januari 2010, 19:37:52
Re: Programmeringstips PIC
Håller med sodjan om timer-alternativet.
Men timers och interrupts kan vara lite trixigt.
Ett annat alternativ som kan vara lite enklare om man är nyböjare är att helt enkelt skriva fördröjningsloopar.
Det blir sju fördröjningsloopar. Varje loop har halva fördröjningstiden (precis som sodjans förslag)
Om 000 lyser börja om
Om 001 lyser kör loop1
Om 010 lyser kör loop2
Om 011 lyser kör loop3
Om 100 lyser kör loop4
Om 101 lyser kör loop5
Om 110 lyser kör loop6
Om 111 lyser kör loop7
Toggla utsignalen.
Börja om från början.
Men timers och interrupts kan vara lite trixigt.
Ett annat alternativ som kan vara lite enklare om man är nyböjare är att helt enkelt skriva fördröjningsloopar.
Det blir sju fördröjningsloopar. Varje loop har halva fördröjningstiden (precis som sodjans förslag)
Om 000 lyser börja om
Om 001 lyser kör loop1
Om 010 lyser kör loop2
Om 011 lyser kör loop3
Om 100 lyser kör loop4
Om 101 lyser kör loop5
Om 110 lyser kör loop6
Om 111 lyser kör loop7
Toggla utsignalen.
Börja om från början.
Re: Programmeringstips PIC
Jo det var knappt så man fick röra ABC80:n i början....
jag gjorde ett program för att beräkna lindningen på transformatorer och sen den dan så var jag lärarnas favorit
Har kollat på microchip:s sida lite och återkommer när jag fått boken och testat lite mer.
Låter intressant med fördröjning, (så är väl exemplet till pickit2 för att blinka dioden)
då toleransen inte är så noggrann utan det är för att kunna logga olika effektstegen ihop med en värmepump
jag gjorde ett program för att beräkna lindningen på transformatorer och sen den dan så var jag lärarnas favorit

Har kollat på microchip:s sida lite och återkommer när jag fått boken och testat lite mer.
Låter intressant med fördröjning, (så är väl exemplet till pickit2 för att blinka dioden)
då toleransen inte är så noggrann utan det är för att kunna logga olika effektstegen ihop med en värmepump
Re: Programmeringstips PIC
> Men timers och interrupts kan vara lite trixigt.
Nja, ett par bitar att sätta och sedan rullar det på av sig själv...
En annan sak (som saknas i förutsättningarna) som kan påverka det
hela är hur snabbt utsignalen behöver ändras när de tre in-pinnarna
får ett nytt värde. Räcker det med att vänta tills en hel period av
den aktuella frekvensen har gått klart ? I så fall räcker det ju med att
kolla pinnarna och sedan köra en period av aktuell signal (med
programvaru-fördröjning under tiden). Sedan kolla pinnarna igen o.s.v...
Nja, ett par bitar att sätta och sedan rullar det på av sig själv...

En annan sak (som saknas i förutsättningarna) som kan påverka det
hela är hur snabbt utsignalen behöver ändras när de tre in-pinnarna
får ett nytt värde. Räcker det med att vänta tills en hel period av
den aktuella frekvensen har gått klart ? I så fall räcker det ju med att
kolla pinnarna och sedan köra en period av aktuell signal (med
programvaru-fördröjning under tiden). Sedan kolla pinnarna igen o.s.v...
-
- Inlägg: 8
- Blev medlem: 31 januari 2010, 19:37:52
Re: Programmeringstips PIC
PIC Microcontroller Compiled Tips 'n Tricks Guide
http://ww1.microchip.com/downloads/en/D ... 01146B.pdf
Rekommenderad läsning.
Funkar inte länken så klicka dig in på microchips hemsida och hitta en 8-bitars kontroller.
Nästan längst ner i listan med PDFer så finns den.
http://ww1.microchip.com/downloads/en/D ... 01146B.pdf
Rekommenderad läsning.
Funkar inte länken så klicka dig in på microchips hemsida och hitta en 8-bitars kontroller.
Nästan längst ner i listan med PDFer så finns den.