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

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

Desconectado Carli

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 109
Re: Comenzando con Mikrobasic
« Respuesta #195 en: 10 de Mayo de 2007, 10:08:33 »
Gracias compañeros, ya encontre la solucion, abajo le pongo el codigo con la misma. Igualmente si les parece que no es así me dicen.

resaceite = adc_read(2)
     presionaceite = (Presaceite*10*-1)
     wordtostr(presionaceite,Presaceitest)
        Lcd_Chr(2, 3, Presaceitest[1])
        Lcd_Chr(2, 4, Presaceitest[2])
        Lcd_Chr(2, 5, Presaceitest[3])                                           
       
Nueve de Julio - Buenos Aires - Argentina

Desconectado Carli

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 109
Re: Comenzando con Mikrobasic
« Respuesta #196 en: 10 de Mayo de 2007, 13:26:35 »
Tengo otro problema :8}, resulta que el sensor que uso es un vulvo resistivo pero logaritmico el guacho :shock:, alguien sabe como hacer el calculo? es sobre el mismo codigo que les mostre antes.

Gracias de antemano y espero sus respuestas.
Nueve de Julio - Buenos Aires - Argentina

pablobav

  • Visitante
Re: Comenzando con Mikrobasic
« Respuesta #197 en: 10 de Mayo de 2007, 15:40:57 »
Este es otro ejemplo, lo saque de un libro de mikrobasic, cuando trato de imularlo en proteus no lo simular bien, en resumen, cada vez que pongo interrupciones el proteus anda mal, si no hay interrupciones funciana perfecto lo que simulo.

program testinterrupt

symbol LED_run = PORTB.7                  ' LED_run is connected to PORTB pin 7
symbol LED_int = PORTB.6                  ' LED_int is connected to PORTB pin 6


sub procedure interrupt                   ' Interrupt service routine

  if INTCON.RBIF = 1 then                 ' Changes on RB4-RB7 ?
    INTCON.RBIF = 0

  else if INTCON.INTF = 1 then            ' External interupt (RB0 pin) ?
          LED_run = 0
          LED_int = 1
          Delay_ms(500)
          INTCON.INTF = 0

       else if INTCON.T0IF = 1 then       ' TMR0 interrupt occurred ?
               INTCON.T0IF = 0

            else if INTCON.EEIF = 1 then  ' Is EEPROM write cycle finished ?
                    INTCON.EEIF = 0

                 end if
            end if
        end if
  end if
end sub


main:

  TRISB = %00111111        ' Pins RB6 and RB7 are output
  OPTION_REG = %10000000   ' Turn off pull-up resistors
                           '     and set interrupt on falling edge
                           '     of RB0 signal
  INTCON = %10010000       ' Enable external interrupts
  PORTB = 0                ' Initial value on PORTB

eloop:                     ' While there is no interrupt, program runs in endless loop:
  LED_run = 1              '     LED_run is on
  LED_int = 0              '     LED_int is off
goto eloop

end.

Desconectado rasec_1984

  • PIC10
  • *
  • Mensajes: 29
Re: Comenzando con Mikrobasic
« Respuesta #198 en: 26 de Mayo de 2007, 02:56:44 »
Tengo otro problema :8}, resulta que el sensor que uso es un vulvo resistivo pero logaritmico el guacho :shock:, alguien sabe como hacer el calculo? es sobre el mismo codigo que les mostre antes.

Gracias de antemano y espero sus respuestas.

Puede que sea un poco tarde, pero si aún no lo haces, te puedo decir lo siguiente: el valor de presión de aceite que mediste, debes tomarlo, y usarlo como exponente de e (el número de euler), osea así : presionlineal = e^(presionleida), en mikroBasic la funcion utilizada es Exp(presionleida). osea quedaría así: presionlineal = Exp(presionleida). Espero te sirva, saludos  8) :-/

PD: claro que hay que ocupar una variable de coma flotante, ya serán númeors decimales los que te entregue esa función. No se lo que sucede si no la declaras como coma flotante, los decimales los recorta (omite) o que, pero para asegurare la declaras como flotante.
........Los grandes espíritus siempre han encontrado una violenta oposición de parte de mentes mediocres.....

Desconectado rasec_1984

  • PIC10
  • *
  • Mensajes: 29
Re: Comenzando con Mikrobasic
« Respuesta #199 en: 26 de Mayo de 2007, 03:26:48 »
aahhh....creo que cometí un error...... si el instrumento te entrega la medida de la presión logaritmica en base "e" ( Ln o logaritmo natural), debes hacer lo que te dije. Pero lo mas probable es que te la entregue en logaritmo base 10 (Log), así que lo que tendrás que hacer es: presionlineal = 10^(presionmedida). En MKB esto se hace con la función Pow. Se utiliza así :

presionlineal = Pow(10,presionmedida) 

saludos....
........Los grandes espíritus siempre han encontrado una violenta oposición de parte de mentes mediocres.....

Desconectado rasec_1984

  • PIC10
  • *
  • Mensajes: 29
Re: Comenzando con Mikrobasic
« Respuesta #200 en: 26 de Mayo de 2007, 03:31:37 »
Yo de neuvo, no es que me quiera tomar el foro jeje, es que se me olvidaba, necesito hacer una pregunta, a ver si alguien se anima a responder.

Si ocupo la interrupción por cambio de estado de los pines b7 a b4, pero solo quiero ocupar los pines b7 y b6. ¿Puedo ocupar los pines b6 y b5 como salidas mientras los otros dos estan siendo ocupados como entradas, las cuales producen interrupciones?

agradecería mucho sus respuestas.....saludos ;) :-/ :-) :D 8)
........Los grandes espíritus siempre han encontrado una violenta oposición de parte de mentes mediocres.....

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Comenzando con Mikrobasic
« Respuesta #201 en: 26 de Mayo de 2007, 03:40:33 »
Sí puedes, configurando el TRIS como necesites.

Desconectado rasec_1984

  • PIC10
  • *
  • Mensajes: 29
Re: Comenzando con Mikrobasic
« Respuesta #202 en: 26 de Mayo de 2007, 04:47:54 »
Sí puedes, configurando el TRIS como necesites.

exelente! que bien que se pueda .....muchas gracias por responder...saludos ;)
........Los grandes espíritus siempre han encontrado una violenta oposición de parte de mentes mediocres.....

Desconectado enricar883

  • PIC10
  • *
  • Mensajes: 18
Re: Comenzando con Mikrobasic
« Respuesta #203 en: 16 de Junio de 2007, 19:59:38 »
Hola a todos,

Hace tiempo que no entraba en el foro. Hice caso de vuestras recomendaciones y me he leido el manual de MKB y las miniguias, que por cierto muy bueno.

Por si alguien no lo sabe vengo de progamar en PBP.

Una cosa rara que me ocurre que un programa sencillo como el de los leds, lo pongo aqui me ocurre lo siguiente.

program BLINK_1

TRISA = 0

main:

PORTA.0 = 1
DELAY_MS(500)
PORTA.0 = 0
DELAY_MS(500)

GOTO main

END.



Modifico el tiempo en msegundos en Delay, grabo el proyecto, lo cargo en la placa que tengo de microchip Easypic4 y no me modifica la velocidad de los leds. En cambio el programa esta cambiado y carga con PICFLASH el Hex.

Despues de estar probando diferentes configraciones editando el proyecto, lo grabé una vez cerré el programa (Editor), lo vuelvo a abrir, cargo el programa en la placa y funciona.

Le ocurre esto a alguien?

No creo que esto sea normal. El MKB que tengo lo tengo con licencia y todo.

Por cierto la placa Easypic4 para hacer pruebas a traves de una conexion USB, estupenda, la recomiendo.

Saludos

Desconectado rasec_1984

  • PIC10
  • *
  • Mensajes: 29
Re: Comenzando con Mikrobasic
« Respuesta #204 en: 18 de Junio de 2007, 01:54:30 »
a mi no me ha pasado, pero he leido en este foro a dos personas aparte de ti que les ha pasado lo mismo, que cambian el programa y no les modifica el archivo .hex  al compilar denuevo, y que deben cerrarlo y abrirlo denuevo, que ahi funciona. al parecer es un error del programa, que mala suerte, pq a mi me gusta mucho. Saludos
........Los grandes espíritus siempre han encontrado una violenta oposición de parte de mentes mediocres.....

Desconectado Carli

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 109
Re: Comenzando con Mikrobasic
« Respuesta #205 en: 02 de Julio de 2007, 01:41:41 »
En una oportunidad, tuve que desinstalar el programa y volver a instalarlo para que compile, cosa de mandinga :shock:

Carlitos.
Nueve de Julio - Buenos Aires - Argentina

Desconectado kds

  • PIC10
  • *
  • Mensajes: 26
Re: Comenzando con Mikrobasic
« Respuesta #206 en: 29 de Julio de 2007, 23:30:32 »
hola que tal pues quiero convertir el codifo de PBP a MKB  pero no me funciona , el led se queda prendido una vez presionado el boton
Código: [Seleccionar]
inicio:
if PORTB.0 = 0 then
high 1
else
low 1
endif
goto inicio
end

Código: [Seleccionar]
program luces

 TRISB=0
MAIN:

if PORTB.0 = 0 then
    PORTB.1=1
  else
    PORTB.1=0
    'DELAY_MS(500)
  end if
 
GOTO MAIN

END.


--
KDS

Desconectado mariano_pic

  • PIC18
  • ****
  • Mensajes: 499
    • Software Electronica Microncontroladores
Re: Comenzando con Mikrobasic
« Respuesta #207 en: 30 de Julio de 2007, 10:14:46 »
asi unciona mejor:

Código: [Seleccionar]

program test

MAIN:
 TRISB=%00000001
 portb=0

while (true)
if PORTB.0 = 0 then
    PORTB.1=1
  else
    PORTB.1=0
    'DELAY_MS(500)
  end if
  wend

END.

 :D
 :-)

Desconectado kds

  • PIC10
  • *
  • Mensajes: 26
Re: Comenzando con Mikrobasic
« Respuesta #208 en: 30 de Julio de 2007, 12:04:40 »
hey gracias!!!, no lo puedo checar ahorita pero se ve bien, pero ¿por que el mio no funciona?

gracias.
--
KDS

Desconectado mariano_pic

  • PIC18
  • ****
  • Mensajes: 499
    • Software Electronica Microncontroladores
Re: Comenzando con Mikrobasic
« Respuesta #209 en: 30 de Julio de 2007, 12:32:05 »
por que tienes que poner como entrada el pin del puerto que vas a usar como entrada del pulsador  :-)