radovi forumasa sa ubrzanog kursa pbp

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

Moderators: pedja089, stojke369, [eDo], trax

Post Reply
Amir_Hadzic
Napredujem
Napredujem
Posts: 175
Joined: 07-09-2006, 16:10

Post by Amir_Hadzic »

Evo sad sam stavio i ovaj BUTTON model i opet isto...

UPDATE:
ovako radi...
Prikacena izmijenjena sema.

Code: Select all

TRISB = %10000000       

SYMBOL LED = PORTB.6    
Symbol SW  = PORTB.7  

start:
    LED = ~SW
    PAUSE 1000
    goto start
http://www.elektronika.ba/forum/uploadz ... 9_sema.png

Jel iko zna zasto ovako radi a onako ne radi?
Last edited by Amir_Hadzic on 22-10-2008, 23:03, edited 1 time in total.
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Post by DaTi »

Stavi ovaj kod:

Code: Select all

@ DEVICE pic16f84a,HS_OSC,WDT_OFF,PROTECT_OFF


SYMBOL LED = PORTB.6   
SYMBOL SW  = PORTB.7  

input sw

output led
PORTB = 0
loop:

if sw  = 0 then 
   led = 1 
   else
   led = 0
endif
pause 1000 
goto loop
 end 
i evo faj u proteusu radi provereno.

http://www.elektronika.ba/forum/uploadz ... 1_test.rar
Amir_Hadzic
Napredujem
Napredujem
Posts: 175
Joined: 07-09-2006, 16:10

Post by Amir_Hadzic »

thx na trudu sekundicu sam prije skontao :)
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Post by DaTi »

Sad je i meni zapelo.... uspeo sam prilkjuciti lcd i sad normalno radi ali imam problem kod koda za brojanje koliko je puta taster stisnut ja sam napisao ovaj kod za to

Code: Select all

@ DEVICE pic16f84a,HS_OSC,WDT_OFF,PROTECT_OFF

symbol sw = portb.5
input sw
a var byte

loop:

if sw = 0 then gosub st

pause 100
goto loop

st:
if sw = 1 then a = (a+ 1)
LCDOUT $FE,1,a
return

 end 
i kad sve spojim ispise mi o i sa one 2 tacke iznad njega... dali neko zna de sam pogresio :?: :roll: hvala unapred!
User avatar
Dariolo
Odlično uznapredovao
Odlično uznapredovao
Posts: 822
Joined: 24-08-2006, 23:29
Location: Žepče (BiH), Zagreb (HR)

Post by Dariolo »

mogo si to i vako odradt:

Code: Select all

@ DEVICE pic16f84a,HS_OSC,WDT_OFF,PROTECT_OFF

symbol sw = portb.5
input sw
a var byte
a=0
pause 500
lcdout $fe, 1

loop:
if sw=0 then 
pause 10
a=a+1
lcdout $fe, $80, a
goto loop

end
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Post by DaTi »

hmmm...nerazumem zasto ovaj program neradi kad stisnem taster na lcd mi se neke gluposti ispisuju.... zbog cega to :?: :roll:
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7876
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Post by pedja089 »

fali ti taraba ispred a. ali to ce da ti broji dok je taster stisnut....
iskoristi ovaj primer...

Code: Select all

SYMBOL LED=PORTB.7
SYMBOL TASTER=PORTB.0
OUTPUT LED
INPUT TASTER
NovoStanje var bit
StaroStanje var bit
starostanje = taster ' ovde se uzima pocetno stanje, tj stanje kada je taster pusten  
Pocetak:     
novostanje = taster        'OVDE SE UZIMA TRENUTNO STANJE NA TASTERU
if novostanje<starostanje then ' OVDE SE UPOREDJUJU STANJA. AKO JE TASTER STISNUT TADA JE NOVO STANJE JEDNAKO 0 I SAMIM TIM JE MANJE OD STAROG STANJA
HIGH led                 'PALI LED ovde samo ubaci a=a+1
PAUSE 500                'PAUZA POLA SEKUNDE
LOW LED                  'GASI LED
ENDIF
STAROSTANJE=NOVOSTANJE   'OVAJ RED JE POTREBAN IZ RAZLOGA DA PRI PONOVNOM NAILASKU NA IF PROMENLJIVA NNOVO STANJE NE BI BILA MANJA OD STAROG STANJA. U OVOM SLUCAJU SE IZJEDNACAVAJU. I TAK KADA SE PROMENI STANJE SA 1 NA 0 ONDA CE SE LEDICA UPALITI
GOTO POCETAK   
END
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Post by DaTi »

Pedja svaka cast uspeo sam tako sto sa dodao # ispred :) hvala!
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Re: radovi forumasa sa ubrzanog kursa pbp

Post by DaTi »

Hocu da uradim da prebacim nekoliko bajtova sa kompiutera u pic i odma da ih smestim u eeprom pic i zatim kad prebacim u drugi mod da ih opet posaljem u racunar... napisao sam kod ali neradi u terminalu samo mi neke "hijaroglife" ispisuje. evo koda

Code: Select all

'==================Definisanje======================
@ DEVICE pic16f84a,HS_OSC,WDT_OFF,PROTECT_OFF
define OSC 4 

symbol Pgmode   = PORTB.1

SYMBOL Led1     = PORTB.4
symbol Led2     = PORTB.5
SYMBOL RX       = PORTA.2
SYMBOL TX       = PORTA.3

INPUT  Pgmode
INPUT  RX 
OUTPUT Led1
OUTPUT Led2 

OUTPUT TX

Ulaz var byte[15]
BPS_p con 2
Izlaz var byte[15]

PORTA = 0
PORTB = 0
'==============Pocetak===============
Pocetak:
    if pgmode = 0 then
        gosub Program_mode
    else
        gosub normal_mod
    endif
    
goto pocetak

'==============Program Mod================
Program_mode:
high led1
              
serin rx,bps_p,100,Program_mode,ulaz[1],ulaz[2],ulaz[3],ulaz[4],ulaz[5],ulaz[6],ulaz[7],ulaz[8],ulaz[9],ulaz[10],ulaz[11],ulaz[12],ulaz[13],ulaz[14],ulaz[15]
'Tabela za snimanje primljenih podataka u eeprom pic16f84 od adrese 0 - 14 
write 0,ulaz[1]
write 1,ulaz[2]
write 2,ulaz[3]
write 3,ulaz[4]
write 4,ulaz[5]
write 5,ulaz[6]
write 6,ulaz[7]
write 7,ulaz[8]
write 8,ulaz[9]
write 9,ulaz[10]
write 10,ulaz[11]
write 11,ulaz[12]
write 12,ulaz[13]
write 13,ulaz[14]
write 14,ulaz[15]
pause 100
'trebalo bi da je sve snimljeno :)
serout tx,bps_p,["OK"] 'Posalji OK ako jeste

low led1
goto pocetak
led2 = 1
Normal_mod:
read 0,izlaz[1]
read 1,izlaz[2]
read 2,izlaz[3]
read 3,izlaz[4]
read 4,izlaz[5]
read 5,izlaz[6]
read 6,izlaz[7]
read 7,izlaz[8]
read 8,izlaz[9]
read 9,izlaz[10]
read 10,izlaz[11]
read 11,izlaz[12]
read 12,izlaz[13]
read 13,izlaz[14]
read 14,izlaz[15]

serout tx,bps_p,[izlaz[1],izlaz[2],izlaz[3],izlaz[4],izlaz[5],izlaz[6],izlaz[7],izlaz[8],izlaz[9],izlaz[10],izlaz[11],izlaz[12],izlaz[13],izlaz[14],izlaz[15]]

 pause 1000
goto pocetak
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7876
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: radovi forumasa sa ubrzanog kursa pbp

Post by pedja089 »

trebalo bi da radi...
procitaj sa programatorom sadrzaj eeproma pa vidi da li je dobro upisao. pa ces znati da li ti pravi gresku pri citanju ili upisivanju...
mada ja taj eeprom nikad ne koristim. uvek koristim neki i2c
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Re: radovi forumasa sa ubrzanog kursa pbp

Post by DaTi »

Pogledao sam... Upisuje neke gluposti u eeprom nemaju veze sa vezom. Moracu da stavim jedan 24c34 :?
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7876
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: radovi forumasa sa ubrzanog kursa pbp

Post by pedja089 »

dovoljan ti je i 24c01...
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Re: radovi forumasa sa ubrzanog kursa pbp

Post by DaTi »

Spojio sam 24c64 (posto nemam drugi) kad mi je u normalnom modu opet mi salje gluposti, dodju mi podaci u pic snimi ih u eprom i ugasi lampicu sto bi znacilo da je snimio i ide u normalni mod, ali onda mi opet salje neka sra*** nemam vise ideja u cemu bi mogao biti problem :evil:

Code: Select all

'==================Definisanje======================
@ DEVICE pic16f84a,HS_OSC,WDT_OFF,PROTECT_OFF
define OSC 4 
DEFINE I2C_SLOW 1

symbol Pgmode   = PORTB.1
SYMBOL Relej    = PORTB.3
SYMBOL Led1     = PORTB.4
symbol Led2     = PORTB.5
SYMBOL RX       = PORTA.2
SYMBOL TX       = PORTA.3
symbol SDA = PORTA.1
SYMBOL SCL = PORTA.0

INPUT  Pgmode
INPUT  RX 
OUTPUT Led1
OUTPUT Led2 
OUTPUT Relej
OUTPUT TX



Ulaz var byte[15]
BPS_p con 0
Izlaz var byte[15]

PORTA = 0
PORTB = 0
'==============Pocetak===============
Pocetak:
    if pgmode = 0 then
        gosub Program_mode
    else
        gosub normal_mod
    endif
    
goto pocetak

'==============Program Mod================
Program_mode:
pause 100
high led1
                   '+   3       8       1       6       4       3       5       5           5       0       0           5
serin rx,bps_p,100,Program_mode,ulaz[1],ulaz[2],ulaz[3],ulaz[4],ulaz[5],ulaz[6],ulaz[7],ulaz[8],ulaz[9],ulaz[10],ulaz[11],ulaz[12],ulaz[13],ulaz[14],ulaz[15]
'Tabela za snimanje primljenih podataka u eeprom pic16f84 od adrese 0 - 14 
i2cwrite SDA,Scl,$a0,0, [ulaz[1],ulaz[2],ulaz[3],ulaz[4],ulaz[5],ulaz[6],ulaz[7],ulaz[8],ulaz[9],ulaz[10],ulaz[11],ulaz[12],ulaz[13],ulaz[14],ulaz[15]] 


'trebalo bi da je sve snimljeno :)
serout tx,bps_p,["OK"] 'Posalji OK ako jeste

low led1

goto pocetak

Normal_mod:
led2 = 1
pause 100
i2cread sda,scl,$a0,0,izlaz[1],izlaz[2],izlaz[3],izlaz[4],izlaz[5],izlaz[6],izlaz[7],izlaz[8],izlaz[9],izlaz[10],izlaz[11],izlaz[12],izlaz[13],izlaz[14],izlaz[15]


serout tx,bps_p,[izlaz[1],izlaz[2],izlaz[3],izlaz[4],izlaz[5],izlaz[6],izlaz[7],izlaz[8],izlaz[9],izlaz[10],izlaz[11],izlaz[12],izlaz[13],izlaz[14],izlaz[15]]

 pause 1000
 led2 = 0
goto pocetak 
end    
   
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7876
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: radovi forumasa sa ubrzanog kursa pbp

Post by pedja089 »

vidi jel ti max radi kako treba. pogledaj sta ti snimi u eeprom.
jel ti je dobra brzina prenosa?
ne znam ovako napamet sta bi moglo biti...
a mozda te samo i protobord zeza...
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Re: radovi forumasa sa ubrzanog kursa pbp

Post by DaTi »

Nez nisam pametan izgleda da me opet zeza max232 :twisted: :twisted: :twisted: aaa smacu se!
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7876
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: radovi forumasa sa ubrzanog kursa pbp

Post by pedja089 »

Code: Select all

:
:
:
[izlaz[1]="a"
izlaz[2]="g"
izlaz[3]="f"
izlaz[4]="f"
izlaz[5]="d"
:
:
izlaz[15]="s"
serout tx,bps_p,[izlaz[1],izlaz[2],izlaz[3],izlaz[4],izlaz[5],izlaz[6],izlaz[7],izlaz[8],izlaz[9],izlaz[10],izlaz[11],izlaz[12],izlaz[13],izlaz[14],izlaz[15]]
sa ovim testiraj da li ti radi max....
treba da ti izadje samo niz slova jedan za drugim
User avatar
DaTi
Odlično uznapredovao
Odlično uznapredovao
Posts: 730
Joined: 10-06-2007, 13:24
Location: Novi Sad - Srbija
Contact:

Re: radovi forumasa sa ubrzanog kursa pbp

Post by DaTi »

Neznam sta mu je.... ili nesto nije uredu sa pic ili seriskim portom... kad neradi
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7876
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: radovi forumasa sa ubrzanog kursa pbp

Post by pedja089 »

prespoji pinove 2 i 3 jumperom na seriskom portu. i treba da ti primi ono sto posaljes. probaj koristiti drugi program, npr imas onaj seriski komunikator u folderu od microcode studio.
u njemu namesti brzinu na 2400, 8 bita, 1 stop bit i trebalo bi da radi...
User avatar
race king
Pravo sam se raspisao :)
Pravo sam se raspisao :)
Posts: 1098
Joined: 11-05-2008, 19:09
Location: Hrvatska, Osijek

Re: radovi forumasa sa ubrzanog kursa pbp

Post by race king »

moj prvi program koji na led display ispise "HELLO"

Code: Select all

    
          
        TRISB = 0               ' Svi pinovi porta B su izlaz     
    pocetak:
        PORTB = %10001001       ' H
        PAUSE 1000              ' sacekaj 1 sec
        PORTB = %10000110       ' E
        PAUSE 1000              ' sacekaj 1 sec
        PORTB = %11000111       ' L
        PAUSE 1000              ' sacekaj 1 sec
        PORTB = %11111111       ' Mala pauza izmedju dva slova L
        PAUSE 50                ' sacekaj pola sec
        PORTB = %11000111       ' L
        PAUSE 1000              ' sacekaj 1 sec
        PORTB = %11000000       ' O
        PAUSE 1000              ' sacekaj 5 sec
        PORTB = %11111111 
        PAUSE 2000  
         GOTO POCETAK           ' ponovno ispisi hello
    END
   
ak sta nevalja ili sam nesto izostavio ispravite me

shema:
http://www.elektronika.ba/forum/uploadz ... disp_l.gif" onclick="window.open(this.href);return false;
Dvije ploče jedan izolator,mala moja to je KONDENZATOR...
User avatar
pedja089
Administrator sajta
Administrator sajta
Posts: 7876
Joined: 20-02-2007, 14:50
Location: Beočin -Srbija

Re: radovi forumasa sa ubrzanog kursa pbp

Post by pedja089 »

super, meni se cini da je ok
mozes smanjiti pauzu pa staviti displej na motor i onda mozes pisati text po vazduhu :wink:
Post Reply