desktop

Curso de programación de PIC en PICBasic Pro

Hola inspector gadget

La versión que tengo es la 7.8 SP2.

No podríamos decir que tu versión sea anterior a la de mecatrodatos pues entonces no podrías abrir los que te he enviado.
No sé a que se deba ese problema, sin embargo si nesesitas algún otro diseño lo puedo “acomodar” como el anterior que subí para que lo puedas manejar.
Ahorra mensajes mencionando en qué # está y de que trata.

saludos
a sus ordenes
 
MrCarlos, otra vez te agradezco, mira si puedes hacerme el favor, los archivos que necesito son: No.23,24,25,26 y 40 que tratan d ejercicios que involucran LCD. Necesito investigar y usar como base estos archivos y ver si despejan mis dudas, de todas maneras ya posteare lo que pretendo, no sin antes realizar los avances para solicitar la valiosa ayuda de este foro, gracias por tu tiempo.
 
hola, me podrían explicar como le hago una rutina de comprobar errores el siguiente programa tengo una secuencia de led que se enciendes al conectar un cableado utp par entrenando ,lo que quiero es saber como hacer que me muestre cuando hay error y cuando este bueno



saludes
 
Hola inspector gadget

Espero no haber omitido nada y que no tengas problemas con estos archivos.

saludos
a sus ordenes
 

Adjuntos

  • Mensaje23.zip
    11.6 KB · Visitas: 103
  • Mensaje24.zip
    16.2 KB · Visitas: 88
  • Mensaje25.zip
    13.5 KB · Visitas: 81
  • Mensaje26.zip
    14.2 KB · Visitas: 85
  • Mensaje40.zip
    18 KB · Visitas: 92
Saliendome un poquito del tema que llevan ahora en este hilo.. pero creo que es algo que aca puedo preguntar..:LOL: jeje.. alguien me podria decir si hay alguna forma de programar un pic en micro code studio y despues incorporarlo a la biblioteca de livewire para simularlo en un circuito?
 
Hola Milesatra

Creo que no hay forma de modificar las bibliotecas de LiveWire.
Sin embargo este simulador trae un dispositivo llamado Word Generator.
Este generador lo puedes incorporar en tu diseño, en LiveWire,
Luego editar sus propiedades para programarle unos o ceros en sus 16 salidas.
Eso que le programes lo puedes guardar como un archivo yyy.DAT para posteriormente re-utilizarlo.

saludos
a sus ordenes
 

Adjuntos

  • Word Generator.jpg
    Word Generator.jpg
    166.1 KB · Visitas: 48
Hola buenas tardes!!
Tengo un proyecto con un PIC16F628A , 3 botones , 2 leds y un Display 7 seg.

Velocidad.jpg


Consiste en que cada vez que el botón conteo se pulsa el numero va ir cambiando del 1-9.
cada numero va tener un ciclo distinto.
el botón START va activar ese ciclo dependiendo en el numero que se encuentre va ir ejecutando ese ciclo.
ejemplo:
Si el conteo esta en el numero 1 hace lo siguiente:
se prenden los 2 les después hace una pausa de 100 mili segundos se apaga el led2 y hace otra pausa 100 mili segundos y repite el ciclo infinitamente hasta que el botón RESETse apriete empezara todo.
y así sucesivamente con cada numero con la diferencia que cada numero cambia el timpo de espera.
Numero:
1------- 9 mili segundos
2------- 8 mili segundos
3------- 7 mili segundos
4------- 6 mili segundos
5------- 5 mili segundos
6------- 4 mili segundos
7------- 3 mili segundos
8------- 2 mili segundos
9------- 1 mili segundos

yo realice este código que aun no termino pero si me pudieran echar una manita por favor.

Código:
'*******************************************************************************
' DEFINICIÓN DE FUSES Y OSILADOR
@ device  pic16F628A, intrc_osc, pwrt_on, wdt_off, mclr_on, lvp_off, protect_off
DEFINE OSC 4
'*******************************************************************************
CMCON = 7
TRISA = %00000011
TRISB = %00000000
PORTA = 0
PORTB = 0
'*******************************************************************************
dI1 var byte
dI2 var byte
B0 var byte
B1 VAR BYTE
SUMA var byte
SUMA = 0
B0 = 0
B1 = 0
PORTB = 121
'*******************************************************************************
INICIO:
Button PORTA.0,1,255,0,B0,1,ESTADO
Button PORTA.1,1,255,0,B1,1,CLOCK
GOTO INICIO 

ESTADO:
suma = suma+1
if suma = 9 then suma = 0
di1 = suma
LOOKUP di1, [121,36,48,25,18,2,120,0,16], di2
PORTB = di2
pause 10
goto inicio

CLOCK:
PORTA.2 = 1
PAUSE 100
GOTO CLOCK1

CLOCK1:
END
que función me recomiendan para activar con un IF o con un CASE son las dos formas que se me ocurre para la activación del START.
Gracias y espero me puedan ayudar ;)
 
Última edición:
que función me recomiendan para activar con un IF o con un CASE son las dos formas que se me ocurre para la activación del START.
Gracias y espero me puedan ayudar

Buenas Noches!
aquí pongo una de las formas con la cual esta trabajando el proyecto bien!!

con la función Select Case:

Código:
'*******************************************************************************
' DEFINICIÓN DE FUSES Y OSILADOR
@ device  pic16F628A, intrc_osc, pwrt_on, wdt_off, mclr_on, lvp_off, protect_off
DEFINE OSC 4
'*******************************************************************************
CMCON = 7
TRISA = %00000011
TRISB = %00000000
PORTA = 0
PORTB = 0
'*******************************************************************************
dI1 var byte
dI2 var byte
B0 var byte
B1 VAR BYTE
SUMA var byte
SUMA = 0
B0 = 0
B1 = 0
PORTB = 121
'*******************************************************************************
INICIO:
Button PORTA.0,1,255,0,B0,1,ESTADO
Button PORTA.1,1,255,0,B1,1,CLOCK
GOTO INICIO 

ESTADO:
PAUSE 200
suma = suma+1
if suma = 9 then suma = 0
di1 = suma
LOOKUP di1, [121,36,48,25,18,2,120,0,16], di2
PORTB = di2
pause 10
goto inicio

CLOCK:
PORTA.2 = 1
GOTO CLOCK1

CLOCK1:
PAUSE 200
Select Case PORTB
case 121
goto NUM1
case 36
goto NUM2
case 48
goto NUM3
case 25
goto NUM4
CASE 18
goto NUM5
CASE 2
goto NUM6
CASE 120
goto NUM7
CASE 0
goto NUM8
CASE 16
goto NUM9
End Select 

NUM1:
PORTA.7 = 1
PAUSE 9
PORTA.7 = 0
PAUSE 9
GOTO NUM1

NUM2:
PORTA.7 = 1
PAUSE 8
PORTA.7 = 0
PAUSE 8
GOTO NUM2

NUM3:
PORTA.7 = 1
PAUSE 7
PORTA.7 = 0
PAUSE 7
GOTO NUM3

NUM4:
PORTA.7 = 1
PAUSE 6
PORTA.7 = 0
PAUSE 6
GOTO NUM4

NUM5:
PORTA.7 = 1
PAUSE 5
PORTA.7 = 0
PAUSE 5
GOTO NUM5

NUM6:
PORTA.7 = 1
PAUSE 4
PORTA.7 = 0
PAUSE 4
GOTO NUM6

NUM7:
PORTA.7 = 1
PAUSE 3
PORTA.7 = 0
PAUSE 3
GOTO NUM7

NUM8:
PORTA.7 = 1
PAUSE 2
PORTA.7 = 0
PAUSE 2
GOTO NUM8

NUM9:
PORTA.7 = 1
PAUSE 1
PORTA.7 = 0
PAUSE 1
GOTO NUM9
end

de esta manera hace los ciclos que necesito hasta que el reset reinicia todo.

Saludos y si a alguien le interesa el Código con gusto adjunto los archivos.
 

Adjuntos

  • Control-Velocidad.zip
    310.2 KB · Visitas: 145
Buenas Saludos a todos. soy nuevo en programación picbasic pro, quiero hacer un programa que active por un pin del pic16f628a una bomba de agua por 4 horas continuas. no encuentro instruccion que active un pulso por largo tiempo y posteriormente de desactive. Gracias por adelantado
 
Gracias D@rkbytes pero no entiendo la logica de
t2 = 300 ; 5 x 60 = 300 segundos (5 Minutos)

entiendo que los retardos son de 500ms como son dos es igual a 1sg pero, por que el contador tiene que ser hasta 300?



para 60 segundos seria:

LEDENCENDIDO VAR PORTB.0
SW1 var porta.0
I VAR BYTE
T var word
T1 var word

INICIO:

T=60
t1=0

If sw1=0 then goto PRENDERBOMBA
goto inicio


PRENDERBOMBA:
high ledencendido

TIEMPO:
if t1<T then
t1=t1+1
PAUSE 1000
Goto tiempo
ENDIF

low ledencendido
goto inicio:
END



Ok gracias ya entendi
 
Última edición:
Hola, una pregunta, estoy planenando hacer un sensor de luz para abrir y cerrar las ventanas de mi casa por medio de 1 solo motor, el problema es que me necesito usar el comparador analogico digital del pic 12f683, pero no se cuales sean los defines que necesito poner, si me pudieran ayudar con eso se los agradeceria mucho.
 
Hola, una pregunta, estoy planenando hacer un sensor de luz para abrir y cerrar las ventanas de mi casa por medio de 1 solo motor, el problema es que me necesito usar el comparador analogico digital del pic 12f683, pero no se cuales sean los defines que necesito poner, si me pudieran ayudar con eso se los agradeceria mucho.
Definiciones hay muchas, vienen en la ayuda de MicroCode Studio.
Tan solo escribe define y con el cursor sobre la palabra presiona la tecla F1, aparecerá la ayuda de PBP
Para empezar debes leer la hoja de datos del PIC en la sección 8.3 (Comparator Configuration)
Verás que los registros asociados son CMCON0, CMCON1 y VRCON

Suerte.
 
Última edición:
Buenas Noches!
aquí pongo una de las formas con la cual esta trabajando el proyecto bien!!

con la función Select Case:

Código:
'*******************************************************************************
' DEFINICIÓN DE FUSES Y OSILADOR
@ device  pic16F628A, intrc_osc, pwrt_on, wdt_off, mclr_on, lvp_off, protect_off
DEFINE OSC 4
'*******************************************************************************
CMCON = 7
TRISA = %00000011
TRISB = %00000000
PORTA = 0
PORTB = 0
'*******************************************************************************
dI1 var byte
dI2 var byte
B0 var byte
B1 VAR BYTE
SUMA var byte
SUMA = 0
B0 = 0
B1 = 0
PORTB = 121
'*******************************************************************************
INICIO:
Button PORTA.0,1,255,0,B0,1,ESTADO
Button PORTA.1,1,255,0,B1,1,CLOCK
GOTO INICIO 

ESTADO:
PAUSE 200
suma = suma+1
if suma = 9 then suma = 0
di1 = suma
LOOKUP di1, [121,36,48,25,18,2,120,0,16], di2
PORTB = di2
pause 10
goto inicio

CLOCK:
PORTA.2 = 1
GOTO CLOCK1

CLOCK1:
PAUSE 200
Select Case PORTB
case 121
goto NUM1
case 36
goto NUM2
case 48
goto NUM3
case 25
goto NUM4
CASE 18
goto NUM5
CASE 2
goto NUM6
CASE 120
goto NUM7
CASE 0
goto NUM8
CASE 16
goto NUM9
End Select 

NUM1:
PORTA.7 = 1
PAUSE 9
PORTA.7 = 0
PAUSE 9
GOTO NUM1

NUM2:
PORTA.7 = 1
PAUSE 8
PORTA.7 = 0
PAUSE 8
GOTO NUM2

NUM3:
PORTA.7 = 1
PAUSE 7
PORTA.7 = 0
PAUSE 7
GOTO NUM3

NUM4:
PORTA.7 = 1
PAUSE 6
PORTA.7 = 0
PAUSE 6
GOTO NUM4

NUM5:
PORTA.7 = 1
PAUSE 5
PORTA.7 = 0
PAUSE 5
GOTO NUM5

NUM6:
PORTA.7 = 1
PAUSE 4
PORTA.7 = 0
PAUSE 4
GOTO NUM6

NUM7:
PORTA.7 = 1
PAUSE 3
PORTA.7 = 0
PAUSE 3
GOTO NUM7

NUM8:
PORTA.7 = 1
PAUSE 2
PORTA.7 = 0
PAUSE 2
GOTO NUM8

NUM9:
PORTA.7 = 1
PAUSE 1
PORTA.7 = 0
PAUSE 1
GOTO NUM9
end

de esta manera hace los ciclos que necesito hasta que el reset reinicia todo.

Saludos y si a alguien le interesa el Código con gusto adjunto los archivos.

amigo, podrias compartir los archivos simulacion etc?
 
AVISO

Para evitar confusiones entre los nuevos formatos de archivos de Proteus v8.x.
Por favor adjunten si es posible, el archivo de diseño con la versión 7.x.
Y si no es posible, mencionen que el archivo de simulación está realizado en la nueva versión 8.x.
Ya que muchas personas aún no tienen la nueva versión, y les será imposible abrirlos.

Gracias.
 
los Archivos están en la pagina 129
de todas formas te dejo el enlace
https://www.forosdeelectronica.com/f24/curso-programacion-pic-picbasic-pro-20658/index129.html

Nota:
Esta echa la Simulación en el nuevo proteus por eso no aparece la extensión común DNS , si no es PDSPRJ

ahhhh con razon no aparecia el DSN, diablos....donde consigo la version 8? ya lo he intentado con algunos en laces queaparecen en el buscador pero no es ni siquiera ingles donde dice como hacer la descarga. debo pasar el esquematico a proteus en mi version, no veo de otra.
Gracias amigo.
 
Hola inspector gadgetl

Pero. . . . en la pagina 129, mensaje #2579 de jussi viene el: Control-Velocidad.ZIP.
En él trae un archivo nombrado: Velocidad-001.Jpg; en éste te puedes basar para hacer tu diseño el el ISIS que tengas.

Si no puedes aquí está:

saludos
a sus ordenes
 

Adjuntos

  • Miralo.zip
    16.6 KB · Visitas: 101
Atrás
Arriba