desktop

Curso de programación de PIC en PICBasic Pro

Excelente Reymi... Yá me estoy poniendo con este tema por que ya veo que por fuerza mayor, no puedo hacer nada (ando con un pie en el laboratorio y otro en la camioneta por que me parece que hoy voy a ser papa por 1era vez)Ahora me pongo un toque con este tema y te subo lo que salga :LOL:
Ya volvistes de gringolandia?
 
Saludos cordiales a todos los miembros del foro.
Solicito de manera respetuosa su colaboración frente al siguiente proyecto:
Estoy tratando de hacer que 8 leds conectados al puerto B me enciendan SOLAMENTE si se cumplen las siguientes condiciones en 4 bits de entrada en el puerto A identificados como p1, p2, p3 y p4:
P1=1 enciende led 1
P2, P3, P4 =1 enciende led 2
P2, P3 =1 enciende led 3
P2, P4 =1 enciende led 4
P2=1 enciende led 5
P3, P4=1 enciende led6
P3 =1 eenciende led7
P4=1 enciende led 8

como habrán visto, se trata de realizar un lector binario, pero no he conseguido un ejemplo que me pueda orientar sobre esto, y dado que tengo poca experiencia, pero quiero aprender, solicito su valiosa colaboración, pienso que habremos muchos novatos que pasamos por la dificultad de no poder decodificar este sistema, y si bien lo he logrado hacer con un integrado CD4028, es hora de trabajar con microcontroladores.
Para mejor comprensión, estos datos de la tabla anterior, son los que aparecen en una de esas tarjetitas receptoras de un sistema de control remoto, entonces al pulsar un botón en el transmisor remoto, supongamos el 2, aparecen las salidas P2,P3 y P4 en nivel alto en el receptor y duran en ese estado mientras tenga pulsado el botón y con esos datos intento que mantenga encendido un led por PERMANENTEMENTE, así yo suelte el botón, , pero cuando lo vuelva a oprimir, el led se apague, no se si usando la declaración TOOGLE sea conveniente realizar este propósito, y como esos datos duran solo el tiempo que mantenga presionado el pulsador, esto me permitiría que el pic lea esos datos, los decodifique y encienda el respectivo led, lo mismo debe suceder con cada uno de los 8 leds, así yo puedo tener encendido uno o varios al mismo tiempo y solo se apagaran al aparecer en el puerto A, los mismos datos que lo hicieron encender, osea al presionar nuevamente el pulsador correspondiente.
Agrego un avance d lo que me propongo hacer, pero la verdad, se que no estoy encarando el programa de la manera adecuada ya que como les comento, no encontré ningún ejemplo de como decodificar en binario con 4 bits d entrada, ademas una simulación, pero no se como configurar la entrada del pic, pero no creo que sea lo mas conveniente con pulsadores como yo lo hice, solamente quería simular las entradas con un pulso momentáneo en alto, pero la dificultad esta en cuando aparecen en alto 2 o mas entradas simultáneamente.
Nuevamente mis agradecimientos a quienes me puedan colaborar en este aprendizaje que nunca termina.

Código:
@ DEVICE PIC16F628A,WDT_OFF,PWRT_OFF,MCLR_OFF,BOD_OFF,CPD_OFF,PROTECT_OFF

CMCON = 7
TrisA = 255 'todos como entrada
TrisB = 0 'todos como salida

;configuracion de pines 
led1 var portb.0  
led2 var portb.1 
led3 var portb.2 
led4 var portb.3 
led5 var portb.4 
led6 var portb.5 
led7 var portb.6 
led8 var portb.7 

p1 var porta.0 
p2 var porta.1 
p3 var porta.2 
p4 var porta.3 

 PortB=0
inicio:
 if (P1=1) then led1=1
 if (P2=1) and (p3=1) and (p4=1) then led2=1
 if (P2=1) and (p3=1)  then led3=1
 if (P2=1) and (p4=1)  then led4=1
 if (P2=1) then led5=1
 if (P3=1) and (p4=1)  then led6=1
 if (P3=1) then led7=1
 if (P4=1) then led8=1
 
Goto inicio
 

Adjuntos

  • on off 16f628a 8CH.rar
    14.6 KB · Visitas: 89
Última edición por un moderador:
Hola amigo inspector gadget te recomiendo este enlace donde explico a detalle lo que comentas de como hacer la configuración de las entradas y salidas, por otro lado te dejo un trazo del manual del PBP, para que tengas otra explicación, el manual de pbp, esta en español y esta en la red, buscas en google manual de pbp en español y creo que si es es el primero el segundo enlace.

Cuando arranca un microPIC , todos los pins son colocados en entrada .Para usar un pin como salida , el
pin o port debe ser colocado como salida o se debe usar un comando que automaticamente coloque al pin
como salida.
Para colocar un pin o port como salida (ó entrada) debe dar valores al registro TRIS . Colocando el bit de
TRIS como 0 , hace su pin una salida , y colocandolo en 1 lo hace una entrada .Por ejemplo :
TRISA = %00000000 ´ O TRISA = 0
Coloca todos los pins PORTA como salidas.
TRISB = % 11111111 ´ O TRISB = 1
Coloca todos los pins PORTB como entradas.
TRISC = % 10101010
Coloca todos los pins pares como salidas y los impares como entradas.
Cada bit individual puede ser manejado de la misma manera
TRISA.0 = 0
Coloca el PORTA , pin 0 como salida. Todos los demás pin permanecen sin cambio.

Enlace: https://www.forosdeelectronica.com/posts/676386/
Por otro lado para leer un puerto completo no es muy dificil, lo que tienes que saber es que el puerto siempre se maneja como una variable en cierta forma de 8 bits, osea del bit 0 al bit 7, entonces en ves de (If (P1=1) then led1=1) preguntarias (IF PORTB = %00000001 THEN LED1 =1), y asi te evitas las declaraciones de todo el puerto b...Revisa de nuevo y cualquier cosa avisas :apreton:

PD: Amigo lubeck si ya volví de texas y de mexico, vuelvo a viajar el 14 a mexico, avísame como vas con tu código yo me pongo en un rato a ver si subo un ejemplo completo.
 
Última edición:
he trabajado anteriormente con otros modelos de pic (16f870) y no he tenido problemas pero ahora quiero trabajar con el 16f877a, realice un programa sencillo, lo simulo en proteus y procedo a quemarlo con el ic-prog, me dice que la programación esta ok, pero cuando lo monto en el protoboard no corre, para verificar monto ese mismo programa en el 16f870 y lo monto en el protoboard y corre a la perfección, quisiera que me dieran ideas de donde puede estar el problema; ayúdenme por favor.
Aquí adjunto el programa esta en pic basic pro

Código:
DEFINE OSC 4
cont VAR BYTE

inicio:
trisb = 0
trisc = 1
cont = 0
pul VAR portc.0
inicio2:

parada:
IF pul = 1 THEN
cont = 0
portb = 0
GOTO parada
ENDIF

portb = cont
cont = cont + 1
PAUSE 250
IF cont = 16 THEN
GOTO inicio
ELSE
GOTO inicio2
ENDIF

END
 

Adjuntos

  • ic-prog.jpg
    ic-prog.jpg
    184.3 KB · Visitas: 28
  • simulacion del programa en 16f877a.jpg
    simulacion del programa en 16f877a.jpg
    127.6 KB · Visitas: 55
Última edición por un moderador:
Hola que tal, ando con un problema que me esta dando dolores de cabeza.
Es acerca de la Multiplexacion de displays de 7-seg. Catodo común.
Entiendo lo basico de la multiplexacion que es encender un display a la ves, solo que se hace tan rapido que el ojo humano no percibe el parpadeo de los mismos.
Bien pues quiero realizar un contador de 0-9999.
Tengo un programa en donde uso un LOOP pero no lleva multiplexacion es decir, las unidades las muestro por el portb y las decenas por el portd D.
Esto no presenta nigun problema ya que no lleva multiplexacion.
Mi problema viene cuando intento multiplexar, tengo la idea basica pero no logro hacer ya que tengo muchas dudas al momento de realizarlo.
Necesito una mano de vdd, es la primera ves que hago multiplexacion y no se como empezar.
Código:
TRISB=0
PORTB=0
TRISD=0
PORTD=0
VEC1 VAR BYTE
VEC2 VAR BYTE
I VAR BYTE
UNIDADES VAR BYTE
DECENAS VAR BYTE

INICIO:
WHILE 1=1
FOR i=0 TO 99
VEC1=I//10
VEC2=(I/10)//10
LOOKUP VEC1,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],UNIDADES
LOOKUP VEC2,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],DECENAS
PORTB=UNIDADES
PORTD=DECENAS
PAUSE 50
vec1=vec1+1
NEXT I
WEND
END
Ese es un contador de 0-99 como pueden apreciar no uso la multiplexacion.
Intente trasladar ese codigo con la idea que tengo de ir prendiendo los displays uno por uno, pero por ejemplo una ves que termino de contar las unidades como mostrar el numero de las decenas y que este se quede fijo hasta que las unidades hallan contado hasta 9 de nuevo???
 
Buenas tardes. Disculpen la ignorancia pero cuando el fabricante menciona en la hoja de datos 1,000,000 ciclos de borrado/escritura en el caso de la memoria 24LC256, a que se refiere exactamente? es por cada direccion o por borrar completamente la memoria?

Por ejemplo si tengo unicamente 12 datos en la memoria, dejando la direccion 0 en blanco y empezando en la 1 hasta la 12. Si borro cada una de las direcciones que tengo ocupadas para reescribirle otro valor eso cuenta como 12 borrados/escritura dentro del millon de ciclos que dice poder hacer? o solo cuenta como 1 ciclo de borrado/escritura? o cada que agrego un dato extra para guardar en otra direccion limpia cuenta tambien ?

De antemano gracias por la ayuda. Saludos
 
Hola que tal, ya pude realizar mi contador ascendente, ya entendi lo de la Multiplexacion.
Adunto mi codigo
Código:
cmcon=7; ACTIVA TODO EL PUERTO A EN DIGITAL
TRISB=0; TODO EL PUERTO EN SALIDA
PORTB=0; TODO EL PUERTO EN 0
VEC1 VAR BYTE
VEC2 VAR BYTE
VEC3 VAR BYTE
VEC4 VAR BYTE
I VAR BYTE
UNIDADES VAR BYTE
DECENAS VAR BYTE 
CENTENAS VAR BYTE
MILLARES VAR BYTE
TRISA=0
X VAR BYTE

INICIO:
WHILE 1=1
FOR i=0 TO 9999
VEC1=I//10
VEC2=(I/10)//10
VEC3=(i/100)//10
VEC4=(I/1000)//10
LOOKUP VEC1,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],UNIDADES
LOOKUP VEC2,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],DECENAS
LOOKUP VEC3,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],CENTENAS
LOOKUP VEC4,[$3F,$06,$5B,$4F,$66,$6D,$7D,$07,$7F,$6F],MILLARES


VEC1=VEC1+1

FOR X=0 TO 50
PORTA=%00001000:PORTB=UNIDADES
PAUSE 5
PORTA=%00000100:PORTB=DECENAS
PAUSE 5
PORTA=%00000010:PORTB=CENTENAS
PAUSE 5
PORTA=%00000001:PORTB=MILLARES
PAUSE 5
NEXT x



NEXT i 
WEND
END


Alguien me podria hechar la mano con el uso de las banderas.
Lo que tengo que hacer es lo siguiente, cuando conecto el uC al la corriente despliega el numero 7 y cuando pulso un boton muestra el numero 4, si lo vuelvo a pulsar muestra el numero 7 de nuevo y si lo vuelvo a pulsar muestra el numero 4 de nuevo.
Es como un set y un reset. Se que tengo que usar banderas pero aun no logro entender bien como usarlas. Adjunto lo que llevo de codigo. De inicio en proteus me muestra el 7 y cuando pulso el boton me muestra el 4 pero al pulsar de nuevo el boton ya no hace nada =(, alguien que me heche una manita, de antemano gracias.
Código:
trisb=0         
numero VAR BYTE      ;crea la variable número con valor 255 
bot VAR portc.0  ;nombre para el puerto C.4 
flag VAR BIT    ;creamos la variable flag de un bit 
flag1 var bit


display: 
      IF bot=0 THEN nueve r      
 pAUSE 80          ; pause para estabilizar el rebote de la tecla 
      if bot=1 then seis
 pause 80
Flag=0     ;cargar la variable con cero 
flag1=0
    GOTO display                  ;ir a display 


nueve: 
   IF  flag= 1 THEN GOTO display ;pregunta si la variable es uno 
      flag = 1     ;cargar la variable con uno 
      flag1=0
  portb=$66
   GOTO display                   ;ir a display 
   
seis:
if flag1=0 then goto display
flag=0
flag1=1
portb=$07
goto display



END

salu2
 
Última edición:
Buenos dias amigos aca dejo un pequeño aporte se que no es un proyecto grande pero estoy empezando a practicar programas en basic para hacer funcionar motores y este es un circuito con motor inversor de giro espero les agrade la idea final es ponerlo en mi casa para mover las cortinas jejeje y empiezo probando con motor dc
este es el codigo por favor si podria mejorarse espero puedan aportar y ayudarme a mejorar este proyecto
el pulsador necesita un retardo de 500 ms por tema de ruido
Código:
cmcon=7
DEFINE OSC 4			
TRISB = $F0
TRISA = $FF
        
OPEN    VAR PORTA.0
CLOSE   VAR PORTA.1

GIR1    VAR PORTB.0 
GIR2    VAR PORTB.1
SEN1    VAR PORTB.7
SEN2    VAR PORTB.6

low GIR1
low portb.1
low portb.2
LOW SEN1;=0

      Main:
        IF OPEN THEN GOSUB ABRIR
        IF CLOSE THEN GOSUB CERRAR     
 
   ABRIR: 
     pause 500
      IF OPEN THEN 
       HIGH gir1
        LOW GIR2
      ENDIF
       
      CERRAR: 
       PAUSE 500
        if close then
         low gir1
          high gir2
        endif
  GOTO MAIN

END

aca adjunto el diseño en proteus y el archivo hex el codigo del programa lo dejo aca mismo
 

Adjuntos

  • motor prueba1.rar
    18.3 KB · Visitas: 78
Buenos dias amigos aca dejo un pequeño aporte se que no es un proyecto grande pero estoy empezando a practicar programas en basic para hacer funcionar motores y este es un circuito con motor inversor de giro espero les agrade la idea final es ponerlo en mi casa para mover las cortinas jejeje y empiezo probando con motor dc
este es el codigo por favor si podria mejorarse espero puedan aportar y ayudarme a mejorar este proyecto
el pulsador necesita un retardo de 500 ms por tema de ruido
Código:
cmcon=7
DEFINE OSC 4            
TRISB = $F0
TRISA = $FF
        
OPEN    VAR PORTA.0
CLOSE   VAR PORTA.1

GIR1    VAR PORTB.0 
GIR2    VAR PORTB.1
SEN1    VAR PORTB.7
SEN2    VAR PORTB.6

low GIR1
low portb.1
low portb.2
LOW SEN1;=0

      Main:
        IF OPEN THEN GOSUB ABRIR
        IF CLOSE THEN GOSUB CERRAR     
 
   ABRIR: 
     pause 500
      IF OPEN THEN 
       HIGH gir1
        LOW GIR2
      ENDIF
       
      CERRAR: 
       PAUSE 500
        if close then
         low gir1
          high gir2
        endif
  GOTO MAIN

END
aca adjunto el diseño en proteus y el archivo hex el codigo del programa lo dejo aca mismo

Hola...tal vez algo como el adjunto es una de las tantas formas que se puede hacer .
Saludos.
Código:
@ DEVICE pic16f628A, INTRC_OSC_NOCLKOUT 'Reloj interno solo.-
@ DEVICE pic16f628A, WDT_OFF ' Watchdog Timer desconectado.-
@ DEVICE pic16f628A, PWRT_ON ' Power-On Timer conectado.-
@ DEVICE pic16f628A, BOD_ON ' Brown-Out Detect conectado.-
@ DEVICE pic16f628A, MCLR_ON ' Master Clear Externo conectado;desconectado.-
@ DEVICE pic16f628A, LVP_OFF ' Low-Voltage Programming desconectado.-
@ DEVICE pic16f628A, CPD_OFF ' Data Memory Code Protect desconectado.-
;@ DEVICE HS_OSC ; Oscilador a cristal

cmcon=7
DEFINE OSC 4            
TRISB = $F0
TRISA = $FF

i var byte        
OPEN    VAR PORTA.0
CLOSE   VAR PORTA.1

GIR1    VAR PORTB.0 
GIR2    VAR PORTB.1
SEN1    VAR PORTB.7
SEN2    VAR PORTB.6

low GIR1
low portb.1
low portb.2
LOW SEN1;=0
' Programa Principal
Main:
        IF OPEN THEN ' Si presiono OPEN
            for i = 1 to 10
             pause 50  ' espero 50 ms
            if open = 0 then goto main ' si se suelta antes de 10 X Pause50ms voy al inicio
            next i
         GOSUB ABRIR ' Voy a abrir
        endif
        IF CLOSE THEN 
            for i = 1 to 10
             pause 50
            if close = 0 then goto main
            next i 
        GOSUB CERRAR
        endif
          pause 50 ' espero 50ms si no se cumple ninguna de las dos condiciones 
        GOTO MAIN  ' retorno a la rutina principal 
' Abre Cortina 
ABRIR: 
     HIGH gir1 ' Encender Gir1
     LOW GIR2  ' Aseguramen que Gir2 este apagado
     repeat  ' Repetir 
       pause 50  ' Esperar 50ms
     until  open = 0 ' hasta que "OPEN" sea soltado
     low gir1 ' Apagar Gir1
     return  'Volver a la llamada
' Cierra Cortina     
CERRAR: 
        low gir1
        high gir2
        repeat
           pause 50
        until close = 0 
        low gir2  
        return 

END
Ric.
 

Adjuntos

  • Motor prueba2.zip
    20.9 KB · Visitas: 105
Amigo que version usas del basic yo uso el microcode pic basic pro y me sale error cuando compilo tu programa justo en el UNTIL y el REPEAT podrias ponerlo como adjunto por favor para poder descargar tu version que usas el tema es que yo de mi pc no puedo descargar programas si no es con permiso del servidor que me da internet muchas gracias



mi version es un demo creo por que aveces cuando hago mucho codigo me sale en ingles que devo comprar la version original por ser este un demo
 
Última edición:
Amigo que version usas del basic yo uso el microcode pic basic pro y me sale error cuando compilo tu programa justo en el UNTIL y el REPEAT podrias ponerlo como adjunto por favor para poder descargar tu version que usas el tema es que yo de mi pc no puedo descargar programas si no es con permiso del servidor que me da internet muchas gracias



mi version es un demo creo por que aveces cuando hago mucho codigo me sale en ingles que devo comprar la version original por ser este un demo

La versión que uso es la 4 del MicroCode Studio y el compilador es el PicBasicPro 2.6...no se a que te refieres con adjuntar si ya lo que adjuntado en el archivo Motor prueba2.zip...te puedo pegar el hex compilado por aquí
Código:
:100000002828A301A200FF30A207031CA307031C9A
:1000100023280330A100DF300F200328A101E83E90
:10002000A000A109FC30031C1828A00703181528FC
:10003000A0076400A10F152820181E28A01C222844
:1000400000002228080083130313831264000800B1
:1000500007309F008316F0308600FF308500831242
:1000600006108316061083128610831686108312DC
:1000700006118316061183128613831686138312C4
:100080006400051C53280130B80064000B303802AE
:1000900003185228323001206400051850284028E7
:1000A000B80F452869206400851C66280130B80017
:1000B00064000B30380203186528323001206400D8
:1000C000851863284028B80F58287B20323001203B
:1000D0004028061483160610831286108316861095
:1000E000831232300120640005187128061083162F
:1000F0000610831208000610831606108312861459
:1001000083168610831232300120640085188328FC
:0E0110008610831686108312080063008D2867
:02400E00703F01
:00000001FF

Lo mio solo fue una ejemplo de la forma que se puede hacer...toma la idea y lo resuelve con las instrucciones que soporte la versión del compilador que tengas de eso se trata al aprender.

Ric.
 
no amigo si lo he probado tu circuito y funciona bien pero si yo quiero modificar tu programa para hacer otras pruebas me bota error en las variable UNTIL y REPEAT y me sale que tengo que comprar la version original del pic basic pro. eso siempre me sale ya que el que logre descargar es un demo
yo casi no puedo descargar programas de aca mi maquina ya que el internet lo tengo bloqueados algunos programas por eso te pedia si tienes el instalador del microcode que usas para yo poder instalarlo claro si se podria por favor



no amigo si lo he probado tu circuito y funciona bien pero si yo quiero modificar tu programa para hacer otras pruebas me bota error en las variable UNTIL y REPEAT y me sale que tengo que comprar la version original del pic basic pro. eso siempre me sale ya que el que logre descargar es un demo
yo casi no puedo descargar programas de aca mi maquina ya que el internet lo tengo bloqueados algunos programas por eso te pedia si tienes el instalador del microcode que usas para yo poder instalarlo claro si se podria por favor



Amigos podrian decirme en que estoy fallando en este codigo por favor les rogaria me den una manito se que para algunos es talvez ya demasiado facil ,pero yo aun batallo con los codigos. quiero activar foco0 con boton0 y desactivarlo con boton1 les agradesco su apoyo aca les dejo el codigo
Código:
@ DEVICE PIC16F628
@ DEVICE MCLR_On
@ DEVICE INTRC_OSC 
@ DEVICE WDT_OFF 
@ DEVICE LVP_OFF 
@ DEVICE BOD_OFF 
@ DEVICE PWRT_OFF
@ DEVICE CPD_ON 
@ DEVICE PROTECT_ON 
DEFINE OSC 4 

CMCON=7

TRISA = $FF
TRISB = $FC
PORTB = $0

Boton0      VAR PORTA.0
Boton1      var PORTA.1
Foco0       VAR PORTB.0
Foco1       VAR PORTB.1

low foco0
low foco1
boton0=0
boton1=0

 Main:
    if boton0 then Time0
 goto main   
  
  Time0:
   if boton0 then
      pauseus 1
     high foco0
     if foco0 then gosub Salto   ;no se si es necesario esta llamada pero si elimino esta linea
                                         ; igual no me funciona   
    endif 
   while BOTON0 :wend
   
   Salto:
   if boton1 then
    pauseus 1
     low foco0
   ;endif
   endif
    while boton1 : wend  
 while BOTON0 :wend 
  goto main 

end
 
Última edición:
Una consulta quiero realizar lo sgte:
tengo 2 pulsadores uno A y otro B, si A lo presione 1 vez y después B se debe prender una vez un led
Si presione A 5 veces y después B se enciende el led 5 veces
Y así sucesivamente
A es el numero de veces que debe prender mi led y B es como mi enable o mi habilitador
me pueden dar la idea no el programa, de como se puede hacer eso mas o menos
 
Última edición por un moderador:
amigo mira en los primeros ejemplos nuestros amigo dejaron este codigo que te pueda orientar mucho ahi te lo pongo
Código:
;Proyecto con 2 pulsadores y 3 leds ; cuando es accionado P1(primer pulsador) se 
;enciende un led ubicado en RB2 durante un segundo,lo mismo pasa si se acciona 
;P2 con otro led ubicado en RB3 , pero si son accionados al mismo tiempo un 
;tercer led (RB4)parpadeara 5 veces duante 300mls se uitliza pic 16F877A.

@ device xt_osc ; oscilador externo XT 
define osc 4 ; especifica que se va a utilizar uno de 4 Mhz 

;configuracion de pines 

led1 var portb.2               ;ubicacion del primer LED en RB2 del pic 16F877A 
led2 var portb.3               ;""""                        RB3
led3 var portb.4                ;""""""""""""""""""""       RB4
p1 var portb.0                  ;"""""""del primer pulsador RB0 """"""""""""
p2 var portb.1                  ;"""""""segundo pulsador   RB1
x var byte                      ;variable x con capacidad de 255


; lectura de pulsadores
inicio
if p1=0 then encender   ; pregunta si se acciono el pulsador 1 ir a encender
PAUSE 200
if p2=0 then encender1  ;  """ pulsadodor2 ir a encender 1
PAUSE 200
if (p1=0) AND (p2=0) then encender2  ; """"pulsador1 y pulsador2 ir a encender2
PAUSE 200
goto inicio                   ; crea un bucle cerrado


encender:                    ;rutina encender
high led1                 ; enciende led 
pause 1000                   ;espera 1seg
toggle led1                ; apaga led
pause 1000
goto inicio                   ;ir a inicio

encender1:
high led2                 ; enciende led 
pause 1000                   ;espera 1seg
toggle led2                ; apaga led
pause 1000
goto inicio 

encender2:
for x=0 TO 4           ; repite cinco veces 
high led3                ; enciende led 
pause 300                   ;espera 300mls
low led3                ; apaga led utilice comando low que cumple la misma 
                         ;funcion que toggle que cambia la configuracion
                         ;de un bit es decir si esta en ALTO LO PASA A BAJO
                         ;y viceversa
pause 300
NEXT                   ; SIGUIENTE HASTA QUE SE REPITE 5 VECES
goto inicio 
end                            ;fin del programa
 
Atrás
Arriba