75KHz is a period of 13.333 microseconds (uS)
analogRead takes 110uS.
digitalWrite takes 4uS, and loop takes several uS (I think I've measured 12), and the map function will add more.
So I think you will want some code that runs in a while loop inside of the main loop,
add a push button to interrrupt and read the analog and set the delayMicroseconds value, and use Direct Port Manipulation to toggle the IO pin instead of digitalWrite.
void loop(){
while (1){
delayMicroseconds(micro); // 4 is minimum
PORTD = PORTD & ob011111111; // output D7 low - try PIND = 0b10000000; also
delayMicroseconds (micro);
PORTD = PORTD | 0b10000000; // output D7 high - try PIND = 0b10000000; also
} // end while
} // end loop