If the freq. range to be measured is in the lower range (~1 MHz) , you can do one thing : make a schmitt trigger and give the inpput signal to the schmitt trigger. Also, set the o/p of schmitt trigger on TTL level. And apply this o/p to any pin of the Micro-controller. On the micro-controller, you can run a code that counts the no. of HIGHs and LOWs in predetermined time window (say 100ms or 500 ms or 1 S). This way you can count the frequency of the signal.