As Brian mentioned, there is something called a FFT (Fast Fourier Transform). It takes a time snippet of signal and returns the amplitude of frequency components in buckets of predetermined frequency and bandwidth. The FFT algorithm is a computationally optimized general Fourier transform that operates on a power of two frequency buckets linearly spread from 0 to the high end of the frequency range it is configured for.
A FFT is computationally expensive, and can only be done on fixed chunks of time domain signal. If you want to get a general frequency content, then it can be appropriate. If you just want to detect the presence of a small number of specific and known frequencies, then it's probably not appropriate. A example of the latter would be DTMF (touch tone) decoding since there are only 8 specific frequencies and you generally want to do the tone decoding continuously, and the frequencies are fairly closely spaced.
To detect the amplitude of a specific frequency in a composite signal, multiply that signal by the sine and cosine of the desired frequency. Low pass filter each of these two product signals separately. The bandwidth of this filter is half the bandwidth the frequency of interest will be detected within. Another way of putting that is that this is the bandwidth of the resulting amplitude output. Now square the two low pass filtered signals and add them together. The result is the square of the amplitude of the signal of interest. You can see where I've simulated this with three adjacent DTMF tones:
The input signal was three adjacent DTMF frequencies for 50ms each with 50ms gaps between. The detection frequency was set up to match the center burst. The blue line is the resulting amplitude squared signal. The low pass filter time constants were adjusted to reject the adjacent frequencies, but still respond well enough within 50 ms (the minimum valid DTMF tone length).
If you need true amplitude, then you'd have to take the square root of the result shown here. For simply detecting the presence of a particular frequency, the magnitude squared is good enough. For other applications the true magnitude may be necessary.