Beste mensen,

Ik ben weer wat aan het stoeien met mijn crownhill paketje, maar na eel geklungel vandaag kom ik er maar niet achter hoe ik in vredes naam mijn 74HC595 schuifregistes aan het werken krijg in PIC Basic.

Ik heb al 100 maal de instelligen van de 595 bekeken maar die zijn allemaal goed. Ik denk dat de fout in de code zit. Zou iemand misschien een stukje kunnen plaatesen zodat ik kan kijken of ik het werkend krijg ?

ik gebruik dit stuk code en bij mij werkt het:


dim waarde as byte

Symbol ShiftClk = PORTB.5
Symbol ShiftData = PORTB.6
Symbol ShiftOpslag = PORTB.7

waarde = 255

SHOut ShiftData, ShiftClk, msbfirst,[waarde]
High ShiftOpslag
DelayMS 5
Low ShiftOpslag

Ik zal het straks een proberen.

Maar hoe zit het precies met de waarde ?

in de manual staat dat nogal vaag beschreven

Hiermee is het mij ook gelukt:

Op 29 oktober 2005 22:01:11 schreef Frits Kieftenbelt:
De 74HC595 stuur je aan met de instructie SHOUT.
De syntax is:
SHOUT Dpin, Cpin, Mode, [MijnData]

Nou het is duidelijk voor Dpin geef je de PORT op waaraan je de datapin van de 74HC595 hebt aangesloten.
Voor Cpin hetzelfde maar dan voor de clock.

Dan Mode, daarvoor moet je LSBFIRST invullen.

De latch (die derde pin die je bedoelt) moet je zelf schakelen.

Dus je krijgt in totaal zoiets:
SHOUT PORTA.0, PORTA.1, LSBFIRST, [%00110001]
PORTA.2 = ON
DELAYMS 1
PORTA.2 = OFF

Je schuift met SHOUT het register vol.
Dan geef je een puls op de latch (op PORTA.2 in dit voorbeeld).
In het register komt nu de 8 bits waarde %00110001 op de uitgangen van de HC595.

Meer waarden kun je er in schuiven (als je meerder 74HC595 in cascade (serie) hebt geschakeld) door dit uit te breiden en door komma's te scheiden.

Let ook op dat de chip enable (CE) en de reset pinnen van de 74HC595 goed zijn aangesloten (hoog of laag).

MSB/LSB bepaald of de eerste of laatste bit eerst wordt verzonden;).