74HC595 Regular and MultiPWM Shift Register Driver

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0
Request group membership
By: Dennis Ferron, created: 2009-03-28 | updated: 2013-06-17


Easily control several 74HC595 shift registers in series. Now includes a variation which leaves out the PWM feature and instead supports up to 100 chips! Still also includes the multi-PWM driver, which allows you to set PWM frequency and duty cycle for any or all of 32 outputs. The PWM driver remembers whether you've set an output to PWM or a steady high or low value, and manages the PWM outputs for you automatically. Also includes the version 1.0 Simple_74HC595 object for those who just want to understand how to shift data out to the 74HC595 chip.
If you downloaded the version 2.0 or 2.1 driver, you should download and replace it with the new version 2.2 driver, which has some bugs fixed; see the release notes at the top of the 74HC595_MultiPWM.spin file for detailed information.
Original File Upload
Demo_74HC595_-_Archive__Date_2009.04.21__Time_01.00.zip41.59 KB


[originally posted by Anonymous on 2013-04-03 04:21:37]:
It seems to have a bug in the asm the following should reproduce the fault. Measuring the SO_OE pin it goes high, but once object starts it goes low. even if SO_OE is not used by the 74hc595 object '' Shiftout 2x74HC595 pinout p8-p11 CON SO_DATA = 8 SO_OE = 9 SO_LATCH =10 SO_CLK =11 OBJ so : "74HC595_Regular" PUB Main dira[SO_OE]~~ '' outa[SO_OE]~~ '' OE, disabled waitcnt(clkfreq + cnt) so.Start(SO_CLK, SO_LATCH, SO_DATA, 2) so.out(0,0) so.out(1,0) so.out(0, 255)