Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoc oko programa za 16F628

[es] :: Elektronika :: Mikrokontroleri :: Pomoc oko programa za 16F628

[ Pregleda: 3362 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

deniah

Član broj: 47441
Poruke: 113
213.133.27.*



+1 Profil

icon Pomoc oko programa za 16F62807.05.2009. u 20:54 - pre 181 meseci
Kada ovaj kod upisem u PIC16F877A radi, medjutim kada probam da ga pokrenem na 16F628A, nece. Gdje grijesim?


Code:

    i var byte
    B0 var byte
    
    TRISB = $00  'Postavi sve pinove porta B kao izlazne
Pocetak:

    b0 = 144     'Spoljne
    PORTB = b0
    pause 1000
    
    b0 = 72      'Srednje
    PORTB = b0
    pause 1000
    
    b0 = 36      'Unutrasnje
    PORTB = b0
    pause 1000
    
    b0 = 0       'Nijedna
    PORTB = b0
    pause 500
    
    b0 = 252     'Sve
    PORTB = b0
    pause 1000
    
    b0 = 0       'Nijedna
    PORTB = b0
    pause 500
    
    b0 = 252     'Sve
    PORTB = b0
    pause 1000
    
    b0 = 216     'Spoljna i srednja
    PORTB = b0
    pause 1000
    
    b0 = 144     'Spoljna
    PORTB = b0
    pause 1000
    
    b0 = 0       'Nijedna
    PORTB = b0
    pause 1000
    
    goto pocetak
    
    end
 
Odgovor na temu

Horvat

Član broj: 17332
Poruke: 3042
adsl-78-30-161-188.eunet.rs.



+165 Profil

icon Re: Pomoc oko programa za 16F62807.05.2009. u 21:34 - pre 181 meseci
prvo pomislih da je pisan u assembler-u kod,pa da je pisan u c-u...sada nisam siguran...[tj siguran sad da nije u c-u,ali ne i da je u as...]

hajde nek "bude" da je u assembler-u [ti me ispravi]

prvo,ne treba ti
Code:
i var byte

jer ne koristis to

drugo ,promeni "B0" u "b0" tj. veliko b u malo b [mada ne verujem da to ima neku bitnu ulogu,ne secam se da li je case sensitive]

trece
Code:
TRISB = 0x00


cetvrto ,da ne trazim sada datasheet,postoji komanda "pause"?

p.s. ako je u pitanju assembler [a tako mi najvise lici],i ako su brojevi posle znaka jednakosti decimalni,fali ti tacka ,da pojasnim,umesto npr
Code:
b0 = 144 

treba
Code:
b0 = .144 



btw compiler redovno odradi sve? a da probas u nekom "simulatoru"? ili cak i u mplab da vidis da li radi...da sad ne objasnjavam kako se radi u istom
 
Odgovor na temu

deniah

Član broj: 47441
Poruke: 113
213.133.27.*



+1 Profil

icon Re: Pomoc oko programa za 16F62807.05.2009. u 23:54 - pre 181 meseci
Program je u Pic Basic-u.
 
Odgovor na temu

Horvat

Član broj: 17332
Poruke: 3042
adsl-78-30-161-188.eunet.rs.



+165 Profil

icon Re: Pomoc oko programa za 16F62808.05.2009. u 07:06 - pre 181 meseci
aha,moja greska izvinjavam se
basic bas ni ne poznajem,ali koliko se secam,nije osetljiv na velika-mala slova,takod a "B0" ne bi trebalo da pravi problema...

sve u svemu,probaj da ti je sve jednako napisano [b0,a ne i B0, Pocetak,a ne i pocetak...]

i dopisi
Code:

clear

na pocetak koda

i sve to isprobaj u nekom pic basic compiler-u [mislim da i mikroelektronika ima jedan]

edit:
probao sam da ovo odradim u mikrobasic,medjutim...izmedju ostalog,ne postoji pause naredba tamo

no nije to bitno,uspeo sam [jedva] da ga "nateram" da prihvati "b0" za varijablu,stim da sam je nazvao "be0" [jer je b0 vec definisana samim mikrokontrolerom],i umesto
Code:

be0 var byte

prihvatio je samo
Code:

 dim be0 as byte



usput sam gledao ovu knjigu

i sve mi se cini da je problem u compiler-u,tj mikrobasic-u :(

mogu ti napisati ovaj program u c-u,ako zelis

[Ovu poruku je menjao Horvat dana 08.05.2009. u 08:48 GMT+1]

edit:
evo ipak code,mrzilo me cekati odgovor :),javi da li hoces hex
Code:

void main() {

    do{
    
int b0,i=1000,j=500;

    TRISB = 0x00;
    do{
    b0 = 144;     //Spoljne
    PORTB = b0;
    i-- ;
    }
    while(i!=0);

    i=1000;

    do{
    b0 = 72;      //Srednje
    PORTB = b0;
    i--;
    }while(i!=0);

    i=1000;

    do{
    b0 = 36;      //Unutrasnje
    PORTB = b0;
    i--;
    }while(i!=0);

    i=1000;
    
    do{
    b0 = 0;       //Nijedna
    PORTB = b0;
    i--;
    }while(i!=0);

    i=1000;

    do{
    b0 = 252;     //Sve
    PORTB = b0;
    i--      ;
    }while(i!=0);

    i=1000;

    do{
    b0 = 0    ;   //Nijedna
    PORTB = b0 ;
    j--         ;
    }while(j!=0);
    
    j=500;

    do{
    b0 = 252     ;//Sve
    PORTB = b0 ;
    i--         ;
    }while(i!=0) ;

    i=1000;

    do{
    b0 = 216  ;   //Spoljna i srednja
    PORTB = b0 ;
    i--         ;
    }while(i!=0);

    i=1000;

    do{
    b0 = 144  ;   //Spoljna
    PORTB = b0 ;
    j--         ;
    }while(j!=0);
    j=500;

    do{
    b0 = 0     ;  //Nijedna
    PORTB = b0  ;
        i--      ;
    }while(i!=0);
    
    i=1000;


 }while(1);


}


[Ovu poruku je menjao Horvat dana 08.05.2009. u 09:03 GMT+1]
 
Odgovor na temu

veselinovic
Jovan Veselinovic
Ist. Sarajevo

Moderator
Član broj: 7761
Poruke: 3860
91.191.7.126



+333 Profil

icon Re: Pomoc oko programa za 16F62808.05.2009. u 17:36 - pre 181 meseci
Citat:
deniah: Kada ovaj kod upisem u PIC16F877A radi, medjutim kada probam da ga pokrenem na 16F628A, nece. Gdje grijesim?



[/code]


Glupo pitanje, ali kad kompajliras program jel mu kazes za koji kontroler to radis?
Bejzik je isti, ali se hex razlikuje zavisno koji kontroler je u pitanju. Inace treba da radi.
 
Odgovor na temu

deniah

Član broj: 47441
Poruke: 113
213.133.27.*



+1 Profil

icon Re: Pomoc oko programa za 16F62808.05.2009. u 18:26 - pre 181 meseci
Citat:
veselinovic: Glupo pitanje, ali kad kompajliras program jel mu kazes za koji kontroler to radis?
Bejzik je isti, ali se hex razlikuje zavisno koji kontroler je u pitanju. Inace treba da radi.


Naravno. Maloprije sam probao da podesim interni oscilator i tako hoce, a kada podesim XT i stavim kristal tada nece.

Citat:
Horvat:  ,mrzilo me cekati odgovor :),javi da li hoces hex
[code][/b]][/sub]


Hvala ti na trudu. Ne treba mi hex jer ovo nije za neku posebnu namjenu.
 
Odgovor na temu

Sepa011

Član broj: 161918
Poruke: 1817
*.adsl.beotel.net.



+28 Profil

icon Re: Pomoc oko programa za 16F62808.05.2009. u 19:00 - pre 181 meseci
Axm...

Cudi me da hoce da ti radi sa internim oscilatorom, a sa eksternim nece.
Kako si podesio konfiguracione bitove? Koliki ti je kristal?

Ne vidim uopste zasto ovakvo prosto programce nece da ti radi
 
Odgovor na temu

stanticm
Miroslav Stantic
supertv
Subotica

Član broj: 162290
Poruke: 66
*.tippnet.co.rs.



+2 Profil

icon Re: Pomoc oko programa za 16F62808.05.2009. u 22:42 - pre 181 meseci
Nigde ne stoji da je CMCON=7 za p16f628...
 
Odgovor na temu

deniah

Član broj: 47441
Poruke: 113
213.133.27.*



+1 Profil

icon Re: Pomoc oko programa za 16F62808.05.2009. u 23:37 - pre 181 meseci
Tip oscilatora XT, MCLRE=ON, PWRTE=ON, WDTE=ON. Kristal je 4MHz.
 
Odgovor na temu

Sepa011

Član broj: 161918
Poruke: 1817
91.148.90.*



+28 Profil

icon Re: Pomoc oko programa za 16F62809.05.2009. u 08:20 - pre 181 meseci
Xe xe xe

Stavi WDT=OFF, to ti pravi 'malu decu'

A uz to malo morasa i da se upoznas za kontrolerom kojki hoces da koristic (datasheet)
 
Odgovor na temu

deniah

Član broj: 47441
Poruke: 113
213.133.27.*



+1 Profil

icon Re: Pomoc oko programa za 16F62810.05.2009. u 00:44 - pre 181 meseci
Sada je ok.Hvala.
 
Odgovor na temu

Sepa011

Član broj: 161918
Poruke: 1817
*.adsl.beotel.net.



+28 Profil

icon Re: Pomoc oko programa za 16F62810.05.2009. u 18:03 - pre 181 meseci
Citat:
deniah: Sada je ok.Hvala.

sta zna da uradi mali WDT
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: Pomoc oko programa za 16F628

[ Pregleda: 3362 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.