TODOPIC
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
16 de Abril de 2014, 10:15:37

Ingresar con nombre de usuario, contraseña y duración de la sesión
Buscar:     Búsqueda Avanzada
342410 Mensajes en 38329 Temas por 39669 Usuarios
Último usuario: LaInge9973
* Inicio Ayuda Buscar Calendario Ingresar Registrarse
Buscar en TodoPIC
+  TODOPIC
|-+  Microcontroladores PIC
| |-+  Lenguaje Basic para microcontroladores PIC (Moderadores: dogflu66, doppel, jansuini, Marioguillote, aitopes)
| | |-+  Comenzando con Mikrobasic
0 Usuarios y 2 Visitantes están viendo este tema. « anterior próximo »
Páginas: 1 2 3 4 5 6 [7] 8 9 10 11 12 13 14 15 16 17 18 Marcar como favorito Imprimir
Autor Tema: Comenzando con Mikrobasic  (Leído 107268 veces)
Moyin
PIC16
***
Desconectado Desconectado

Sexo: Masculino
Mexico Mexico

Mensajes: 102

La perseverancia una virtud de triunfadores....


« Respuesta #120 : 04 de Octubre de 2006, 11:58:12 »

Hol amigos revisando sus comentarios y consejos me doy cuenta de que es mucho más práctico programar en Lenguaje de alto nivel que en ensamblador, tengo el PICBASIC y acabo de bajar la versión de prueba del MIKROBASIC y con respecto a este último es mi pregunta, realicé algunos ejemplos en MKB  y en un principio compiló pero al siguiente día hice modificaciones y me señala que no reconoce el "main" que va en el programa  aparece el siguiente comentario"Routine not found". Y hice las pruebas con otros programas y a veces compila y en otras marca este comentario, gracias de antemano

Saludos
En línea

Sonrie Cristo te ama
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #121 : 04 de Octubre de 2006, 13:41:47 »

Si el MKB trae muchos bugs, no eres al unico que le pasa eso, a veces a mi no me deja copiar y pegar codigo pero si lo tecleas todo vuelve a jalar, pequeños inconvenientes
« Última modificación: 05 de Octubre de 2006, 01:47:39 por navaismo » En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
Moyin
PIC16
***
Desconectado Desconectado

Sexo: Masculino
Mexico Mexico

Mensajes: 102

La perseverancia una virtud de triunfadores....


« Respuesta #122 : 04 de Octubre de 2006, 19:36:18 »

 :)Gracias Navaismo como lo mencionas es......... curiosamente habia copiado los códigos de esos programas de ejemplos que halle en el foro y los pegaba y trataba de compilar dándome ese error, tecle todo el programa como lo señalas y ¡sorpresa funciono!, rebotando gracias por compartir esos detalles que te hacen casi abandonarlo todo. Y emocionado por el logro abusando de tus aportaciones, ¿como se puede saber la longitud de tu programa ya que la capacidad de en esta versión de prueba es de 2K?

Saludos
En línea

Sonrie Cristo te ama
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #123 : 05 de Octubre de 2006, 01:46:30 »

creo que son 20 lineas o algo asi
En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
LordLafebre
Giovanni Lafebre
Moderador Global
DsPIC30
*****
Desconectado Desconectado

Sexo: Masculino
Ecuador Ecuador

Mensajes: 3533


Micros y micros


WWW
« Respuesta #124 : 05 de Octubre de 2006, 12:31:10 »

Hola:

En el MKB no son el numero de lineas, depende de las instrucciones que utilices, si no utilizas unas muy "complejas" el programa tendra mas lines, pero para programas mas complejos (GLCD por ejemplo) las lineas de programa seran menores.
En línea

Moyin
PIC16
***
Desconectado Desconectado

Sexo: Masculino
Mexico Mexico

Mensajes: 102

La perseverancia una virtud de triunfadores....


« Respuesta #125 : 06 de Octubre de 2006, 02:23:07 »

 :shock:Corrijanme porfavor si estoy equivocado, al momento de abrir el archivo en hexadecimal con el ICPROG por ejemplo aparece toda la codificación, mi duda es esta: puedo conocer mediante las direcciones que ocupa el programa su longitud?

Otra cosa ya que comento sobre el ICPROG al momento de programar un 16F870 si dejo activado el PWRT y el WDT no me trabaja bien el circuito programado y si desactivo todas los bits de configuración trabaja bien, qué está pasando?

Disculpen si esta pregunta no cabe en este foro

Gracias y un saludo
En línea

Sonrie Cristo te ama
Nocturno
Administrador
DsPIC33
*******
Desconectado Desconectado

Sexo: Masculino
Cuba Cuba

Mensajes: 16787



WWW
« Respuesta #126 : 07 de Octubre de 2006, 04:55:18 »

He colgado las Miniguías del maestro Navaismo en la zona de Descargas de El Rebujito, para facilitar su descarga y que no caduquen.

Las tenéis aquí: Miniguías de MikroBasic
En línea

Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ
ANIMAL
PIC10
*
Desconectado Desconectado

Mensajes: 6



« Respuesta #127 : 07 de Octubre de 2006, 12:58:39 »

Buenas:

¿Mikrobasic realiza operaciones con coma flotante?
En línea

El animal más peligroso es el hombre
LordLafebre
Giovanni Lafebre
Moderador Global
DsPIC30
*****
Desconectado Desconectado

Sexo: Masculino
Ecuador Ecuador

Mensajes: 3533


Micros y micros


WWW
« Respuesta #128 : 07 de Octubre de 2006, 13:59:38 »

Hola:

Si lo realiza, mira en la ayuda en el tema Math Library.
En línea

navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #129 : 07 de Octubre de 2006, 18:33:15 »

Muchas gracias Nocturno y nada de maestro aun soy un probre diablillo
En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
Moyin
PIC16
***
Desconectado Desconectado

Sexo: Masculino
Mexico Mexico

Mensajes: 102

La perseverancia una virtud de triunfadores....


« Respuesta #130 : 08 de Octubre de 2006, 01:30:22 »

Auí nuevamente con una duda, me estoy dando cuenta del lo práctico del MKB y estoy realizando los ejemplos que los buenos amigos han publicado, alguien me puede decir como puedo leer el bit de un puerto en MKB, por ejemplo una entrada de un sensor o un interruptor y que esta sea registrada, estoy tratando de hacer un programa y no puedo encontrar nada en el HELP del programa...........Gracias
En línea

Sonrie Cristo te ama
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #131 : 08 de Octubre de 2006, 01:37:29 »

Pues puedes poner Variable=PORTX.X, si es una entrada analogica con el ejemplo del ADC te quedaria mas que claro, pero comentanos mas, ¿es un adc, un simple 1 o 0, seria un pin para transmision o recepcion serie? cuentanos....
« Última modificación: 08 de Octubre de 2006, 03:18:42 por navaismo » En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
Moyin
PIC16
***
Desconectado Desconectado

Sexo: Masculino
Mexico Mexico

Mensajes: 102

La perseverancia una virtud de triunfadores....


« Respuesta #132 : 09 de Octubre de 2006, 22:46:13 »

Navaismo la idea es hacer una maqueta de un taladro automatico o uns sistema parecido que va emplear 4 motores que pienso controlar con dos bits para cada uno a través del puerto B de un 870 y empleando entradas digitales de interruptores de fin de carrera o detectores ópticos que me entreguen niveles altos o bajos cuando el recorrido es terminado este será el puerto A y parte del puerto C ya que llego a 8 entradasrelicé un programa que estoy viendo y lo estoy checando por partes y he encontrado algunos detalles solo los dos primeros pasos hace y después de aloca con estados generados sin que se den las entradas, si tienen un código en MKB les agradecería me lo facilitarán ya que pretendo hacer en el mismso programa una rutina para un motor siempre y cuando sea posible, anexo el programa que hice, no tengo experiencia en esto pero lo hago por el gusto de hacerlo y aprender,

program Automatismo
main:  'Aquí comienza el programa principal
ADCON1= %00000111  'PUERTA COMO DIGITAL
TRISA = %11111111  'PUERTA COMO ENTRADA
TRISB = %00000000  'PUERTB COMO SALIDA
TRISC = %00000111  'PARTE BAJA ENTRADA ALTA SALIDA

PORTA = 0
PORTB = 0
PORTC = 0

MOV_1:
CLRWDT
IF (PORTA.0=1)AND(PORTA.1=1) THEN
DELAY_MS(500)    'DAMOS PAUSA QUE RETARDA LA ACCION DE LA SALIDA
PORTB = $03
ELSE
GOTO MOV_1
END IF

MOV_2:
CLRWDT
IF (PORTA.2=1)AND(PORTA.3=1) THEN
DELAY_MS(500)       'IGUAL QUE ANTES, SI NO SE PONE LA PAUSA ENTRA INSTANTANEO
PORTB = $0C
ELSE
GOTO MOV_2
END IF

MOV_3:
CLRWDT
IF (PORTA.4=1)AND(PORTA.5=1) THEN
DELAY_MS(500)       'IGUAL QUE ANTES, SI NO SE PONE LA PAUSA ENTRA INSTANTANEO
PORTB = $30
ELSE
GOTO MOV_3
END IF

MOV_4:
CLRWDT
IF (PORTC.0=1)AND(PORTC.1=1) THEN
DELAY_MS(500)       'IGUAL QUE ANTES, SI NO SE PONE LA PAUSA ENTRA INSTANTANEO
PORTB = $C0
ELSE
GOTO MOV_4
END IF

MOV_5:
CLRWDT
IF (PORTC.2=1)THEN
DELAY_MS(500)       'IGUAL QUE ANTES, SI NO SE PONE LA PAUSA ENTRA INSTANTANEO
PORTB = $02
ELSE
GOTO MOV_5
END IF

MOV_6:
CLRWDT
IF (PORTA.1=1)THEN
DELAY_MS(500)       'IGUAL QUE ANTES, SI NO SE PONE LA PAUSA ENTRA INSTANTANEO
PORTB = $10
ELSE
GOTO MOV_6
END IF

MOV_7:
CLRWDT
IF (PORTA.5=1)THEN
DELAY_MS(500)       'IGUAL QUE ANTES, SI NO SE PONE LA PAUSA ENTRA INSTANTANEO
PORTB = $20
ELSE
GOTO MOV_7
END IF

MOV_8:
CLRWDT
IF (PORTA.3=1)THEN
DELAY_MS(500)       'IGUAL QUE ANTES, SI NO SE PONE LA PAUSA ENTRA INSTANTANEO
PORTB = $40
ELSE
GOTO MOV_8
END IF

MOV_9:
CLRWDT
IF (PORTC.1=1)THEN
DELAY_MS(50)       'IGUAL QUE ANTES, SI NO SE PONE LA PAUSA ENTRA INSTANTANEO
PORTB = $00
ELSE
GOTO MOV_9
END IF
GOTO MOV_1
END.

tal vez no sea la forma más práctica de hacerlo pero estoy a disposición de realizar cambios que me puedan señalar, un saludo ..........Gracias


 
En línea

Sonrie Cristo te ama
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #133 : 10 de Octubre de 2006, 00:05:35 »

Hola no entiendo bien bien lo que quieres hacer y apartir de que, pero viendo tu programa podrias usar un select case y mandar llamar lo que deseas. por ejemplo:
Código:

select case PORTA
  case 3  ' o lo que es %00000011
   Gosub Mov_1
  case 12 ' o lo que es %00001100
   Gosub Mov_2

......................' y asi para cada caso definiendo que es lo que pasa cuando nada es apretado
end select

Mov_1:
' tus sentencias
return

Bueno es un ejemplo, insisto no entiendo bien que es lo que quieras hacer pero puedes darte una idea. El codigo anterioir es solo de apoyo no cheque lo que hace tu programa.


En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
Moyin
PIC16
***
Desconectado Desconectado

Sexo: Masculino
Mexico Mexico

Mensajes: 102

La perseverancia una virtud de triunfadores....


« Respuesta #134 : 10 de Octubre de 2006, 21:11:31 »

Gracias Navaismo nuevamente por tu respuesta, he revisado el comentario pero no me queda claro la utilidad de la sentencia Select Case, que ventajas me trae sobre la otra forma de declaración, he visto algunos ejemplos pero no capto la idea , una pregunta más se va cumpliendo en forma secuencial cada "case", tiene que terminarse la secuencia, lei la ayuda pero me quedo igual.

El proyecto que pretendo hacer tiene como fin mover varios motores cuando estos en sus movimiento desplacen piezas o bandas transportadoras u otro artefacto que al llegar a un punto determinado accione interruptores de fin de carrera que pararían al motor y darán la pauta para que empíece otro con un movimiento diferente, estos movimientos los controlo con los niveles de salida del puerto que maneja dos bits de control por cada motor. El diseño debe cumplir un ciclo de trabajo y después retornar al inicio, situación en la cual mediante un botón de inicio el proceso puedade comenzar nuevamente, el programa que presenté es el que pretendo implementar pero trae detalles, espero haberme dado a entender.....Gracias Smile
En línea

Sonrie Cristo te ama
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #135 : 11 de Octubre de 2006, 12:19:00 »

Hi Moyin, ya  entiendo  lo que quieres hacer.

Bueno el select case sirve para evitar usar tantos IF's, el select lee los valores de una variable o de un puerto, solo se ejecutan los case's si la variable o el puerto cumple con el "case" que has elegido.

Es como una sentencia switch en C (para pc).

Un ejemplo para una variable seria:

"la variable puede tomar valores 1 y 2 por programa"
Código:
select case A
  case 1
     portb.0=1
  case 2
     portb.=0
end select

Lo que hace es ver el estado o el valor de la variable A si es 1 prende el RB0, si es 2 lo apaga cualquier otro valor no hace nada.

ahora como en tu caso leamos un puerto:

el puerto A de entrada (todo)
Código:
select case PORTA
 case 0  'o todos los puertos apagados 00000 lo k es cada valor para cada RA0-RA4
  gosub nada
 case 1  'solo RB0 encendido 00001
  gosub prende1B
 case 2 ' solo RB1 encendido 00010
   gosub x
 case 3 ' Rb0 y Rb1 00011
..............

y asi te la llevas para cada que quieras leer algo puedes usar 1 o 0, es decir puedes leer el  estado alto o el estado bajo eso tu lo implementas. Es mas versatil usar un select case mas que ifs aunque no siempre se puede.

Un ejemplo rapido de tu proyecto seria enciendes el programa y ningun swtich esta activado lo que hace avanzar tu banda, si llega a tope se activa un switch y va de regreso. seria algo asi.

Código
GeSHi (csharp):
  1.  
  2. sub procedure Avanza()
  3. portb.X=1
  4. portb.X=0
  5. end sub
  6.  
  7. sub procedure Regresa()
  8. delay_ms(1000)
  9. portb.X=0
  10. portb.X=1
  11. end sub
  12.  
  13. sub procedure detente()
  14. Deley_ms(1000)
  15. portb.X=0
  16. portb.X=0
  17. end sub
  18.  
  19.  
  20. TRISA=31
  21.  
  22. main:
  23. select case PORTA
  24.  case 0  "'ningun switch activado"
  25.     Avanza()
  26.  case 1  "'switch activado - tope de carrera"
  27.     Regresa()
  28.  case 2  "'switch activado- inicio"
  29.    detente()
  30. end select
  31.  
  32. goto main
  33.  

Bueno espero te sirva de algo y te des una idea
« Última modificación: 13 de Octubre de 2006, 00:41:32 por navaismo » En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
Moyin
PIC16
***
Desconectado Desconectado

Sexo: Masculino
Mexico Mexico

Mensajes: 102

La perseverancia una virtud de triunfadores....


« Respuesta #136 : 12 de Octubre de 2006, 23:56:08 »

Nuevamente agradezco tu ayuda, estoy leyendo tu respuesta y creo que estoy entendiendo, en la primera oportunidad implemento el programa y checo su funcionamiento, si hay algun detalle me atreveré nuevamente a recurrir a la valiosa ayuda qu ustedes proporcionan Razz.....mil Gracias
En línea

Sonrie Cristo te ama
joebar
PIC10
*
Desconectado Desconectado

Sexo: Masculino
Mensajes: 25



« Respuesta #137 : 25 de Octubre de 2006, 19:41:57 »

Hola a todos, soys los culpables de que muchos de nosotros nos enganchemos a esto del Mikrobasic, estoy ya haciendo mis pinitos, pero necesitaría conseguir la relación completa de instrucciones y comandos con su aplicación y a ser posible en Español, ¿alguien sabe donde la puedo conseguir?, muchas gracias por vuestra ayuda, espero algún día poder ayudar como muchos de vosotros lo haceis...

Saludos. Wink
En línea
navaismo
Jubilado Todopic
PIC24H
****
Desconectado Desconectado

Sexo: Masculino
Mensajes: 1973



« Respuesta #138 : 26 de Octubre de 2006, 00:04:56 »

Hola Pues la lista completa y en español creo que es dificil tal vez buscando en la red.

La ayuda de MKB es muy cristalina, es decir, se entiende muy bien. y todos traen ejemplos. Dejame darte un "mal consejo" si eres principiante metete un poco con PBP ya que este no es tan "complejo" -no porque MKB lo sea- si no mas bien porque viene mas completo y no tiene tantos errores o bugs. Pero aun asi no dudes en ponernos las dudas de MKB al fin todos estamos aprendiendo.

Saludos
En línea

"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."
resorte
PIC10
*
Desconectado Desconectado

Mensajes: 2


« Respuesta #139 : 20 de Enero de 2007, 10:03:33 »

saludos al foro
programa xxx
dim luces as a byte [4]
dis i as byte
luces
  • = %00000011
luces
  • = %00000011
luces
  • = %00000011
luces
  • = %00000011

main:
trisa0
trisb.0=1
trisb.1=1
porta= %00000000

miro:
if (portb.1 =1) then
delay_ms(1000)
if (portb. 1=1) then
p: i = 0
end if
for i=0 to 3
porta=luces
delay_ms (10)
next i
end if
goto p
end.


las entradas no las interpreta
¿donde puedo tener el fallo?
un saludo y gracias de antemano

En línea
TODOPIC
   

 En línea
Páginas: 1 2 3 4 5 6 [7] 8 9 10 11 12 13 14 15 16 17 18 Imprimir 
« anterior próximo »
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.19 | SMF © 2006-2008, Simple Machines XHTML 1.0 válido! CSS válido!
Página creada en 0.102 segundos con 23 consultas.