oscillatore interno 16F88

Oct 16, 2005 9 Replies

ho letto sul datashett che =E8 possibile settare il 16f88 in modo da essere utilizzato senza oscillatori esterni, in modo da minimizzare i componenti richiesti.



E' sufficiente caricare il registro OSCCON con $7E ?



Il circuito di test che ho fatto pin5:gnd pin14:+5 pin6: r220+diodo verso massa



per=F2 non ne vuol sapere di funzionare. Ic prog mi d=E0 la programmazione (e la rilettura) , OK. Qualche consiglio ?



Devi impostare OSCCON a 0x70 (8MHz, 0x60 per 4MHz) e anche i bit del registro CONFIG, ad esempio impostare INTIO2 (bit 4,1,0 della word CONFIG =

0x100)

a, forse ho capito... ma il config1 (che contiene FOSC) lo setto solo tramite IcProg , vero ?

C'entra qualcosa MCLR che in questo caso vorrei usare come normale porta di input ? Io di fatto lo lascito scollegato (per ora) ma al limite ci attaccher=F2 un pulsante.

Anche la funzione di MCLR è decisa dal CONFIG. Questi flags li puoi settare anche dal programmatore, ma ti consiglio di impostarli anche nel codice utilizzando la direttiva #fuses INTRC_IO,MCLR ,... se utilizzi il c equivalente a __CONFIG _INTRC_IO_ & _MCLR_OFF & ... se utilizzi l'assembler

Anche la funzione di MCLR è decisa dal CONFIG. Questi flags li puoi settare anche dal programmatore, ma ti consiglio di impostarli anche nel codice utilizzando la direttiva #fuses INTRC_IO,MCLR ,... se utilizzi il c equivalente a __CONFIG _INTRC_IO_ & _MCLR_OFF & ... se utilizzi l'assembler

Ok, grazie, Provo con ICProg, anche se uso Mikropascal come compilatore.

ok, ma che differenza c'=E8 tra

OSCCON.SCS Oscillator Mode Select bits:

10 =3D Internal RC is used for system clock e 00 =3D Oscillator mode defined by FOSC

grazie

"merco" ha scritto nel messaggio news: snipped-for-privacy@g49g2000cwa.googlegroups.com... ok, ma che differenza c'è tra

OSCCON.SCS Oscillator Mode Select bits:

10 = Internal RC is used for system clock e 00 = Oscillator mode defined by FOSC

FOSC è nel CONFIG e stabilisce la configurazione di default per il clock, visto che allo startup SCS1 e SCS2 = 00. Agendo su SCS1 e SCS2 è poi possibile cambiare 'al volo' la fonte di clock, per commutarla ad esempio su Tmr1 con collegato un quarzo esterno a 32KHz.

... quindi mettendo OSCCON.SCS1=0 OSCCON.SCS0=0 (Oscillator mode defined by FOSC) e impostando in programmazione nel CONFIG1.FOSC=100 (INTRC oscillator; port I/O function on) equivale a mettere OSCCON.SCS1=1 OSCCON.SCS0=0 (Internal RC is used for system clock)

ma quale dei due ha la precedenza ?

"merco" ha scritto nel messaggio news: snipped-for-privacy@f14g2000cwb.googlegroups.com...

Quando alimenti il micro, SCS1 e SCS0 valgono 0, quindi la scelta della fonte di clock dipende dal contenuto di FOSC. Una volta che il programma è in esecuzione,se vuoi puoi cambiare sorgente al volo cambiando SCS1 e SCS0.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required