Jump to content
ELFORUM - Forumul electronistilor
Guest mitumunteanu

Oscilator intern configurare

Recommended Posts

Guest mitumunteanu

Vreau si eu sa fac un simplu program utilizand mikroC si un pic 18F2550 in care sa aprind si sa sting un led dupa un anumit interval de timp.

Problema este ca nu stiu cum sa setez oscilatorul intern al picului.

Daca m-ar ajuta cineva asi fi recunoscator.

Link to comment
Share on other sites

La ce frecventa?

 

Un exemplu cu mikroC:

 

void main() {
 //OSCCON=0b00101000;         //internal 500KHz 
 //OSCCON=0x60;                     //internal 4MHz
  OSCCON=0b01110000;        // internal 8MHz
   Delay_ms(100);
  while (OSCCON.IOFS==0);     //stabilize internal
 
La compilator trebuie setat internal ca altfel nu  sa ruleze decat in simulare.
Pentru alte valori, RTFM.
Edited by bratueduard
Link to comment
Share on other sites

In orice compilator Mikroe, bitii de configurare se seteaza din meniul Edit Project.Banuiesc ca a reusit sa seteze oscilatorul de cand a postat ultima oara pe acest topic :ras:.

 

Eu am patit-o ca in Edit Project era setat 8mhz si PIC-ul rula la 1mhz ( default dupa pornire ) , deci nu stiu cat de bine seteaza Edit Project mie mi se pare ca acolo este utilizat cu alte scopuri cum ar fi pentru Delay_ms() , etc .......

Link to comment
Share on other sites

Singura problema pe care am intampinat-o la compilatoarele de la Mikroelektronika (de fapt la cele de Basic) este la configurarea oscilatorului Internal pentru unele PIC-uri din seria 18F, mai precis la PIC18F14K22, in sensul ca a trebuit sa ii scriu la inceputul programului tipul de oscilator, adica astaOSCCON =%01010010 'PT 4mhZ (valoarea asta este pentru un proiect de-al meu).

 

Uite si aici discutia: http://www.mikroe.com/forum/viewtopic.php?t=22997

 

In afara de acest PIC, pentru alte proiecte mi-a functionat corect configurarea oscilatorului din Edit Project.

 

Daca simulezi in Proteus, atunci va trebui sa setezi aici (in Proteus) frecventa si cuvantul de configurare (numai pentru PIC16F), deoarece Proteus nu tine seama de tipul de oscilator si frecventa setate din compilator, foloseste "propriul" oscilator.

Link to comment
Share on other sites

Eu am patit-o ca in Edit Project era setat 8mhz si PIC-ul rula la 1mhz ( default dupa pornire ) , deci nu stiu cat de bine seteaza Edit Project mie mi se pare ca acolo este utilizat cu alte scopuri cum ar fi pentru Delay_ms() , etc .......

Pai asa si este. De acolo setezi doar ca e pe oscilator interen. Care de obicei este default pe 4MHz.

 

Daca e pe 4 sau pe 8Mhz , precum si un reglaj fin al frecventei osclatorlui intern o setezi in program.

 

Acolo, in 'casua' unde tu scrii viteza procesorlui, o scrii doar sa calcule e delay, chestii de gen, initializari cu delay in ele.

Link to comment
Share on other sites

Mondan, imi pare rau ca trebuie sa te contrazic, insa in Edit Project, in "casuta" Oscilator Frequency poti trece ce frecventa vrei/ai pentru MCU iar tipul de oscilator in setezi in tab-ul "Oscillator".

Vorbesc strict de MikroBasic cand spun ca am gasit doua exceptii pentru PIC18F14K22 si PIC16F88.

Edited by Mihai Popa
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.Terms of Use si Guidelines