Elektronika.lt
 2025 m. gruodžio 19 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale
EN Facebook RSS

 Kas naujo  Katalogas  Parduotuvės  Forumas  Tinklaraščiai
 Pirmas puslapisSąrašas
 Forumas / + pokalbiai
 - Paieška forume
 - D.U.K. / Forumo taisyklės
 - Narių sąrašas
 - Registruotis
 - Prisijungti

Elektronika.lt portalo forumas

Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo. Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.

Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius, kurie nesilaiko forumo taisyklių. Pastebėjus nusižengimus, prašome pranešti.

Dabar yra 2025 12 19, 16:42. Visos datos yra GMT + 2 valandos.
 Forumas » Mikrovaldikliai » PWM PIC ir Micro C
Jūs negalite rašyti naujų pranešimų į šį forumą
Jūs negalite atsakinėti į pranešimus šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite ištrinti savo pranešimų šiame forume
Jūs negalite dalyvauti apklausose šiame forume
 
  
Puslapis 22
Pereiti prie Atgal  1, 2
Pradėti naują temą  Atsakyti į pranešimą Rodyti ankstesnį pranešimą :: Rodyti kitą pranešimą 
 PWM PIC ir Micro C
PranešimasParašytas: 2015 11 22, 20:53 Pranešti apie taisyklių pažeidimą Atsakyti su citata
PauliusA
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
sopkls rašo:
Negaliu niekuo daugiau padėti. Paaiškinau kaip tas softwarinis pwm veikia, veikimo algoritmą apibūdinau. Tas septynias eilutes software pwm veikimui teks parašyti pačiam.


Suprantu kodėl... Ačiu ir už tai. Viską ant lėkštutės gauti ir nenoriu. Šį tą sugalvojau, papiešiu kodą paeksperimentuosiu ir pranešiu kas gavosi... Smile
 PWM PIC ir Micro C
PranešimasParašytas: 2015 12 01, 12:54 Pranešti apie taisyklių pažeidimą Atsakyti su citata
PauliusA
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Kiek apsiprates su hardwariniu PWM nutariau iš naujo imtis software PWM ant 629 , dabar viskas atrodo daug paprasčiau Smile

Ant virtualaus osciloskopo matosi, kad kartu keičiasi ir amplitudė, ko nepastebėjau žaisdamas su hardwariniu PWM...

//PIC12F629 software PWM
// CONFIG : $2007 : 0x31D4
unsigned int i, PWM_fade=200;
sbit Led1 at GP2_bit;
void Delay(int num){ // The delay function
// OPTION_REG = 0b00000000 ;
CMCON = 7; // Comparator OFF
TRISIO = 0b00111001 ;

while(num>0)
num--;
}
void main() {
while(1){
for (i = 0; i <= PWM_fade; i++){ //Led1 fade in; Led2 fade out;
Led1 = 1;
Led2 = 0;
Delay(PWM_fade - i);
Led1 = 0;
Led2 = 1;
Delay(i);
}
for (i = 0; i <= PWM_fade; i++){ //Led2 fade in; Led1 fade out;
Led1 = 0;
Led2 = 1;
Delay(PWM_fade - i);
Led1 = 1;
Led2 = 0;
Delay(i);
}
}
}


edit

kitas pwm fade variantas, generatorius dirba pagal fuse nustaytu dažniu
//PIC12F629 software pwm fade
// CONFIG : $2007 : 0x31D4
int i,t;
sbit Led at GP2_bit;
void main(){
CMCON = 7; // Comparator OFF
TRISIO = 0b00111011 ;

while(1) {
for(i=0;i<255;i++)
{
led=1;
delay_cyc(i);
led=0;
delay_cyc(t--);
}
t=0;
for(i=255;i>=0;i--)
{
led=1;
delay_cyc(i);
led=0;
delay_cyc(t++);
}
}
}

Galėtumėt pagelbėti dėl sintaksės...
Kaip reikėtu rašyti, kad pakeisti generatoriaus dažnį, nekeičiant fuse ?
jeigu rašau t=500; tai dažnis nesikeičia...
 PWM PIC ir Micro C
PranešimasParašytas: 2015 12 05, 20:24 Pranešti apie taisyklių pažeidimą Atsakyti su citata
PauliusA
Užkietėjęs dalyvis
Užkietėjęs dalyvis
Peržiūrėti vartotojo aprašymą Siųsti asmeninį pranešimą
Ateičiai jeigu kam bus įdomu paeksperimentuoti papiešiau variable hardware PWM ant PIC12F683 microC

//CONFIG : $2007 : 0x0FD4
unsigned short new_DC, current_DC ;
sbit UP at GP4_bit;
sbit DOWN at GP5_bit;
sbit M1 at GP3_bit;
sbit M2 at GP1_bit;
char state;

void debounce(){
Delay_ms(20);
}
void main() {

ADCON0 = 0; // all pins digital
ANSEL = 0; // all pins digital
CMCON0 = 7; // Comparators off.
OPTION_REG = 0b00000000 ; //pull up on exept gp3

TRISIO = 0b00111011 ;

PWM1_Init(5000); // PWM module initialization (5KHz)
new_DC = 0; // Initial value of variable Duty Cycle
current_DC = 0;
PWM1_Start(); // Start PWM1 module with Zero DC
PWM1_Set_Duty(current_DC);
do {
if (!UP){
debounce();
if (new_DC < 255)
new_DC = new_DC + 15 ; // didinam po 15
}
if (!DOWN) {
debounce();
if (new_DC !=0)
new_DC= new_DC - 15 ; // mazinam po 15
}
if (!M2) { //fiksuotos reikšmės
debounce();

switch( state ){
case 1: new_DC=50; break;
case 2: new_DC=100; break;
case 3: new_DC=150; break;
case 4: new_DC=200; break;
case 5: new_DC=255; break;
case 0: new_DC=0; break;
}
if( state<5 ) state++; else state=0;
delay_ms(10);
}

if (!M1) { //reset
debounce();
new_DC = 0 , state =0;
}

if (current_DC != new_DC) {
current_DC = new_DC ;
PWM1_Set_Duty(current_DC); // Change the current DC to new value
}
} while(1);
} // END main()
Pradėti naują temą  Atsakyti į pranešimą Pereiti prie Atgal  1, 2
 
Forumo sistema: phpBB
 „Google“ paieška forume
 Kas naujesnio?
 Naujos temos forume

Global electronic components distributor – Allicdata Electronics

Electronic component supply – „Eurodis Electronics“

LOKMITA – įvairi matavimo, testavimo, analizės ir litavimo produkcija

Full feature custom PCB prototype service

Sveiki ir ekologiški maisto produktai

Mokslo festivalis „Erdvėlaivis Žemė

LTV.LT - lietuviškų tinklalapių vitrina

„Konstanta 42“

„Mokslo sriuba“

www.matuok.lt - Interneto spartos matavimo sistema

Programuotojas Tautvydas – interneto svetainių-sistemų kūrimas

PriedaiMobiliems.lt – telefonų priedai ir aksesuarai

Draugiškas internetas

FS25 Tractors
Farming Simulator 25 Mods, FS25 Maps, FS25 Trucks
ETS2 Mods
ETS2 Trucks, ETS2 Bus, Euro Truck Simulator 2 Mods
FS22 Tractors
Farming Simulator 22 Mods, FS22 Maps, FS25 Mods
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija
FS25 Mods
FS25 Maps, FS25 Cheats, FS25 Install Mods
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps
ATS Trailers
American Truck Simulator Mods, ATS Trucks, ATS Maps
Must have farming mods
Farming simulator modhub, Best farming simulator mods
Reklama
‡ 1999– © Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Turinys | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina
Ets2 mods, Ats mods, Beamng drive mods
allmods.net
„MokslasPlius“ – mokslui skirtų svetainių portalas
www.mokslasplius.lt
Optical filters, UV optics, electro optical crystals
www.eksmaoptics.com
LTV.LT – lietuviškų tinklalapių vitrina
www.ltv.lt/technologijos/
Elektroninių parduotuvių optimizavimas „Google“ paieškos sistemai
www.seospiders.lt
Mokslo festivalis „Erdvėlaivis žemė“
www.mokslofestivalis.eu
Reklama


Reklama