PIC32MX LED 点灯させたいのだがXC16, XC8のようなdelay() 関数がない。
(XC16, XC8のdelay() 関数は以下を参照してください)

PIC32MX のdelay() 関数の例は以下の通りだ。※1 ※2
まずはdelay() 関数を使うための記述。
pic32_LED_blink1

// delay関数用
#define CCLK (8000000L) // system clock
#define PBCLK (CCLK / 2) // peripheral bus clock
#define SAMPLE_RATE 5000
#define CCLK_US (PBCLK / 1000 / 1000) // used for micro second delay
#define CCLK_MS (PBCLK / 1000) // used for milli second delay

次にmain()関数とdelay() 関数の内容。
pic32_LED_blink2

void __delay_us(unsigned int  d) 
{
unsigned int delayCount, startTime;       

startTime = _CP0_GET_COUNT();     
delayCount = d * CCLK_US
while((_CP0_GET_COUNT() - startTime) < delayCount);  
 }

void __delay_ms(unsigned int d)
{   
unsigned int delayCount, startTime;       

startTime = _CP0_GET_COUNT();   
delayCount = d * CCLK_MS;   
while((_CP0_GET_COUNT() - startTime) < delayCount);   
}

-----------------------------------
※1 delay() 関数の情報は以下
PIC32 delay function calculation
組み込みエンジニア向け MPLAB® XC32 ユーザガイド

2020/06/19 追記
※2 MPLAB Harmony v3 (15) CORE TIMER, CORETIMER_DelayMs も参考にしください。