By merging a digital potentiometer with an oscillator chip, we can make a very small programmable oscillator (1 uMAX and 1 SOT23 package). Not only does this circuit take up very little board space but it can be controlled with only three signals from a microprocessor.
The simple pulse generator in Fig 1 allows you to program its output's duty cycle. You apply your duty-cycle code to the B port of IC1, a 7485 magnitude comparator. The clock increments the 74193 4-bit counter, IC2.
Virtually any audio oscillator can be used to drive the burst generator, with the proviso that it must be capable of 1V peak to peak output level. Distortion is not important as long as it is within reasonable limits (less than 1% is to be preferred).