• 25 odgovora
  • 5.702 pregleda
Sift regiter i pic 14.01.2013. u 16:26 · pre 167 meseci #1
Pozdrav svima dali mi neko moze pojasniti nemogu se snaci nigde kako se definise sift register 74hc595 ali dve ili tri jedan za trugim znaci da register bude 14 ili 21 bit povezan sa picom recimo 16f877 u micro codu.
Re: Sift regiter i pic 14.01.2013. u 17:50 · pre 167 meseci #2
Ja cu ti pomoci ali samo pod jednim uslovom, da potrosis vise od 20s na objasnjenje problema koji imas. Iz onoga sto si napisao stvarno ne mogu da zakljucim sta ti je problem. Aj lepo pojasni pa cemo ga resiti.
Pozz. M.
Re: Sift regiter i pic 14.01.2013. u 19:11 · pre 167 meseci #3
Znaci hocu da uradim nesto sa dva sift registra pic 16f877 solidno poznajem ali on ima 8 bitova a meni trrema 16bitova od jednom znaci zamislio sam da povcezem tri sift registra 74hc595 ali ne znam kako definisati u programu da su oni vezani recimo na porta,a njih bi vezivao izlaz sa jednog na ulaz drugog ,onda bi dobio 18 bitova,e sad mene zanima kako se pusi kroz njih i kako se definise u programu.Nadam se da sam uspeo da objasnim,unapred hvala
Jos ovo da dodam kako sam zamislio primer
za porta
kad napisem porta=255
port a je ceo upaljen,a kako da upravljam shift registrom koji je vezan za port a
i sta treba definisati da je sift registar vezan za pic
u pbp-ovom micro codu kucam
Re: Sift regiter i pic 14.01.2013. u 19:23 · pre 167 meseci #4
Sledeće što MORAŠ da uradiš je da pročitaš datasheet za HC595, imaš ga u prilogu, i da proučiš kako radi.
Inače u PBP imaš naredbu SHIFTOUT.
Kada sve ovo pročitaš, sve će ti biti mnogo jasnije.
Ako i dalje budeš imao problema, potrudićemo se da ti pomognemo, savetima, podrazumeva se.
Potpis
--
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.
Re: Sift regiter i pic 14.01.2013. u 19:32 · pre 167 meseci #5
Zaso011 tu nastaje moj veliki problem slab sam sa engleskim,meni trebaju svi izvazi na sift registru da budu izlazni ako nije problem zamolio bi samo neko da mi objasni sta definisem.
a sto se izlaza tice jer ovako:

a var word
a=1024
shiftout a
jer mogu tako upravljati sa njim?
Re: Sift regiter i pic 14.01.2013. u 19:42 · pre 167 meseci #6
Eeee, ondak i Engleski da naučiš. U poslednjih 10-ak godina, nema (l)elektronike bez tog jezika, a naše govorno područje nije interesantno ni jednom proizvođaču za pisanje datasheet-ova.

BTW, pigledaj u Help sintaksu SHIFTOUT naredbe.
Potpis
--
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.
Re: Sift regiter i pic 14.01.2013. u 20:11 · pre 167 meseci #8
seme dali mi mozes dati primer i objasniti mi kako se sta definise

[Ovu poruku je menjao milan888 dana 14.01.2013. u 21:33 GMT+1]
Re: Sift regiter i pic 14.01.2013. u 20:40 · pre 167 meseci #9
Sintaksa:
SHIFTOUT DataPin, ClockPin, Mode, [Var(\Bits)...]

Ovo je iz Help-a. Jasnije?
Potpis
--
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.
Re: Sift regiter i pic 14.01.2013. u 20:53 · pre 167 meseci #10
nasao sam neku knigu io njemu moigu iskenirati ako treba nekom
znaci defionisem :
defain data porta.0
defain clock potra.1
defain latch porta.2
jesam u prqavu za ovo? e sad pomeni posto je a.0 data port kroz njega se pusta
port a.0=%1111111
JESAM UPRAVU?
Re: Sift regiter i pic 14.01.2013. u 20:58 · pre 167 meseci #11
ovo neprolazi compailer na data stane:
Code:
DEFINE OSC 4
adcon1 = 7
trisc=%0000000
portc=%0000000
define data portc.0
define clock portc.1
define latch portc.2
Re: Sift regiter i pic 14.01.2013. u 21:08 · pre 167 meseci #12
Ukratko ovako nešto :
Code:


DEFINE OSC 4

Include "modedefs.bas"  ' Include shift modes

DataPin var     PORTC.0         ' Shift data pin 0
ClkPin  var     PORTC.1         ' Shift clock pin 1
Strobe  var     PORTC.2

ShiftVar    var     word

ADCON1 = 7
TRISC = %00000000
PORTC = %00000000

Strobe = 0 'nije obavezno jer si postavio 0 sa PORTC =...

ShiftVar = 3105

Shiftout DataPin, ClkPin, MSBFIRST,[ShiftVar\16]
Pulsout Strobe,10
        
End



Kao što su ti rekli pogledaj u help-u naredbu SHIFTOUT (ovde prevedeno zahvaljujući g. Siniši.)
Mada je primer lepo objasnjava...

Pozdrav
Re: Sift regiter i pic 14.01.2013. u 21:17 · pre 167 meseci #13
sve jasno sem ovog na kraju:

Shiftout DataPin, ClkPin, MSBFIRST,[ShiftVar\16]
Pulsout Strobe,10
i Strobe to je broj koji ide kroz registar?

[Ovu poruku je menjao milan888 dana 14.01.2013. u 22:29 GMT+1]
Re: Sift regiter i pic 14.01.2013. u 21:30 · pre 167 meseci #14
genije jer mi mozes iskomentarisati kod molim te?samo da budem siguran jesam dobro shvatio
Re: Sift regiter i pic 14.01.2013. u 21:37 · pre 167 meseci #15
Pa to je ono što tebi treba. Serijsko "slanje" promenljive ShiftVar preko Data i Clk pina...SHIFTOUT "šalje" bit po bit promenljive ShiftVar na svaku promenu clk...

Pulsout Strobe,10 - samo postavi PORTC.2 na logičku 1 , sačeka 10ms i vrati na 0 odnosto prosledi sadržaj regista 595-ce na izlaz

Re: Sift regiter i pic 14.01.2013. u 22:17 · pre 167 meseci #16
Potpis
--
Make no mistake between my personality and my attitude.
My personality is who I am.
My attitude depends on who you are.
Re: Sift regiter i pic 14.01.2013. u 22:19 · pre 167 meseci #17
E hvala genije da to lepo radi sitra ci da probam da docrtam jos jedan sift registear i da ga definisem na drugom portu,pa javim sta sam uradio.Pozdrav svima
Re: Sift regiter i pic 14.01.2013. u 22:26 · pre 167 meseci #18
Shiftout DataPin, ClkPin, MSBFIRST,[ShiftVar\16]
Pulsout Strobe,10

genije dali mi mozes samo objasniti ova dva reda posto cu vezati i na port a dva sift registra a ova dva zadnja reda mi nisu jasna.Hvala puno zaso011 e ti lupas u drvenu a ja cu lupiti u betonsku banderru,a razumi me pocetnik sam.
Re: Sift regiter i pic 14.01.2013. u 22:48 · pre 167 meseci #19
gde gresim dodao sam jos jedan sift registar i uvecao Broj za tolko da predje jedan pin na treci broj i on izbaci grecku
Code:
DEFINE OSC 4
adcon1 = 7 
trisc=%0000000
portc=%0000000


Include "modedefs.bas"  ' Include shift modes

DataPin var     PORTC.0         ' Shift data pin 2
ClkPin  var     PORTC.1         ' Shift clock pin 2
Strobe  var     PORTC.2

ShiftVar    var   word

ADCON1 = 7
TRISC = %00000000
PORTC = %00000000

Strobe = 0 'nije obavezno jer si postavio 0 sa PORTC =...

ShiftVar =131071        'OVDE IZBACI GRESKU
Shiftout DataPin, ClkPin, MSBFIRST,[ShiftVar\24]
Pulsout Strobe,10
        
End
Re: Sift regiter i pic 14.01.2013. u 22:57 · pre 167 meseci #20
Shiftout DataPin, ClkPin, MSBFIRST,[ShiftVar\16]

DataPin - Izlaz uC na koji povezuješ DS pin od hc595 (u primeru je to PORTC.0 )
ClkPin - Izlaz uC na koji povezuješ SH_CP pin od hc595 (u primeru je to PORTC.1 )
MSBFIRST - prvo šalje "most significant bit"
ShiftVar - Promenljiva koju želiš da postaviš na izlaz od hc595
\16 - broj bita koji želiš da pošalješ. u ovom slučaju je to 16 (tj celu promenljivu tipa word (16bita))

Pulsout Strobe,10

Strobe - pin uC na koji povezuješ ST_CP pin od hc595 (u primeru je to PORTC.2)
10 - vreme koliko će na Strobe izlazu (PORTC.2)biti logička 1. u primeru 10ms. Kada pošalješ vrednos sa shiftout , da bi se pojavila na izlazu hc595 moraš da odradiš tranziciju sa nule na jedinicu na pinu ST_CP. za to služi ova naredba. isto ifekat bi bio da si pisao sledeće

Code:

 PORTC.2 = 1
 pause 10
 PORTC.2 = 0


Nema potrebe da angažuješ nove pinove uC kada možeš da povežeš još dva hc595 na vec postojece (ili još 4,5,6...)

EDIT: Grešiš u tome što je promenljiva ShiftVar tipa word a to znači max 16 bita.
131071 je 1FFFF heksadecimalno. da bi to poslao moraš da podeliš na dve promenljive

Code:

ShiftVarLow16 = $FFFF 'naravno pre toga definišeš ShiftVarLow16 i ShiftVarHi16 kao word
ShiftVarHi16 = $0001
Shiftout DataPin, ClkPin, MSBFIRST,[ShiftVarHi16\8]' 8 jer si dodao samo jedan hc595
Shiftout DataPin, ClkPin, MSBFIRST,[ShiftVarLow16\16] 
Pulsout Strobe,10


[Ovu poruku je menjao Genie_1984 dana 15.01.2013. u 00:07 GMT+1]
Odgovori
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme