interferncia timers, , (des)asm, y otras gaitas

hola, tengo un mega2560 al que solo probe el ejemplo blink, llevo dos dias mirandolo.

ASUNTO TIMERs.
el caso es que necesito dos contadores de eventos, y dos osciladores programables independientes (pwm), como el mega tiene 6 timer/counter, ya gasto 4,

y ademas me gusta que el programa salte interrupcion cada +o- 100us, "ticks", que a 16Mhz le llegan para hacer unas 1600 instruciones por interupcion, y dando una frecuencia de interupcion de 10khz.
muy util: para llevar cuenta del tiempo real, para hacer retardos, para atender cosillas, o para gestion de un altavoz metiendo palabras en una cola que la interupcion come bit a bit y manda al altavoz (max 5khz).
con esto ya van 5 timers y me sobra uno.

pero el sistema de arduino ha de usar otro timer, delayms() yo la haria con un tick, es posible que la hagan con un bucle bobo cronometrado, o que usen un timer.
Despues esta lo de los PWMs, todos de 8bits, y unos 500hz, pero el atmega da para 16bit/muchos hz, ademas hay algun pwmarduino que no es atmega. todo esto me lleva a pensar que los pwm son controlados por interrupcion de tiempo y no por los modulos del atmega.
Tambien el tema de TONE(), para no quedar colgao a pelotas que ha de usar un timer, almenos pude leer el .h de un TONE() mejorao que me parecio que elegia un timer libre.

en resumen:
¿TIENE EL SISTEMA ARDUINO ALGUN TIMER RESERVAO PA EL SOLITO?.
¿como me los reservo??

ASUNTO (DES)ENSAMBLADOR.
con el pic tenia un C que generaba un asm, con aquello aprendia, comprobaba, y depuraba.
¿COMO, DONDE VER EL DESENSAMBLADO?

o almenos, donde ver las tripas de las funciones.

REGISTROS
¿alguna instrucion para meter/sacar datos en los registros del atmega ?, (a parte del asm)

Las caracteristicas del micro, timers, registros... no queda otra que el datasheet. :disappointed_relieved:

Te puede ayudar http://arduino.cc/forum/index.php/topic,76191.0.html para saber como acceder a los registros pero ten en cuenta que en ese hilo se habla sobre el atmega328 aunque la filosofía es la misma los detalles cambian.

Es una faena, si buscas igual encontrarás cosas puntuales pero todo unido es dificil que encuentres. Salu2

Hola,

Guias acerca manejo de AVR timers (en ingles):
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=50106
http://winavr.scienceprog.com/avr-gcc-tutorial/program-16-bit-avr-timer-with-winavr.html

Yo escribi hace algun tiempo una introduccion al timer 2 en castellano --> Tinkering with Electronics...: Timer 2: Introducción

Puedes mirar las "tripas" del core de Arduino, dentro de la carpeta hardware\arduino\cores\arduino

Saludos

Igor R.