Sida 3 av 7

Re: Behöver hjälp med min kod!

Postat: 18 augusti 2009, 23:57:04
av E85
"Sedan så sätter jag lysdiodens katod på "GND" och lysdiodens anod på alla I/O (förutom RA3 som är input), en i taget"

Det bör sitta ett motstånd i serie med lysdioden för att begränsa strömmen.


"...så kan man precis se att det lyser svagt om tråden i lysdioden."

Lysdioder har ingen glödtråd, http://sv.wikipedia.org/wiki/Lysdiod

Re: Behöver hjälp med min kod!

Postat: 19 augusti 2009, 00:06:55
av sodjan
> Det databladet jag länkade till är ett som någon annan på det här forumet har länkat till.

Strunt i det, kör alltid med det senaste. Kanske att det just i detta fall inte
spelar så stor roll, men i alla fall...

> Sedan så sätter jag lysdiodens katod på "GND" och lysdiodens anod på alla I/O

Gör **ALDRIG** det ! Koppla aldrig in lysdioder utan strömbegränsningsmotstånd.
Du behöver läsa på lite om lysdioder... :-)
T.ex : http://www.elektronikforumet.com/wiki/i ... le=Lysdiod

Hur fungerar koden när du simulerar den i MPLAB/SIM ?

Re: Behöver hjälp med min kod!

Postat: 19 augusti 2009, 16:36:04
av Crille93
Jag vet att man inte ska göra så för att lysdioden men jag verkar göra något fel i koden eftersom bara vissa I/O klarar av att ge ut tillräckligt och man kan ju inte se om den öppnar portar i MPLAB/SIM.
Kan det vara att PIC processorn inte klarar av att ge ut tillräckligt när man öppnar alla utgångar? Så man måste använda transistorer istället? Eller ska processorn klara av att tända 17st lysdioder samtidigt, 1 på varje I/O?

Re: Behöver hjälp med min kod!

Postat: 19 augusti 2009, 16:38:29
av E85
Du sa ju att du bara kopplar in en åt gången så då är det inget problem. Det går ingen ström om det inte är nåt kopplat till pinnen.

Re: Behöver hjälp med min kod!

Postat: 19 augusti 2009, 16:45:13
av bos
Du skriver ofta att du "öppnar" porten. Det är väldigt förvirrande, för det är ingen vedertagen jargong.

Re: Behöver hjälp med min kod!

Postat: 19 augusti 2009, 17:22:48
av sodjan
> Jag vet att man inte ska göra så...

Vad du gör hemma i din kammare skiter jag fullständigt i.
Men ge FAN i att göra så där med lysdioder om du vill ha hjälp *här*...

> Eller ska processorn klara av att tända 17st lysdioder samtidigt,

Det är väl helt ointressant i sammanhanget eftersom du dels bara använder
*EN* lysdiod och dessutom inte fattar hur en lysdiod ska kopplas in... :roll:

(Svaret på din fråga finns i "Electrical Specifications" längst bak i databladet.)

Du behöver en mer seriös inställning till det hela om du någonsin ska
få något med PIC att fungera.

Re: Behöver hjälp med min kod!

Postat: 19 augusti 2009, 19:33:22
av E85
Jag tycker du är lite hård sodjan. Om nu Crille är 93:a så är han alltså 16 år och har inte ens börjat gymnasiet ännu. Då är det inte lätt att ha koll på allt. Detsamma gäller om Crille är 93 år. :lol:

Angående att "öppna portar" så är det bättre att säga att man sätter en pinne hög eller låg.

Re: Behöver hjälp med min kod!

Postat: 19 augusti 2009, 20:22:13
av bos
E85 skrev:Angående att "öppna portar" så är det bättre att säga att man sätter en pinne hög eller låg.
Helt klart. Om man nu tänker "port" som i "garageport" eller liknande (som jag antar författaren gör) så är det ändå oklart vad som händer om man "öppnar" den - man kan ju både gå in och ut.

Re: Behöver hjälp med min kod!

Postat: 19 augusti 2009, 20:24:20
av sodjan
> Jag tycker du är lite hård sodjan.

Jo, du har helt rätt. Jag ber om ursäkt ! Var lite stressad...

> Angående att "öppna portar" så är det bättre att säga att man sätter en pinne hög eller låg.

Jag *tror* att han med "öppna" menar "göra till utgång". Men det är bara
en tolkning av tidigare inlägg... :-)

Re: Behöver hjälp med min kod!

Postat: 19 augusti 2009, 21:03:06
av Crille93
Så att sätta en pinne hög så gör man den till en utgång som skickar ut ström medans att sätta en pinne låg så gör man så utgången blir 0?

Men angående lysdioderna så fungerar inte ens lysdioderna som sitter på experimentkortet från början när jag sätter alla pinnar hög :? .

Men jag kan inte ha sönder processorn om jag sätter alla pinnar hög? För just nu så vågar jag inte fortsätta ifall det kan vara farligt för processorn. Jag menar om jag skulle koppla dit en lysdiod på alla pinnar (på rätt sätt förstås!)

Re: Behöver hjälp med min kod!

Postat: 19 augusti 2009, 21:55:46
av sodjan
> Så att sätta en pinne hög så gör man den till en utgång som skickar ut ström medans att sätta en pinne låg så gör man så utgången blir 0?

Nja... :-)

Först bestämmer du dig för om en pinne ska vara *IN* eller *UT* -gång.
Det gör du via TRISx registren. Det har ingenting med hög/låg att göra,
enbart vilken riktning (d.v.s in eller ut) som den aktuella pinnen ska ha.

*Sedan*, om du har konfigurert en pinne som utgång, så sätter du den "hög"
eller "låg" via PORTx registret. Det anger bara vilken nivå som pinnen kommer att ha.

Om det sedan går någon ström in till eller ut från pinnen är ytterligare en helt annan sak,
det beror helt på vad pinnen är kopplad till och har inte direkt med ovanstående att göra.

> Men angående lysdioderna så fungerar inte ens lysdioderna som sitter på experimentkortet från början när jag sätter alla pinnar hög

Vilka lysdioder och vilket experimentkort ? Har du en PICkit2 ?
Jag är säker på att de exempel som finns i dokumentationen fungerar.

> Men jag kan inte ha sönder processorn om jag sätter alla pinnar hög?

Absolut *inte*. Om du riskerar att skada processorn beror helt på vad du koppar in.
Och gränserna finns angiva i "Electrical Specifications" i databladet. Men några lysdioder
är inget problem, du behöver ju inte speciellt mycket ström för att de ska synas, några
enstaka mA sannolikt.

Re: Behöver hjälp med min kod!

Postat: 20 augusti 2009, 08:06:19
av Crille93
Jag har en Pickit2, glömde visst säga det :vissla:
Men jag har testat att använda den där koden som gör så att alla utgångar blir hög fast utan att ha knapp funktionen på och då lyser iallafall lysdioderna som sitter på experimentkortet men dom lyser inte lika starkt som när man tänder bara 1 av dom. Men när jag använder samma kod plus knapp funktionen, dvs. den här koden:

Kod: Markera allt

#include <p16F690.inc>
    __config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)
    cblock 0x20
Delay1                   ; Define two file registers for the
Delay2                   ; delay loop

     endc
      
     org 0
Start:
     bsf       STATUS,RP0
     clrf      TRISC
     clrf      TRISB
     clrf      TRISA
     movlw b'00001000'
     movwf     TRISA                ;Alla I/O är output förutom RA3 som är input
     bcf       STATUS,RP0

MainLoop:
     bsf       PORTC,2               ;RC2 tänds
InnerLoop1:
     decfsz    Delay1,f
     goto      InnerLoop1
     decfsz    Delay2,f
     goto      InnerLoop1
     btfss PORTA,3                  ;Får RA3 signaler? Ja=Hoppa över nästa.   Nej=Fortsätt till "goto MainLoop".
     goto      MainLoop

Wait1:
     btfsc PORTA,3                  ;Får RA3 signaler? Ja=Fortsätt till "goto Wait".  Nej=Hoppa över nästa.
     goto Wait1

;****************************HÄR ÄR FELET NÅGONSTANS*******************************
Loop:
;****Alla RC****
     bsf PORTC,0
     bsf PORTC,1
     bsf PORTC,2
     bsf PORTC,3
     bsf PORTC,4
     bsf PORTC,5
     bsf PORTC,6
     bsf PORTC,7
;****Alla RB****
     bsf PORTB,4
     bsf PORTB,5
     bsf PORTB,6
     bsf PORTB,7
;****Alla RA****
     bsf PORTA,0
     bsf PORTA,1
     bsf PORTA,2
     bsf PORTA,4
     bsf PORTA,5

InnerLoop2:
     decfsz    Delay1,f
     goto      InnerLoop2
     decfsz    Delay2,f
     goto      InnerLoop2
     btfss PORTA,3                  ;Får RA3 signaler? Ja=Hoppa över nästa.   Nej=Fortsätt till "goto Loop".
     goto Loop

Wait2:
     btfsc PORTA,3                  ;Får RA3 signaler? Ja=Fortsätt till "goto Wait2".  Nej=Hoppa över nästa.
     goto Wait2
     goto MainLoop
end
Så fungerar inte dom lysdioderna

Re: Behöver hjälp med min kod!

Postat: 20 augusti 2009, 09:47:42
av sodjan
Vad har du för matning till det hela ?
Sjunker matningsspänningen ju fler dioder du tänder ?
Hur är dioderna på exp.kortet inkopplade ?

När det gäller koden, fungerar den i MPLAB/SIM ?

Re: Behöver hjälp med min kod!

Postat: 20 augusti 2009, 14:49:24
av Crille93
Vad har du för matning till det hela ?
Jag använder min laptops USB port (experiment kortet är inkopplat i programmeraren som är inkopplad till USB porten)

Sjunker matningsspänningen ju fler dioder du tänder ?
Lysdioderna blir svagare ju fler jag har ikopplat, så jag skulle tro det.

Hur är dioderna på exp.kortet inkopplade ?
Dom är kopplade på RA0-3 med en varsin resistor sedan till jord

När det gäller koden, fungerar den i MPLAB/SIM ?
Ska testas ikväll då jag inte har grejerna här. Men kan man simulera lampor som tänds och släcks? Eller något annat som gör så man vet att det fungerar (jag vet bara hur man gör för att se hur PIC processorn läser av koden)

Re: Behöver hjälp med min kod!

Postat: 20 augusti 2009, 15:26:31
av vfr
Jag använder min laptops USB port (experiment kortet är inkopplat i programmeraren som är inkopplad till USB porten)

Finns det ingen extern spänningsmatning till kortet, förutom USB:n? Det vore ju ett enkelt sätt att testa om det är det som är problemet. En USB-port är begränad till 100mA i normalläge. Sedan kan enheten förhandla sig till 500mA via USB-protokollet. Iallafall om jag kommer ihåg det rätt. Så det är inga speciellt stora strömmar det handlar om.