pic dimmer?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
korp
Inlägg: 1216
Blev medlem: 30 maj 2006, 02:21:18
Ort: Strömstad

Inlägg av korp »

Basmicke, jag vet att det kan vara enerverande att behöva läsa på en massa för att förstå- och lösa till synes enkla, problem. Jag har varit i samma sits som du för inte så länge sedan.

Det är verkligen ett måste att läsa- och förstå datablad när man börjar med microcontrollers. Och för att förstå databladen underlättar det extremt om man går igenom några bra tutorials. Inte skummar igenom, utan verkligen läser igenom det mesta.

Några bra tutorials att börja med;
http://www.amqrp.org/elmer160/lessons/index.html
http://www.hobbyprojects.com/microcontr ... rials.html
http://web.tampabay.rr.com/hazer/

Därefter kommer du att förstå mycket- om inte det mesta som står i databladet. Det kommer ge svar på många grundläggande frågor, och göra det lättare för dig att ställa konkreta frågor på de problem du stöter på.
basmicke
Inlägg: 63
Blev medlem: 11 juli 2007, 15:25:04
Ort: Munkfors

Inlägg av basmicke »

ok ska kolla igenom dem och göra uppgifterna eller vad det är.
Jag försöker läsa igenom databladen men fattar inte en del ord som de använder som är lite väl avancerade för mig..
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Så om jag skulle välja värdet 100 på alla är det fel då?

Jag vet inte vad "alla" syftar på...

> Ok men en "räkanre" är alltså en variabel?

I detta fall, ja.

> hur ska man skriva då för att få en "räknare"?

Det enda som gör den till en räknare är hur du *använder* den.
Annars är det inget speciellt med just den variabeln (registret).
Du allokerar den och använder den precis som vilken annan variabler
som helst, det är bara hur du använder den som gör den till en "räknare".

Eller med andra ord så är den bara en "räknare" inne i huvudet på dig,
om man säger så, för PIC'en är det ingen skillnad...

> Jag försöker läsa igenom databladen men fattar inte en del ord som de använder som är lite väl avancerade för mig..

Jamen för hel---vete, det är *DOM* orden du ska fråga om !!!
Exakt *vad* är det som ör oklart ?
basmicke
Inlägg: 63
Blev medlem: 11 juli 2007, 15:25:04
Ort: Munkfors

Inlägg av basmicke »

>Jag vet inte vad "alla" syftar på...
Det jag menade med "alla" det var alltså:
pr2 h'100',
CCPR1 d'100',
tmr1 d'100',
tmr2 h'100
t2con h'100'.
basmicke
Inlägg: 63
Blev medlem: 11 juli 2007, 15:25:04
Ort: Munkfors

Inlägg av basmicke »

Ok men om jag skulle fråga om alla orden så skulle jag nog behöva hela manualen i "dummie" format.. hehe.
Men jag ska kolla på uppgifterna som jag fick, började att kolla på den lite nu men är för trött för att läga ner mig på den men den verkar bra och kommer säkert reda ut en hel den problem som jag har.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Det jag menade med "alla" det var alltså:
> [en massa register...]

OK, då är svaret nej. Alla de ska *inte* sättas till 100 !

> Ok men om jag skulle fråga om alla orden...

Du måste väl inte ta *alla* orden på en gång... :-)
Ge några exempel så får vi en känsla för "nivån" på
dina problem med databladen.
basmicke
Inlägg: 63
Blev medlem: 11 juli 2007, 15:25:04
Ort: Munkfors

Inlägg av basmicke »

In Timer mode, the TMR0 will increment
every instruction cycle (without prescaler). If Timer0 is
written, the increment is inhibited for the following two
cycles.
Här är ett typiskt exempel.
Fattar inte vad increment betyder.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Aha, OK. Då är problemen mycket större än vad jag trodde...
Det är alltså inte de specifikt *tekniska* termerna som är problemet,
utan helt "vanlig" engelska. Skaffa ett eng-sve lexikon som du kan
slå upp i. Eller kolla något av online lexikonen t.ex :
http://lexin.nada.kth.se/sve-eng.html
basmicke
Inlägg: 63
Blev medlem: 11 juli 2007, 15:25:04
Ort: Munkfors

Inlägg av basmicke »

har gjort lesson 1-5 nu å j*vlar va det har klarnat hur saker och ting är uppbyggda så om man ska ha en räknare som räknar ner från t.ex 40 till noll så kan man väll skriva

Kod: Markera allt

movlw H'40' ;sätter 40 i spot 1.
movwf Count1;
; och för att räkna ner till noll
loop
DECFSZ Count1,F
goto loop
Eller har jag skrivit fel?
är lite osäker på Count1,F, är inte hundra på vad F är där
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Inlägg av Micke_s »

finns två alternativ på F, ena är F och andra är W.
W = flytta resultatet till w-register efter operationen
F = flytta till samma register efter operationen
basmicke
Inlägg: 63
Blev medlem: 11 juli 2007, 15:25:04
Ort: Munkfors

Inlägg av basmicke »

Ok då har jag fattat det också, tackar, tackar...
basmicke
Inlägg: 63
Blev medlem: 11 juli 2007, 15:25:04
Ort: Munkfors

Inlägg av basmicke »

Om jag har fattat instuktionerna rätt då kan inte en pic läsa värdet 100 eller är jag helt ute och cycklar?

Sen kommer jag inte ihåg om jag skrev att jag bara ville att dem skulle dimmra ut eller om jag skrev att dem skulle dimmra in och ut men, om ni har hjälpt mig med och bara få dem att dimmra ut så kanske det är en massa krångel som har gjorts i onödan för att få dem att dimmra in och ut.
Man kanske måste börja om från början eller om det ens går och få det att dimmra in och ut?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Läsa och läsa, vad menar du med det ? :-)

Ett register i en PIC (som ju är en 8-bitars MPU) kan ha värderna
0 - 255 (decimalt, 0 - FF hexadecimalt). Sedan kan man naturligtsvis
själv välja att betrakta *två* register som ett 16-bitars värde med värden
mellan 0 - 65535 o.s.v. Man får dock själv sköta om "minnessiffran"
och "lånesiffran" när man räknar med 16-bitars tal. Inget konstigt,
ren rutin...

Notera sedan att det som vi hittils har diskuterad med räknare för
att köra PWM moduleringen, enbart handlar om att få en LED (t.ex)
att få en viss ljusstyrka. D.v.s själva "PWM-motorn".

Själv "dimningen" (d.v.s då LED'en mjukt ändrar ljusstyrka) är något annat.
Det ligger "ovanför" eller "utanför" PWM-motorn. D.v.s den logik som långsamt
justerar de värden som PWM-motorn använder för att bestämma ljusstyrkan
på varje LED-utgång. Hur den logiken ska se ut, beror väldigt mycket på
*hur* ljusstyrkan ska ändras. Värderna kanske kommer som kommandon
via serie-interfacet, styrs av någon logik eller kanske styrs via tabeller som
man har lagt in i processorn och som stegas igenom med ett lämpligt intervall.
basmicke
Inlägg: 63
Blev medlem: 11 juli 2007, 15:25:04
Ort: Munkfors

Inlägg av basmicke »

Jag vet inte riktigt, du förklarade det ganska bra, så dä kan man alltså.
Men nu kommer nog en fråga som ni verkligen kommer idiot förklara mig och undra varför jag börjar med något så svårt. Men nu har jag förvarnat er så här kommer frågan.
Skulle man kunna få en genomgång hur en pwm fungerar?
Alltså vad är det som den gör?
In pulse whith manupalation, är det att den "läser" av frekvensen och manipulerar den?
Vad ccpr1l gör har jag inte fattat?
Har fattat som så om en pwm är att pr2 och tmr2 jämförs och sedan jämför ccpr1h(slave) med tmr, och , men vad som händer sen fattar jag inte.
Det kanske är med i någon av "lektionerna" men har inte hunnit läsa något mer än.
basmicke
Inlägg: 63
Blev medlem: 11 juli 2007, 15:25:04
Ort: Munkfors

Inlägg av basmicke »

Så som jag har tänkt att den ska fungera är att man slår på strömen och då ska grupp 1( i det här fallet led 1, ska seriekoppla ca 5-6 st senare)
sakta dimmra in och och när den har dimmrat in ska grupp2 (led2) börja dimmra in samtidigt som grupp 1 dimmrar ut osv. Ända till grupp 6.
Skriv svar