PIC LED blinker, hjälp med koden...

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
Användarvisningsbild
MNorrgren
Inlägg: 5995
Blev medlem: 27 maj 2005, 16:09:10
Ort: Sjöbo, Skåne

PIC LED blinker, hjälp med koden...

Inlägg av MNorrgren »

Hejsan, jag har hittat en kod här för att blinka lite Led:er i en viss ordning.

http://www.btinternet.com/~doug.h.rice/xmas/index.htm

Nu är det så att jag skulle vilja lägga till lite kod, men jag kan inte språket riktigt, inte heller hur man ska gå till väga.

Det jag är ute efter lite mer precist:

För tillfället är det 3 utgångar som används, jag skulle vilja ha 4 eller 5.
Samma effekt bara att det ska vara lite fler lysdioder.
Det är väl det hela egentligen..

Har allt annat, det är bara koden som jag har problem med:S

Nnån som känner att de har kvar lite julstämmning i sig o har lust att hjälpa mig med koden, kanske förklara vad som har ändrats, var det har skrivits nånstans osv så jag kanske lär mig ltie??

MIcke
Tekko
Inlägg: 9009
Blev medlem: 28 november 2004, 20:19:15

Inlägg av Tekko »

På slutet liknar den min avr stepper driver som jag fulskrev.
Användarvisningsbild
JimmyAndersson
Inlägg: 26678
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

Jag har inte pysslat med assembler i så många dagar, men det känns lite som om programmet är lite mer komplicerat än det behöver vara.

Lysdioderna lyser enligt detta mönster:
000
100
010
110
001
101
011
111

Baklängesbinär-räkning alltså. Men istället för att bara byta plats på röd och grön lysdiod och räkna som vanligt så har de gjort en lång lista med RETLW. Lite märkligt om man frågar mig.
Användarvisningsbild
Chribbe76
EF Sponsor
Inlägg: 1167
Blev medlem: 17 januari 2004, 22:43:17
Ort: Stockholm

Inlägg av Chribbe76 »

:jimmy:, Den binär-räknar inte, du blev nog lurad av bilden längst ner.


Den läser bara ett element i taget från listan och lägger det på porten.
Så det är bara att ändra i listan tex så här för att få 5 lysdioder:

RETLW 1
RETLW 2
RETLW 4
RETLW 8
RETLW 16

RETLW 1
RETLW 2
RETLW 4
RETLW 8
RETLW 16
Användarvisningsbild
MNorrgren
Inlägg: 5995
Blev medlem: 27 maj 2005, 16:09:10
Ort: Sjöbo, Skåne

Inlägg av MNorrgren »

Okay, ja då var det faktsikt som jag misstänkte, efter att ha snackat med farsan, visste ine att han kunde programmering för övrigt så men nu vet man det.

Ja, men jag måste ändra en sak till i koden. Nästan högst upp ska man lägga till att man har fler lysdioder. Ja iaf.


Tack för hjälpen iaf!
sodjan
EF Sponsor
Inlägg: 43287
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Du behöver komplettera dina EQU så att du har värden för det antal
LED som du vill ha. Annars så hanterar koden så vitt jag kan se redan upp
till 8 utgångar (d.v.s hela PORTB). Tabellen har ju ett fast värde som slut-
markering, så den är bara att förlänga. Se bara till att du inte passerar en
256 bytes gräns, eftersom koden (som det är dokumenterat i alla fall)
inte hanterar det.

Sen skulle jag sätta ett separat motstånd/LED, då kan du även ha "mönster"
där mer än en LED åt gången är tänd.
Användarvisningsbild
MNorrgren
Inlägg: 5995
Blev medlem: 27 maj 2005, 16:09:10
Ort: Sjöbo, Skåne

Inlägg av MNorrgren »

Ja precis, sodjan det var precis det jag menade med. Men visste inte hur jag enkelt skulle säga det. Men precs som du säger, jag måste lägga till så många som jag behöver, t.ex 5 st.

Ja det skulle kunna vara en ide faktiskt, så kan man tända upp precis hur man vill.:)

Tackar för den infon, uppskattar det verkligen hörrni!

En fråga till, kan jag använda t.ex MicroC för att ändra koden eller kan jag göra det direkt i "hex textfilen"???
sodjan
EF Sponsor
Inlägg: 43287
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> En fråga till, kan jag använda t.ex MicroC för att ändra koden

Verkar konstigt.

> eller kan jag göra det direkt i "hex textfilen"

Lika konstigt och *väldigt* besvärligt....

Det är ju assembler, så MPLAB är det naturliga valet.

En annan sak är att en nyare/bättre/modernare PIC än den gamla
F84A också vorde ett anturligt val (t.ex 628A)... :-)
Men har du redan några F84A liggandes så, OK då.
Användarvisningsbild
MNorrgren
Inlägg: 5995
Blev medlem: 27 maj 2005, 16:09:10
Ort: Sjöbo, Skåne

Inlägg av MNorrgren »

Okay, hehe som sagt jag är en ren nybörjare och håller på att lära mig så om du undrar varför du kan få lite konstiga frågor sodjan.

Jag ska genast ta och ladda .. öörrhm köpa MPLAB...

Ja jo sant sant, kan förvisso ta en nyare, men osm sagt fortfarande nybörjare så jag tar den som står i schemat men det kanske går lika bra med en nyare??

Då köper jag em 628 istället.
Känns lite onödigt att köpa en gammal om det finns nyare och bättre:)
Användarvisningsbild
JimmyAndersson
Inlägg: 26678
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

Chribbe76:
"Den binär-räknar inte, du blev nog lurad av bilden längst ner."

Jepp. :oops: :)
sodjan
EF Sponsor
Inlägg: 43287
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> öörrhm köpa MPLAB...

Det går inte, den är gratis.
Bara att ladda ner från www.microchip.com

> Då köper jag em 628 istället.

628A, inte 628 vilket är en äldre och utgången modell.

Om du inte redan har 84A liggandes, så finns det igentligen ingen
anledning att använda den. Det behöver läggas till 2-3 rader i början
av koden för att "anpassa" till 628A, men det kan vi ta senare....
Användarvisningsbild
MNorrgren
Inlägg: 5995
Blev medlem: 27 maj 2005, 16:09:10
Ort: Sjöbo, Skåne

Inlägg av MNorrgren »

Nä jag vet, bara skojade...
Jag har laddat ner det programmet nu och kör det. Tänkte skulle programmera kretsen nu.

Jag var precis o köpte en 628A.
Har inte precis några processorer liggandes så...


Okay, men vad ska jag lägga till nu då?? Och hur ska jag göra i MPLAB?

Om du har lust att förklara alltså... :oops:
sodjan
EF Sponsor
Inlägg: 43287
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Den viktigaste "fixen" när man portar kor från F84A -> F628A är
att stänga av komparatorerna. Se kapitlet om PORTA i databladet,
där finns färdig ASM kod. I princip ett par rader där man lägger x'07'
i CMCON.

Sen kan det vara andra prylar, men enklast är att bara köra igenom
koden en gång och se vilka (om några) fel man får. Så får man ta
det därifrån sedan. När det "bygger" utan fel, man man stega fram koden
i MPSIM (i MPALB) för att verifiera att koden gör det den ska.

Sedan är det dags att prova IRL, så att säga... :-)
Användarvisningsbild
MNorrgren
Inlägg: 5995
Blev medlem: 27 maj 2005, 16:09:10
Ort: Sjöbo, Skåne

Inlägg av MNorrgren »

Ehm??
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 »

Ja du måste stänga av komparatorn för att få IO funktioner på pinnarna
Skriv svar