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

Molim pomoc oko pic 12f683 i shift registra

[es] :: Elektronika :: Mikrokontroleri :: Molim pomoc oko pic 12f683 i shift registra

[ Pregleda: 2872 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

alarmi ns
Novi Sad

Član broj: 326042
Poruke: 291
*.dynamic.sbb.rs.



+2 Profil

icon Molim pomoc oko pic 12f683 i shift registra09.11.2014. u 22:21 - pre 114 meseci
Molio bi za malu pomoc treba da napravim uredjaj koi ce zamenjivati sesmaist tasterta u simlaciji moja ideja radi super al na uredjaju nece moja zamisao je da pic 12f683 gura u dva shift registra 74hc595 i nakon toga da ide na draiver,kad uredjaju dam napon ledice vezane za izlazne pinove samo blicnu,program kucam u pbp evo koda molim vas nek mi neko kaze gde gresim
Code:
#CONFIG 
     __CONFIG  _INTRC_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_OFF  & _BOD_OFF & _CP_OFF & _PWRTE_ON
    #ENDCONFIG
    DEFINE OSC 4
  Include "modedefs.bas"  ' Pozivanje moda sift registra

'-------------------------- PDESAVANJA -------------------------------
    
    ANSEL = $30
    WPU = $37
    
    CMCON0 = 7                ' Analog comparators off

    TRISIO = %111000          '5-ULAZ
 
 '---------------------- definicije sift recistra-----------------------  
      
 gore var GPIO.4
 dole var GPIO.5 
 stanje var GPIO.3
 INPUT stanje
   'DEFINICIJA PINOVA ZA SIFT REGISTER
'***************************************************   
DataPin var     GPIO.0         ' Shift data pin 0  *
ClkPin  var     GPIO.1         ' Shift clock pin 1 *
Strobe  var     GPIO.2   'PUSTA BBOJ KROZ REGISTAR *
'***************************************************

Strobe = 0

x var word
y var word
x1  var word
y1 var word

x1=0
y1=0
x = 0  'GORE 
y = 0  'DOLE
I VAR BYTE

PAUSE 500
pocetak:
'**************PODIZE**************************

if stanje=0 then podize
if stanje=1 then spusta

podize:
y=0
DO while gore = 1 
loop



do while gore = 0 
loop

x=1
CALL IZLAZ
for i = 1 to 7
x=x*2
call izlaz 
next i
'*************SPUSTA***************
spusta:

x=0
do while dole = 1 
loop


do while gore = 0
loop
y=1
call izlaz


for i = 1 to 7
y=y*2
call izlaz
next i
goto podize
'*********************************************





izlaz:
x1=x
y1=y

Shiftout DataPin, ClkPin, MSBFIRST,[Y1,X1]'PRVI BROJ JE ZADNJI SHIFT REGISTAR 
Pulsout Strobe,10
pause 500
'*****************STAVLJA GA NA NULU*******************

X1=0
Y1=0 
Shiftout DataPin, ClkPin, MSBFIRST,[Y1,X1]'PRVI BROJ JE ZADNJI SHIFT REGISTAR 
Pulsout Strobe,10
pause 500


return        
End 
   
      


[Ovu poruku je menjao alarmi ns dana 09.11.2014. u 23:35 GMT+1]

[Ovu poruku je menjao alarmi ns dana 10.11.2014. u 00:59 GMT+1]
Prikačeni fajlovi
 
Odgovor na temu

alarmi ns
Novi Sad

Član broj: 326042
Poruke: 291
*.dynamic.sbb.rs.



+2 Profil

icon Re: Molim pomoc oko pic 12f683 i shift registra09.11.2014. u 22:26 - pre 114 meseci
Probao sam cak i sa osiliskopon da gledam na data pinu nema nikakvih impulsa
 
Odgovor na temu

alarmi ns
Novi Sad

Član broj: 326042
Poruke: 291
*.dynamic.sbb.rs.



+2 Profil

icon Re: Molim pomoc oko pic 12f683 i shift registra10.11.2014. u 10:28 - pre 114 meseci
Sad sam napisao program koji ce paliti dve ledice preko shift registra ni ovo na masini neradi,u simulatoru radi moze li mi neko reci gde gresim
Code:
#CONFIG 
     __CONFIG  _INTRC_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_OFF  & _BOD_OFF & _CP_OFF & _PWRTE_ON
    #ENDCONFIG
    DEFINE OSC 4
  Include "modedefs.bas"  ' Pozivanje moda sift registra
 'DEFINE SHIFT_PAUSEUS 1000
'-------------------------- PDESAVANJA -------------------------------
    
    ANSEL = $30
    WPU = $37
    
    CMCON0 = 7                ' Analog comparators off

    TRISIO = %111000          '5-ULAZ
 
 '---------------------- definicije sift recistra-----------------------  
      
 gore var GPIO.4
 dole var GPIO.5 
 stanje var GPIO.3
 INPUT stanje
   'DEFINICIJA PINOVA ZA SIFT REGISTER
'***************************************************   
DataPin var     GPIO.0         ' Shift data pin 0  *
ClkPin  var     GPIO.1         ' Shift clock pin 1 *
Strobe  var     GPIO.2   'PUSTA BBOJ KROZ REGISTAR *
'***************************************************

Strobe = 0

x var byte
y var byte
x1  var byte
y1 var byte

x1=0
y1=0
x = 0  'GORE 
y = 0  'DOLE
I VAR BYTE

'PAUSE 500

 izlaz:
do
x1=1
y1=1


Shiftout DataPin, ClkPin, MSBFIRST,[Y1,X1]'PRVI BROJ JE ZADNJI SHIFT REGISTAR 
Pulsout Strobe,10
pause 500
'*****************STAVLJA GA NA NULU*******************

X1=0
Y1=0 
Shiftout DataPin, ClkPin, MSBFIRST,[Y1,X1]'PRVI BROJ JE ZADNJI SHIFT REGISTAR 
Pulsout Strobe,10
pause 500

  loop


 
Odgovor na temu

ZAS011
Uzgajivač šargarepe izakuće
Vanuatu

Član broj: 288510
Poruke: 4542

ICQ: 8713400
Sajt: www.justfuckinggoogleit.c..


+529 Profil

icon Re: Molim pomoc oko pic 12f683 i shift registra10.11.2014. u 17:29 - pre 114 meseci
A gde ti je Output Enable?
--
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.
 
Odgovor na temu

alarmi ns
Novi Sad

Član broj: 326042
Poruke: 291
*.dynamic.sbb.rs.



+2 Profil

icon Re: Molim pomoc oko pic 12f683 i shift registra10.11.2014. u 18:21 - pre 114 meseci
Hvala zaso mozes mi molim te reci tacno kako to da dodam codu
 
Odgovor na temu

goran_68

Član broj: 89012
Poruke: 932
*.dynamic.isp.telekom.rs.



+81 Profil

icon Re: Molim pomoc oko pic 12f683 i shift registra11.11.2014. u 07:37 - pre 114 meseci
Treba prvo da proveriš da li tvoj PIC uopšte nešto radi sa postavkama u konfiguraciji koju si odabrao. Predlažem ti da napišeš najobičniji program koji će ti u petlji, podizati na jedan i spuštati na nulu naponski nivo na data pinu. Pošto imaš osciloskop videćeš da li PIC radi bar nešto. Nakon toga možeš dalje.
gorankg
 
Odgovor na temu

alarmi ns
Novi Sad

Član broj: 326042
Poruke: 291
*.dynamic.sbb.rs.



+2 Profil

icon Re: Molim pomoc oko pic 12f683 i shift registra11.11.2014. u 08:59 - pre 114 meseci
radi sa ovim postavkama pali gasi led,cita stanje tastera sve radi sem shift registra a ploca je dobra napisao mi je drugar tesst cod u protonu koji radi,znaci greska je u mom kodu
 
Odgovor na temu

alarmi ns
Novi Sad

Član broj: 326042
Poruke: 291
*.dynamic.sbb.rs.



+2 Profil

icon Re: Molim pomoc oko pic 12f683 i shift registra11.11.2014. u 23:56 - pre 114 meseci
Zahvaljujem se svima na pomoci resio sam svoj problem
 
Odgovor na temu

ZAS011
Uzgajivač šargarepe izakuće
Vanuatu

Član broj: 288510
Poruke: 4542

ICQ: 8713400
Sajt: www.justfuckinggoogleit.c..


+529 Profil

icon Re: Molim pomoc oko pic 12f683 i shift registra12.11.2014. u 17:21 - pre 114 meseci
Bio bi red da napišeš i gde si pogrešio, barem da drugi početnici ne naprave istu grešku.
--
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.
 
Odgovor na temu

alarmi ns
Novi Sad

Član broj: 326042
Poruke: 291
*.dynamic.sbb.rs.



+2 Profil

icon Re: Molim pomoc oko pic 12f683 i shift registra12.11.2014. u 23:45 - pre 114 meseci
Izvinjavan se u konfiguraciji je bio problem evo koda koji radi:
Code:
#CONFIG 
     __CONFIG  _INTRC_OSC_NOCLKOUT & _WDT_OFF & _MCLRE_OFF  & _BOD_OFF & _CP_OFF & _PWRTE_ON
 #ENDCONFIG
 DEFINE OSC 8
' Include "modedefs.bas"            ' Pozivanje moda sift registra
' Shiftout Modes
Symbol LSBFIRST = 0     ' LSB first
Symbol MSBFIRST = 1     ' MSB first
DEFINE SHIFT_PAUSEUS 100
'-------------------------- PDESAVANJA --------------
        ANSEL = 0        ' Set all digital
        CMCON0 = 7       ' Analog comparators off
        WPU = 0 '??????????
     TRISIO     = %00111000  ' TRISIO     = %111000     '012-Izlaz 345 Ulaz
        OPTION_REG = %11000000
'        ANSEL      = %00000000     ' select all digital
        OSCCON     = %01110101     ' 8Mhz
'        CMCON0     = %00000111     ' disable comparator
      
 
 
 
 
 
 gore var GPIO.4
 dole var GPIO.5 
 stanje var GPIO.3
 INPUT stanje
   'DEFINICIJA PINOVA ZA SIFT REGISTER
'***************************************************   
DataPin var     GPIO.0         ' Shift data pin 0  *
ClkPin  var     GPIO.1         ' Shift clock pin 1 *
Strobe  var     GPIO.2   'PUSTA BBOJ KROZ REGISTAR *
'***************************************************

Strobe = 0

x var byte
y var byte
x1  var byte
y1 var byte

x1=0
y1=0
x = 0  'GORE 
y = 0  'DOLE
I VAR BYTE

Shiftout DataPin, ClkPin, MSBFIRST,[Y1,X1]'PRVI BROJ JE ZADNJI SHIFT REGISTAR 
Pulsout Strobe,10

;PAUSE 500
pocetak:
'**************PODIZE**************************

if stanje=0 then goto podize
if stanje=1 then goto spusta

podize:
y=0
DO while gore = 1 

'*****************STAVLJA GA NA NULU*******************
X1=0
Y1=0 
Shiftout DataPin, ClkPin, MSBFIRST,[Y1,X1]'PRVI BROJ JE ZADNJI SHIFT REGISTAR 
Pulsout Strobe,10
'************************************************************
loop



do while gore = 0 
'*****************STAVLJA GA NA NULU*******************
X1=0
Y1=0 
Shiftout DataPin, ClkPin, MSBFIRST,[Y1,X1]'PRVI BROJ JE ZADNJI SHIFT REGISTAR 
Pulsout Strobe,10
'************************************************************

loop

x=1
gosub IZLAZ
for i = 1 to 7
x=x*2
gosub izlaz 
next i
'*************SPUSTA***************
spusta:

x=0
do while dole = 1 
'*****************STAVLJA GA NA NULU*******************
X1=0
Y1=0 
Shiftout DataPin, ClkPin, MSBFIRST,[Y1,X1]'PRVI BROJ JE ZADNJI SHIFT REGISTAR 
Pulsout Strobe,10
'************************************************************

loop


do while gore = 0
'*****************STAVLJA GA NA NULU*******************
X1=0
Y1=0 
Shiftout DataPin, ClkPin, MSBFIRST,[Y1,X1]'PRVI BROJ JE ZADNJI SHIFT REGISTAR 
Pulsout Strobe,10
'************************************************************
loop
y=1
gosub izlaz


for i = 1 to 7
y=y*2
gosub izlaz
next i
goto podize
'*********************************************





izlaz:
x1=x
y1=y

Shiftout DataPin, ClkPin, MSBFIRST,[Y1,X1]'PRVI BROJ JE ZADNJI SHIFT REGISTAR 
Pulsout Strobe,10
'pause 500
'***************PODESAVANJE PAUZA************************
'X1-GORNJI RED
'Y DONJI RED
IF X1 = 1 THEN PAUSE 1000 'pin J8
if x1 = 2 then pause 1000  'PIN J7
IF X1 = 4 THEN PAUSE 2000  'PIN J6
if x1 = 8 then pause 4000   'PIN J5
if x1 = 16 then pause 2000   'PIN J4
if x1 = 32 then pause 2000   'PIN J3
if x1 = 64 then pause 2000    'PIN J2
if x1 = 128 then pause 2000   'PIN J1



if y1 = 1 then pause 2000     'PIN J16
IF Y1 = 2 THEN pause 2000      'PIN 15
if y1 = 4 then pause 2000      'PIN 14
if y1 = 8 then pause 2000      'PIN 13
if y1 = 16 then pause 2000     'PIN 12
if y1 = 32 then pause 2000     'PIN 11
IF Y1 = 64 then pause 2000     'PIN 10
if y1 = 128 then pause 1000    'PIN 9




'*****************STAVLJA GA NA NULU*******************
X1=0
Y1=0 
Shiftout DataPin, ClkPin, MSBFIRST,[Y1,X1]'PRVI BROJ JE ZADNJI SHIFT REGISTAR 
Pulsout Strobe,10
'************************************************************
pause 500


return        
End
 
Odgovor na temu

[es] :: Elektronika :: Mikrokontroleri :: Molim pomoc oko pic 12f683 i shift registra

[ Pregleda: 2872 | Odgovora: 9 ] > FB > Twit

Postavi temu Odgovori

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