 |

|
|
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 2026 02 27, 15:15. Visos datos yra GMT + 2 valandos.
|
|
|
 |
Forumas » Mikrovaldikliai » Programavimo C kalba pamokėlės pradedantiesiems su PIC12F629
|
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
|
|
|
 |
Programavimo C kalba pamokėlės pradedantiesiems su PIC12F629 |
Parašytas: 2013 04 16, 23:29 |
|
|
|
|
Na tai kur tada šuo pakastas...? Kodėl neina picos ištrinti?
Pastebėjau dar vieną idomų dalyką. Bandžiau programą PICPgm, tai pasirinkus autodetect programmer pajungus tuščią programatorių automatiškai aptinka "JDM Programmer" kaip ir viskas ok. O jeigu pajungiu idėjes ta užsirakinusia PIC tai tada išvis kosmosas prasideda, rašo kad programatorius palieka kažkoks Velleman-Kit K8048 ir išvis neina nieko padaryti... Ir proco automatiškai neaptinka.
Gal windausai kalti ? naudoju w7 x64 ... |
|
|
|
|
|
 |
 |
Programavimo C kalba pamokėlės pradedantiesiems su PIC12F629 |
Parašytas: 2013 05 11, 17:27 |
|
|
|
|
| Suėdžiau ir naują mikroprocesorių... kompiliuodamas programa visus Fuse bitus padariau disable, tik padariau vienintelį INTOSC oscillator, kad dirbtu nuo vidinio 4MHz generatoriaus. Irašyti tai isirašė, bet ištrinti nebegalima... Programa mikrovaldiklyje kažkaip keistai sukasi, tai veikia tai grybauja... Nesuprantu kame reikalas dabar jau du tokius procus turiu... |
|
|
|
|
|
 |
 |
Programavimo C kalba pamokėlės pradedantiesiems su PIC12F629 |
Parašytas: 2013 05 13, 07:54 |
|
|
|
|
| PauliusA rašo: |
| Suėdžiau ir naują mikroprocesorių... kompiliuodamas programa visus Fuse bitus padariau disable, tik padariau vienintelį INTOSC oscillator, kad dirbtu nuo vidinio 4MHz generatoriaus. Irašyti tai isirašė, bet ištrinti nebegalima... Programa mikrovaldiklyje kažkaip keistai sukasi, tai veikia tai grybauja... Nesuprantu kame reikalas dabar jau du tokius procus turiu... |
O kam tu keitalioji tokius dalykus, kuriu nezinai? T.y. kam keiti tuos fuse bitus? |
|
|
|
|
|
 |
Programavimo C kalba pamokėlės pradedantiesiems su PIC12F629 |
Parašytas: 2013 05 13, 16:27 |
|
|
|
|
| Iš nežinojimo... Tai reikėjo viską po default palikti, vien tik vidinį generatorių nustatyti? Blogiausia, kad niekaip nebegaliu proco ištrinti, idėjus į programatorių pradeda PICPGM grybaut, ir nebeatpažysta nei programerio nei picos... Idomu ar yra koks būdas default fuse atstatyti, jeigu čia juose bėda? |
|
|
|
|
|
 |
Programavimo C kalba pamokėlės pradedantiesiems su PIC12F629 |
Parašytas: 2013 05 13, 21:19 |
|
|
|
|
| Config nustatymus (kuriuos tu vadini fusse) PIC gali keisti, kaip tik nori, nieko nesugadinsi. Ar tu naudoji valdiklio portus GP0,GP1 tik programavimui, ar ir kitkam? Jei naudoji juos kaip išėjimus, gali kilti problemų. Padavus į mikrovaldiklį maitinimą, pasileidžia programa, GP0 arba GP1 nusistato į out ir programatorius jo nebematys. Tada tenka gudrauti įvairiai programoje, kad GP0 ir GP1 būtų input arba bent jau pradžioje veikimo. Gal čia šuo pakastas? |
|
|
|
|
|
 |
 |
Programavimo C kalba pamokėlės pradedantiesiems su PIC12F629 |
Parašytas: 2013 05 13, 21:29 |
|
|
|
|
naudojau visus GP kaip išėjimus logiškai mastant, tada tokiu atveju tūrėtu būti ijungtas kažkuris fuse kad tokių problemų nekiltu, ar aš klystu?
Na tada lieka kiti du varijantai... Arba win7 x64 kalti, arba mano JDM tipo ExtraPic programatorius viduriuoja... Turbūt reiks pasidairyti kitokios PIC'ų keptuvės... Gal kokia rekomenduotumėt kokią patys naudojat? |
|
Paskutinį kartą redagavo PauliusA, 2013 05 13, 21:41. Redaguota 1 kartą |
|
|
|
 |
Programavimo C kalba pamokėlės pradedantiesiems su PIC12F629 |
Parašytas: 2013 05 13, 21:38 |
|
|
|
|
| Jei tu naudoji visus GP kaip išėjimus, tai čia greičiausiai ir problema. Nes GP0 ir GP1 naudojami PIC-o programavimui ir turi būti input. Tuščią PIC užprogramuoji ir viskas. Toliau programatorius jo nemato. Pažiūrėk su osciloskopu, ar programavimo metu ant GP0 ir GP1 vaikšto impulsai. |
|
|
|
|
|
 |
Programavimo C kalba pamokėlės pradedantiesiems su PIC12F629 |
Parašytas: 2013 05 13, 21:49 |
|
|
|
|
Na programatorius tai visus impulsus išduoda... Keistas dalykas... tai kodėl tada datasheete rašo, kad proco portus galima naudoti 5 output/input , 1 tik input... aš ir naudojau visus galimus 5 portus kaip output...
O situacija dar galima kaipnors pataisyti? |
|
|
|
|
|
 |
Programavimo C kalba pamokėlės pradedantiesiems su PIC12F629 |
Parašytas: 2013 05 13, 22:01 |
|
|
|
|
| Programatorius tai išduoda, suprantama. Tačiau, kai GP0 ar GP1 nusistato į out, GP1 ar GP0 sodina tą tavo programatorių. Normalus programatorius turi turėti komutuojamą PIC-o maitinimo įtampą. T.y. pirma į GP3 pasiduoda +13V, PIC pereina į programavimo režimą, po to pasiduoda maitinimas į PIC-ą. Jaučiu, pas tave paprasčiausias programatorius ir šito nedaro. |
|
|
|
|
|
 |
Programavimo C kalba pamokėlės pradedantiesiems su PIC12F629 |
Parašytas: 2013 05 13, 22:09 |
|
|
|
|
Būtent taip ir yra. Dabar supratau kodėl programatoriaus 5V stabilizatorius kartais keistai pakaisdavo...
Paduodu maitinimą, iš karto užsimaitina ir pica, programatorius nieko neišduoda kol iš kompo signalų negauna... o jeigu nustatymuose padaryčiau invert VPP ? tada pastoviai yra +13V . Ar kitokio programatoriaus dairytis? |
|
|
|
|
|
 |
 |
Programavimo C kalba pamokėlės pradedantiesiems su PIC12F629 |
Parašytas: 2013 05 14, 06:07 |
|
|
|
|
| PauliusA rašo: |
Būtent taip ir yra. Dabar supratau kodėl programatoriaus 5V stabilizatorius kartais keistai pakaisdavo...
Paduodu maitinimą, iš karto užsimaitina ir pica, programatorius nieko neišduoda kol iš kompo signalų negauna... o jeigu nustatymuose padaryčiau invert VPP ? tada pastoviai yra +13V . Ar kitokio programatoriaus dairytis? |
Picpgm nustatymu nekeisk, bandyk is programatoriaus iseinanti data signala komutuoti rankiniu budu,t.y data laiduka pajunk per mikrojungikli, tuoment paleidi Picpgm, spaudi AutodetectPic ir poto iskart paspaudi mikrika ir laikai - kai atpazystamas PIC'as mikrika gali atleisti. Tada spaudi Program Pic(arba erase jei reikia) ir po to vel paspaudi ir laikai mikrika tol,kol bus irasytas arba istrintas kodas. |
|
|
|
|
|
 |
 |
Programavimo C kalba pamokėlės pradedantiesiems su PIC12F629 |
Parašytas: 2013 05 14, 07:47 |
|
|
|
|
Tam, kad PIC pereitų į programavimo režimą, reikia paduoti +13V į GP3, kai GP0 ir GP1 žemam lygyje. Gi pas tave, padavus maitinimą, pradeda suktis programa ir GP0 ir GP1 nusistato į "1" (eilutė GPIO = 0b00110011; // all LEDs are on ). Tu pabandyk GPIO = 0b00110000; // all LEDs are off. Aišku, tau reiks turėti švarų, ištrintą PIC-ą.
p.s. čia kodo fragmentas iš keliais postais anksčiau tavo pateiktos programos. |
|
Paskutinį kartą redagavo sadivas, 2013 05 14, 20:02. Redaguota 1 kartą |
|
|
|
 |
 |
Programavimo C kalba pamokėlės pradedantiesiems su PIC12F629 |
Parašytas: 2013 05 14, 19:15 |
|
|
|
|
Programa kuri užstrigusi mikrovaldiklyje yra tokia:
unsigned int t1,t2,t3;
void main()
{
CMCON = 0b00000111; //isjungiam komparatoriu moduli
TRISIO = 0;
while(1)
{
GP5_bit=0;//LED5 ijungtas
delay_ms(1000);
GP5_bit=1;//LED5 isjungtas
delay_ms(100);
GP4_bit=0;//mot2 ijungtas
delay_ms(500);
GP4_bit=1;//mot2 isjungtas
delay_ms(500);
GP0_bit=0;//mot1 back ijungtas
delay_ms(50);
GP0_bit=1;//mot1 back isjungtas
delay_ms(500);
GP1_bit=0;//mot1-1 ijungtas
delay_ms(150);
GP1_bit=1;//mot1-1 isjungtas
delay_ms(100);
GP2_bit=0;//mot1-2 ijungtas
delay_ms(75);
GP2_bit=1;//mot1-2 isjungtas
delay_ms(100);
GP5_bit=0;
delay_ms(120000); //LED5 ijungtas 2min
GP5_bit=1;//LED5 isjungtas
for (t1=0;t1<100;t1++){
for (t2=0; t2<100; t2++) //1=10sek
for (t3=0; t3<100; t3++) {delay_ms(23);}//5val30min
}
}
}
Naudoju viename įrenginyje,reikalingi visi penki išėjimai, programa kartojasi kas 5val 30min.
Na bet programavimo metu VPP diodas visaip mirksi, o ne šviečia pastoviai, reiškias +13V tai įsijungia tai išsijungia... Tai man tiesiog programeryje nuo +13V 1K varžike užkabinti ant VPP ir viskas taip ir palikti ?
Dar reiks +5V jungiklį isidėti... |
|
|
|
|
|
 |
|
 |
Google paieška forume |
|
|
 |
Naujos temos forume |
|
 |
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 |
 |
RDR2 Mods
Euro Truck Simulator 2 Mods,
WOT Mods,
Assetto Corsa Rally Mods |
|

|
 |