I have written some code for a PIC18F2221 that has PWM input and controls a stepper motor.
The processor doesn't control the stepper motor directly, but uses one of the cheap (EBAY) stepper motor drivers that is used in 3D printers. The processor provides STEP and DIRECTION to the stepper driver. There only limit to the size of the stepper motor that can be controlled is the size of the driver.
On power up, the stepper goes to the HOME position (as sensed by a microswitch or opto-interrupter) and then goes to a position based on the PWM input.
The ratio of PWM to steps can be easily set in the code, so that virtually any number of steps (currently 65535) can be used to represent 2 mSec.. The step rate can be controlled as well.
Reply if you are interested.