Hola a todos!

, queria saber si es complicado pasar un codigo escrito en Mikrobasic 5.0.0.0 a C/assembler o si conocen algun
programita, ya que conozco algo de CCS o assembler!!! (Nunca alcanza lo que uno sabe....siempre mas...)
Dejo el codigo por si alguien le interesa (seguro gente no debe faltar

), es para manejar 2 servos a
partir de un acelerometro ( a pesar de que yo solo quiera prender un LED!!!

y hacer un pitido!!! )
Por supuesto le doy las gracias a Julio Montegut y a su pagina
http://www.jvmbots.com)
1. program Acelerometro
2.
3. 'Programa acelerometro *********************************************************
4. 'Este codigo recorre los 180º de rango del servo cuando desplazamos en X e Y el
5. 'acelerometro MMA6262Q, la version es de Mikrobasic 5.0.0.0
6. '
7. 'Creado y verificado por: Julio Montagut
8. 'Web:
http://www.jvmbots.com 9. '
10. 'Valores recogidos en modo analogico (8 bits):
11. ' Horizontal: 76.77
12. ' Minimo: 39
13. ' Maximo: 115
14. '
15. '-HARDWARE:
16. ' MCU: PIC 18F452
17. ' Cristal: 4 Mhz
18. ' 1- Servo Futaba S3003 conectado a PORTB.0
19. ' 1- Servo Futaba S3003 conectado a PORTB.1
20. ' - Canal X del MMA6262Q conectado a PORTA.0
21. ' - Canal Y del MMA6262Q conectado a PORTA.1
22. '*******************************************************************************
23.
24.
25. dim VAD1, VAD2 as word
26. dim AD1, AD2 as byte
27. dim Tmp1, Tmp2 as byte
28. dim Tmp1A, Tmp2A as byte
29. dim aa as byte
30.
31. 'Sub-rutina para generar pulsos a los servos 0-255
32. Sub procedure Pulsout(dim byref Puerto as byte,dim Pin as byte,dim Pos as Byte)
33. Setbit(Puerto,Pin)
34. Delay_Cyc(Pos)
35. Clearbit(Puerto,Pin)
36. End sub
37.
38.
39. main:
40. ADCON1 = $80 ' Configuracion analogica y Vref
41. TRISA = $FF ' PORTA como entradas
42. TRISB=0 ' PORTB como salidas
43.
44. 'Inicializacion
45. PORTB=0
46. Tmp1=127
47. Tmp1A=127
48. Tmp2=127
49. Tmp2A=127
50.
51. while TRUE
52. 'Lectura analogica (10 bits)
53. VAD1 = Adc_Read(0)
54. VAD2 = Adc_Read(1)
55.
56. 'Conversion de 10 a 8 Bytes del conversor AD
57. AD1= byte(VAD1 >>2)
58. AD2= byte(VAD2 >>2)
59.
60. 'Coeficiente de escala para el recorrido completo
61. Tmp1=((AD1*2)-20)
62. Tmp2=((AD2*2)-20)
63.
64. 'Corrector del Margen de vibracion
65. If (Tmp1<(Tmp1A-2)) or (Tmp1>(Tmp1A+2)) then Tmp1A = Tmp1 end if
66. If (Tmp2<(Tmp2A-2)) or (Tmp2>(Tmp2A+2)) then Tmp2A = Tmp2 end if
67.
68. 'Envio a los servos
69. For aa=0 to 2
70. Pulsout(PORTB,0,Tmp1A) 'Enviamos el tren de pulsos para el servo1
71. Pulsout(PORTB,1,Tmp2A) 'Enviamos el tren de pulsos para el servo2
72. Delay_ms(20)
73. Next aa
74.
75. wend
76. end.
Desde ya gracias a todos!