Typically, you use microcontrollers to process signals when you need to do it real-time. When you process a pre-recorded signal, like an audio file, you filter waveforms of these recordings in applications that you run on computers like desktops: you can process a recording "in the bulk", putting the entire length of the recording into an input array, or partition the recording into segments and calculate a periodogram. Usually, the computer provides a computing power sufficient to perform the Fourier transform and let the user/developer do not care about a painstaking implementation of "zero crossing" (which, most probably, cannot give you the reliable estimate of frequency anyhow).
While one can (and does) implement a processing like periodogram computation with microcontrollers, the staple way to select a frequency component (in real-time systems) is to apply digital filters: you can filter out high frequencies with a low-pass filter, low frequencies with a high-pass filter; for other tasks, you may need a band-pass filter, etc.
The harsh realities of mathematics make the task of filtering exactly 1000Hz wave from a real-time signal impossible; your best bet for the MCU implementation is a narrow-band bandpass filter with a quality factor as high as possible, this filter action being opposite to a notch filter operation.
As you correctly guess, one can do frequency "extraction" with limited computing power resources: the digital filter of a finite impulse response kind does not need to perform operation on the entire duration of the sound to be analyzed and can do it without the Fourier transform. Beware that, in a practical implementation, one need to know: the less sample count of the convoluted samples results in the wider range of filtered frequencies, so your FIR filter must be of a sufficient order. You are also on the right track when suggesting "to convolve a signal with some other signal" for your "extraction" operation: the math of filter operation is related to convolution math.
After all, you must decide what do you want from this (real-time?) "frequency separation" operation. Applying a narrow pass-band filter to a stream, you produce a near-1000Khz wave with an envelope amplitude proportional to a share of the 1000-KHz component in the frequency spectrum of the original sound stream at any given moment. Why? Otherwise, you may want to apply a notch filter and suppress the filtered frequency, which is great when you want to filter out a possible 50/60Hz hum from the imperfect power supply, but hardly ever makes sense with an arbitrary frequency. For an application like frequency equalizer, you need not a notch filter, but a bank of band-pass filters with controlled gains. Summing up, you need first to work out the application where you're going to use this "frequency-separation" technique, and only thereafter design the implementation, choosing between a digital filter, a Fourier transform analyzer, or whatever else.