Negative eigenvalues of Sturm-Liouville problem

I am trying to solve the following Sturm-Liouville problem on the circle $S^1$, i.e. the closed interval $[0,1]$ with periodic boundary conditions $(y(0)=y(1))$: $$\frac{d}{dx}\left[\frac{1}{p(x)}\frac{dy}{dx}\right]+\frac{1}{p(x)}(p^2(x)+\frac{1}{2})y=-\frac{\lambda}{p(x)}y.$$ Here $p$ is a positive function and is also the first eigenfunction (corresponding to $\lambda_0=-1$).

In particular, I am would like to know how many negative eigenvalues the system has.

Idea: Note that there can be only finitely many negative eigenvalues, since the eigenvalues satisfy $$-\infty <\lambda_0<\lambda_1\leq \dots \to \infty.$$ A theorem (8.3.1) from Coddington-Levinson says that the eigenfunctions $y_{2i+1}$ and $y_{2i+2}$ corresponding to $\lambda_{2i+1},\lambda_{2i+2}$ have precisely $2i+1$ zeros on $[0,1)$. Therefore, if $\lambda =0$ was an eigenvalue, I could count the zeros of the corresponding eigenfunction to determine how many negative eigenvalues there are. So I tried solving $$\frac{d}{dx}\left[\frac{1}{p(x)}\frac{dy}{dx}\right]+\frac{1}{p(x)}(p^2(x)+\frac{1}{2})y=0,$$ but haven't gotten anywhere.

Are there any general results on the number of negative eigenvalues of Sturm-Liouville systems?

In general it's unlikely that $0$ is an eigenvalue. But you can proceed as follows. Let $\phi(x,s,\lambda)$ be the solution to the differential equation with $\phi(0,s,\lambda) = 1$ and $\frac{\partial \phi}{\partial x}(0,s,\lambda) = s$. Use numerical methods (e.g. bivariate Newton) to find $s$ and $\lambda$ such that $\phi(1,s,\lambda) = 1$ and $\frac{\partial \phi}{\partial x}(1,s,\lambda) = s$. If you can do so, then $\lambda$ is an eigenvalue and $\phi(\cdot, s, \lambda)$ the corresponding eigenfunction.