Älskar det faktum att tredje året på gymnasiet överlag erbjuder ett fantastiskt schema med långa sovmorgnar så man kan sitta och nöta PIC;s

Jag är helt euforisk just nu! Har lyckats få ihop ett välfungerande program som ger en "ljusvåg" från tredje lampan till höger, så att lamporna i tur och ordning släcks åt vänster för att sedan börja om igen från höger lampa tre" :-D (lite svårt att förklara, måste ses, haha )
Det som känns ännu bättre är att detta har gjorts UTAN att jag har läst igenom mer än den lektionen för hur man satte igång en lampa på PIC-kiten i "manualen" (och förstås med lite trevande hjälp/självlärningsuppmanande om delayloopar härifrån

.), och att jag hade tillgång till ett "kommandoregister", med vad var kommando gör/gjorde. Helt enkelt enligt metoden "trial and failure" förr eller senare lyckas man ju!

Som sagt, helt euforisk inombords när PIC;en gjorde som jag ville, efter jag vet inte hur många 10-tals minuters arbete (minst en timme i alla fall ;p )
Ska nämnas att jag är mycket medveten om att mitt program knappast är optimalt kodat, och att jag troligen har gjort bra mycket mer jobb än vad som kanske egentligen behövs, men man måste ju börja någonstans
( Tog för övrigt bort delar av "template-koden" från MPLAB, så att det blir en avsevärt kortare post, och bara relevant, egenskriven kod nedan ) :
Kod: Markera allt
; HELT Hemmasnickrat program som blinkar LED;s från tredje lampan till höger åt vänster, och det funkar!!! :-D
main
BSF STATUS,RP0 ; till register 1, där TRISC finns
BCF TRISC,2 ; Gör C2 till output
BCF TRISC,1 ; Gör C1 till output
BCF TRISC,0 ; Gör C0 till output
BCF STATUS,RP0 ; tillbaka till register 0
;Definera variabler/Fil-värden
ADDLW D'2000
ADDWF 0x7C,F
ADDWF 0x7B,F
CLRW ; Rensar ut W-registret.
; Själva "LED-blinkandet"
Lolboll
BCF PORTC,0
BCF PORTC,1
BSF PORTC,2 ; sätter på LED;en vid C2
goto Delay
nasta
BCF PORTC,2 ; borde stänga av LED...
BSF PORTC,1 ; Och sätta på nästa...
goto Annuendelay ; Om "goto nasta" sätts efter att C1 har gjorts till output och man är tillbaka vid register 0, lyers LED två från vänster som planerat...
BCF PORTC,1 ; borde stänga av LED;en efter delay...
Tranbär
goto Mesta
Mesta
BCF PORTC,1
BSF PORTC,0 ; Och sätta på nästa...
goto Forsening ; Om "goto nasta" sätts efter att C1 har gjorts till output och man är tillbaka vid register 0, lyers LED två från vänster som planerat...
BCF PORTC,0 ; borde stänga av LED;en efter delay..
blåbär
goto Lolboll ; gå till starten av blinkandet igen
;----------------------------------------------------------;
;Delayloopar
Delay
DECFSZ 0x7C,F
goto Delaytva
goto nasta
Delaytva ; Förlänger delayen ännu mer
DECFSZ 0x7B,F
goto Delaytva
goto Delay
;--------------------------------------------------------;
;Delayloop för "nasta"
Annuendelay
Trötter
DECFSZ 0x7C,F
goto Prosit ; Födröj delayen lite mera genom att gå till pros.
goto Tranbär
Prosit ; Förlänger delayen ännu mer
DECFSZ 0x7B,F
goto Prosit ; Sackar ner 2000/loopning och sedan går till trötter
goto Trötter
;---------------------------------------------------------------------;
; Delay variant nr två / FÖR "Mesta" .
Forsening
Forseningett
DECFSZ 0x7C,F
goto Forseningtva
goto blåbär ; Tillbaka till blåbär // start efter Elayen
Forseningtva ; Förlänger delayen ännu mer
DECFSZ 0x7B,F
goto Forseningtva
goto Forseningett
;--------------------------------------------------------;
Wiiieeee! Erik går mot nya höjder!
Nu ska jag sova, lycklig och ännu mer taggad på att fortsätta lära mig!

God natt!