
The simple pulse generator in Fig 1 allows you to program its output's duty cycle. You apply your duty-cycle code to the B port of IC1, a 7485 magnitude comparator. The clock increments the 74193 4-bit counter, IC2. When the output of the counter is equal to or greater than your duty-cycle code, IC3 resets the output flip-flop, IC4, until the counter, IC2, overflows. Thus, your input code determines the output's duty cycle.
For example, if your input code is 8, then the output's duty cycle is 50%. For an input code of 4, the duty cycle is 25%. Note that the output frequency is fCLK divided by 16. If you need more resolution, you can cascade two 4-bit counters and comparators to achieve an 8-bit resolution. (DI #1616)