Mina lysdioder vill inte lysa

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
sebbe
Inlägg: 120
Blev medlem: 11 februari 2004, 18:18:47

Mina lysdioder vill inte lysa

Inlägg av sebbe »

Hej!

jo det är så jag jag fick hem en wisp628 för några dagar sen mycket nöjd över den jag ladda ner det färdigt blink projekt som va skrivet i assambler eller nåt och då fick jag min pic16f628 att blinka då tänkte jag bra då funkar allt men sen när jag försökte programmere så samma "lampa" lyser i pbp så funkar ingenting
jag gjorde så här :
Kopplade som de har gjort här Bild

och skrev den här kod snutten

Kod: Markera allt

High PORTA.0 =1
         End
men det händer ingenting kan nån hjälpa mig komma igång så jag kan få en lysdiod att funka (fan jag måsta va sämst =/)

Sebbe
(jag skriver konstigt så om du inte fattar nåt försök förstå =))
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Du har ju valt en pullup-lösning, då måste du sätta PORTA.0 = 0 eftersom du måste jorda för att den ska lysa.
Nu var det ett tag sedan jag körde PIC, men kanske måste du sätta något register för att köra pullup. Någon annan vet kanske bättre?

Dessutom är ju inte MCLR draget annat än till kontakten, och hur den är kopplad vet inte jag, men den måste vara i om du ska få processorn att fungera.

Mvh
speakman
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Standard är att man sätter en 10-47K mellan MCLR och VCC om man har ICP-möjlighet.

Jag antar att du har vald intern oscillator.

Och, som speakman påpekar: med detta schema ska du skriva ut en nolla för att slå på den.

Men med det program du har givit kan inget blinka, inget växlas ju men du kanske menar stt den ska tända?

Du har såklart kommit ihåg att sätta TRISA till xxxxxxx0 också?
sebbe
Inlägg: 120
Blev medlem: 11 februari 2004, 18:18:47

Inlägg av sebbe »

jag har testat sätta en motstånd på 47kohm mellan mclr och +5
och så gjorde jag en kod som såg ut så här

Kod: Markera allt

 CMCON = 7
TRISA.0 = 0

Loop: PORTA.0 = 0
      Pause 500
      PORTA.0 = 1
      Pause 500
      
      GoTo Loop
      

      End
      
men det funka inte heller =( det ända som händer är att när jag drar ut programeraren och stänger av mitt labagg så börjar lampan jag vill att lysa i 1-2 sekunder skit skumt

sebbe
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Men vänta lite......är det A/D-omvandlare på den kretsen? I så fall ska du stänga av den först om du använder den porten....

Nåväl, funkar det så gör det, jag undrar bara en sak: är omröraren (Wisp) kopplat in när du kör? Har du testat att den är bortkopplat?
sebbe
Inlägg: 120
Blev medlem: 11 februari 2004, 18:18:47

Inlägg av sebbe »

mm jag har testat dragit ur den ur datorn
men jag testade med lite jal kod och då funka det bra så jag vet inte

sebbe
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Nu menade jag om vispen var kopplat till PIC'en ju....

Men den jal kod (vad det nu är) fungerar alltså, då måste det vara din kod som kanske inte initialiserar rätt t.ex.

Är det vald rätt oscillator?
Ar porten i rätt läge?
Är A/D avstängd och porten gjort digital? (om det nu finns A/D inbyggd)
osv.
sebbe
Inlägg: 120
Blev medlem: 11 februari 2004, 18:18:47

Inlägg av sebbe »

wispen är kopplad som på bilden ovan och sen in i programmeraren
sen om jag ska vara ärlig vet jag inte om allt det där är rätt inställt hur kollar man det då?

och jal är nåt språk killen som uppfan wispen har kommit på
http://www.voti.nl/jal/index.html

sebbe
Användarvisningsbild
Icecap
Inlägg: 26647
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Inställningar framgår av koden, med initialisera menar man oftast att mjukvara brukar följa vissa grundläggande steg:
1: Upprätta pekare och värden (vid behov)
2: Ställ CPU's hårdvara rätt enligt behov.
3: Ställa in portar till rätt värde, in/ut osv.
4: Ställ evt. parametra i ett utgångsläge
5: Kör "det riktiga" programmet. (blinka i detta fall)

Om den kod du la in tidigare i tråden är allt verkar du ha missat steg 2, steg 1 & 4 är inte riktigt viktiga i detta läge utom ifall att du måste specificera ett kristallvärde för att få 'Pause' att fungera rätt.

Om du t.ex. kör 4MHz och jal tror att du kör 20MHz för att du inte har specificerat annat kommer cyklustiden ju att vara 0,5 *(20/4) = 2,5 sek om nu tiden för 'Pause' anges i ms.
melki
Inlägg: 37
Blev medlem: 30 april 2005, 18:59:52
Ort: Linköping

Inlägg av melki »

Jag är nybörjare på PIC och den här sidan har hjälpt mig: http://amqrp.org/elmer160/lessons/

Jag använder också Xwisp och den kan vara ansluten både till datorn och PIC628 när du exekverar koden.

Lycka till!
Melki
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Hej !
Kul att Wisp628'an fungerar OK ! (Wisp = geting, och inget annat...)

Sen dina problem...

Finns det inga 16F628 exempel i PBP distibutionen ?
Jag har själv aldrig kört PBP, så jag vet inte...
Mitt personliga tips är att ge f-n i allt vad Basic, C o.s.v heter tillsvidare. Kör ASM tills du "kan" PIC processorerna. Då hade du
knappast försökt med det Basic program som du visade först här... :-)

Det är en hel del som saknas i din första kod för att det skall fungera,
de flesta kommentarerna hittills är väll i stort OK, men...

> "Nu var det ett tag sedan jag körde PIC, men kanske måste du sätta något register för att köra pullup."

Inget speciellt, förruom att porten måste vara *utgång*, så klart.

Angående alla kommenterar kring WISP628'an, så kan den vara ansluten.
Den sätter MCLR hög efter en lyckat programmering och sätter alla
andra I/O high-Z. Den är konstruerad för att vara ansluten hela tiden.

> "Jag antar att du har vald intern oscillator."

Omöjligt att säga, eftersom koden helt saknar CONFIG (eller vad det heter i PBP) statement.


> "är det A/D-omvandlare på den kretsen?"

Nej, det är två analoga komparatorer. De måste stängas av (via CMCON).

> "Jag är nybörjare på PIC och den här sidan har hjälpt mig: http://amqrp.org/elmer160/lessons/ "

He he, dessa sidor (som har mycket snygg design och så) använder (MOT ALLT FÖRSTÅND) 16F84 !! D.v.s att man genom att läsa dom lär sig en del saker som är helt fel på moderna/aktuella PIC. Det är ganska lätt som nybörjade att "fastna" för den processor som man lärde sig på.

Det är ju himla tråkigt att de, när de ändå har lagt mer så mycket jobb, inte kunde ha valt en vettig processor ! 16F628 borde vara absolut minimum...
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Kloka kommentarer sodjan, jag gjorde nästan samma misstag när jag började med pic ist för 8051-derivat som jag kört förr. Men lika bra att inse att man MÅSTE läsa databladet noggrannt för den uP man tänkt använda och som jag nyligen återupptäckte - det går fan inte föra tidskritiska saker med högnivåspråk då man inte med säkerhet vet hur många klockcykler olika saker tar och att NOPá den assamblerade koden ifrån hågnivåkompilatorn för att få koden tidsäkta... nä, lika bra att återgå till assambelern igen även om det är jobbigt, tar tid och är stökigt. Man saknar färdiga moduler för vissa saker - retar mig lite att man måste uppfinna ALLT själv igen - försökt ladda ner och ta koden för något i veckan nu - men tar lägre tid att lista ut karln som skrev koden har tänkt än att uppfinnna hjulet själv igen och skriva koden. Kunde inte microchip bjuda på ett bra bibliotek med några grundläggande rutniner - väl kommenterade så att man kan spara lite tid iaf? Visst visst, nu börjar jag ha egna rutiner för det mesta som är träligt att skriva, men mått finnas 20" andra som gjort samma sak tidigare och i slutändan fått samma bilbliotek som jag själv har....

i 8051 världen uplevde jag att det fanns mer väldokumenterade rutiner som snälla människor lagt upp för allmännt bruk, men kanske bara jag som inte hittat rätt pic-forum?
melki
Inlägg: 37
Blev medlem: 30 april 2005, 18:59:52
Ort: Linköping

Inlägg av melki »

Sodjan, jag har tittat på den här sidan också som använder 628 an: http://www.winpicprog.co.uk/pic_tutorial.htm

Har du fler tips på tutorials?

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

Inlägg av sodjan »

Om man vill köra PIC assembler riktigt seriöst, så kan man kolla in den utvecklingsmiljö som Olin Lathrop (killen som skrev programvaran till den "LED-snurra" som jag skrev om i en annan tråd) har ställt samman (och vänligen gjort helt öppen).

Jag har själv "satt upp" det tillsammans med UltraEdit32 (UE) och Wisp628 som programmerare. Jäkigt snyggt, med "Build-n-Flash" direkt från menyn inne i UE.

Olin's miljö innehåller en mängd macron och en pre-processor som tar hand om saker som :

- Banking. Lägger bara till bcf/bsf om det behövs, alltså optimerat.
- "Long jumps and calls"
- baud-rate uträkning.
- definiera "flagor", d.v.s "1-bitars variabler".
- definition av in och ut kanaler med automatisk hantering av TRISx.
- Macron för FIFO buffert.
- mm, mm.

Jag vill inte säga att det är enkelt (mycket DOS-pulande) att installera, men en kraftfull assembler miljö är det !

Allt kan laddas ner här : http://www.embedinc.com/pic/

Jag har sammanställt en PDF version av det som finns på EmbedInc sidorna som kan hittas här : http://www.jescab.se/embedinc.htm. (Inte helt aktuellt, bl.a saknas all dsPIC info som Olin har lagt till nyligen...)

Som sagt, för den *seriöse* PIC assembler programmeraren... :-)
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> "Har du fler tips på tutorials? "

Tyvärr...
Skriv svar