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

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

Desconectado dmc luis

  • PIC10
  • *
  • Mensajes: 1
Re: RE: Ejemplos en PBP y PROTEUS
« Respuesta #240 en: 22 de Septiembre de 2010, 21:43:37 »
que tal quisiera q me ayudaras con un proyecto ingresar mensajes con un teclado telefonico osea si doy click  en el nro 2 debe salir el "2 "si denuevo vueelvo hacer click que salga la letra "a" asi como ingresar mensajes con un celular , ayuda en PBP o en microcode con proteus

Desconectado porfi

  • PIC10
  • *
  • Mensajes: 5
Re: RE: Ejemplos en PBP y PROTEUS
« Respuesta #241 en: 07 de Octubre de 2010, 14:43:36 »
Hola a todos en el foro, disculpen tengo una duda para ver si me pueden ayudar, ya revise en el foro y creo que a nadie se le a pressentado este caso.

quiero saber como puedo "transformar" un string en decimal en el PBP, ya que de una palicacion en java envio datos numericos, el detalle es que me los envia en string y posteriormente en el microcontrolador PIC16F877 necesito transformar estos string recibidos en decimales y no se que funcion del PBP lo hace. Agradeceria mucho su ayuda o cualquier comentario al respecto.

Desconectado jrody

  • PIC10
  • *
  • Mensajes: 25
Re: Ejemplos en PBP y PROTEUS
« Respuesta #242 en: 16 de Abril de 2011, 00:00:03 »
Hola. Mi estimados master Lordlafebre de PBP.
Estoy trabajando en un proyecto de contador de monedas, me llega una señal digital al puerto A.0 al A.3 y con eso determino que moneda es y la cuento
Escribo para pedir ayuda. ya estoy a punto de tirar la toalla y renunciar a los PIC.
El problema que tengo es que no puedo leer la señal de entrada de PIC16F876A en el Puerto A.0 al A.3 y con esta señal. Tengo entendido que el puerto A tiene aplicaciones analógicas y que lo tengo que poner a digital, y que tengo que definir si es de entrada o salida. Estoy seguro que en esta parte esta mi error porque esta misma practica ya la logre pero con el puerto B del mismo PIC recibiendo las señales en el B.0 al B.3 y todo camino OK
Tengo un Oscilar de 4Mhz Externo y estoy programando con un MasterPorg.
Anexo mi programa en MicroPICBASIC. Saludos y muchas gracias de antemano por la ayuda que me puedan brindar.  

TRISA = 1               ;defino el puerto A como entradas (0= Salida, 1=Entrada)
ADCON1 = 7              ; Apaga los comparadores de voltaje

@ device XT_OSC
@ device WDT_OFF
@ device PWRT_ON

define osc 4

uno var porta.0         ; chanel 1
dos var porta.1         ; chanel 3
cinco var porta.2       ; chanel 4
diez var porta.3        ; chanel 6

x var BYTE

define LCD_DREG     PORTc   ;define los bit de Datos para el LDC en el Pto C
define LCD_DBIT     4       ;empesando por el C4 al C7
define LCD_RSREG    PORTc   ;define el bit de Registro del LCD en el Pto C.2
DEFINE LCD_RSBIT    2
DEFINE LCD_EREG     PORTc   ;define el bit de Enable del LCD en el Pto C.3
DEFINE LCD_EBIT     3


Inicio:
clear
lcdout $FE, 1
x = 0

display:
    lcdout $FE,1
    lcdout $FE, $80, "CUENTA MONEDAS"
    pause 50
espera:
    if uno = 0 then goto cuentauno
    if dos = 0 then goto cuentados
    if cinco = 0 then goto cuentacinco
    if diez = 0 then goto cuentadiez
    goto espera
cuentauno:
    gosub norebote
    x = x + 1
    gosub imprime
    goto espera
cuentados:
    gosub norebote
    x = x + 2
    gosub imprime
    goto espera
cuentacinco:
    gosub norebote
    x = x + 5
    gosub imprime
    goto espera
cuentadiez:
    gosub norebote
    x = x + 10
    gosub imprime
    goto espera

imprime:
    pause 25
    lcdout,$FE, $C1
    lcdout, "$ ", dec x, ".00 pesos"
    return
END

norebote:                    
  if uno = 0 then norebote
  if dos = 0 then norebote  
  if cinco = 0 then norebote  
  if diez = 0 then norebote    
  pause 25                  
  return
« Última modificación: 16 de Abril de 2011, 00:18:45 por jrody »

Desconectado banistelrroy

  • PIC10
  • *
  • Mensajes: 29
Re: Ejemplos en PBP y PROTEUS
« Respuesta #243 en: 10 de Mayo de 2011, 17:56:22 »
estoy asombrado :-/ por los temas aqui en el foro se ve que dominan los temas espero aprender mucho de ustedes

Desconectado banistelrroy

  • PIC10
  • *
  • Mensajes: 29
Re: Ejemplos en PBP y PROTEUS
« Respuesta #244 en: 11 de Mayo de 2011, 01:39:06 »
alguien podria tener un ejemplo de como poder hacer un temporizador programable yo lo adaptare a mis necesidades

Desconectado fesc4

  • PIC10
  • *
  • Mensajes: 1
Re: Ejemplos en PBP y PROTEUS
« Respuesta #245 en: 11 de Julio de 2011, 20:41:09 »
HOLA AMIGO TENGO UNA DUDA Y NECESITO DE SU AYUDA.
EL PROGRAMA QUE ESTOY UTILIZANDO ES PBP Y MI DUDA ES
TENGO DOS CONTADORE (A Y B) SI SUMO A+B OPTENGO C OK
LO QUE QUIERO SABER ES COMO HACERLE PARA SI YO VARIO (A O B) NO
VARIE C AL FINA YO QUIERO TENER 2 RESULTADOS PARA COMPARARLOS
(EL RESULTADO DE ENTRADA Y DE SALIDAD). GRACIAS POR SU ANTENCIO

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Ejemplos en PBP y PROTEUS
« Respuesta #246 en: 11 de Julio de 2011, 22:43:56 »
HOLA AMIGO TENGO UNA DUDA Y NECESITO DE SU AYUDA.
EL PROGRAMA QUE ESTOY UTILIZANDO ES PBP Y MI DUDA ES
TENGO DOS CONTADORE (A Y B) SI SUMO A+B OPTENGO C OK
LO QUE QUIERO SABER ES COMO HACERLE PARA SI YO VARIO (A O B) NO
VARIE C AL FINA YO QUIERO TENER 2 RESULTADOS PARA COMPARARLOS
(EL RESULTADO DE ENTRADA Y DE SALIDAD). GRACIAS POR SU ANTENCIO

Hola, lo que puedes hacer es usar 2 variables en las cuales guardas los resultados para luego compararlos.

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 Charlie Martinez

  • PIC10
  • *
  • Mensajes: 2
Re: Ejemplos en PBP y PROTEUS
« Respuesta #247 en: 16 de Julio de 2011, 22:40:38 »
Hola... Disculpen soy nuevo en esto de programar microcontroladores, usando el proteus hice el primer esquema que esta en los ejemplos..mi duda es donde coloco el archivo o el codigo que ustedes citan. es decir tengo que abrir un compilador? si es asi donde lo encuentro. Gracias =)

Desconectado ynot666

  • PIC10
  • *
  • Mensajes: 4
Re: RE: Ejemplos en PBP y PROTEUS
« Respuesta #248 en: 17 de Agosto de 2011, 00:13:06 »
que tal quisiera q me ayudaras con un proyecto ingresar mensajes con un teclado telefonico osea si doy click  en el nro 2 debe salir el "2 "si denuevo vueelvo hacer click que salga la letra "a" asi como ingresar mensajes con un celular , ayuda en PBP o en microcode con proteus

Que tal mi amigo, para realizar lo que deseas primero que nada, y antes de empezar con la programacion debes de saber hacer el hardware, la parte electronica, para poder decodificar los codigos o tonos DTMF del telefono, necesita el decodificador, uno que yo utilizo es el DTMF8807, este ingresa los dos cables de la linea telefonica y por sus cuatro salidas esas las mandas a un puerto de tu microcontrolador, y necesita un enable para saber cuando se presiono una tecla, una vez esto y probado haces una prueba con tu micro.

Debes de dar como entrada un puerto ya sea el a o b, por ejemplo, y le dices que si enable es = 1 leer el puerto y el DTMF se encarga de decodificarlo, tu solo dile al programa si quieres que te lo muestre en decimal, binario, etc. actualmente estoy trabajando en una tarjeta que me permita controlar cargas cuando yo le realizo una llamada, osea que el micro me pueda descolgar la linea, mandar tonos para saber que entro y con una tecla activar cargas con relay,

espero poder ayudarte, estamos para ayudarnos y aprender, saludos desde Mexico

Desconectado judex

  • PIC10
  • *
  • Mensajes: 7
Re: Ejemplos en PBP y PROTEUS
« Respuesta #249 en: 19 de Enero de 2012, 13:26:57 »
he hecho un pequeño programita que dependiendo del numero que tengamos en el display se enciende los led en varias secuencias.
lo hice con un 16f877 y un 7447 en d0 un boton en c7 y los led en b
tiene solo un pequeño fallo que al arrancar se encienden los led pero luego ya nunca vuelva a pasa, si sabeis solucionarlo los pedieis poner por favor
este  es el programa:
'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : Alberto Pumar                                     *
'*  Notice  : Copyright (c) 2012 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 17/01/2012                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
trisd=%11110000                 ;hacemos d0-4 salidas                     
trisb=0                         ;puerto b todas salidas
numero var byte                 ;numero vale hasta 255                         
flag var bit                    ;flag vale hasta 255   
z var byte                      ;z vale hasta 255
x var byte                      ;x vale hasta 255
led var portb.0                 ;led en b1
led1 var portb.1                ;led1 en b1
led2 var portb.2                ;led2 en b3
led3 var portb.3                ;led3 en b3
led4 var portb.4                ;led4 en b4
bot var portc.7                 ;boton en c7
encerar:                        ;subrutina   
numero=0                        ;cargamos numero inicialmente con 0   
display:                        ;subrutina   
portd=numero                    ;por d sale el valor del numero   
if bot=0 then aumentar          ;si pulsamos el boton aumentamos un numero   
pause 80                        ;pausa     
flag=0                          ;bandera para rebotes   
goto display                    ;vuelve a display
aumentar:                       ;subrutina   
if flag=1 then goto display     ;si el boton esta pulsada no cuenta   
flag=1                          ;bandera antirebotes   
if numero=9 then encerar        ;si llega a 9 vuelta a 0   
numero=numero+1                 ;sumar 1 a numero             
inicio:                         ;subrutina
z=numero                        ;z vale el numero del display
select case z                   ;se encienden leds dependiendo numero display
case is <3                      ;si el numero es menor que 3
for x=0 to z                    ;se encienden d0 a d4 de 0 al numero
portb=%00000001
pause 200
portb=%00000010
pause 200
portb=%00000100
pause 200
portb=%00001000
pause 200
portb=%00010000
pause 200
low led4
next
case 4                          ;si el numero es 4
for x=0 to 4                    ;se enciende led3 5 veces
high led3
pause 50
low led3
pause 70
next                            ;si numero es mayor que 8
case is >8                      ;se enciende led1 y 2 de 3 al numero de la pantalla
for x=3 to z
pause 200
high led1
pause 200
low led1
high led2
pause 200
low led2
pause 200
next
end select
goto display                    ;vuelve al inicio
end                                 



Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re: Ejemplos en PBP y PROTEUS
« Respuesta #250 en: 23 de Enero de 2012, 07:57:46 »
Tienes que hacer que el puerto implicado tome valores por defecto, esto se hace después de su configuración, por ejemplo para el puerto B, después de la línea que contiene TrisB, se coloca PortB con la configuración que desees de sus pin.
Saludos desde Granada, España.

Desconectado judex

  • PIC10
  • *
  • Mensajes: 7
Re: Ejemplos en PBP y PROTEUS
« Respuesta #251 en: 25 de Enero de 2012, 14:27:25 »
tengo otro nuevo programita es un termostato variable con lm35, tiene una temperatura minima y otra maxima programadas y si la temp actual es mas baja que la baja se enciende el relecalefactor y con la temperatura alta al reves con un16f877
'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : Alberto Pumar                                     *
'*  Notice  : Copyright (c) 2012 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 02/01/2012                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
define LCD_DREG PORTD       ;define pines del lcd de b4 a b7
define LCD_DBIT 0           ;empezando desde el puerto b4 a b7
define LCD_RSREG PORTD      ;define el puerto b para acceder al bit RS
define LCD_RSBIT 4          ;este es el puerto b3
define LCD_EREG PORTD       ;define el puerto b para conectar el ennable
define LCD_EBIT 5           ;este es el puerto b2
define adc_bit 8           ;fijar nº bits resultado (5,8,10)
define adc_clock 3          ;fijar el clock (rc=3)
define adc_sampleus 50      ;nº seg fijar canal y comenzar conversion a/d
trisa=%1                    ;el puerto a0 es de entrada
adcon1=%00001110            ;el puerto a0 es el a/d los demas digitales
dato var word               ;dato vale hasta 6500
temp1 var word
tempbaja var byte           ;temperatura baja bale hasta 255
tempalta var byte           ;temperatura alta bale hasta 255
eeprom 0, [20,24]            ;guardar valores de temperatura de 20 y 24
x var byte                  ;x vale hasta 255
g con 223                   ;este es el ascii de grados
relef var portb.0           ;rele calefactor en d2
relec var portb.1           ;rele enfriador en d3
led var portb.2             ;led en d4
botenter var portb.3           ;enter en d5
botbaja var portb.4         ;boton bajar temperatura en d6
botsube var portb.5          ;boton subir temperatura en d7
inicio:                     ;subrutina para indicar procesador funciona
for x=1 to 3                ;repetir 3 veces
high led                    ;encender led
pause 200                   ;esperar 200 ms
low led                     ;apagar el led
pause 200                   ;esperar 200 ms
next
read 0,tempbaja             ;leer en lugar 0 de eepron y dato guarda en tempbaja
read 1,tempalta             ;leer el lugar 1 de eepron y dato guardar en tempalta
lcdout $FE,1                ;limpiar pantalla lcd
lcdout $FE,2,"T.mi T.act T.max" ;sacar ese texto por la primera linea lcd
sensar:                     ;subrutina
adcin 0,dato                ;leer a0 y guardar en dato
temp1=150*dato/77               ;el resultado es este
lcdout $FE,$c6,dec3 temp1,g,"C" ;sacar por la segunda linea el valor de temperatura ambiente
lcdout $FE,$c0,dec3 tempbaja,g,"C" ;sacar por la segunda linea el valor de temperatura minima
lcdout $FE,$cc,dec3 tempalta,g,"C" ;sacar por la segunda linea el valor de temperatura maxima
for x=1 to 50                ;repetir 50 veces
if botenter=0 then grabar1a     ;si el boton grabar esta pulsado ir a grabar tempertura
pause 10
next
if temp1<tempbaja then calentar  ;si el dato temp1 es < que la temperatura minina ir a sub calentar
if temp1>tempalta then enfriar   ;si el dato temp1 es> qaue la temperatura maxima ir a sub enfriar
low relec:low relef         ;apagar los dos reles
goto sensar                 ;continuar sensando
calentar:
high relec:low relef        ;encender relecalentar y apagar rele enfriar
goto sensar
enfriar:
high relef:low relec        ;encender releenfriar y apagar relecalentar
goto sensar
grabar1a:
gosub soltar            ;va a tecla antirebote
grabar1:
LCDout $FE,1,"Programar Temperatura..."  ;poner en la 1 linea programar temperatura
lcdout $FE,$C0,"Tminima=",dec3 tempbaja,g,"C" ;en la 2 linea sale la temperatura minima en º
pause 100
if botbaja=0 then restar1 ;si se pulsa boton restar va a subrutina restar1
if botsube=0 then sumar1  ;si se pulsa boton subir va a subrutina sumar1
if botenter=0 then grabarA     ;si se pulsa boton enter va a subrutina grabara
goto grabar1a   ;sigue en la subrutina mientras no se pulse un boton
restar1:    ;subrutina restar a la temperatura minina
gosub soltar    ;programa rebote tecla
if tempbaja<1 then grabar1  ;si la temperatura minima es <1º va a subrutina anterior
tempbaja=tempbaja-1 ;restar 1 a la temperatura minima
goto grabar1 ;vuelve a subrutina grabar
sumar1: ;subrutina aumentar temperatura minima
gosub soltar    ;tecla antirebote teclas
if tempbaja>40 then grabar1 ;si la temp baja minima es>40 ir a subrutina graba1
tempbaja=tempbaja+1 ;sumar 1 a la temperatura minima
goto grabar1    ;vuelve a subrutina grabar1
grabarA:
gosub soltar    ;programa antirebote teclas
write 0,tempbaja ;grabar la nuevga temperatura minima en eeprom
grabar2:
lcdout $FE,1,"Programar Temperatura..."    ;primera linea sale ese mensaje
lcdout $FE,$C0,"Tmaxima=",dec3 tempalta,g,"C" ;en la 2 linea sale la temperatura maxima en º
pause 100
if botbaja=0 then restar2 ;si pulsamos boton bajar va a subrutina restar2
if botsube=0 then sumar2  ;si pulsamos boton subir va a subrutina subir2
if botenter=0 then grabarB     ;si pulsamos boton enter va a subrutina gragarb
goto grabar2   ;sigue en subrutina mientras no se pulse un boton
restar2:    ;subrutina restar grados a la temperatura maxima
gosub soltar  ;progrma antirebote de tecla
if tempalta<5 then grabarB  ;si la temperatura es <5º vs a subrutina grabarb
tempalta=tempalta-1 ;restar 1 a la temperatura maxima
goto grabar2    ;va a subrutina grabar2
sumar2: ;subrutina sumar a la temperatura maxima
gosub soltar  ;va a programa antirebote tecla
if tempalta>60 then grabarB ;si la temperatura maxima es>60 ir a grabarb
tempalta=tempalta+1 ;sumar 1 a la temkperatura maxima
goto grabar2    ;va a subrutina grabar
grabarb:    ;subrutina grabar temperatura maxinma
gosub soltar ;programa antirebote de teclas
write 1,tempalta  ;grabar la nueva temperatura maxima
lcdout $FE,1,"nueva temperatura"
lcdout $FE,$C0,"programada"
goto inicio  ;vuelve al inicio del prgrama
soltar:  ;subrutian antirebote teclas
high led
pause 150
low led
soltar2:    ;continuacion subrutina antirebote teclas
if botbaja=0 then soltar2    ;si boton sigue pulsado seguir en esta subrutina
if botsube=0 then soltar2    ;si boton sigue pulsado seguir en esta subrutina
if botenter=0 then soltar2    ;si boton sigue pulsado seguir en esta subrutina
pause 100
return  ;vuelve a subrutina grabar1a
end
 :-/
« Última modificación: 25 de Enero de 2012, 14:33:23 por judex »

Desconectado alejandrozama2002

  • PIC10
  • *
  • Mensajes: 10
Re: Ejemplos en PBP y PROTEUS
« Respuesta #252 en: 27 de Febrero de 2012, 12:27:39 »
hola saludos a todos, recurro a ustedes porque estoy realizando unas practicas de motores a pasos, ya realice la mayoria de las practicas solamente dos no logro conseguir que me funcionen.

pic16f877a
el puerto b.0-b.3 son para el motor pap unipolar
el puerto d se utiliza como entrada

la primera es poder variar la velocidad de un motor a pasos por medio de 2 pulsadores uno para aumentar la velocidad y otro para reducir la velocidad. segun entiendo declaro una variable "x" y le asigo el valor por ejemplo de 130 este valor seria el pause, al apretar el voton de aumentar la velocidad le reduciria 20 a "X" y de esta manera se reduciria el tiempo y esto aumentaria la velocidad, claro que el minimo de la variable seria de 5 y el maximo de 255. lo he estado escriviendo de diferentes formas pero no logro que funciones, si pueden ayudarme se los agradeceria,

el segundo es sobre una cierta cantidad de pasos que debe de dar el motor segun el puerto d. adjunto la imagen para que entiendan mejor, en este tambien logre hacer que funcionara pero no correctamente ya que yo logre que diera ciclos (4 pasos) y no pasos. me imagino que se deve de hacer con con el comando de desplazamiento pero no logro que me quede.

de antemano gracias y estare pendiente de sus respuestas
« Última modificación: 27 de Febrero de 2012, 12:32:34 por alejandrozama2002 »

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Ejemplos en PBP y PROTEUS
« Respuesta #253 en: 27 de Febrero de 2012, 12:41:08 »
Hola alejandro, coloca el codigo con el que pruebas y te recomiendo abras un hilo para tu consulta, se te podra ayudar mejor

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 poeta3d

  • PIC10
  • *
  • Mensajes: 33
Re: RE: Ejemplos en PBP y PROTEUS
« Respuesta #254 en: 30 de Marzo de 2012, 22:41:58 »
hola amigo y si quiero que cuando presione un boton que esta conectado al puerto RA0  un led conectado a RB0 oscile como hago??


 

anything