How should I modulate a $16$ bit input using FSK?
Since the comments on the question and the OP's responses
don't seem to be converging, here goes.


Pick a data rate $R$ bits/second (e.g. $10$ kilobits/second)
that is acceptable to your client or boss.
The FSK signal
will then convey one bit every $R^{-1} = T$ seconds (every
$T= 100$ microseconds if you chose the $R =10$ kbps data rate
suggested as an example), and the $16$ bits that you need to
transmit will be transmitted by an FSK signal $x(t)$ that will
have a total duration $16T$ seconds ($1600$ microseconds for the
example).  Specifically, let us assume that you need to define
what $x(t)$ is for all $t$ in the interval $[0, 16T]$.
Number the $16$ bits typed in by the user as $a_0, a_1, \ldots, a_{15}$
where each $a_i$ can have value $0$ or $1$. Include in your
program a snarky error message to be sent to the user if any of
the $a_i$ have value other than $0$ or $1$
Pick two positive integers $m_0$ and $m_1$. The FSK signal
described below will use frequencies $m_0/T$ Hz and $m_1/T$ Hz.
It is convenient, and possibly might even please your client or
boss, if you choose consecutive integers as $m_0$ and $m_1$ such
that the FSK signal fits in the frequency band allocated to the system.
Define the signal $x(t)$ as follows.  For $i = 0, 1, 2, \ldots, 15$,
$$x(t) = A \sin\left(2\pi\left[(1-a_i)m_0 + a_i m_1\left]\frac{t}{T}\right.\right.\right),~~~
iT \leq t &lt; (i+1)T.$$
Several points need to be noticed with respect to this definition:


The quantity in square brackets has value $m_0$ if $a_i = 0$ and value $m_1$ if $a_i = 1$ and so during the time interval $[iT, (i+1)T)$, the signal
consists of either $m_0$ periods or $m_1$ periods of a sinusoid. At the
endpoints of the interval, the signal has value $0$. The signal thus has
the phase continuity that is desirable in an FSK signal as noted
by @JasonR in a comment.
If you are using some programming language to create an array of
$16$ gazillion points that you will then pass to a graphics package to display
as a graph of values of $x(t)$ as a function of $t$, then note that the
formulas used to create the first gazillion points will differ from the
formula used to create the next gazillion points etc.. The 
formula needs to use $a_i$ to compute the values of the $i$-th
subset of gazillion points. If you want
to have a nice smooth graph of the sinusoids, it is necessary 
to have $m_0$ and $m_1$ be onsiderably smaller than a gazillion
so that you get plenty of points
per period of each sinusoid.  Your graph will also have a long
horizontal axis that will likely extend past one page even if printed in
landscape mode on legal-size paper.