What do you mean by "use of frequency?" If you mean you are interested in tuning something, like a ham radio, then yes. Frequency refers to the periodicity of some action, or how frequently it occurs. Hardware does this using timers based on the known frequencies of certain physical processes, like the vibration of quartz crystals. These components can be controlled by software.
Now, what language you use depends on what you are trying to accomplish. I'd recommend you learn C. It is a low-level language that allows you to directly manipulate hardware registers without to much trouble. Also, get a few introductory books on embedded systems. I recommend Embedded C by Michael Pont to start.
If you want to know more about hardware, you can read Embedded Hardware by Catsoulis.
Once you're ready to do more, if you *really* want to know how things work, you can read The Art of Electronics by Horowitz and Hill. It's big, and relatively tough, but extremely good.
Now, for some applications that don't require "hard real time" or extremely high frequencies you can probably use Java or Python. Both are pretty friendly languages, but neither gives you the power you get with C. Of course, it's harder to write code that damages hardware with Java and Python, but not all that hard with C!