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

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

Desconectado jim_17

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 309
    • Blog personal
Empecemos con un Cursillo del compilador Pic Simulator IDE Basic.
« en: 05 de Diciembre de 2007, 16:11:56 »
Con el permiso de dogflu y los moderadores me gustaria empezar un mini cursillo de comandos basicos del programa pic simulator ide con ejemplos y explicando las dudas que pueda tener el personal (aunque yo sea un principiante, un noob  :?). Hago esto por que personalmente me costó mucho encontrar informacion, codigos y esquemas sobre este compilador y me gustaria ayudar a la gente que empieza la programacion con pic como yo.

El programa para simular será el programa Isis de Proteus 7 professional.
El programa para crear el codigo en basic y compilarlo sera el PIC SIMULATOR IDE.
Recomiendo que miren un poco esta web ucontrol para las personas que quieran aprender mas cosas a parte de las que haremos en el cursillo, quiero destacar que hago el cursillo en calidad de aprendiz, ire explicando las cosas que voy aprendiendo con los topic de este foro y las diferentes paginas web que hay en internet, pero con esquemas hechos y codigos hechos por mi, naturalmente no me gusta copiar codigos, por que copiando no se aprende.

El mini cursillo seria el siguiente:

1. Encender y apagar led. (hecho pagina1)
2. Parpadeo de led. (hecho pagina1)
3. Encender led en funcion de un pulsador. (hecho pagina1)
4. Utilizar matriz de led. (hecho pagina1)
5. Utilizar matrid de led con un 74ls164 (registro de desplazamiento 8bit) (hecho pagina1)
6. Utilizar display 7 segmentos con pic. (contador 0 9 hecho pagina1)
7. Utilizar display de 7 segmentos con pic + 74ls164 (registro de desplazamiento 8bit)
... (lo que vaya surgiendo).


¿ Que opinais al respecto ?




Correjido el fallo ortografico (gracias a dogflu), cambiado el "echo" por "hecho" ya que hacer se escribe con "h" y esta "h" la conservan todos sus derivados 
« Última modificación: 02 de Febrero de 2016, 20:45:50 por dogflu66 »
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 #1 en: 05 de Diciembre de 2007, 16:44:05 »
Si, me pase por su tema, y ha hecho un trabajo muy bueno, pero creo que (sin despreciar el gran trabajo que ha echo) ahi se maneja mas la funcion de lcd y no tanto las otras multiples funciones cuotidianas que existen en el compilador. No entiendo lo que quieres decir on empatar su tema, me lo puedes explicar ?  :-/
« Última modificación: 08 de Diciembre de 2007, 19:33:52 por jim_17 »
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 #2 en: 05 de Diciembre de 2007, 17:22:16 »
Hola Jim!
Adelante con el poryecto, ayudare en lo que pueda. (y probablemente te "robe" algunos ejemplos para mejorar el "cursillo" que tengo en uControl ;).

Aqui va  el primer ejemplo:

ENCENDER Y APAGAR UN LED a una frecuencia de 1 HZ:

El PIC es un 16F627A (o 628A, o648A, o casi cualquiera de 18 pines). El LED esta con su anodo en PORTB.0, y tiene el catodo conectado a GND.

Código: [Seleccionar]

 TRISB = %00000000 'Declaro TODO el puerto B como salidas.

 loop: 'Comienzo un bucle. Esta es solo una etiqueta "a la que puedo saltar".

   PORTB.0 = 1  'Pongo el pin en alto, el led enciende.
   WaitMs 500   'Espero medio segundo

   PORTB.0 = 0  'Pongo el pin en bajo, el led se apaga.
   WaitMs 500   'Espero medio segundo

 Goto loop 'Salto a la etiqueta "loop", y recomienza el bucle.

END 'Fin del ejemplo


Saludos!  :mrgreen:
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 #3 en: 05 de Diciembre de 2007, 17:32:11 »
Aitopes felicitaciones con tu pagina web, me ayudo mucho a comprender el desplazamiento de registro. Espero que el año que viene pueda ayudar mas al foro por que ya estaré estudiando ingenieria electronica. Aqui os va una foto del esquema con el conocido 16f84a con el codigo de aitopes.

Si alguien no comprende lo que es frecuencia 1hz os lo explico:    frecuencia = 1/tiempo que tarda en hacer un ciclo--->  por lo tanto el tiempo en hacer un ciclo = 1s -----> un ciclo = encender una vez el led y apagarlo, es decir, la mitad de tiempo para encender el led 500ms y la otra mitad para apagarlo 500ms.

« Última modificación: 05 de Diciembre de 2007, 17:37:08 por jim_17 »
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 #4 en: 05 de Diciembre de 2007, 17:58:08 »
Aqui os pongo un ejemplo mas de como encender un led dependiendo del estado de un boton. Si el boton esta activado el led se enciende, si esta apagado el led se apaga. (Estas seran las funciones basicas, las pasaré rapido, si hay alguna duda preguntad)
Código: [Seleccionar]
' Encender un led en funcion de '
' un boton pic 16f84a '
'''''''''''''''''''''''''''''''''''''

TRISA = %00000001 'Establecemos el pin RA0 como pin de entrada
TRISB = %00000000 'Establecemos todos los pines del puertoB como salidas
PORTB = %00000000 'Empezamos poniendo el puerto b a 0 (led apagado)

main: 'programa principal (cadauno pone la etiqueta que quiere)
If PORTA.0 = 1 Then  ' Si el pulsador esta activado enciende el led
High PORTB.0 'Tambien podemos utilizar portb.0 = 1
Else ' Si el pulsador no esta activado el led no se enciende
Low PORTB.0 'Tambien podemos utilizar portb.0 = 0
Endif
Goto main
End                                               




De momento eso es todo.



Salu2
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 #5 en: 05 de Diciembre de 2007, 18:21:12 »
Otra forma de hacer lo mismo que el ejemplo anterior, pero más rapido y con menos codigo:

Citar
'   Encender un led en funcion de   '
'      un boton pic 16f84a   
' Version 2
'''''''''''''''''''''''''''''''''''''

TRISA = %00000001    'Establecemos el pin RA0 como pin de entrada
TRISB = %00000000    'Establecemos todos los pines del puertoB como salidas
PORTB = %00000000   'Empezamos poniendo el puerto b a 0 (led apagado)

main:    'programa principal (cadauno pone la etiqueta que quiere)
    PORTB.0 = PORTA.0  'Copio en el pin del led el estado del pulsador...
goto main
End 
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 #6 en: 05 de Diciembre de 2007, 19:12:37 »
Tienes toda la razón. Maneras de hacer un "programa" hay miles, la cuestion esta en encontrar la propia.

Mañana si puedo pasaré los temas 4 y 5 en el foro, porque creo que esto es muy basico y la gente no entra mucho y asi poder seguir con algo mas avanzado.
« Última modificación: 05 de Diciembre de 2007, 19:15:26 por jim_17 »
Share the world !

Blog's

http://www.area0x33.com

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3499
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #7 en: 05 de Diciembre de 2007, 19:48:33 »
Si, me pase por su tema, y ha echo un trabajo muy bueno, pero creo que (sin despreciar el gran trabajo que ha echo) ahi se maneja mas la funcion de lcd y no tanto las otras multiples funciones cuotidianas que existen en el compilador. No entiendo lo que quieres decir on empatar su tema, me lo puedes explicar ?  :-/

Cuando te dijeron lo de "empatar su tema", El moderador se referia a no iniciar temas redundantes, ya que entre otras muchas funciones la de
un moderador es la de intentar mantener el foro ordenado, con esto tambien se refiere a que ningun hilo es propiedad de nadie, ni siquiera del
que lo creo, un hilo puede ser continuado por uno o mas foreros, simplemente tiene que tener en cuenta que la continuacion
del hilo este relacionada con el tema abierto previamente.

PD. Esto solo lo aclaro como moderador que soy tambien de este nuestro y magnifico foro Todopic.

De todas formas tengo que aclarar que el hilo anterior sobre el PSI, es un hilo que se basa en una placa entrenadora,
por lo que todos sus ejemplos se mueven al rededor de este hard, siendo el lcd uno mas de sus dispositivos, si se sigue
indagando en el hilo se puede ver que toma una nueva direccion para interactuar con la pantalla y teclado del pc entre
otras cosas.
En realidad nunca tuve la intencion de que fuera un hilo basico, ya que lo que se expone es lo que se suele buscar
con los pic y que se suele tardar incluso años en conseguirlo.

Y por supuesto tienes todo mi apoyo a este nuevo hilo.... ASI QUE ANIMO Y ADARLE DURO... :-)
Saludos desde Granada, España.

Desconectado jim_17

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 309
    • Blog personal
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #8 en: 05 de Diciembre de 2007, 20:04:56 »
Thanks, mi intención haciendo esto es facilitarle la busqueda a la gente que empieza como yo, y haciendo esto tambien aprendo y asi me obligo a aprender.

Como ya tengo otro esquema preparado os paso la matriz de led 2 X 8 (dos filas, ocho columnas)

Led parpadeando.
Aquí teneis el código:

Código: [Seleccionar]
TRISA = 0 'puerto A como salida
TRISB = 0 'puerto B como salida
Symbol fila1 = PORTA.0  'establecemos fila1 = porta.0
Symbol fila2 = PORTA.1 'establecemos fila2 = porta.1
Dim parpadeo As Byte 'variable parpadeo como byte
Dim reset As Byte 'variable reset como byte
Dim i As Byte 'variable i como byte
PORTA = 0 'todo el puerto a = 0
PORTB = 0 'todo el puerto b = 0

main: 'etiqueta programa principal
Gosub reset 'apaga todos los led
High fila1  'encendemos la fila 1 y vamos variando portb
Gosub parpadeo 'enciende y apaga el led
Low fila1 'apaga la fila1 para empezar con la fila2
Gosub reset
High fila2
Gosub parpadeo
Low fila2
Goto main  'hacemos un bucle para que el parpadeo sea constante
End     
                                         
reset:
PORTA = 0 'porta = 0 apagamos todas las filas
PORTB = %11111111 'portb = %11111111 porque los led se encienden cuando portb.n = 0 el portb actua de masa
Return                 ' volvemos para continuar con el codigo
                                         
parpadeo:
PORTB.0 = 0  'lo ponemos a 0 para prender el 1r led
WaitMs 200 ' esperamos 200 ms para ver el led encendido
PORTB.0 = 1 ' con un 1 apagamos el led
PORTB.1 = 0 'hacemos lo mismo con los led de al lado
WaitMs 200
PORTB.1 = 1
PORTB.2 = 0
WaitMs 200
PORTB.2 = 1
PORTB.3 = 0
WaitMs 200
PORTB.3 = 1
PORTB.4 = 0
WaitMs 200
PORTB.4 = 1
PORTB.5 = 0
WaitMs 200
PORTB.5 = 1
PORTB.6 = 0
WaitMs 200
PORTB.6 = 1
PORTB.7 = 0
WaitMs 200
PORTB.7 = 1
Return  'volvemos del sub para continuar con el codigo

Share the world !

Blog's

http://www.area0x33.com

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #9 en: 05 de Diciembre de 2007, 20:41:52 »
Podrias intentar hacerlo dentro de Un FOR y ver si tu compilador tiene la opcion Toggle para minimizar el codigo.
"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."

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3499
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #10 en: 05 de Diciembre de 2007, 20:59:24 »
Otro de lo mismo, pero este insertado como "codigo freebasic"

Código: FreeBasic
  1. '**********************************************************
  2. 'Led intermitente******************************************
  3. '**********************************************************
  4. AllDigital  'todos los pin como I/O
  5. TRISB.0 = 0  'PIN Puerto RB0 como salida
  6. Symbol led = PORTB.0  'Se asigna nombre al pin 0 del port B
  7. main:  'Nuestro Programa
  8.         High led  'Enciende el led, Polariza Anodo
  9.         Gosub espera  'Salto con retorno a la rutina de espera
  10.         Low led  'Apaga el led, Polariza Anodo
  11.         Gosub espera  'Salto con retorno
  12. Goto main  'Hace que nuestro programa no termine nunca
  13. End  'Separador (interrupciones y subrutinas).    
  14. espera:  'Rutina de Pausa
  15.         WaitMs 500  'Interrumpe el programa durante medio segundo
  16. Return  'Retorna despues del salto generado por un Gosub.
« Última modificación: 05 de Diciembre de 2007, 21:16:40 por dogflu66 »
Saludos desde Granada, España.

Desconectado jim_17

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 309
    • Blog personal
Re: Empezemos con un Cursillo del compilador pic simulator ide basic.
« Respuesta #11 en: 06 de Diciembre de 2007, 09:57:53 »
Lo que yo quiero no es que parpadee el led, sino que se vaya encendiendo un led tras otro. Ahora cuelgo como hacer un contador 0 - 9  utilizando los pines del pic.
     
a = portb.0
b = portb.1
c = portb.2
d = portb.3
e = portb.4
f = portb.5
g = portb.6


         a b c d e f  g           PORTB       Decimal
0 =    0 0 0 0 0 0 1 =    01000000  =     64
1 =    1 0 0 1 1 1 1 =    01111001  =     121
2 =    0 0 1 0 0 1 0 =    00100100  =     36
3 =    0 0 0 0 1 1 0 =    00110000  =     48
4 =    1 0 0 1 1 0 0 =    00011001  =     25
5 =    0 1 0 0 1 0 0 =    00010010  =     18
6 =    0 1 0 0 0 0 0 =    00000010  =      2
7 =    0 0 0 1 1 1 1 =    01111000  =      120
8 =    0 0 0 0 0 0 0 =    00000000  =      0
9 =    0 0 0 0 1 0 0 =    00010000  =      16


Aqui os paso el codigo y la respectiva foto del montaje en Isis

Código: [Seleccionar]
TRISA = %11111110
TRISB = %10000000
PORTA.0 = 0 ' display de anodo comun
PORTB = %01111111 ' ponemos el portb = 1 por que el display se enciende cuando le enviamos un cero al catodo
Dim i As Byte 'variable i para la funcion for

main: ' etiqueta principal
For i = 0 To 9 ' como es un contador de 0 9 utilizamos la funcion for
PORTB = LookUp(64, 121, 36, 48, 25, 18, 2, 120, 0, 16), i  ' seleccionamos el numero que queremos marcar con la funcion lookup
PORTA.0 = 1 ' si i = 1 selecciona el 121
WaitMs 100 ' encendemos porta.0 y esperamos 100 ms
Next i
Goto main 'volvemos a main para iniciar el bucle
End                                               





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 #12 en: 07 de Diciembre de 2007, 06:57:01 »
Vale, veo que no le interesa a mucha gente este mini-cursillo, pero no pasa nada, a medida que vayamos ampliando conocimientos seguramente ya le interesará a mas personas.


SE ADMITEN PROPUESTAS.           



Aqui os dejo el esquema para encender las luces de una matriz de led 8X2 una a una.

Código: FreeBasic
  1. Symbol fila1 = PORTA.0  'establecemos porta.0 como fila1
  2. Symbol fila2 = PORTA.1  'establecemos porta.1 como fila2
  3. Symbol clock = PORTB.6  'establecemos el clock como portb.6
  4. Symbol data = PORTB.7  'establecemos data como portb.7
  5. Dim reset As Byte
  6. Dim contador As Byte
  7. TRISB = %00000000  'puerto b como salida
  8. TRISA = %00000000  'puerto a como salida
  9. PORTB = %00000000  'puerto b apagado
  10. PORTA = %00000000  'puerto a apagado
  11.  
  12.  
  13. main:  'etiqueta principal
  14. Gosub reset  'enviamos 0 al registro de desplazamiento
  15. fila1 = 1  'activamos la fila 1
  16. Gosub uno  'enviamos un 1 al primer pin del registro de desplazamiento
  17. WaitMs 100  'esperamos 0.1s
  18. Gosub parpadeo  'le vamos enviando 0 al registro del desplazamiento y asi conseguimos el juego optico
  19. fila1 = 0  'desactivamos la fila1
  20. fila2 = 1  'activamos la fila2 y repetimos el mismo proceso
  21. Gosub uno
  22. WaitMs 100
  23. Gosub parpadeo
  24. fila2 = 0
  25. Goto main  'volvemos a main para continuar con el bulce
  26. End                                              
  27.  
  28.  
  29. reset:
  30. For reset = 0 To 7  'enviamos un 1 ocho veces
  31. data = 1  'los led se prenden cuando enviamos un 0 al registro de desplazamiento
  32. clock = 0       '---
  33. WaitUs 2        '---Todo lo marcado con un --- simboliza el proceso
  34. clock = 1       '--- que se sigue para enviar un uno logico al registro
  35. WaitUs 2        '---   de desplazamiento
  36. Next reset      'repetimos el enviar un 1 siete veces mas
  37. Return           ' volvemos a la rutina cuando acaba el proceso
  38.  
  39.  
  40.                                
  41. parpadeo:
  42. For contador = 0 To 7  'enviamos un uno ocho veces y asi vamos moviendo el registro
  43. data = 1        'la misma explicacion que en reset
  44. clock = 0
  45. WaitUs 2
  46. clock = 1
  47. WaitMs 100  'esperamos 100ms para mover el led encendido hacia el lado
  48. Next contador
  49. Return  'volvemos a la rutina    
  50.  
  51.  
  52.                
  53. uno:
  54. data = 0        'con este proceso enviamos un 0
  55. clock = 0       'para que se prenda el primer led
  56. WaitUs 2        'y luego poder mover el led prendido
  57. clock = 1       'con el registro de desplazamiento
  58. WaitUs 2        '
  59. Return          'volvemos a la rutina

Como dije ya una vez, hay muchas maneras de hacer un codigo ahora os pondré aqui las etiquetas de los sub reset y parpadeo con la funcion while.

Código: FreeBasic
  1. reset:
  2. reset = 0
  3. While reset < 8  'mientras reset sea menor que ocho
  4. data = 1            'el programa hara la funcion de enviar un 1 al registro de desplazamiento
  5. clock = 0
  6. WaitUs 2
  7. clock = 1
  8. reset = reset + 1  ' sumamos un uno a reset cada vez que envia un uno al registro
  9. WaitUs 2              ' de desplazamiento para que no sea un bulce infinito
  10. Wend                  ' para indicar que aqui acaba el codigo que queremos que se repita mientras
  11. Return                 ' reset sea menor que 8 --> reset < 8
  12.                           'volvemos a la rutina
  13.  
  14.                                  
  15. parpadeo:
  16. contador = 0
  17. While contador < 8    'establecemos el mismo criterio que lo explicado en reset
  18. data = 1
  19. clock = 0
  20. WaitUs 2
  21. clock = 1
  22. WaitMs 100
  23. contador = contador + 1
  24. Wend
  25. Return





« Última modificación: 07 de Diciembre de 2007, 09:14:44 por jim_17 »
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 #13 en: 07 de Diciembre de 2007, 07:14:34 »
Citar
Vale, veo que no le interesa a mucha gente este mini-cursillo, pero no pasa nada, a medida que vayamos ampliando conocimientos seguramente ya le interesará a mas personas.

Hola Jim!
No, no creo que sea asi. El hilo ya casi llega a las 100 visitas, y hace muy poco que esta disponible.  :mrgreen:

Por lo pronto, le voy a poner una chincheta para que este "a mano".

Y sigue asi, que es muy util tener ejemplos claros y sencillos sobre este buen BASIC. ;)
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 #14 en: 08 de Diciembre de 2007, 12:31:04 »
Bueno, solamente queda un esquema mas, ya ire pensando y poniendo mas esquemas, espero que aun que sea una tonteria, si necesitais que se explique algun esquema, lo que sea, si quereis añadir algo propio al cursillo, podeis hacerlo. No me gusta que solo posteen los moderadores, eso me hace pensar que no le interesa a nadie, alomejor es que es muy basico lo que hacemos, pero si quereis hacer algo mas high pedidlo.

Aqui os va el codigo de como manejar el registro de desplazamiento para hacer un contador 0 9.

 
Código: FreeBasic
  1. Dim und As Byte  'variable de unidades
  2. Dim u As Byte  'variable u para utilizar en la funcion for
  3. Dim i As Byte  ' variable i para utilizar en la funcion for
  4. TRISA = 0  'puerto a como salida
  5. TRISB = 0  ' puerto b como salida
  6. PORTA = 0  'todos los pines puerto a apagados
  7. PORTB = 0  'todos los pines del puerto b apagados
  8.  
  9. Symbol dato = PORTB.7  ' dato sera igual a portb.7
  10. Symbol clock = PORTB.6  'clock sera igual a portb.6
  11.  
  12. main:   'etiqueta principal
  13. For i = 0 To 9  'desde 0 hasta el 9
  14. und = LookUp(126, 12, 182, 158, 204, 218, 250, 14, 255, 222), i  'buscamos el numero que queremos
  15. Gosub enviar  'enviamos los datos al registro de desplazamiento
  16. Next i  'siguiente numero
  17. Goto main  'iniciamos bucle
  18. End  'finalizamos el programa                    
  19. enviar:
  20.  
  21. For u = 0 To 7                        'enviamos 8 datos
  22.         If und.7 = 0 Then           'si el bit 7 de la variable und = 0
  23.                 dato = 1                'envia un uno al registro de desplazamiento
  24.                 clock = 0               'porque los led se encienden cuando hay un 0
  25.                 WaitUs 1                '
  26.                 clock = 1               '
  27.                 WaitUs 1                '
  28.         Else
  29.                 dato = 0                'si el bit 7 es igual a 1
  30.                 clock = 0               'envia un 0 al registro de desplazamiento
  31.                 WaitUs 1                'porque los led se encienden con un 0 logico
  32.                 clock = 1               '
  33.                 WaitUs 1                '
  34. Endif                           'finalizamos el la condicion
  35. und = ShiftLeft(und, 1)         'movemos todos los bits hacia la izquierda
  36. Next u                                          'siguiente variable 1
  37. PORTA.0 = 1                                     'una vez estan todos los bits enviados
  38. WaitMs 200                                      'encendemos porta.0 y esperamos 200ms
  39. PORTA.0 = 0                                     'luego apagamos el porta.0


« Última modificación: 08 de Diciembre de 2007, 20:22:01 por jim_17 »
Share the world !

Blog's

http://www.area0x33.com