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

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

Desconectado Chrisbaf

  • PIC16
  • ***
  • Mensajes: 178
Re: Ejemplos en PBP y PROTEUS
« Respuesta #225 en: 27 de Julio de 2009, 19:48:48 »
podrias probar colocando asm, tu rutina y al final endasm

Desconectado Rogil

  • PIC10
  • *
  • Mensajes: 41
Re: Ejemplos en PBP y PROTEUS
« Respuesta #226 en: 27 de Julio de 2009, 20:56:58 »
podrias probar colocando asm, tu rutina y al final endasm
Gracias por responder tan rapido pero me gustaria intercalar comandos de asm, con los de picbasic, si te fijas tengo un hserout, en medio del contador hecho en asm, lo que deseo hacer es reducir los for, while y until del picbasic que pueden consumir mucho espacio.
Lo que me parece raro es que funciona, solo si tengo pocas variables y pocas funciones, de lo contrario me trata el _B4 en asm con el B4 de picbasic como si fueran diferentes variables.


Desconectado terrapigui

  • PIC10
  • *
  • Mensajes: 6
Re: Ejemplos en PBP y PROTEUS
« Respuesta #227 en: 28 de Julio de 2009, 12:46:12 »
hola señores
estoy siguiendo sus ejemplos en pic basic.
hasta ahora todo bien,pero me surge una duda a la hora de hacer una aplicacion.
quiero tener un potenciometro conectado a un 16f627a ,de manera que cuando gire ese potenciometro me lo indique en dos digitos de 7 segmentos desde 1 a 99, esto debe de corresponder al porcentaje de modulacionn de un pwm que lo utilizo directamente del pic con el comando hpwm, es decir, con el pot a minimo tengo un 1% de ancho de pulso y con el pot en el otro xtremo tengo un 99% de encho de pulso, y debo de poder leerlo en el display.
alguna ayuda?
me gustaria verlo de dos formas, uno sin interrupciones y otra forma utilizando interrupciones si es posible.
Gracias

Desconectado Mc Guiver

  • PIC10
  • *
  • Mensajes: 31
Re: Ejemplos en PBP y PROTEUS
« Respuesta #228 en: 02 de Agosto de 2009, 01:36:52 »
Estimado Terrapiqui:
Si no puedes hacer funcionar la lectura del potenciómetro para enviarla a una variable, prueba con cambiar el pic con uno con entradas analógicas, por ej el 16f873, el 16f876 o creo que tambien el 16f819 tambien tiene, por las dudas consulta con la hoja de datos.El 16f627 tiene por lo que tengo entendido comparadores analógicos, lo que verifica es cual de dos entradas es mayor que la otra.
A mi me pasó algo parecido, quería hacer encender tres leds de a uno dependiendo de la posición de un potenciómetro.

Ejemplo de programacion:

Define   ADC_BITS 8   '
DEfine   ADC_CLOCK 3
Define   ADC_SAMPLEUS 50

TRISA = %11111111     'defino puerto A como entradas
TRISB = %00000000     'defino puerto B como salidas
                     
adcon1=%00000010      'acá defino que pines trabajarán como analógicos y cuales como digitales,(ver hoja de datos del 16f873a)
                     
dog VAR byte

main:
      adcin 0,dog                         ‘potenciómetro conectado a pin 0 del Puerto A (analógico)
      if dog<80 then
      portb=%00000001               ‘led rojo
      endif
      if dog>80 and dog<160 then
      portb=%00000010               ‘led amarillo
      endif
      if dog > 160 then
      portb=%00000100               ‘led verde
      endif 
      goto main

No es exactamente lo que buscas pero espero que te sea de utilidad.
Saludos
Mc Guiver :-/ 
     


Desconectado opsercjl

  • PIC10
  • *
  • Mensajes: 3
Re: Ejemplos en PBP y PROTEUS
« Respuesta #229 en: 08 de Agosto de 2009, 07:35:27 »
hola LordLafebre, una pregunta manejas el protocolo i2c, soy nuevo en el foro :-/, y me gustararia saber como puedo comunicar 2 micros atraves de este protocolo si pudieras ayudarme te lo agradeciria salu2. :)

Desconectado jhonathanve

  • PIC12
  • **
  • Mensajes: 88
Re: Ejemplos en PBP y PROTEUS
« Respuesta #230 en: 08 de Agosto de 2009, 22:10:06 »
Buenas a Todos pues aqui. esta mi primer aporte productivo al foro. esto es el fruto de unas clases que me esta dando m amigo carlos de peru..

pues este es un comando basico. es encender y apagar un led cada segundo pero de ora manera , con el codigo STEP

    define osc 4 ;defino el oscilaodr
         cmcon=7      ;covierte todos los puertos en digital
         i var byte    ; una variable de 255
         
         inicio
         
         high 1    ;encender el pin menos significativo
         gosub tiempo      ; gosub llama a una Subrutina
         low 1              ;apaga el pin
         gosub tiempo       ; gosub llama a una Subrutina
         goto inicio         ; el bucle infinico
         
         tiempo:              ;La subrutina.
         for i = 1 to 10 step 1; aqui el hace 10 pasos cuando los hace cambia
         pause 200              ;el estado del pin. espero sirva de ayuda
         next i
         return

Desconectado jhonathanve

  • PIC12
  • **
  • Mensajes: 88
Re: Ejemplos en PBP y PROTEUS
« Respuesta #231 en: 12 de Agosto de 2009, 13:24:41 »
i var byte
j var byte
unidad var byte
decena var byte

TRISB=0

main:
    for i=0 to 99
        for j=0 to 99
            unidad = i dig 0
            portb = unidad + 16
            pause 5
            decena = i dig 1
            portb= decena + 32
            pause 5
        next j
    next i
    goto main
end



El codigo es sencillo, esta formado por dos bucles, el primero que es de donde a donde va el contador (0-99) y el segundo bucle es el tiempo que quieres que permanesca visualizado el valor en el display, utilizo la funcion DIG para cojer el digito correspondiente, y le sumo 16 ó 32 para activar el display correspondiente para formar el número.

Cuelaquier cosa me comentas, si no esta claro te lo explico mejor.

Suerte...!!! ...

Buenas.. alguien me podria explicar  exactament el codigo dig. xq estaba viendo y no entiendo es nada.. jajaja suerte saludos

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Ejemplos en PBP y PROTEUS
« Respuesta #232 en: 12 de Agosto de 2009, 19:26:19 »
Hola jhonathanve, es conveniente que postees tu duda en un hilo nuevo, ya que este es de ejemplos y estas haciendo consultas.

Además al momento de citar ejemplos indicalos para poder entender tu post.

Saludos  :)
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado terrapigui

  • PIC10
  • *
  • Mensajes: 6
Re: Ejemplos en PBP y PROTEUS
« Respuesta #233 en: 15 de Agosto de 2009, 05:56:51 »
Estimado Terrapiqui:
Si no puedes hacer funcionar la lectura del potenciómetro para enviarla a una variable, prueba con cambiar el pic con uno con entradas analógicas, por ej el 16f873, el 16f876 o creo que tambien el 16f819 tambien tiene, por las dudas consulta con la hoja de datos.El 16f627 tiene por lo que tengo entendido comparadores analógicos, lo que verifica es cual de dos entradas es mayor que la otra.
A mi me pasó algo parecido, quería hacer encender tres leds de a uno dependiendo de la posición de un potenciómetro.

Ejemplo de programacion:

Define   ADC_BITS 8   '
DEfine   ADC_CLOCK 3
Define   ADC_SAMPLEUS 50

TRISA = %11111111     'defino puerto A como entradas
TRISB = %00000000     'defino puerto B como salidas
                     
adcon1=%00000010      'acá defino que pines trabajarán como analógicos y cuales como digitales,(ver hoja de datos del 16f873a)
                     
dog VAR byte

main:
      adcin 0,dog                         ‘potenciómetro conectado a pin 0 del Puerto A (analógico)
      if dog<80 then
      portb=%00000001               ‘led rojo
      endif
      if dog>80 and dog<160 then
      portb=%00000010               ‘led amarillo
      endif
      if dog > 160 then
      portb=%00000100               ‘led verde
      endif 
      goto main

No es exactamente lo que buscas pero espero que te sea de utilidad.
Saludos
Mc Guiver   
     
Gracias Mc Guiver por tu respuesta, probare con lo que me dices pero  creo de esta manera lo que hago es comparar 3 señales si no me equivoco, yo lo que pretendo es simplemente poder leer directamente la posicion del potenciometro en un display, que me lea desde 1 a 99.
pero tu informacion me aporta mucho ya que lo que tu codigo es bastante  claro y depurado, me puede servir como ayuda.

Desconectado Mc Guiver

  • PIC10
  • *
  • Mensajes: 31
Re: Ejemplos en PBP y PROTEUS
« Respuesta #234 en: 27 de Noviembre de 2009, 16:51:39 »
Estimados piclisteros:
Estoy tratando de compilar un programita en pbp de sólo hacer encender y apagar un led con un pic 16f819. Lo que quiero es usar el oscilador interno del mismo, según el datasheet tengo que confifurarlo con OSCCON=%01100000 (para 4mhz), pero cuando lo compilo es como que no reconoce el comando osccon. Alguien me puede sacar de la duda? se los agradeceré.
Atte.
        Mc Guiver

Desconectado mcrv20

  • PIC10
  • *
  • Mensajes: 1
Re: Ejemplos en PBP y PROTEUS
« Respuesta #235 en: 02 de Marzo de 2010, 17:17:38 »
Hola muy bueno tu dolor de cabeza. Te escribo para preguntarte si tendrás este mismo programa pero en mplab ó .asm. Gracias.
Contribuyo con un circuito que me dio dolores de cabeza.

PIC 12F675
1 Potenciometro conectado a GPIO 0 (AN0)
4 Leds en los puertos GPIO 1, 2, 4, 5 .
De a cuerdo a la posicion del potenciometro se van prendiendo los leds.

Adjunto archivo y simulacion. Probado fisicamente , luego de varios meses que programo un pic.  :(

Saludos

Desconectado Mc Guiver

  • PIC10
  • *
  • Mensajes: 31
Re: Ejemplos en PBP y PROTEUS
« Respuesta #236 en: 04 de Abril de 2010, 02:50:26 »
Bueno...después de investigar un buen rato he descubierto como configurar el pic 16f819 para hacerlo trabajar solo con oscilador interno y acá va el programita de prueba:

trisa=%00000000
trisb=%00000000
@device pic16f819, intrc_osc  'defino para trabajar con oscilador interno
OSCCON=%01100110           'defino la frecuencia del oscilador (en este caso 4mhz)
                                           '(ver datasheet del pic)
inicio:
         y acá el programa que se les ocurra
         saludos
         Mc. Guiver
         goto buena suerte

Espero que sea de utilidad.
« Última modificación: 04 de Abril de 2010, 02:55:32 por Mc Guiver »

Desconectado chanpablo

  • PIC10
  • *
  • Mensajes: 1
Re: Ejemplos en PBP y PROTEUS
« Respuesta #237 en: 19 de Mayo de 2010, 23:15:45 »
buenas!!! q tal, soy muy nuevo en esto de los pic! Arranque hace un tiempito a hacer pequeñas cosas, hasta el punto q logro hacer programas q en el simulador han funcionado, obviamente los de los led, llegando hasta algun motor de paso, cosas que no tienen mas misterio que designar las entradas y salidas del pic! Trabajo el 16f628a. Recien antes de ayer fui a grabar uno con un programa que enciende 3 leds para probar en protoboard. El tema es, que no me funciona, yo le puse un cristal de 4 mhz en las patas 15 y 16, pero por lo que se este pic tiene oscilador interno, el tema es, como configuro que oscilador voy a usar??? Aclaro que uso lenguaje basic! Segun he visto algo, seria "define OSC 4", pero mas allla de esto, el pic sigue sin funcionarme! agradezco cualquier ayuda! saludos

Desconectado sonicTH

  • PIC10
  • *
  • Mensajes: 21
Re: Ejemplos en PBP y PROTEUS
« Respuesta #238 en: 31 de Mayo de 2010, 10:27:18 »
buenas!!! q tal, soy muy nuevo en esto de los pic! Arranque hace un tiempito a hacer pequeñas cosas, hasta el punto q logro hacer programas q en el simulador han funcionado, obviamente los de los led, llegando hasta algun motor de paso, cosas que no tienen mas misterio que designar las entradas y salidas del pic! Trabajo el 16f628a. Recien antes de ayer fui a grabar uno con un programa que enciende 3 leds para probar en protoboard. El tema es, que no me funciona, yo le puse un cristal de 4 mhz en las patas 15 y 16, pero por lo que se este pic tiene oscilador interno, el tema es, como configuro que oscilador voy a usar??? Aclaro que uso lenguaje basic! Segun he visto algo, seria "define OSC 4", pero mas allla de esto, el pic sigue sin funcionarme! agradezco cualquier ayuda! saludos

Algo tarde la respuesta vdd?  :mrgreen:

   En fin. El problema que tienes a mi experiencia va a ser una de estas cosas:

 1.- Estas usando RA5 como salida siendo que ésta solamente puede ser entrada
 2.- debes deshabilitar los comparadores con CMCON=7 (aunque no creo  :? )
 3.- Te falta poner una Resistencia de Pul-up a la R5 para el Mater Clear Reset. Hay forma de deshabilitarlo desde el programa pero que mejor que tenga reset el pic.

  Bueno, espero haberte ayudado en poca o gran medida, saludos.

Desconectado luiscac

  • PIC10
  • *
  • Mensajes: 8
Re: Ejemplos en PBP y PROTEUS
« Respuesta #239 en: 10 de Septiembre de 2010, 23:00:23 »
Me gustaria sacar por el puerto B0 una señal de 1 MHz y simultaneamente por el puerto B1 un tren de impulsos por ejemplo 101, para que una vez los tenga se sumen en una puerta AND y obtener asi una portadora de 1MHz modulada por el tren de impulsos.
Utilizo la instruccion PWM portb.0,50, 25 para la portadora de 1 MHz (con el reloj interno del  16f628a a 4 MHz)
Como seria el codigo complet, pues he realizado varias pruebas y primero me genera 1 MHz y una vez terminado de generar, empieza con el tren de impulsos, con lo cual nunca tengo las dos señales simultaneamente. Necesito una ayuda


 

anything