On how to use the 555 in your designs
The 555 timer is an integrated circuit capable of operating either as an oscillator (astable mode) or as a one-shot timer (monostable multivibrator mode). The 556 is two of them in one chip. This chip quite useful, but also kind of tricky. Here is an in-depth explanation of everything it does, and below I'll talk about how to apply it to your design.
The 555 is can be purchased in an 8-DIP. It's pins are (1) Ground, (2) Trigger, (3) Output, (4) Reset, and (5) Control Voltage, (6) Threshold, (7) Discharge, (8) Vcc.
The 556 is can be purchased in a 14-DIP. It contains two 555s, which I will refer to as A and B. It's pins are (1) Discharge A, (2) Threshold A, (3) Control Voltage A, (4) Reset A, (5) Output A, (6) Trigger A, (7) Ground, and (8) Trigger B, (9) Output B, (10) Reset B, (11) Control Voltage B, (12) Threshold B, (13) Discharge B, (14) Vcc.
A 555 can be configured to output a pulse at a set frequency and duty cycle by attaching two resistors and a capacitor as shown in this diagram. One tunes this circuit by changing the values of Ra, Rb, and C, with the constraints that Ra >= Rb > 0.
The math is discussed in bulk here. I will only present the results.
To calculate the width (in seconds) of the high pulse, use:
t1 = 0.693 (Ra + Rb) C
To calculate the width (in seconds) of the low pulse, use:
t2 = 0.693 (Rb) C
Thus, total period is:
T = t1 + t2 = 0.693 (Ra + 2 Rb) C
f = 1/T = 1 / [ 0.693 (Ra + 2 Rb) C ]
Duty cycle is:
DUTY = t1 / T = ( t1 )( f )
You will note that, since Ra >= Rb, DUTY is necessarily > 0.5. This is not really a problem; if you need a duty cycle below .5, instead choose DUTY'=1-DUTY, and add an inverter to the timer's output.
If you are designing a circuit, you want to do the previous in reverse. We need to find three variables, Ra, Rb and C. First, we will determine the linear relationship between Ra and Rb as a function of the duty cycle. Note that duty cycle should be a fraction of 1:
Ra/Rb = (2 DUTY - 1) / (1 - DUTY)
Next, given the frequency f, we will determine the linear relationship between Rb and C:
C = 1 / [ 0.693 ( f ) ( Ra+2 Rb ) ] = 1 / [ 0.693 ( f ) ( Ra/Rb + 2 ) (Rb) ]
Rb = 1 / [ 0.693 ( f ) ( C ) ( Ra/Rb + 2 ) ]
You will notice that our system is under-constrained; we have two unknowns (Rb and C), yet only one relationship between them. You must, at this point, choose a value for Rb or for C, and calculate the other.
If you are just using this oscillator as the clock to flip flops, or to feed into a counter, then the duty cycle doesn't really matter. In that case, choose DUTY=.75, and then Ra/Rb = 2. In which case:
C = 1 / [ 0.693 ( f ) ( 2 Rb + 2 Rb ) ] = 1 / [ 0.693 ( f ) ( 4 ) (Rb) ] = 1 / [ 2.772 (f ) (Rb) ]
Rb = 1 / [ 0.693 ( f ) ( C ) ( 3 ) ] = 1 / [ 2.079 (f ) (C) ]
This makes hand calculations much easier.
I have written a small comand line 555 calculator: 555.c. In can do the calculations forward and backward, and will suggest standard resistor values which are close to the exact values.