Autor Tema: Ejemplos en PBP y PROTEUS  (Leído 266836 veces)

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

Desconectado Mc Guiver

  • PIC10
  • *
  • Mensajes: 31
Re: Ejemplos en PBP y PROTEUS
« Respuesta #210 en: 26 de Septiembre de 2008, 09:46:33 »
Estimados piclisteros:
Tengo un pequeño problema con los pics, es que cuando los conecto a un pak de pilas de 5 voltios, no siempre arranca como debería arrancar. Por un lado hice una selectora de colores con 4 servos de aeromodelismo y hay veces que los servos trabajan lentos y hacen cualquier cosa,para correjir esto lo desconecto, espero unos segundos y al volver a conectar arranca bien.La alimento con una fuente de computadora que por lo visto anda bien.Fuciona de la siguiente manera: Tengo una torre con cubos de madera de distintos colores ubicados en forma aleatoria, un servo se encarga de ponerlos en una cinta transportadora, y depende el color , en el final de la misma una plataforma movil los selecciona en una caja con cuatro divisiones ubicando cada color en su lugar.Un quinto color, el blanco, lo despide por uno de los costados del la cinta transportadora. 
Tambien hice un semáforo de 4 vias con leds, con este nunca tuve problemas.Siempre arranca bárbaro.
Y por ultimo hice un autómata con 6 salidas a relé y seis entradas (como para comandar electroválvulas neumáticas o demas elementos,doy clases de taller en una escuela técnica). El problema con éste último es que me pasa lo mismo que con la selectora, pero a demas, cuando conecto los 24 voltios de las válvulas a los relés, queda activa (encendida) una de las salidas que no debería, pero eso último no me preocupa tanto, lo que si me preocupa es el arranque del pic.
Si alguien me puede dar una mano desde ya muchísimas gracias.
Prometo subir el programa de la selectora y un video de la misma. un abrazo para todos
Mc Guiver

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Ejemplos en PBP y PROTEUS
« Respuesta #211 en: 26 de Septiembre de 2008, 17:25:27 »
Saludos! Tienes habilitado el PUT?
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado jhonathanve

  • PIC12
  • **
  • Mensajes: 88
Re: Ejemplos en PBP y PROTEUS
« Respuesta #212 en: 28 de Septiembre de 2008, 14:03:12 »
Buenas... Tengo unas pequeñas dudas. con respecto al Ejemplo de las luces del cocneh fatastico
yo se hacerlas pero de otra manera. como tu colocas aki este codigo

 i    var byte
cont    var word

TRISB=0

inicio:
        cont=1
        for i=1 to 7
            PORTB=cont
            pause 100
            cont=cont*2
        next I
        for i=1 to 7
            PORTB=cont
            pause 100
            cont=cont/2
        next I
        goto inicio
end.......


ok ahora cuando dicent Cont=1. aque se refiere. si arriba dice que Cont Var Word

bueno en si jajaja no entiendo muchas cosas del codigo. si me lo podrian explicar please!!! Gracias de Ante Mano!!!

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Ejemplos en PBP y PROTEUS
« Respuesta #213 en: 28 de Septiembre de 2008, 17:54:57 »
Hola jhonathanve, antes que nada te recomiendo leas el manual de PBP y la ayuda sobre cada comando, asi sera mas facil que logres hacer tus proyectos o bien entender la sintaxis del compilador.

Lo que hace el programa es poner el valor de la variable CONT en el PORTB, cont toma el valor de 1 y al entrar en el for es multiplicado por 2 para tomar los valores 1,2,4,8...etc, despues este valor es divido por dos para regresar los valores.

La variable CONT es tipo declarada tipo WORD lo que significa que puede tomar valores entre 0 y 65535, si fuera byte tomaria valores entre 0 y 255
"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 ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 666
Re: Ejemplos en PBP y PROTEUS
« Respuesta #214 en: 28 de Septiembre de 2008, 21:57:53 »
Buenas... Tengo unas pequeñas dudas. con respecto al Ejemplo de las luces del cocneh fatastico
yo se hacerlas pero de otra manera. como tu colocas aki este codigo

 i    var byte
cont    var word

TRISB=0

inicio:
        cont=1
        for i=1 to 7
            PORTB=cont
            pause 100
            cont=cont*2
        next I
        for i=1 to 7
            PORTB=cont
            pause 100
            cont=cont/2
        next I
        goto inicio
end.......


ok ahora cuando dicent Cont=1. aque se refiere. si arriba dice que Cont Var Word

bueno en si jajaja no entiendo muchas cosas del codigo. si me lo podrian explicar please!!! Gracias de Ante Mano!!!


Hola jhonathanve para que entiendas mejor el codigo simulalo en proteus y asi tambien te daras cuenta de lo que hace cada comando pero como ya te explico navismo lo mejor es que te leas la ayuda del compilador y ves la sistaxi de  de cada cosa y asi estaras mas claro de lo que hace ese codigo.

Saludos.
Atten.
Alexander Santana.
Barcelona-Venezuela.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado Mc Guiver

  • PIC10
  • *
  • Mensajes: 31
Re: Ejemplos en PBP y PROTEUS
« Respuesta #215 en: 06 de Octubre de 2008, 19:28:33 »
Estimado Firepic:
¿Me podrias decir que es el put?, como verás no tengo la mas pálida idea de que es eso jejee. lo busque en el datasheet y no vi nada relacionado con el put

saludos 
 Mc Guiver

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Ejemplos en PBP y PROTEUS
« Respuesta #216 en: 07 de Octubre de 2008, 14:39:34 »
Qué tal Mc Guiver!
PUT son las siglas de "Power Up Timer"... es parte de los fuses, cuando programas está en las opciones...
Yo siempre lo colocaba, sin saber qué era... aquí aprendí que lo que hace es un retardo para permitir que la alimentación se estabilice, y entonces arranca el programa... pero para sistemas muy inestables tal vez sea mejor adicionarle un retardo mayor antes del programa principal que se ejecutará indefinidamente...
Son solo sugerencias, en realidad yo tuve problemas parecidos a los tuyos cuando trabajaba en ASM, luego cuando me cambié a C no volvió a pasar... supongo que las rutinas que coloca el C antes del programa principal, que es parte de las definiciones del programa, hacen un retardo que viene como anillo al dedo (es lo que deduzco, si estoy equivocado por favor sírvanse aclarar los expertos).
Un cordial saludo a todos, nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado Mc Guiver

  • PIC10
  • *
  • Mensajes: 31
Re: Ejemplos en PBP y PROTEUS
« Respuesta #217 en: 11 de Octubre de 2008, 09:54:36 »
Gracias Firepic por tu respuesta, lo voy a poner en práctica y despues te comento.
un abrazo

Mc guiver

Desconectado Mc Guiver

  • PIC10
  • *
  • Mensajes: 31
Re: Ejemplos en PBP y PROTEUS
« Respuesta #218 en: 15 de Octubre de 2008, 11:07:05 »
Hola Firepic, de vuelta  yo... Mc Guiver
Estuve mirando el datasheet del pic y algo encontré.Cuando en una oportunidad tuve que configurar entradas como analógicas o digitales lo hacía con el comando CMON1=%0000000 depende el valor del numero binario decidía cuales como analogicas y cuales como digitales.El tema es que si bien encontré una tabla,lo que no encuentro es el comando para configurar el "PUT" o tambien vi que le llaman "POR".
¿Me podrias escribir un simple ejemplo? te lo agradesco
Mc Guiver

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: Ejemplos en PBP y PROTEUS
« Respuesta #219 en: 15 de Octubre de 2008, 13:26:50 »
Ese valor lo puedes configura desde el grabador como el winpic800 aparece como PWRT
"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 Mc Guiver

  • PIC10
  • *
  • Mensajes: 31
Re: Ejemplos en PBP y PROTEUS
« Respuesta #220 en: 18 de Noviembre de 2008, 10:15:50 »
Gracias muchachos por su atención: comento que ya solucionè el problema del arranque, lo que tenia que hacer en el programa es: una vez definidas las entradas y las salidas y las declaraciones de las variables poner todos los puertos a cero con el comando portx=0 y luego la etiqueta de comienzo.
ej:
trisa=%11111111
trisb=%00000000
cat var byte
dog var word
PORTA=0
PORTB=0
PORTC=0 (si es que tiene puerto C)
inicio:
         high 7
         etc........
Porque según tengo entendido, cuando se lo alimenta, manda ceros y unos hasta que se estabiliza, por lo tanto tambien lo hace con los puertos y de esa manera enciende pines que no los deberia encender .
Gracias por sus sujerencias
nos escribimooooossssss

Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: Ejemplos en PBP y PROTEUS
« Respuesta #221 en: 18 de Noviembre de 2008, 16:01:19 »
Qué tal Mc guiver... había estado un poco desaparecido del foro por ciertas circunstancias personales, me alegra regresar y ver que resolviste el problema!  Y gracias por compartirlo con la gente de acá, seguro le será muy útil a muchos.
Saludos, nos leemos!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web

Desconectado rasec_1984

  • PIC10
  • *
  • Mensajes: 29
Re: Ejemplos en PBP y PROTEUS
« Respuesta #222 en: 10 de Junio de 2009, 13:25:24 »
Hola amigos de todopic: quisiera hacerles una consultita, estoy trabajando con el conversor S/D y quiero mostrar el resultado en displays de 7 seg. pero necesito transformar los números de binario a BCD. Lo realice contando así:

Contar:
unidad=0
decena=0
For cont=1 TO conv
unidad=unidad+1
IF unidad>9 THEN
decena=decena+1
unidad=0
ENDIF

Pero pienso que para números muy grandes es poco practico. Existe algun comando en PBP o alguna forma mas corta de hacerlo? solo eso, saludos y gracias de antemano, adios ;)

obs: conv es la variable en la que guarde lo leido en el conversor A/D.
........Los grandes espíritus siempre han encontrado una violenta oposición de parte de mentes mediocres.....

Desconectado Mc Guiver

  • PIC10
  • *
  • Mensajes: 31
Re: Ejemplos en PBP y PROTEUS
« Respuesta #223 en: 13 de Julio de 2009, 20:05:43 »
Estimado Rasec:

En lo que si te puedo ayudar es en visualizar una variable o una constante, o minutos o segundos lo que se te ocurra en un LCD me parece que es mucho mas facil que en un display de 7 segmentos y es alfanumérico,o sea que podes hacer que muestre palabras y cifras por ejemplo: Variable cuenta= 34  .Es un poco mas caro pero es un caño, yo lo probé y está re bueno, Solo tenés que usar el comando lcdout.
Saludos
            Mc. Guiver

Desconectado Rogil

  • PIC10
  • *
  • Mensajes: 41
Re: Ejemplos en PBP y PROTEUS
« Respuesta #224 en: 27 de Julio de 2009, 15:50:41 »
Hola amigos del foro.

Estoy haciendo un programa en picbasic pro 2.46, y lo que sucede es que cuando deseeo empotrar codigo en assembler, mas especificamente rutinas de conteo, me las lee pero si el código es pequeño y un número de variables menores a las que el pic puede recibir, estoy utilizando el PROTEUS para simular y el pic es un 16f628A.

Por ejemplo el contador:
@   movlw 0x7
@   movwf _B4                             'B4 VAR BYTE, asi definí la variable B4
@For_PDU
                              HSEROUT [#B4,13,10]
@                     decfsz _B4, 1
@                     goto For_PDU

si el programa es pequeño asi como sus variables en el  proteus aparece: 1 2 3 ... 7, pero si es al contrario, esto es el resultado: 0 0 0...0 (muestra 7 ceros).
No se si el problema es mi codidigo o el simulador,gracias, espero sus recomendaciones.


 

anything