Kod för att sätta flera samtidigt
Kod för att sätta flera samtidigt
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!
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!
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
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.
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.
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.
> 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...
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...
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
Du hittar dessutom en hyffsat bra intro på min manual-site.
http://www.ebaman.com/gallery.php?actio ... ge_id=1127
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

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
> 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...
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...
