[ AxeXea @ 21.01.2013. 12:45 ] @
Poceo sam da se ucim i igram sa mikrokontrolerima i ovde na ES sam nisao na veliku pomoc kad nesto zaskripi.
Nije me bilo neko vreme jer sam zaglavio u bolnici :(
U svakom slucaju sad imam vremena da se posvetim opet mikrokontrolerima.
Dobio sam ovde preporuku da se prebacim na CCS...,instalirao sam ga ali mi je jos uvek prilicno nerazumljiv,pa dok ne procitam gomilu e-knjiga koju sam skinuo,moracu da ostanem na
MikroC-u.

Evo ovako,mikrokontroler je 16F628A
Koristim njegov CCP modul kao PWM na pinu 9.
Zelim da prilikom ukljucenja LED dioda pocne da se polako pali od ugasenog stanja do maksimalne svetline.
Napisao sam ovakav programcic:

unsigned int t; //varijabla petlje

void main() {
PORTB = 0; // Port B inicijalno stanje
TRISB = 0; // Port B definisan kao izlaz
PWM1_Init(10000); // PWM modul(10KHz)

PWM1_Start(); // Start PWM1 module
{
PWM1_Set_Duty(t); //Trajanje impuls-pauza

for(t=0; t<=1023; t++); //Petlja

Delay_ms(5); //kasnjenje
}
}


Posto je PWM modul 10 bitni,logicno mi je da treba da petlja broji od 0 do 1023 da bi presla sve korake od ugasenog stanja do pune svetline.
Medjutim desava se da prilikom ukljucenja LED sija punom svetlinom odmah...Mada bi trebalo da prodje: 5mS x 1024 = preko pet sekundi
Hvala unapred za pomoc.
[ Genie_1984 @ 21.01.2013. 12:56 ] @
A možda ovako?
Code:
   
unsigned int t;                     //varijabla petlje

void main() 
{
PORTB = 0;                         // Port B inicijalno stanje
TRISB = 0;                          // Port B definisan kao izlaz
PWM1_Init(10000);               // PWM modul(10KHz)
PWM1_Set_Duty(0);

 PWM1_Start();                     // Start PWM1 module

 for(t=0; t<=1023; t++)         //Petlja
 {
   PWM1_Set_Duty(t);              //Trajanje impuls-pauza
   Delay_ms(5);                       //kasnjenje
 }

}
[ goran_68 @ 21.01.2013. 13:25 ] @
Kako si vezao LED?
[ AxeXea @ 21.01.2013. 14:46 ] @
Radi brate!E,jesi genije.Hvala.
Nego ako moze jos jedno pitanje...
Prilikom programiranja sa PICKIT2 programatorom ja posle ucitavanja HEX fajla promenim konfiguracioni bit da interno prespojim MCLR,iskljucim watchdog,i prebacim da radi sa internim oscilatorom na 4MHz.
(nasao to u datasheetu).
Kako da to uradim ranije...jos u samom sorsu da izvedem to podesavanje,bilo bi kudikamo komfornije?
[ Seme @ 21.01.2013. 21:39 ] @
Jedan savet druze, pozabavi se ti malo ucenjem programiranja u c - u. Naravno da radi ono sto je genije napisao kada je sintaksno ispravno.
Code:
for(i=0;i<1024;i++);
je petlja koja ce da se vrti 1024 puta i nece da uradi nista.
Blok ispod ce uraditi ono sto tebi treba:
Code:
for(i=0;i<1024;i++)
{
        PWM1_Set_Duty(i);
        delay_ms(5);
}

kao sto je i genije napisao.

Ne mogu da upload - ujem nista vece od 1MB, daj mail da ti posaljem knjigu CCS C programiranje na SRPSKOM jeziku koja je se delimicno bavi i osnovama c programiranja.
Pozz. M.

[Ovu poruku je menjao Seme dana 22.01.2013. u 00:47 GMT+1]
[ AxeXea @ 21.01.2013. 21:43 ] @
...zar ti se ne cini da upravo to pokusavam!?
Knjiga na Srpskom bi bila dobrodosla...,u kakvom prilogu?Gde?
Hvala na trudu.

E,ok...mail je :
[email protected]

Hvala jos jednom.
[ LeVu39 @ 04.01.2016. 12:48 ] @
Pozdrav,
Tek sad naleteh na ovu temu i pročitah da imate knjigu CCS C programiranje na srbskom jeziku.
Da li bi ste mogli i meni da je prosledite na meil da bih i ja mogao ko čovek da naučim da programiram mikrokontrolere, jer mi je potrebno zbog škole.
Meil je: [email protected]
Hvala unapred!
[ mikikg @ 04.01.2016. 12:56 ] @
http://www.infoelektronika.net/knjiga/n=pic-c

Do 15. Januara je aktuelan popust od 15% za jednu kupljenu knjigu, 20% za dve i 25% za 3 kupljene knjige.