Kod för att sätta flera samtidigt

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Stene
Inlägg: 276
Blev medlem: 13 maj 2008, 19:21:52
Ort: Uppsala

Kod för att sätta flera samtidigt

Inlägg av Stene »

Hej! Sitter o försöker lära mig att programera. Sitter med pickit2 o försöker att få dioderna att blinka som jag vill. Jag försöker att få flera dioder att ländas samtidigt men han verkar strunta i att jag skriver bsf flera gånger efter varand. jag skriver givitvis fel o nu har jag suttit många timmar o försökt klura ut hur jag ska skriva för att pic:en ska tända flera dioder samtidigt .

bsf portc,0
bsf portc,1
bsf portc,2

så skriver jag men den tänder bara portc,2 då. Hur skriver jag?

Mycket tacksam för svar!
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 47013
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Inlägg av TomasL »

Vilken processor?

Enklast är väl:
movlw 0x07
movw PORTC


Typ.
Nu är jag inte så hemma i MPLAB asm, så syntaxen kanske ser lite annorlunda ut i verkligheten.

Beroende på processor, kan man också råka ut för Read Before Modify problemet, googla på detta.

edit: var för snabb
Senast redigerad av TomasL 31 oktober 2008, 19:38:12, redigerad totalt 1 gång.
Stene
Inlägg: 276
Blev medlem: 13 maj 2008, 19:21:52
Ort: Uppsala

Inlägg av Stene »

ursäkta!! glömde att skriva det. det är en 16f690.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 47013
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Inlägg av TomasL »

som sagt, jag var för snabb med "skicka"
Användarvisningsbild
korp
Inlägg: 1216
Blev medlem: 30 maj 2006, 02:21:18
Ort: Strömstad

Inlägg av korp »

Du har satt samtliga tre pinnar som output, och stängt av de analoga funktionerna med "clrf ANSEL"? Posta din kod med initiering och allt så får vi se på den.
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 7487
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Inlägg av Marta »

Du har väl ine anslutit LED's direkt till utgångarna utan seriemotstånd?

Dra inte mera än sådan 15mA från varje utgång, annars blir det imesta laget. Sammanlagd ström bör inte bli mera än absolut max 200mA ungefär.

Kopplar Du dem direkt så kommer dels kretsen och Dina LED's attbli överbelastade, men det kommer även att bli det fenomen Du ser nu p.g.a. det som redan skrivits om RMW-instruktioner.

För att se om detta är problemet så byt ordning på tändandet och se om det då blir den som efter ändringen hamnat sist som lyser. I så fall är det ett RMW-problem.

Hur som helst, ordna motstånd om där inte redan finns sådana.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> Mycket tacksam för svar!

Visst... :-)

Läs först nedanstående och försök igen :

http://elektronikforumet.com/forum/viewtopic.php?t=6057

PS: Jag är 99% säker på att du inte har stängt av de analoga funktionera...
Stene
Inlägg: 276
Blev medlem: 13 maj 2008, 19:21:52
Ort: Uppsala

Inlägg av Stene »

Hej! Japp ni hade rätt! Jag läste på om ansel och skrev in det i koden o det började fungera som jag ville. jag viste inte att den funktionen fans. TACK för hjälpen. Ska försöka få tag i någon bok så jag slipper fråga om struntsaker.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 47013
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Inlägg av TomasL »

RTFM är en mycket bra början, det står allt i den.
Du hittar dessutom en hyffsat bra intro på min manual-site.

http://www.ebaman.com/gallery.php?actio ... ge_id=1127
Användarvisningsbild
korp
Inlägg: 1216
Blev medlem: 30 maj 2006, 02:21:18
Ort: Strömstad

Inlägg av korp »

Stene, alla gör vi slarvfel ibland :)
Kolla runt lite i denna forumdel. Det en hel del bra rekommendationer beträffande online-tutorials och böcker. Lite exempel, tutorials och i allra högsta grad databladet är obligatorisk läsning när det gäller pic-programmering (och digitalteknik öht.) annars kör man fast på struntdetaljer direkt i allt man gör.

Mikroelektronikas bok / onlinebok

Några tutorials;
http://www.amqrp.org/elmer160/lessons/index.html
http://www.gooligum.com.au/tut_baseline.html
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> jag viste inte att den funktionen fans.

Det är väldigt tydligt angivet i kapitlet "I/O PORTS" i databladet.
Svårt att missa, om man inte slarvar. Å andra sidan så är nog detta
det vanligaste nybörjarfelet, och beror nästan alltid på att man slarvar,
har för bråttom och tror att man inte behöver läsa på.

> Ska försöka få tag i någon bok så jag slipper fråga om struntsaker.

För struntsakar räcker databladet gott... :-)
Skriv svar