Momenteel ben ik bezig met wat testjes om i/o uit te bereiden op een pic. ik maak hier gebruik van een 74hc595 voor de uitgangen en de 74hc165 voor de ingangen.
mijn eerste testcode was:

Het aansturen gaat goed alleen probeer ik nog even de logica van de adressering duidelijk te krijgen.

Het probleem is dat bij het inschakelen van de voedingsspanning alle uitgangen van beide 74hc595 heel even hoog worden.

Weet iemand hoe dit te voorkomen is??
Alvast bedankt.

DEVICE 16F628A CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_OFF
ALL_DIGITAL TRUE
PORTB_PULLUPS off
CLEAR

SYMBOL datapin = PORTA.1
SYMBOL clockpin = PORTA.0
SYMBOL latchpin = PORTA.2

;Hoofdprogramma
SHOUT datapin, clockpin, LSBFIRST, [0,0]
PULSOUT latchpin,1
DELAYMS 1000

loop:
SHOUT datapin, clockpin, LSBFIRST, [1,1]
PULSOUT latchpin,1
DELAYMS 1000
SHOUT datapin, clockpin, LSBFIRST, [2,2]
PULSOUT latchpin,1
DELAYMS 1000
SHOUT datapin, clockpin, LSBFIRST, [4,4]
PULSOUT latchpin,1
DELAYMS 1000
SHOUT datapin, clockpin, LSBFIRST, [8,8]
PULSOUT latchpin,1
DELAYMS 1000
SHOUT datapin, clockpin, LSBFIRST, [16,16]
PULSOUT latchpin,1
DELAYMS 1000
SHOUT datapin, clockpin, LSBFIRST, [32,32]
PULSOUT latchpin,1
DELAYMS 1000
SHOUT datapin, clockpin, LSBFIRST, [64,64]
PULSOUT latchpin,1
DELAYMS 1000
SHOUT datapin, clockpin, LSBFIRST, [128,128]
PULSOUT latchpin,1
DELAYMS 1000
GOTO loop

END

ik maak hier gebruik van een 74hc595 voor de uitgangen en de 74hc165 voor de ingangen.
mijn eerste testcode was:

Het probleem is dat bij het inschakelen van de voedingsspanning alle uitgangen van beide 74hc595 heel even hoog worden.

Weet iemand hoe dit te voorkomen is??

Ja. Dan moet je de OE (output enable, of een van die pinnen, kan ook MR zijn) ingangen aan een i/o hangen met een pullup weerstand 10k.
De controller's i/o's zijn in de reset hi-Z als het goed is, dus die 10k trekt em altijd omhoog. En daarna neemt de software het over.

[Bericht gewijzigd door RES op ]

De 74HC595 heeft een actief-lage Master Reset pin (pin 10). Als je die niet met je pic aanstuurt, kan je een weerstand (100k) tussen de pin en Vcc plaatsen, en een condensator (100n) tussen de pin en GND. Daarmee wordt het schuifregister gereset. Een klokpuls op pin 12 maakt vervolgens alle uitgangen 0.
Als dat niet voldoende is (omdat de pic te langzaam uit reset komt bv.) kan je ook de Output Enable pin (13) van zo'n RC-combinatie voorzien. In dat geval gaan alle uitgangen tijdens het opstarten zweven. Moeten ze absoluut 0 zijn, dat zit er weinig anders op dan elke uitgang van een pull-down weerstand te voorzien.

Okee bedankt. dat ga ik proberen.

wat is eigenlijk de juiste manier om een uitgang van de 74hc595 te schakelen met een ingang van de 74hc165,

thanks