Autor Tema: Comenzando con Mikrobasic  (Leído 239199 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado EnriqueB

  • PIC10
  • *
  • Mensajes: 1
Re: Comenzando con Mikrobasic
« Respuesta #285 en: 17 de Abril de 2009, 14:55:03 »
Hola
Soy nuevo en el foro y en esto de programar PIC, y debute con un problema... Me compre un programador JDM, un PIC 16F88, baje el icprog, mikrobasic y me lance a al aventura. realice el siguiente programa en mikrobasic:

program Encender_led01
main:
  TrisB = 0
  While true
     PortB = 255
     Delay_ms(1000)
     PortB = 0
     Delay_ms(1000)
  wend
End.
 y para mi desgracia no funciona :(.
al conectar el pic se ponen en alto todas las salidas del puertoB enciende el led pero no se apaga mas, Cual será el problema, si alguien puede ayudarme se los agradezco, me comprometo en un futuro"cuando aprenda" a colaborar con ustedes. GRACIAS!!!

Desconectado Moyin

  • PIC16
  • ***
  • Mensajes: 102
Re: Comenzando con Mikrobasic
« Respuesta #286 en: 17 de Abril de 2009, 20:46:50 »
Que tal amigo bienvenido al foro, sabes que acabo de probar el programa que mencionas y no encuentro ningun problema, los simulo en proteus y trabaja muy bien lamentablemente no puedo implementarlo fisicamante ya que no cuento con un F88 pero no tiene mayor dificultad que implementarlo.

Saludos
Sonrie Cristo te ama

Desconectado LAFUMAT

  • PIC16
  • ***
  • Mensajes: 148
Re: Comenzando con Mikrobasic
« Respuesta #287 en: 21 de Abril de 2009, 03:09:01 »
hola amigo:

voy a ver si mi opinion te sirve. sin ver tu esquema te puedo contar que al simular suele ir bien, pero yo miraria de al principio del programa configurar los puertos, es decir, pon el TRISB en salida, etc.

yo estuve liado una semana con ese problema.


creo que se deberia explicar que al comiezo del programa hay que configurar el PIC, sus salidas entradas, timers etc, igual que en ensamblador.


puede ser que mi respuesta no valga de mucho, pero la doy desde la mejor de las intanciones...


un saludo

Desconectado hech

  • PIC10
  • *
  • Mensajes: 4
Re: Comenzando con Mikrobasic
« Respuesta #288 en: 29 de Abril de 2009, 19:58:41 »
soy nuevo en programacion en mikrobasic ehpogramado en el ensamblador pero quiesiera aprender a programar en es te software y quisiera tener manuales para poder empezar, espero que alguien me pase su informacion o ponga los enlaces para bajar los textos, espero tambien poner un video de uso de proteus haciendo uso de mikrobasic en un viedeo que vi ,cobre la visualizacion de una imagen en un lcd grafica , la imgen lo saco de paint fue chebere de ahi mi interes en este lenguaje de programacion

Desconectado LAFUMAT

  • PIC16
  • ***
  • Mensajes: 148
Re: Comenzando con Mikrobasic
« Respuesta #289 en: 30 de Abril de 2009, 12:14:26 »
HOLA AMIGO:

EN LA PAGINA DE MIKROELECTRONICA, ADEMAS DE PODER BAJARTE EL COMPILADOR (DEMO) , COMPRAR LA LICENCIA (ES BARATA), PUES ESTAN  EL MANUAL DE REFERENCIA, Y PUEDES DESCARGARTE TAMBIEN EJEMPLOS, PUES POSTEAN ADEMAS DE LOS PROGRAMAS DE EJEMPLOS, LOS ESQUEMAS DE SUS PLACAS DE EVALUACION...


ESPERO HABER SERVIDO DE ALGO...

Y PERDON  A TODO POR LAS MAYusculas, es que no me doy cuenta...

un saludo a tod@s

Desconectado kdtguerrag

  • PIC10
  • *
  • Mensajes: 2
Re: Comenzando con Mikrobasic
« Respuesta #290 en: 05 de Junio de 2009, 00:56:17 »
Que tal amigos, espero me puedan ayudar con un problemita, programe una alarma simple en un pic16f877a con basic, existen dos opciones: la 1 sistema activado lee a ver si se conecto un sensor y activa una sirena, la 2 esta constantemente leyendo un teclado para validar que se presiono una tecla y activar el sistema, el problema es que cuando esta en el modo desactivado osea leyendo el teclado se salta el programa hacia activado sin ninguna accion externa, y claro el sistema se activa y la sirena se enciende, es normal que suceda este tipo de saltos? y hay alguna forma de corregir esto.

Muchas gracias por la valiosa ayuda

Saludos

Desconectado Carli

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 109
Re: Comenzando con Mikrobasic
« Respuesta #291 en: 21 de Junio de 2009, 17:01:39 »
No se a que te referis con 2 opciones ó sistemas.
Yo creo que tenes que hacer un solo sistema que lea si esta activada ó desactivada. Si esta activada, lee los sensores y si alguno te manda un bit alto, se dispara la sirena y los sucesos que vos quieras. Si esta desactivada, no lee los sensores.

Espero que sea de tu ayuda.
Nueve de Julio - Buenos Aires - Argentina

Desconectado Mc Guiver

  • PIC10
  • *
  • Mensajes: 31
Re: Comenzando con Mikrobasic
« Respuesta #292 en: 13 de Julio de 2009, 20:11:05 »
Estimado kdtguerrag:
                                Sería mucho mas facil para nosotros si publicaras el programa para ver en donde le estás errando.
saludos
Mc. Guiver

Desconectado aduri

  • PIC10
  • *
  • Mensajes: 7
Re: Comenzando con Mikrobasic
« Respuesta #293 en: 21 de Septiembre de 2009, 07:44:07 »
Bye
I'm sorry, I'm Italian and I try to speek in english.
This is my first post.

I'm testing my sw to decode GPS Nmea183 string.
This sw works but the visualization in my LCD 2x32 char is not good (conflict with serial???)  and
I don't undestand why, if I set only lcd_out(2,6,NSLatitudine), i read the Longitude too in the lcd.

Código: [Seleccionar]
program gps_other
'PIC16F628A
'lcd 2x32
'serial gps on rb1

dim rxIndex as byte
dim rxDone as byte
dim rxGPSData as byte
dim rxDataGarbage as byte
dim conta as byte
dim GP as char[10]
dim sincro as char[7]
dim UTC as char[10]
dim Latitudine as char[10]
dim Longitudine as char[10]
'dim Altitudine as char[4]
dim NS as char[1]
dim EW as char[1]
'dim SatNum as char[4]
dim Ora as char[10]
dim NSLatitudine as char[11]
dim EWLongitudine as char[12]

'Questa e' la successione di stringhe del mio GPS    4800bps 8 n
'$GPGSA,A,1,,,,,,,,,,,,,99.0,99.0,99.0*00
'$GPGSV,3,1,09,01,30,312,00,02,24,112,00,04,28,063 ,00,05,77,128,00*73
'$GPGSV,3,2,09,06,15,209,00,14,38,269,00,20,10,000 ,00,25,13,309,00*77
'$GPGSV,3,3,09,30,58,254,00,,,,,,,,,,,,*4D
'$GPGGA,204620.999,4530.6671,N,00916.9484,E,0,00,5 0.0,101.9,M,,,,0000*32
'$GPRMC,204620.999,V,4530.6671,N,00916.9484,E,0.0, 0.0,250805,0.0,W*63


'Io analizzo solo la stringa
'$GPGGA,204620.999,4530.6671,N,00916.9484,E,0,00,5 0.0,101.9,M,,,,0000*32
' ora UTC lat N/S long E/W


main:
lcd_init(portb)
lcd_cmd( LCD_CLEAR) ' send command to LCD "clear display"
' lcd_cmd( LCD_CURSOR_OFF) ' send command cursor off
lcd_out(1,1,"GPS data") ' print txt to LCD, 1nd row, 1st column
USART_init(4800)
'Lcd_Config(PORTA,2,3,0,7,6,1,4)
Lcd_Cmd(LCD_CLEAR)
Lcd_Cmd(LCD_CURSOR_OFF)
lcd_out (1,9,"Attesa...")   'modif.
inizio:
Ora = " "
GP = " "
sincro = " "
rem NSLatitudine = " "
rem EWLongitudine = " "
rem Altitudine = " "
rem SatNum = " "

if USART_Data_Ready=1 then
rxDataGarbage = USART_Read
lcd_cmd( LCD_CLEAR) ' send command to LCD "clear display"
end if

'filtro frase "$GPGGA,"

rxDone = 0
rxIndex = 0
while rxDone=0
 if USART_Data_Ready=1 then
     rxGPSData = USART_Read
       if (rxGPSData="$") then
             rxDone = 1
        else goto inizio
       end if
 end if
wend

rxDone = 0
rxIndex = 0
while rxDone=0
  if USART_Data_Ready=1 then
      rxGPSData = USART_Read
       if (rxGPSData="G") then
           rxDone = 1
       else goto inizio
       end if
  end if
wend

rxDone = 0
rxIndex = 0
while rxDone=0
    if USART_Data_Ready=1 then
         rxGPSData = USART_Read
         if (rxGPSData="P") then
            rxDone = 1
          else goto inizio
          end if
    end if
wend

rxDone = 0
rxIndex = 0
while rxDone=0
 if USART_Data_Ready=1 then
     rxGPSData = USART_Read
       if (rxGPSData="G") then
             rxDone = 1
        else goto inizio
       end if
 end if
wend

rxDone = 0
rxIndex = 0
while rxDone=0
  if USART_Data_Ready=1 then
      rxGPSData = USART_Read
       if (rxGPSData="G") then
           rxDone = 1
       else goto inizio
       end if
  end if
wend

rxDone = 0
rxIndex = 0
while rxDone=0
    if USART_Data_Ready=1 then
         rxGPSData = USART_Read
         if (rxGPSData="A") then
            rxDone = 1
          else goto inizio
          end if
    end if
wend

rxDone = 0
rxIndex = 0
while rxDone=0
    if USART_Data_Ready=1 then
         rxGPSData = USART_Read
         if (rxGPSData=",") then
            rxDone = 1
          else goto inizio
          end if
    end if
wend

rxIndex = 0
rxdone = 0
while rxDone=0
if USART_Data_Ready=1 then
   rxGPSData = USART_Read
   UTC[rxIndex] = rxGPSData ' UTC (ora)
                if (rxGPSData=44) then
                   rxdone=1
                end if
inc(rxIndex)
end if
wend

rxIndex = 0
rxdone = 0
while rxDone=0
if USART_Data_Ready=1 then
   rxGPSData = USART_Read
   Latitudine[rxIndex] = rxGPSData ' Latitudine
if (rxGPSData=44) then
   rxdone = 1
end if
inc(rxIndex)
end if
wend

rxIndex = 0
rxdone = 0
while rxDone=0
if USART_Data_Ready=1 then
   rxGPSData = USART_Read
   NS[rxIndex] = rxGPSData ' Nord o Sud
if (rxGPSData=44) then
   rxdone = 1
end if
inc(rxIndex)
end if
wend

rxIndex = 0
rxdone = 0
while rxDone=0
if USART_Data_Ready=1 then
   rxGPSData = USART_Read
   Longitudine[rxIndex] = rxGPSData ' Longitudine
if (rxGPSData=44) then
   rxdone = 1
end if
inc(rxIndex)
end if
wend

rxIndex = 0
rxdone = 0
while rxDone=0
if USART_Data_Ready=1 then
   rxGPSData = USART_Read
   EW[rxIndex] = rxGPSData ' Est o Ovest
if (rxGPSData=44) then
   rxdone = 1
end if
inc(rxIndex)
end if
wend

' Crea l'array ora
ora[0] = UTC[0] 'ore "20"
ora[1] = UTC[1]
ora[2] = ":"
ora[3] = UTC[2] 'minuti "46"
ora[4] = UTC[3]
ora[5] = ":"
ora[6] = UTC[4] 'secondi "20"
ora[7] = UTC[5]
' Crea l'array NSLatitudine
NSLatitudine[0] = Latitudine[0] ' gradi
NSLatitudine[1] = Latitudine[1] ' gradi
NSLatitudine[2] = "'" ' apice
NSLatitudine[3] = Latitudine[2] ' primi
NSLatitudine[4] = Latitudine[3] ' primi
NSLatitudine[5] = Latitudine[4] ' punto per decimali
NSLatitudine[6] = Latitudine[5] 'decimali
NSLatitudine[7] = Latitudine[6] 'decimali
NSLatitudine[8] = Latitudine[7] 'decimali
NSLatitudine[9] = Latitudine[8] 'decimali
NSLatitudine[10] = " "
NSLatitudine[11] = NS[0] 'nord/sud
' Crea l'array EWLongitudine
EWLongitudine[0] = Longitudine[0] ' gradi
EWLongitudine[1] = Longitudine[1]
EWLongitudine[2] = Longitudine[2]
EWLongitudine[3] = "'"
EWLongitudine[4] = Longitudine[3] ' primi
EWLongitudine[5] = Longitudine[4]
EWLongitudine[6] = Longitudine[5]
EWLongitudine[7] = Longitudine[6]
EWLongitudine[8] = Longitudine[7]
EWLongitudine[9] = Longitudine[8]
EWLongitudine[10] = Longitudine[9]
EWLongitudine[11] = " "
EWLongitudine[12] = EW[0]

lcd_cmd( LCD_CLEAR) ' send command to LCD "clear display"
lcd_out(2,1,"           ") '11 spazi vuoti x pulire
lcd_out(1,1,"UTC: ")
lcd_out(1,6,ora)
delay_ms(3000)
'lcd_cmd( LCD_CLEAR) ' send command to LCD "clear display"

'delay_ms(3000)
lcd_out(3,1,"Lat: ")
lcd_out(2,6,NSLatitudine)
delay_ms(3000)
'lcd_cmd( LCD_CLEAR) ' send command to LCD "clear display"

lcd_out(3,1,"Lon: ")
'delay_ms(3000)
'lcd_out(3,6,EWLongitudine)
'delay_ms(3000)
'lcd_out(2,19," ") ' spazi vuoti x pulire
goto inizio
end.




I understood how to work with a LCD 2x32:

Código: [Seleccionar]
program lcd_2_x_32
'gestione std 4x20
'infatti prima riga 1 e 3
'seconda riga 2 e 4
dim Ora as char[10]
dim NSLatitudine as char[12]
Ora="22:44:30  "
NSLatitudine="+44'24.3817N"
lcd_init(portb)
'lcd_cmd( LCD_CLEAR) ' send command to LCD "clear display"
lcd_out(1,1,"UTC:")
lcd_out(1,5,ora)
delay_ms(3000)
'lcd_cmd( LCD_CLEAR) ' send command to LCD "clear display"
NSLatitudine="+44'24.3817N"
'delay_ms(3000)
lcd_out(2,1,"Lat:")
lcd_out(2,5,NSLatitudine)
delay_ms(3000)
lcd_cmd( LCD_CLEAR) ' send command to LCD "clear display"
delay_ms(3000)
lcd_out(1,1,"Lat:")
lcd_out(1,5,NSLatitudine)
delay_ms(3000)
lcd_cmd( LCD_CLEAR) ' send command to LCD "clear display"
delay_ms(2000)
lcd_out(2,1,"UTC:")
lcd_out(2,5,ora)
delay_ms(3000)

end.

But while reading the serial port, the LCD management doesn't work as it should.

Thank for your help
Antonio

« Última modificación: 21 de Septiembre de 2009, 07:47:30 por aduri »

Desconectado atricio

  • PIC10
  • *
  • Mensajes: 2
Re: Comenzando con Mikrobasic
« Respuesta #294 en: 29 de Septiembre de 2009, 14:13:47 »
HOLA alguien me puede ayudar por favor he estado leyendo un poco del tema pero en el inicio dice que hay un video de como crear un proyecto pero le doy click al link y me direje a una pagina que no hay nada de eso me pueden ayudar como crear un nuevo pryecto o me ayudan un link para poder ver ese video muchas gracias de antemano

Desconectado bigluis

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 511
    • Tutoriales de Qt C++
Re: Comenzando con Mikrobasic
« Respuesta #295 en: 06 de Octubre de 2009, 14:24:57 »
Hola a todos, he estado haciendo algunos proyectos con el timer0 y las interrupciónes, el problema es que cuando le doy debug en mikrobasic el contador de programa (PC) no salta a la interrupción y tampoco aumenta el timer0 despues de haber ocurrido el timpo necesario para que esto ocurra. El problema es solo en la simulación de MikroBasic ya que cuando lo compilo y simulo en Proteus todo va bien.

Realizo esta pregunta porque me gustaría encontrar errores dentro de mikrobasic, ya que es mucho más facil así y me ahorraría mucho más tiempo.
Tutoriales de Qt C++

No es necesario que hagamos Grandes cosas, sino que lo que hagamos sea importante.

SI la NECESIDAD es la MADRE del CONOCIMIENTO, SEGURAMENTE la PEREZA su TÍA.

Cuando el ARTE requiere de PRECISION le llamamos CIENCIA

Desconectado franco_gdl

  • PIC10
  • *
  • Mensajes: 6
Re: Comenzando con Mikrobasic
« Respuesta #296 en: 26 de Octubre de 2009, 20:46:34 »
Hola que tal a todos les mando saludos desde Jalisco Mexico, bueno espero que alguien me pueda ayudar con este programa. El programa esta realisado para utilizar el PIC 16F84A.
El programa consta de 3 switch(Push botom).
1 - El primer switch en RB0 utilizando interrupcion,  selecciona que pin de salida habilitar RA1 o RA2.
2 - El segundo switch en RB1 utilizado para aumentar frecuencia de salida en RA1 o RA2.
3 - El tercer switch en RB2 utilizado para disminuir frecuencia de salida en RA1 o RA2.
El problema que tengo es que si lo simulo en ISIS, si funciona pero cuando lo programo el PIC, no hace nada.
A continuacion el codigo quedo asi:

Program Prueba21

' Utilizando el IC PIC16F84.
' El PortB0 se utilizara para seleccionar funcion.
' El PortB1 se utilizara para aumentar frecuencia.
' El PortB2 se utilizara para disminuir frecuencia.
‘ El PortA1 y PortA2 se utilizan para salidas y controlar motores.

dim b0,b1,b2,b3,a as integer


'****RUTINA DE INTERRUPCION***********************************************.

sub procedure interrupt
  if TestBit(INTCON,INTE) = 1 then' pregunta causante de interrupcion.
   delay_ms(10)
     a = a + 1
     if (a) >= 3 then
     a = 0
     end if
  ClearBit(INTCON,INTF)
  end if
 end sub


'*************************************************************************
main:
     ClearBit(OPTION_REG,INTEDG)' configura interrupcion por flanco de bajada.
     SetBit(INTCON,INTE)' configura pin RB0 como interrupcion.
     SetBit(INTCON,GIE) ' habilita interrupciones globales.
     trisa = 0
trisb = 1
trisb  = 1
trisb.1 = 1
trisb.2 = 1


b0 = 550 ' Se utiliza para generar el tiempo.
b1 = 550 ' Se utiliza para generar el tiempo.
b2 = 0   ' contador utilizado para seleccionar funcion.
b3 = 10


uno:
     if a = 0 then goto main
     else goto dos
     end if
dos:
     if a = 1 then goto tres
     else goto four
     end if

tres:
    porta.1 = 1
    gosub retardo
    porta.1 = 0
    gosub retardo
    goto check
    goto uno

four:
     if a = 2 then goto five
     else goto uno
     end if

five:
     porta.2 = 1
     gosub retardo
     porta.2 = 0
     gosub retardo
     goto check
     goto uno

'******checa si se aumenta o disminuye la velocidad*************.
check:
      delay_ms(10)
      if portb.1 = 0 then goto incre  ' checa si se preciono la tecla
      else goto otro                  ' para aumentar velocidad.
      end if
bye:  goto uno

otro:
      delay_ms(10)                     ' checa si se preciono la tecla
      if portb.2 = 0 then goto dismi  ' para disminuir la velocidad.
      else goto uno
      end if
incre:
      if b0 = 1 then goto mini
      else goto incr
      end if
 mini:
      b0 = 1
      b1 = 1
      goto uno

 incr:
      b0 = b0 - B3
      b1 = b0
      if b0 = 10 then goto adjust
      else goto uno
      end if

adjust:
       b3 = 1
       goto uno


dismi:
      if b1 >= 350 then goto adjust1
      else goto nel
nel:  if b1 = 1 then goto adjust2
      else goto contup
      end if
      end if

adjust1:
        b0 = 350
        b1 = 350
        goto bye

adjust2:
        b0 = 10
        b1 = 10
        goto contup

contup:
       b0 = b0 + 10
       b1 = b0
       goto bye


retardo:                       'generador del tiempo.
        Vdelay_ms(b0)
        Vdelay_ms(b1)
        return
END.

Desconectado bigluis

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 511
    • Tutoriales de Qt C++
Re: Comenzando con Mikrobasic
« Respuesta #297 en: 08 de Noviembre de 2009, 02:13:35 »
Hola franco_gdl, a continuacion menciono algunos de tus problemas

Problemas con las Entradas.
Cada vez que utilizas un pulsador este necesita resistencias de preset como muestra la siguiente figura y una rutina de antirrebote.

Si no deseas utilizar la rutina anti-rebote puedes utilizar circuitos anti-rebotes

El primer circuito mostrado en la figura anterior es válido si y solo si utilizas entradas Schmitt Trigger que para el  16F84 son RA4 y RB0.

Problemas con la PWM
Si lo que deseas es sacar una PWM por una de las patillas del PIC lo mejor es que utilices el TIMER0 ya que es mucho más exacto que utilizar retardos a como tú lo has estado haciendo

Codigo que recomiendo que utilices
Código: [Seleccionar]
program GenerarPWM

dim cont,DutyCyc,a as byte  'Definimos Variables a utilizar
                            'cont=Conteo
                            'DutyCyc=DutyCycle
                            'a=activacion y seleccion de pin de salida

sub procedure interrupt
    TMR0=217              'Para que el desborde ocurra cada (256us-217us)*256=10ms
                          'Es decir el Periodo de PWM es de 1000ms
                          'Para variar el Periodo puedes variar el limite de conteo o
                          'puedes variar el valor del preescaler.
    cont=cont+1
    if cont<=DutyCyc then 'Si el conteo es menor o igual que el DutyCycle entonces
        PORTA=a           'El PORTA tendra el valor de a ej. a = 2dec = 00000010bin
    else                  'de lo contrario
        PORTA=0           'el PORTA sera 0
    end if
    if cont>=100 then     'Si el conteo es mayor o igual a 100
        cont=0            'se reiniciara a 0
    end if
    INTCON.T0IF=0         'Desactivamos el flag de interrupccion del TMR0 para poder
                          'salir de la interrupcion sino entrara infinitamente
end sub

main:
    TRISA=0               'todas como salida
    TRISB=255             'todas como entrada
    OPTION_REG=%00000111  'Resistencias de weak pull-up desabilitadas
                          'Fuente de reloj para TIMER0 interna (CLKOUT)
                          'Asignacion de Preescaler al TIMER0
                          'Preescaler 1:256
    INTCON=%10100000      'Interrupciones Generales Habilitadas
                          'Interrupcion por desbordamiento del Timer0 habilitada
    DutyCyc=50            'Se carga DutyCycle con valor inicial de 50
    while 1
        if PORTB then         'Si alguno de los pines del puerto se ha pulsado
            if PORTB.0 then   'Si pulso RB0
                Delay_5ms     'Espera para los rebotes
                while PORTB.0 wend          'Espera hasta que deje de pulsar
                a=a+1                       'incrementa a
                if a>2 then a=0 end if      'si a es mayor que 2 entonces a=0
            end if
            if (PORTB.1=1)and(DutyCyc<100) then   'Si pulso RB1 y DutyCycle menor a 100
                Delay_5ms                         'Espera 5ms para los rebotes
                while PORTB.1=1 wend              'Espera hasta que deje de pulsar

                DutyCyc=Dutycyc+10                'Incrementar en 10 el DutyCycle
            end if
            if (PORTB.2=1)and(DutyCyc>0) then     'Si pulso RB2 y DutyCycle menor a 0
                Delay_5ms                         'Espera para los rebotes
                while PORTB.2=1 wend              'Espera hasta que deje de pulsar
                DutyCyc=Dutycyc-10                'Decrementar en 10 el DutyCycle
            end if
        end if
    wend
end.

Los retardos de 5ms se agregan para evitar lectura incorrecta durante los rebotes, ya que estos son cambios aleatorios de 0 y 1, como muestra la figura anterior.

Tambien existen algunos pic con modulos PWM, para poder utilizar estos modulos simplementes tienes que utilizar las funciones propias de MikroBasic.
« Última modificación: 08 de Noviembre de 2009, 02:16:32 por bigluis »
Tutoriales de Qt C++

No es necesario que hagamos Grandes cosas, sino que lo que hagamos sea importante.

SI la NECESIDAD es la MADRE del CONOCIMIENTO, SEGURAMENTE la PEREZA su TÍA.

Cuando el ARTE requiere de PRECISION le llamamos CIENCIA

Desconectado franco_gdl

  • PIC10
  • *
  • Mensajes: 6
Re: Comenzando con Mikrobasic
« Respuesta #298 en: 09 de Noviembre de 2009, 22:41:26 »
Gracias por la ayuda voy a poner esos circuitos antirebote sale, que estes bien y gracias por la ayuda.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4069
Re: Comenzando con Mikrobasic
« Respuesta #299 en: 10 de Noviembre de 2009, 15:32:30 »
Una pregunta simple:

¿Cual me aconsejan Mikrobasic o Proton ?

llevo tiempo pegandome con el manual en castellano de Proton :lol: :lol: y avanzo muy poco.

Fer.
Todos los días se aprende algo nuevo.