Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Rasprava o PIC mikrokontrolerima, PIC projekti i drugo vezano za PIC-eve...

Moderators: pedja089, stojke369, [eDo], trax

User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by pedja089 »

DA si uzeo 16f84 kao sto pise na pocetku kursa, ne bi imao problema.
Beginner
Pocetnik na forumu
Pocetnik na forumu
Posts: 26
Joined: 08-01-2011, 12:21

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by Beginner »

haha pedja :) dobra :) ma pusti skup je za jedan 16f84 dobijem 6 12f629, manji je a ima i interni oscilator...

Nego jos mi nitko nije objasnio ona cuda....pretpostavljam da vam se neda no molim vas probajte zelim shvatiti...
Hvala
User avatar
en1di0n
Pocetnik na forumu
Pocetnik na forumu
Posts: 26
Joined: 13-01-2011, 06:50
Location: -constantly changing one-
Contact:

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by en1di0n »

9 kn komad :) to je niceee :)
A dobra zamjena za 16F84 je 16F628 i dođe max 20kn (zavisno o kućištu)
-a small mind is easily filled with faith-
Beginner
Pocetnik na forumu
Pocetnik na forumu
Posts: 26
Joined: 08-01-2011, 12:21

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by Beginner »

en1di0n gdje ga kupujes za 9kn?
User avatar
arcom
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 447
Joined: 05-03-2010, 20:47
Location: Rijeka
Contact:

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by arcom »

Holex u Rijeci ga ima za 10kn, a 12F675 (isti kao 629 samo sa A/D konverterom) dode 9,90kn.

Inace, ne znam zasto ljudi uporno forsiraju 16F84. Mislim, da se razumjemo, taj PIC je legendarni, ali ga je vrijeme jednostavno pregazilo. I ja sam se ucio na njemu i sve je to super i divno i krasno, ali za duplo manje novaca se moze kupiti PIC koji ima A/D konverter, serijski port, interni oscilator, radi na visim frekvencijama, ima vise timera, vise memorije...blah... To je isto kao da netko u danasnje vrijeme forsira kupnju Fice za 12000 eura.
User avatar
en1di0n
Pocetnik na forumu
Pocetnik na forumu
Posts: 26
Joined: 13-01-2011, 06:50
Location: -constantly changing one-
Contact:

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by en1di0n »

Beginner wrote:en1di0n gdje ga kupujes za 9kn?
http://shop.e-vox.hr/

@arcom: Apsolutno se slažem.
-a small mind is easily filled with faith-
Beginner
Pocetnik na forumu
Pocetnik na forumu
Posts: 26
Joined: 08-01-2011, 12:21

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by Beginner »

Hvala..:) slazem se, ali nema do pica 16f84 na njemu sve radi ha,ha..:)

Vidim da vas mnogo cita,no nitko da mi odgovori...
User avatar
arcom
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 447
Joined: 05-03-2010, 20:47
Location: Rijeka
Contact:

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by arcom »

Kaj te muci, njofra? :)
Ja sam davno prije koristio PBP, ali sam odustao od toga upravo zbog jako lose implementiranih interrupta i presao na mikroBasic. Skini si demo verziju sa http://www.mikroe.com" onclick="window.open(this.href);return false; - potpuno je funkcionalna i jedini limit je generiranje HEX datoteke do 2KB sto je sasvim dovoljno za dobar dio projekata.
Beginner
Pocetnik na forumu
Pocetnik na forumu
Posts: 26
Joined: 08-01-2011, 12:21

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by Beginner »

Citaj gore ranije problem prilikom programiranja sa allpicom....koji mi nije jasan....citaj gore,shvatio sam rjesenje ali nneznam zasto se do desava...
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7877
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by pedja089 »

A los ti je programator, i rekao sam ti da probas makniti kondezator sa mclr-a.
To nije nista toliko cudno kod seriskih programatora...
A pic16f84a preporucujem bas zato sto nema nista, i sto je to zgodno za ucenje, i sto ga mozes isprogramirati sa 2 otpornika...
Nije skup da se ne moze izdvojiti za 1 primerak.
Posle ko se nece ozbiljnije baviti verovatno ce ostati na njemu, ili eventualno 16f877.
Onaj ko hoce kad tad ce nabaviti(napraviti) bolji programator, i onda ce moci i da radi i sa 18F serijom.
Mogao je i bilo koji pic iz 18F sa internim oscilatorom itd.
Ali opet kad pogledas kad moras podesiti 10+ registara samo da bi pokrenuo pic, mislim da nekome ko prvi put vidi kod nista nece biti jasno. A i opet problem sa programatorom.
16F84A je skolski primer, jednostavan, ima osnovne stvari. Tako da je vrlo pogodan a ucenje, i nema neprijatnosti ko sa picevima sa internim mclr-om. I ja ih dugo nisam koristio bas zbog problema sa programatorom.
User avatar
en1di0n
Pocetnik na forumu
Pocetnik na forumu
Posts: 26
Joined: 13-01-2011, 06:50
Location: -constantly changing one-
Contact:

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by en1di0n »

Svakako bi trebalo bolji programator, ovi serijski i paralelni su mušićavi.
http://www.oshonsoft.com/picprog.html
http://www.oshonsoft.com/picprogserial.html

Ovaj sam i sam napravio, i pokazao se puzdanim, ali mi je spor.
http://www.oshonsoft.com/picprogpro.html
Uglavnom iskoristio sam ga za programiranje PIC18F2550 kojeg sam ugradio u PicKit2 Clone http://www.mcuhobby.com/articles.php?ar ... rowstart=0

PK2 clone radi izvrsno.
-a small mind is easily filled with faith-
User avatar
Kizo
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 387
Joined: 01-11-2009, 22:40
Location: Hrvatska

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by Kizo »

Uhvatio sam nešto vremena da se poigram sa ovim include fajlovima za interapte. Napravio sam test program koji točno broji vrijeme (ovisi samo o toleranciji kristala) i to prikazuje na PB3, aka standardno blicanje ledice.

Code: Select all

'define port pins
symbol LED = PORTB.3                    'LED is connected to PB3

'define variables
wsave   VAR BYTE    $70     SYSTEM      ' alternate save location for W 
wsave1  VAR BYTE    $A0     SYSTEM      ' location for W if in bank1
wsave2  VAR BYTE    $120    SYSTEM      ' location for W if in bank2

miliseconds var word                    ' keep track of passed miliseconds

'include files
INCLUDE "DT_INTS-14.bas"     ' Base Interrupt System
INCLUDE "ReEnterPBP.bas"     ' Include if using PBP interrupts

'initilize interrupts
ASM
INT_LIST  macro    ; IntSource,        Label,  Type, ResetFlag?
        INT_Handler    TMR2_INT,  _ToggleLED,   PBP,  yes
    endm
    INT_CREATE               ; Creates the interrupt processor
ENDASM

'intilize hardware
T2CON = 5               ' Timer2 prescale=4, start Timer2
PR2=249                 ' with prescale=4 and xtal=4MHz, timer2 will reload every 1ms

'enable interrupts
@   INT_ENABLE   TMR2_INT     ; enable Timer2 interrupts



'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'------------------------------------------------------------------------------
'Main program
'------------------------------------------------------------------------------
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Main:
  PAUSE 60000                 'test if interrupts really occurs
GOTO Main



'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'------------------------------------------------------------------------------
'Timer2 Interrupt handler
'This routine is accessed every 1ms
'------------------------------------------------------------------------------
'++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ToggleLED:
     miliseconds = miliseconds + 1  ' increase miliseconds
     if miliseconds >= 1000 then    ' 1 seconds passed?
       toggle lED                   ' Toggle LED
        miliseconds = 0             ' reset miliseconds
     endif
@ INT_RETURN
Sve radi, samo šteta što je to sve skupa nezgodno riješeno. Sad se igram u PIC simulator IDE pošto najnovija verzija podržava float point brojeve, pa da i to isprobam...

Da se vratim natrag na temu. Ako ti je i dalje potrebna pomoć u svezi zadatka iz prvog posta
Beginner wrote:Dakle Zelim napraviti nazovimo Timer koji se ukljucuje (starta) po dolasku kratkog signala na pin GPIO.5 (Ulaz1), te ukljucuje pin (GPIO.0), drzi pin GPIO.0 ukljucenim 10min, a nakon 10min gasi pin GPIO.0, i ceka ponovno ulazak signala na pin GPIO.5.
slobodno javi, sada nije nikakav problem.
Beginner
Pocetnik na forumu
Pocetnik na forumu
Posts: 26
Joined: 08-01-2011, 12:21

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by Beginner »

Shema:
Attachments
Shema.rar
(12 KiB) Downloaded 271 times
Beginner
Pocetnik na forumu
Pocetnik na forumu
Posts: 26
Joined: 08-01-2011, 12:21

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by Beginner »

Pozdrav,

Vidim da ste malo utihnuli, postao sam ponovo shemu, ima tko ideju ili savjet kako stabilizirati ovaj sklop?
pod stabilizirati mislim na uklanjanje elektromagnetskih smetnjama iz okoline? Program koji cu postati kad ga slozim radi malo triky.... Naime kao da mu smetaju neke smetnje pa kad uleti u petlju ne ukljuci svaki put GP0. Kod je ok, pull up je iskljucen - wpu=0,pullup otpornik je stavljen, ali npr. par puta radi ok i onda kao da se pojave neke smetnje prilikom dolaska signala na GP5, pa jednom ne radi, pa odna radi...i tako...Samo da napomenem nerad je random, i vise radi nego neradi, no nije 100% pouzdano okidanje..... cca 80% radi, 20% kao da ga nesto izvana smeta...

Ima tko kakvu ideju?
User avatar
Kizo
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 387
Joined: 01-11-2009, 22:40
Location: Hrvatska

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by Kizo »

Ovako kako si opisao stvari teško da ti netko može nešto pametno reći.
1. kompletna shema kako si spojio
2. kompletan program
Beginner
Pocetnik na forumu
Pocetnik na forumu
Posts: 26
Joined: 08-01-2011, 12:21

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by Beginner »

Pozdrav Kizo,

Razumijem zasto si mi rekao to, no nema nista posebno kompletna shema je postana iznad u shema.rar i nema nikakve filozofije, kod cu postati, stvar sam za test simplificirao na toglanje leda kada dodje signal na ulazni pin na eksperimentalnoj plocici i jednako se ponasa (kao i kad dodam tajmer), nije stvar u kodu nego u nekakvim smetnjama...

evo primjera radi:

Code: Select all

DEFINE OSC 4 
'****************************************************************
    symbol LED = GPIO.0    ' simbol LED je proglašen kao port gpio.0
    symbol ULAZ = GPIO.5
    
    CMCON = 7 ' iskljuciti analogni komparator
    TRISIO = %00100000  'koji pinovi su ulazni (konkretno niti jedan nije ulazniosim GP.5)
    GPIO = 0
    WPU = %00000000  
   '************************* kalibracija oscilatora *************        
            asm
            bsf     STATUS,RP0          ;' bank 1
            call    3ffH                ;' get the cal value ( podatak zapisan na zadnjoj adresi )
    		movwf   OSCCAL              ;' calibrate
            bcf     STATUS,RP0          ;' bank 0
            endasm
'*************************************************************** 
input GPIO.5
output GPIO.0   ' port 0 je proglašen izlaznim

cekaj:
 'low led
if ULAZ = 1 then
      toggle led
      'if led = 0 then 
      '      high led
      'else
      '      low led
      'endif
endif
goto cekaj 'start      ' vracanje na pocetak

end
User avatar
Kizo
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 387
Joined: 01-11-2009, 22:40
Location: Hrvatska

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by Kizo »

Na toj shemi se ne vidi dosta stvari. Kako je izvedeno napajanje? 10k pull-up na MCLR? 100nF decoupling caps? Što to točno šalje signale u PIC? Što je točno spojeno na izlazu? Postoji li vanjski oscilator ili je unutarnji? Ako da, postoje li na kvarcu ~22pF kondenzatori?

Niti možemo smatrati shemu točnom. Prema njoj je na GP5 spojen 10k pull-down otpornik (zašto?), dok par postova iznad
Beginner wrote:pullup otpornik je stavljen
I zadnje pitanje.
Beginner wrote:...toglanje leda kada dodje signal na ulazni pin na eksperimentalnoj plocici...
Dali je taj ulazni signal trenutno dok ti je sve na exp pločici tipkalo, komadić žice ili nešto treće?

EDIT:
I postani kod ti ima bug.

Code: Select all

cekaj:
if ULAZ = 1 then
      toggle led
endif
goto cekaj 
end
LEDica će vrlo brzo mijenjati stanje sve dokle je GP5 u "1" i kad taj tvoj ulazni signal nestane, zaustavit će se na random vrijednosti.
Beginner
Pocetnik na forumu
Pocetnik na forumu
Posts: 26
Joined: 08-01-2011, 12:21

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by Beginner »

Sori....shvacam....nitko ne prato od pocetka....


Interni oscilator,mclr se uopce ne koristi, chip na ulazu daje 5v +(ima 2 logicna stanja) stanja,
zelim reagirati na logicko stanje 1, znaci kada pusti 5V.... na plocici sam probao i direktno sa zicom i sa prekidacem stvar se jednako ponasa, ispravljac je 5v (zaliven, ne mogu pogledati unutra, no stabiliziran je, sa lm7805, kondenzatorima 2 100uF i jednim 100nf - standardno....

S obzirom da zelim koristiti 5v+ na ulazu ja sam krenuo od principa da moram staviti pull down otpornik da ulaz na picu nebi ima floating stanje, sto se izgleda cesto dogadja kada se koristi pull down otpornik...

izgleda da je mnogo teze spustiti ulaz pica preko pull down otpornika na low nego dignuti ga na high ao sto je opsano ovdje : http://www.electro-tech-online.com/gene ... istor.html" onclick="window.open(this.href);return false;

Pretpostavljam da bih onda ako zelim koristiti + 5v kao ulaz u pic, trebao napraviti tranzistorski inverter i omoguciti interni pull up otpornik u picu, pa bi stvar radila tocnije....


da probam sa invertorom?
Beginner
Pocetnik na forumu
Pocetnik na forumu
Posts: 26
Joined: 08-01-2011, 12:21

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by Beginner »

Da zeznuo sam u kodu sam u kodu...Grrr

1. ovaj pristup dolje radi ali, ulazni signal nesmije trajati dulje od 2 sekunde, jer ako traje dulje zaustavlja se na random vrijednosti.... bas sam budala...:)
cekaj:
if ULAZ = 1 then
toggle led
pause 2000
endif
goto cekaj
end
2. drugi pristup bi bio da koristitim i pomocne varijable koje bi pamtile prijasnje stanje ali opet komplicira stvari,trosi memoriju....

3. i treci pristup pomocu interrupta on bi jedino radio bezgresno, ako se ne varam....

ima li netko 4 pristup? :) ?
User avatar
Kizo
Pravo uznapredovao :)
Pravo uznapredovao :)
Posts: 387
Joined: 01-11-2009, 22:40
Location: Hrvatska

Re: Pic 12F629 Off Timer - Za sve koji zele uciti, i Pomoci

Post by Kizo »

Beginner wrote:S obzirom da zelim koristiti 5v+ na ulazu ja sam krenuo od principa da moram staviti pull down otpornik da ulaz na picu nebi ima floating stanje, sto se izgleda cesto dogadja kada se koristi pull down otpornik...
Nisi shvatio bit čemu pull otpornici služe. Pročitaj ponovno postove Vukbobana sa 1. stranice, te pročitaj dati link sa razumijevanjem. Samo opaska. Ako taj tvoj čips za "1" daje 5V, a za "0" 0V, gdje je tu float stanje, te dali su ti uopće potrebni pull otpornici?
Beginner wrote:ovaj pristup dolje radi ali, ulazni signal nesmije trajati dulje od 2 sekunde, jer ako traje dulje zaustavlja se na random vrijednosti...
Zavisi šta podrazumijevaš pod random. Ako je ulaz u "1" dok si na WCu, kad se vratiš LEDica će biti random, međutim ako gledaš u nju, mjenjat će stanje svake 2 sekunde. Sve zavisi o perspektivi. :wink:
Beginner wrote:ima li netko 4 pristup?
Siguran sam da ćeš ih nekoliko naći ovdje: http://www.elektronika.ba/forum/viewtop ... f=3&t=4249" onclick="window.open(this.href);return false;
Post Reply