Saludos socio, antes que nada una disculpa a los moderadores por postear en un tema viejo pero la intención es ayudar.
Lo que tu necesitas es usar el PWM (Pulse Width Modulation), en el que la onda de salida al motor tiene una forma cuadrada. Con una imagen sería más fácil de explicar pero no tengo permisos aún.
Parece algo así:
1 --------------------------- ---------------------------
0 -----------| |----------| |--------------
De esta forma, tu puedes variar cuánto tiempo la onda estará en "1" y cuánto en "0". Si la duración de ambas partes es la misma, se dice que está al 50%. Si de 4 partes de la señal, 3 están en uno y la cuarta en ceros, se dice que está al 75%.
Te recomiendo leer el datasheet de atmel. lo descargas en la página dependiendo del modelo de tu micro.
Por ejemplo, para el ATmega 8535, está en la página 71 y en la 117. Todo está perfectamente explicado.
atmel.com/dyn/resources/prod_documents/doc2502.pdf