In theory, the relationship is given by the amount of "grays" you need.
DA01 comented an aditional unit, the LPI wich makes things easier to explain.
DPI - LPI
I'll translate my images later, but here is an explanation:
A line is formed by groups of printer dots. In this image, 64 printer dots (8x8) form a Line dot. This way you can have a diferent size dot, to achive a diferent level of gray.
Let us think that we have this specs:
I. Printer at 1200dpi
II. Printing at 150 lpi
The mathematics are this: 1200/150=8. (on each dimension) 8x8 = 64. You can only have 64 levels of gray.

On a comercial offset film or plate you have at least 2400 dpi, so at 150 lpi you can have:
2400/150 = 16. 16x16= 256. You can have 256 levels of gray.
Laser printers
On a black and white printer you can see this in action. If you see bandages, this means that the printer is using a small matrix of dots, lets say 8x8 or 4x4.
LPI - PPI
The LPI - PPI ratio is recomended 1:2, so if you want 150 lpi you need 300 ppi. But this can be lowered to a 1:1.41 ratio, giving you 212 ppi.
Error difusion
Although the same rules for creating a single printed pixel on an error difusion printer (ink jet for example) can apply, where you need a 16x16 "zone" for each pixel, this relationship is really blurry, becouse you in reality have random dots. So, the ppi needed depends on the quality of the print (and viewing distance), rather than a DPI-PPI relation.
Edited answering your comment
A 2500 dpi printer, (asuming the resolution is the same horizontal and vertical) will give you a theorical dot of 10.16 microns.
1 inch = 25.4 mm
2500/25.4=.01016
If you want 256 lvls of color on that pixel you need 16x16 dots, so you need
10.16 x 16 = 162.56 microns.
In theory you could use a 100 color scale (10x10), which are cmyk values, but the truth is that thoose files are still 256 levels per channel.
So 2500/16 = 156 ppi (using error difusion and square pixels)