El Watchdog Timer no tiene un lugar dentro del programa para colocarse pues es una característica del microcontrolador.Realmente funciona el programa como quiero, pero no comprendo cuál es el lugar mas óptimo para colocar el wdt.
Se habilita con un simple fuse y su desborde se configura con una constante en la instrucción "setup_wdt (mode)"
En PIC C Compiler de CCS con tan solo usar la instrucción "restart_wdt ()" se habilitará el fuse WDT en ON automáticamente.
Si crees que tus rutinas no se completarán antes de que desborde, entonces debes resetearlo con la instrucción "restart_wdt ()"
Como seleccionaste un desborde de 18 milisegundos, "setup_wdt (WDT_18MS);" por lógica tus rutinas deben ser ejecutadas antes de ese tiempo.
Si crees que no se cumplirán en ese periodo, entonces sería conveniente aumentar el valor y resetear el Watchdog Timer cuando creas que puede desbordar.
¿Para qué quieres usar el Watchdog Timer?
¿Acaso crees que tu programa tendrá algún problema por cuelgues?
Ten en cuenta que un reset es lo último que se desea en un sistema.
Como recomendación, no uses retardos y mucho menos cuando uses el Watchdog Timer.Adicionalmente uso el timer 1 para hacer retardos (Es solo didácticamente lo del timer 1).