Autor Tema: Empecemos con un Cursillo del compilador Pic Simulator IDE Basic.  (Leído 64856 veces)

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

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #15 en: 08 de Diciembre de 2007, 15:03:03 »
Hola Jim!
Buenisima la ultima entrega. ¿No tienes un ejemplo de como multiplexar 3 displays de 7 segmentos? ;)

Un abrazo.

Ariel.
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado jim_17

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 309
    • Blog personal
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #16 en: 08 de Diciembre de 2007, 15:45:39 »
Pues todavia no lo he probado, primero lo hare con dos display, contador 0 99, si os parece y luego contador 0 999. El codigo de 0 99 ayer me lo estube planteando, voy a ver si funciona ! :)
Share the world !

Blog's

http://www.area0x33.com

Desconectado jim_17

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 309
    • Blog personal
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #17 en: 08 de Diciembre de 2007, 20:39:18 »
Bueno, bueno, bueno, me estube 2h intentando descubrir un fallo que hice en el programita. El fallo era que modificaba la variable dec, y no me permanecian los numeros decimales,  :P. Aqui os dejo el esquema y el codigo. Una cosa, alguien sabe como hacer el recuadro de proteus mas grande ? estube mucho rato mirando y nada ...  :-). Si hay algo que no entendeis no dudeis en preguntar. Tambien tengo que decir que las funciones que utilizo con "for" tambien se pueden hacer con la funcion "while", mas arriba hay un ejemplo.

Aqui el codigo

Código: FreeBasic
  1. Symbol data = PORTB.7  'dato de los decimales
  2. Symbol clock = PORTB.6
  3. Dim d As Byte   'para la aplicacion for de los decimales
  4. Dim u As Byte   'para la aplicacion for de las unidades
  5. Dim i As Byte   'para la aplicacion for de envio de datos
  6. Dim e As Byte   'para la aplicaciof for de envio de datos
  7. Dim dec As Byte 'almacenaremos los datos decimales
  8. Dim und As Byte 'almacenaremos los datos de las unidades
  9. TRISA = 0       'puerto a como salidas
  10. TRISB = 0       'puerto b como salidas
  11. PORTA = 0       'puerto a apagado
  12. PORTB = 0       'puerto b apagado
  13.  
  14. main:
  15. For d = 0 To 9  'decimales del 0 al 9
  16.         dec = LookUp(252, 96, 218, 242, 102, 182, 190, 224, 254, 246), d  'buscamos el decimal
  17.                 For u = 0 To 9  'unidades del 0 al 9
  18.                         und = LookUp(252, 96, 218, 242, 102, 182, 190, 224, 254, 246), u  'buscamos la unidad
  19.                         PORTA.0 = 0  'apagamos porta para enviar los datos
  20.                         Gosub enviar2  'enviamos primero los datos de las unidades
  21.                         Gosub enviar1  'luego enviamos los datos de los decimales
  22.                         PORTA.0 = 1             'encendemos los display
  23.                         WaitMs 100              'esperamos 100ms para ver el cambio rapido
  24.                 Next u                  'siguiente unidad
  25. Next d          'cuando acaba de escribir todas las unidades escribe un decimal mas y vuelve a escribir 9 unidades
  26. Goto main       'hacemos un bucle
  27. End  'finalizamos el programa  
  28.  
  29.                  
  30. enviar1:  'sub enviar1, enviamos los datos decimales
  31. For i = 0 To 7  'enviamos 8 bit de datos
  32.         If dec.0 = 0 Then       'si el bit 0 de la variable dec es igual a 0
  33.                 data = 0                'envia un cero logico
  34.                 clock = 0               'porque el display ahora se enciende con un uno logico
  35.                 WaitUs 2                'en el registro de desplazamiento
  36.                 clock = 1               '
  37.                 WaitUs 2                '
  38.         Else
  39.                 data = 1                'envia  un uno logico
  40.                 clock = 0               '...lo explicado antes
  41.                 WaitUs 2                '
  42.                 clock = 1               '
  43.                 WaitUs 2                '
  44.         Endif                           'finalizamos la funcion if
  45. dec = ShiftRight(dec, 1)        'desplazamos un bit hacia la derecha
  46. Next i                                          'next, para enviar el siguiente bit
  47. dec = LookUp(252, 96, 218, 242, 102, 182, 190, 224, 254, 246), d  'como la variable dec ha sido modificada debemos hacer que sea como anteriormente porque sino solo nos enviara 0
  48. Return  'volvemos a la rutina  
  49.  
  50.  
  51.                  
  52. enviar2:        'sub enviar2, enviamos los datos de las unidades
  53. For e = 0 To 7  'enviamos 8 bit de datos
  54.         If und.0 = 0 Then       'si el bit 0 de la variable und = 0
  55.                 data = 0                'envia un cero logico
  56.                 clock = 0               'por que el display se enciende con un uno logico
  57.                 WaitUs 2                'en el registro de desplazamiento
  58.                 clock = 1               '
  59.                 WaitUs 2                '
  60.         Else   
  61.                 data = 1                'envia un uno logico
  62.                 clock = 0               '...lo explicado anteriormente
  63.                 WaitUs 2                '
  64.                 clock = 1               '
  65.                 WaitUs 2                '
  66.         Endif                           'finalizamos la funcion if
  67. und = ShiftRight(und, 1)        'desplazamos un bit hacia la derecha
  68. Next e                                          'next para enviar el siguiente bit
  69. Return          'volvemos a la rutina


Share the world !

Blog's

http://www.area0x33.com

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #18 en: 09 de Diciembre de 2007, 11:33:20 »
Hola Jim!
Buenisimo el ejemplo.

Podria mejorarse un  poquitin...utilizando solo una rutina para escribir en el display. Antes de llamarla, se carga en una variable auxiliar el valor a mostrar, y luego llamas a la rutina. Esto haria el codigo mas compacto, mas fácil de mantener, y ademas evitarias tener que volver a "reconstruir" la variable despues de usarla en la rutina...

Si puedo, el lunes posteo el programa con esas modificaciones. ;)

Saludos!
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado mundotronic

  • PIC16
  • ***
  • Mensajes: 142
    • mundotronic CNC
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #19 en: 11 de Diciembre de 2008, 09:14:17 »
Hola jim_17!, la verdad es una gran idea hacer este curso de PSI, ya que resulta muy util y a mi parecer de todos los basic que conozco es el mas versatil y rapido para aprender. A proposito Aitopes, debo agradecerte por hacer tan didactica uControl, desde tu sitio aprendi todo lo que se de electronica y especialmente de micros y PSI (ademas de haber hecho la entrenadora para pics de 18 pines y el modulo de 8 entradas/salidas).
Adelante con el Hilo y cuando tenga un tiempito cuelgo algunos ejemplos de los proyectos que tengo realizados.

Saludos! :-/

PD: Adelante con este hilo que a medida que avanza se pone cada vez mas interesante!
El que parte hacia una batalla sabiendo que tiene un mayor poderio que su rival, no es un combativo sino un oportunista...

Desconectado jim_17

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 309
    • Blog personal
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #20 en: 11 de Diciembre de 2008, 11:42:35 »
La verdad es que la idea del cursillo esta bien, pero lo acabe dejando porque veia que era algo muy basico y que la gente no visitaba demasiado el hilo, igualmente, podemos retomar el hilo y seguir haciendo ejemplos, solo falta que los propongais.
Share the world !

Blog's

http://www.area0x33.com

Desconectado Danielo515

  • PIC10
  • *
  • Mensajes: 8
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #21 en: 13 de Febrero de 2009, 09:48:01 »
Muchas gracias!!
Es genial el cursillo.
Pero los esquemas ¿no están completos no? es decri, el reset y las conexiones y esas cosas no aparecen. como no estoy muy iniciado en esto, aún tengo dudas, pero supongo que será todo igual (es decir, el cristal y el interruptor del reset se conectarán siempre del mismo modo).

¿Todos los codigos son para el mismo lenguaje?

Muchas gracias.

Desconectado jim_17

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 309
    • Blog personal
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #22 en: 13 de Febrero de 2009, 18:16:56 »
Si Danielo, todos los códigos te servirán para utilizarlos con el PIC SIMULATOR IDE BASIC, respecto al pin de reset y el cristal, no están implementados ya que utilizaba proteus para hacer pruebas, igualmente siempre se conectan igual ;). Lamentablemente este post esta dejado ya que le vi mas utilidad estudiar el código C, pero el basic para empezar es una muy buena opción. Te animo a que continues este tema, posteando tus propios programas i/o dudas que tengas para que te podamos ayudar y para que tus códigos puedan servir de ejemplo.

Salu2.
Share the world !

Blog's

http://www.area0x33.com

Desconectado avefenix586

  • PIC10
  • *
  • Mensajes: 16
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #23 en: 27 de Diciembre de 2009, 02:41:56 »
Hola esta muy bueno el cursillo, sugeriria como complemento al curso que se haga una traduccion al español de las instrucciones del PIC BASIC tambien  :-/

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #24 en: 27 de Diciembre de 2009, 10:47:30 »
Aquí tienes algunos capítulos:
http://www.todopic.com.ar/foros/index.php?topic=15256.0
Y en la revista uControl puedes encontrar más.
Saludos desde Granada, España.

Desconectado sonicTH

  • PIC10
  • *
  • Mensajes: 21
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #25 en: 19 de Marzo de 2010, 23:47:43 »
Hola que tal:

  Yo sé que el hilo del tema está casi abandonado, sin embargo les presento la siguiente inquietud.

  Comenzé a leer este tema ya que me interesó el lenguaje Basic para pics puesto que yo solamente he utilizado C. Y esto lo hize porque comencé a utilizar los PICAXES que ya muchos se han quejado y con justa razón, sin embargo los había elegido para fines didacticos en una escuela de mecánica, pero ya se me hace dificil conseguirlos además de que pues son caros. Bien, estoy usando MicroCodeStudio con PICBASIC PRO 2.5; Intenté ayudarme con el PIC Simulator Ide, sin embargo no trabaja muy bien (tal vez por el windows 7) y opté por simularlos en proteus. En fin, la pregunta en concreto es como agregarle al microcodestudio el programador WinPic800, mas específico poder utilizar el programador JDM. EL PICC trae un programa tipo ICprog, que tambiñen sería interesante agregarselo. He visto por ahí un hilo que dice como agregar el ICProg paso a paso, sin embargo este me ha estado dando problemas en windows XP apesar de poner el driver, y en windows 7 el problema es que uso un adaptador USB-SER y como que no me manda el voltaje suficiente. En fin, perdon por el post largo, espero me puedan ayudar con lo del JDM. El winpic de heco ya lo agregué y lo corre, sin embargo faltan los parámetros a agregar de $hex -  filename$ etc...
« Última modificación: 19 de Marzo de 2010, 23:59:51 por sonicTH »

Desconectado alexguadarrama

  • PIC10
  • *
  • Mensajes: 1
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #26 en: 24 de Agosto de 2010, 03:39:37 »
hola jim un gusto y exelente trabajo disvulpa tengo una duda estoy tratando de asignar una variable a una localidad de memoria en funcion de otra variable, es decir si la variable "a" tiene un valor de 8, asignar ocho diferentes variables a 8 diferentes localidades de memoria, esto dentro de una subrrutina. me explico¿? jiji ok  alguna idea sera muy agradecida gracias jim

Desconectado jim_17

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 309
    • Blog personal
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #27 en: 01 de Septiembre de 2010, 11:44:33 »
Seria algo como:

If a=8 Then
          b=3
          c=4
EndIf

No se si es esto a lo que te refieres...
Share the world !

Blog's

http://www.area0x33.com

Desconectado Booster

  • PIC10
  • *
  • Mensajes: 1
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #28 en: 25 de Enero de 2011, 00:29:01 »
Gracias por este curso, hace un par  horas no sabia nada y ahora ya entiendo casi todos los ejemplos de aca, me gustaria (si no es mucho pedir) que hicieran algunos ejemplos donde lo principal sea el uso de for, if, switch, while y otra cosa que me intriga es como usar la lcd. De nuevo mil gracias por tanto aporte.... :-/

Desconectado RockLee_89

  • PIC16
  • ***
  • Mensajes: 140
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #29 en: 14 de Julio de 2011, 19:13:39 »
Hola que tal para echarle una mano al amigo (jim_17) y a petición del  compañero (Booster) y por si a alguien del foro quiere empezar con este compilador que es muy bueno  y todavía no entiendo cómo usar el siclo for y el siclo if ni el siclo while pues aquí les posteare algunos ejemplos sencillos para que vallamos avanzando en este compilador.

Bueno el primer programa que posteo es  como usar el siclo for y que ce implemento en las luces del coche fantástico usando el siclo for.


 

anything