Hola RGL, recien con la calculadora, veo que el periodo de 40khz es 0,000025, es decir que medio ciclo tarda
0,0000125..... es decir 12,5 microsegundos... pero no podrias realizar ese medio microsegundo....
en definitiva, no se la aplicacion, tendrias que realizar dos retardos, uno de 12 micro y otro de 13 micros...
si solo empleas un retardo de 12 micro, la frecuencia seria de 41666,66...

con el picdel, puedes realizar retardos muy exactos en asm....
Te tiro una idea
Suerte!