Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
weno estoy aprendiendo a programar en ensamblador, y mas o mens m defiendo pero se q tengo lagunas gigantes.. 😕
no se como debo calcular para hacer q el servo mueva 90º, m refiero al numero q tengo q multiplicar por los ciclos, uso un 16f84 con 4mhz lo q equivale a 1 ciclo un 1microsegund.
no se si m explico pero aver si m entendeis 🙂
seria algo asi? si para 180º --->2.2ms
90º---->x =1.1ms
1.1ms = 1100ciclos
y despues el resto hasta llegar a los 20ms n?
si yo pensaba hacerlo con las interrupciones lo q pasa q todavia soi novatillo con el ensamblador y claro el caldelay te lo da exo XDD
como seria con el TMR0 ❓
yo hice un robot siguelineas con el caldelay, y funciona estuoendamente, aunque UCfort tiewne toda la razon, puedes hacerlo con el temporizador... si no estas aun demasiado familiarizado con el ensamblador... tienes muchas cosas que investigar, de modo que es mas interesante que intentes hacer algun programa mas basico con el TMR0, como un led que parpadee, o la barra del coche fantastico, programas estupendos para empezar... asi empece yo.
Básicamente el TMR0 lo que hace es generar una interrupción cada vez que termine de descontar desde un numero que configuras tu previamente, de modo que lo que tienes es algo parecido al caldelay, pero trabajando en segundo plano, que no te molesta, y te permite hacer cosas mientras. El mayor problema que tienes con los TMR es que no puedes generar temporizaciones muy largas, asi que te tienes que ayudar de algunos registros auxiliares para llevar las cuentas extra. En realidad no es tan dificil como parece
Hola, si os apetece manejar 8 o 16 servos utilizando la interrupcion del TMR0 de forma sencilla y sin infringir la ley 😉 aqui os dejo un posteo que he hecho en mi pagina.
Saludos
Pues probare con algo mas sencillo utilizando esa interrupcion e intentare aplicarla a los servos, haber como sale..
juliovmd gracias x el enlace, m pasare x tu web pa exarle un ojo 🙂