PIC LED blinker, hjälp med koden...
PIC LED blinker, hjälp med koden...
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
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
- JimmyAndersson
- Inlägg: 26678
- Blev medlem: 6 augusti 2005, 21:23:33
- Ort: Oskarshamn (En bit utanför)
- Kontakt:
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.
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.
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.
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.
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"???
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"???
> 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å.
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å.
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:)
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:)
- JimmyAndersson
- Inlägg: 26678
- Blev medlem: 6 augusti 2005, 21:23:33
- Ort: Oskarshamn (En bit utanför)
- Kontakt:
> öö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....
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....
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å...
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å...
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...
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...
