A.- R._ a travaillé en qualité de manoeuvremaçon au service de l'entreprise X._ SA. A ce titre, il était assuré auprès de la Caisse nationale suisse d'assurance en cas d'accidents (CNA). Le 20 mai 1994, il a été victime d'un accident au cours duquel il a subi une fracture intra-articulaire du calcanéum gauche. Une arthrodèse sous-astragalienne à gauche pour malposition de l'arrière-pied en varus et arthrose sous-astragalienne post-traumatique a été effectuée le 16 septembre 1997. Entre-temps, l'assuré avait repris son travail à 50 % le 13 mars 1995. R._ s'est annoncé à l'assurance-invalidité. Le 13 février 1997, l'AI l'a informé qu'elle envisageait de fixer son taux d'invalidité à 50 % jusqu'au 30 novembre 1996, puis à 41 % à partir du 1er décembre 1996. La procédure est, selon le dossier, toujours pendante. Le 4 mars 1997, la CNA a pris la décision d'allouer à son assuré une rente fondée sur un taux d'invalidité de 20 % ainsi qu'une indemnité pour atteinte à l'intégrité de 15 %. Saisie d'une opposition de l'assuré, la CNA l'a rejetée, par décision du 14 mai 1997. B.- R._ a déféré cette décision sur opposition au Tribunal administratif du canton de Fribourg, en concluant au versement d'une rente d'invalidité de 50 % et d'une indemnité pour atteinte à l'intégrité de 25 %. Par jugement du 18 mars 1999, la juridiction cantonale a rejeté le recours. C.- R._ interjette recours de droit administratif contre ce jugement dont il demande l'annulation, avec suite de dépens, en concluant au versement d'une rente d'invalidité de 50 % dès le 1er décembre 1996. L'intimée conclut au rejet du recours. L'Office fédéral des assurances sociales ne s'est pas déterminé. 