Sida 1 av 2
PIC16F877A + 20 MHz kristall.. Funkar ej.
Postat: 20 september 2007, 21:01:26
av unzuf
Hej!
Försöker få en 16F877A att funka med en 20 MHz kristall..
Jag lyckas programmera den men processorn går inte igång.
Har ett led-blink program men inget händer.
Kristallen är kopplad "som man ska", dvs över OSC1 & OSC2
med 2 st 22pF kondingar till GND.
Jag försökte hitta info i databladet om detta, men hittade inget
som verkar strida emot hur jag har gjort/kopplat.
Något som har nåt tips?
Postat: 20 september 2007, 21:05:42
av bengt-re
Vad fungerade inte?
Snurrade inte kristallen igång?
har du ställt in HS-osc?
Kolla config och kolla att du inte har kortis och att du inte har tappat kristallen..
Det brukar alltid fungera, så vore märkligt om det inte gjorde det. 32khz kristaller kan vara lite luriga att starta ibland, men HS-kristaller skall bara fungera...
Postat: 20 september 2007, 21:22:07
av unzuf
Jepp, jag har ställt in HS-osc.. Och jag vet inte om kristallen går igång, men den är splitter ny direkt plockad från en fin påse från ELFA som anlände igår, så den borde fungera tycker man.. Kan man mäta den på nåt sätt utan oscilloskop?
Postat: 20 september 2007, 21:24:47
av sodjan
> Jepp, jag har ställt in HS-osc..
Varför ska vi tro dig ? *Visa* att du har gjort det istället.
Att bara säga att "jag har gjort si och så", ger inget eftersom
det inte går att kontrollera.
Postat: 20 september 2007, 21:32:59
av unzuf
sodjan:
Jag använder mikroPascal, öppnade en exempel-kod som följer med programmet för 16F877A, ändrade bara PORTB till PORTD i koden, och kompilerade det, sedan skickade över till PICen.
Kod:
Kod: Markera allt
program led_blinking;
begin
TRISD := 0; // PORTD is output
PORTD := 0; // Turn off all diodes
while true do // An infinite loop
begin
PORTD := not PORTD; // toggle diodes
Delay_ms(1000); // wait for one second
end;
end.
Och jag använde samma config som redan var inställt för den kod-filen/projektet jag öppnade:
_LVP_OFF
_WDT_OFF
_HS_OSC
Postat: 20 september 2007, 21:34:32
av unzuf
För övrigt har jag också kopplat MCLR pinnen via ett 33k motstånd till matningsspänningen, 5V, som man ska.
Postat: 20 september 2007, 21:40:52
av sodjan
Så där jag !
Varför hade du inte med allt det där från början?
> och kompilerade det,
Självklart utan fel, eller hur ?
Har du kollat lite i list/map filer så allt ser OK ut ?
> sedan skickade över till PICen.
Hur då ? Med vad för verktyg/programmerare ? Utan fel ?
Om vi antar att allt är rätt så långt, så skulle jag
säga att du har kopplat lysdioderna bakfram.
Eller att programmet aldrig kom in i processorn.
Postat: 20 september 2007, 21:57:06
av Icecap
Om MikroPascal är som MikroC ska man ställa in detta med HS-kristall under Project->Edit project... och sedan kan man välja vilka CONFIG-inställningar man vill ha.
Postat: 20 september 2007, 21:57:48
av unzuf
Fan hur mkt otur kan man ha? Jag bytte ut en konding mot en annan 22pF, och då funkade det

Jag beställde 100 st 22pF kondingar som jag fick igår, öppnade påsen idag, plockade ut två st, och alltså måste en utav de varit trasiga!?
Så det var så "enkelt".. Jaja, tack för hjälpen iaf

Postat: 20 september 2007, 22:12:34
av sodjan
Där ser man!
Ja, det är ju enklare att anta att man själv har gjort något fel...

Postat: 20 september 2007, 22:22:45
av Marta
En litn undran, ser den trasiga kondingen hel ut eller har den en spricka intill en av pinnarna? Är där kortslutning eller avbrott i den? Är den rätt märkt?
Bara nyfiken eftersom jag aldrig har råkat ut för detta utan att kondigen varit bruten.
Postat: 21 september 2007, 20:55:28
av bengt-re
Keramiska hålmonterade har jag stött på en och annan som varit trasig, men aldrig någon sin en SMD-konding (iofs- med kapacitans utanför spec, men inte helt trasig iaf). Oftast så beror skadan på hård hantering - värme förefaller inte döda keramiska kondensatorer. Räknade för skojs skull på det - med 0,2mm lamminat så går det faktist att få till 16-22pF bara med kretskortet om man vill....
I övrigt - hålmonterade kondensatorer över omkring 20MHz litar jag föga på... Monteringen, benlängden och kretskortslayouten kan få värdet att slå rätt många pF.... Ävenom man kör enkelsidigt och hålmonterat så är det klokt att sätta ytisar till lastkondensatorer... Eller om man inte har för höga tolleranskrav - kör med resonator som har inbyggda lastkondingar..
Postat: 22 september 2007, 14:07:48
av unzuf
Vid närmare inspektion så ser man att på en utav pinnarna så följer inte det skyddande höljet med ner på pinnen en liten bit som det gör på den andra pinnen, så det blir som ett litet, litet tomrum precis där pinnen går in i keramiken.
Postat: 22 september 2007, 15:39:51
av bengt-re
Trist med dåliga komponenter... Var det inte någon morderkortstillverkare som hade skickat ut 20k moderkort innan de märkte att en konding var kass och dog efter typ 100 timmars drift.... Urk... dyrt.....
Postat: 22 september 2007, 18:23:48
av Khaki
>Var det inte någon morderkortstillverkare som hade skickat ut 20k moderkort
Köpte tyvärr ett sådant, ASUS vill jag minnas att det var. Höll i ett och ett halvt år (över garantitiden, alltså) tills kondensatorerna började "läcka".