74HC595 Regular and MultiPWM Shift Register Driver

Warning message

The Propeller Object Exchange system is decommissioned and replaced with a GitHub repository to house the same existing and future Propeller objects. As of 12/5/2019, this site is read-only. You can continue to browse and download objects from here for a limited time; however, please begin using the Parallax Propeller repository for future reference.
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0
Request group membership
By: 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
Package icon 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)