il PIC e un 16f887 .utilizzo un quarzo da 32768 Hz che e solo per timer 1 mentre il resto del programma lavora con l oscillatore interno settato a 8 MHz
ho fatto varie prove e ho notato che se uso il timer con l' oscillatore interno il timer funziona (naturalmente e troppo veloce) mentre invece se setto il il tutto per utilizzare il timer esterno non funziona e il tempo sul display resta fermo posto le parti di codice interessate
- Codice: Seleziona tutto
//*****************************************************
// sx = secondi dx= minuti hx= ore
//*****************************************************
void interrupt ISR(void)
{
if(TMR1IF) // interrupt su overflow timer1: è passato un secondo
{
TMR1H=0x80; // ricarico il timer dal valore 0x8000, non vado a scomodare anche TMR1L che già si trova a zero
sx--;
RD0=1; //bip ogni secondo
__delay_ms (50);
RD0=0;
if (sx==-1)
{
sx=59;
dx--;
}
if (dx==-1)
{
dx=59;
hx--;
}
TMR1IF=0; // azzero il flag di interrupt
}
}
mentre qui come e settato ora (settato per oscillatore esterno)
- Codice: Seleziona tutto
CM2CON1=0b00000000;
INTCON=0b11000000;
T1CON=0b00000111;
PIR1=0b00000001;
PIE1=0b00000001;
premetto che il circuito e su breadbord e che i condensatori a massa non sono quelli giusti ho provato con 100nf e con 15 pf e anche senza e magari questa la causa ?

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)



