Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?
14/08/2010 #361

Avatar de HADES

Respuesta: Curso programacion de pic en bsic pro
Ya lo descargue lo chequeare y te comento alguna mejora o tal vez algun derivado que logre hacer con tu codigo!! saludos!

por cierto con los comando podrias chequear esta pagina que explica un poquito mas los comandos:
http://www.oshonsoft.com/picbasiccom...ncemanual.html

saludos!

HADES
14/08/2010 #362


Respuesta: Curso programacion de pic en bsic pro
Jeje.. si funciona en el simulador mi única critica es que te felicito....y que podrias depurar un poco el codigo...

saludos...
15/08/2010 #363


Respuesta: Curso programacion de pic en bsic pro
Saludos nuevamente,

Quería comentar que gracias a los cambios de programación sugeridos por Lubeck, el programa para el swiche rf me funcionó, definitivamente el retorno a inicio era el problema (goto inicio) y con return funciona perfectamente, le agregué nuevamente los pauses en cada cambio pues sin ellos el cambio de estado no se daba de una vez, en fin, funcionó, gracias por la colaboración.
15/08/2010 #364

Avatar de HADES

Respuesta: Curso programacion de pic en bsic pro
viggiani1975 dijo: Ver Mensaje
Saludos nuevamente,

Quería comentar que gracias a los cambios de programación sugeridos por Lubeck, el programa para el swiche rf me funcionó, definitivamente el retorno a inicio era el problema (goto inicio) y con return funciona perfectamente, le agregué nuevamente los pauses en cada cambio pues sin ellos el cambio de estado no se daba de una vez, en fin, funcionó, gracias por la colaboración.
Ok, me alegra que te haya funcionado!!!

@lubeck mano la hiciste saludos!
15/08/2010 #365


Respuesta: Curso programacion de pic en bsic pro
mano la hiciste saludos
Vaya!!! por fin le atino a una... ya tenia rato que nada mas no...

Saludos mi estimado Hades...
16/08/2010 #366

Avatar de reyvilla

Respuesta: Curso programacion de pic en bsic pro
Buenas del minutero gracias por verlo aui les traigo una pequeña modificacion con un efecto animado y el logo del instituto a ver que les parece me avisan cualquier cosa.
Archivos Adjuntos
Tipo de Archivo: rar minutero.rar (24,2 KB (Kilobytes), 219 visitas)
16/08/2010 #367


Respuesta: Curso programacion de pic en bsic pro
Este me marca un error que nunca habia visto.... que sera???
Imágenes Adjuntas
Tipo de Archivo: jpg error.JPG (83,1 KB (Kilobytes), 728 visitas)
16/08/2010 #368

Avatar de Eduardo

Respuesta: Curso programacion de pic en bsic pro
lubeck dijo: Ver Mensaje
Este me marca un error que nunca habia visto.... que sera???
Es el Proteus.
Tenés declarados los fuentes (ver imagen) y antes de ejecutar los quiere compilar. Salta el error porque no encuentra al PBP.
Eliminás esas dos líneas desde Source->Add/Remove Source files y desaparece el problema.
(la otra es configurar el camino y los argumentos para compilar desde el Proteus)

Bueno... desaparece ese y aparece otro . Después que terminan los mensajes iniciales empieza a dar "Stack Overflow"
Imágenes Adjuntas
Tipo de Archivo: jpg Clipboard-1.jpg (23,4 KB (Kilobytes), 56 visitas)
16/08/2010 #369

Avatar de atricio

Respuesta: Curso programacion de pic en bsic pro
sera que pueden postear el codigo para poderlo ver y hacerlo cambios y hacer algunas pruebas por favor sera mucha molestia
17/08/2010 #370


Respuesta: Curso programacion de pic en bsic pro
Hola que tal, alguna idea de como mostrar en un LCD las teclas que fueron presionadas por un teclado matricial de 3x4???
Por cierto lubeck, gracias por tu ayuda con lo del motor, ya me quedo y jala perfectamente.
salu2
17/08/2010 #371


Respuesta: Curso programacion de pic en bsic pro
Una manera de hacerlo es codificandolo...

mira este ejemplo...
Solo Ejemplos PICBASICPRO-PROTEUS

existe un integrado que hace esa funcion pero yo no lo encontre y lo emule con f84a
ve el datasshet de integrado MM74c922 para que veas su funcionamiento...

eso tiene la ventaja de que tu micro no ocupa tiempo en hacer la lectura... queda bastante bien...
para desplejarlo utilizas otro micro y utilizas 4puertos el resultado en es binario... lo decodificas y listo...
a ver si te sirve...
17/08/2010 #372


Respuesta: Curso programacion de pic en bsic pro
Hola que tal, diseñe este programa, pero tengo un gran problema
No se como conectar un teclado matricial en proteus. alguna sugerencia??

aqui esta el prog
define lcd_lines 4
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 3
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 2

LCDOUT $FE,1
A VAR PORTD.0
B VAR PORTD.1
C VAR PORTD.2
D VAR PORTD.3

UNO VAR PORTD.5
DOS VAR PORTD.6
TRES VAR PORTD.7
SALIDA VAR WORD

TECLEANDO:
GOSUB BARRIDO
GOSUB ANTIRREBOTE
LCDOUT SALIDA
GOTO TECLEANDO

BARRIDO:
LOW A
IF UNO=0 THEN SALIDA="1":RETURN
IF DOS=0 THEN SALIDA="2":RETURN
IF TRES=0 THEN SALIDA="3":RETURN
HIGH A
LOW B

IF UNO=0 THEN SALIDA="4":RETURN
IF DOS=0 THEN SALIDA="5":RETURN
IF TRES=0 THEN SALIDA="6":RETURN
HIGH B
LOW C

IF UNO=0 THEN SALIDA="7":RETURN
IF DOS=0 THEN SALIDA="8":RETURN
IF TRES=0 THEN SALIDA="9":RETURN
HIGH C
LOW D

IF UNO=0 THEN SALIDA="*":RETURN
IF DOS=0 THEN SALIDA="0":RETURN
IF TRES=0 THEN SALIDA="#":RETURN
HIGH D
PAUSE 10
GOTO BARRIDO

ANTIRREBOTE:
IF UNO=0 THEN ANTIRREBOTE
IF DOS=0 THEN ANTIRREBOTE
IF TRES=0 THEN ANTIRREBOTE
PAUSE 25
RETURN
END
17/08/2010 #373

Avatar de reyvilla

Respuesta: Curso programacion de pic en bsic pro
AQUI EL PROGRAMITA DEL MINUTERO

'************************************************* ***************
'* Name : UNTITLED.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2010 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 18/06/2010 *
'* Version : 1.0 *
'* Notes : *
'* : *
'************************************************* ***************
@ DEVICE pic16F628A, INTRC_OSC_NOCLKOUT ' Opción del Osc Interno
Define osc 4
@ DEVICE pic16F628A, WDT_ON ' Watchdog Timer ON
@ DEVICE pic16F628A, PWRT_ON ' Power-On Timer
@ DEVICE pic16F628A, BOD_ON
@ DEVICE pic16F628A, MCLR_OFF ' Master Clear Opción interno
@ DEVICE pic16F628A, LVP_OFF ' Bajo voltaje de programación
@ DEVICE pic16F628A, CPD_OFF ' Protección del código de memoria OFF
@ DEVICE pic16F628A, PROTECT_OFF ' protección de código OFF
CMCON = 7

pause 500'TIEMPO DE ESPERA 1/2 SEG. PARA ESTABILIZAR EL PIC



MAS VAR PORTA.0
MENOS VAR PORTA.1
ENTER VAR PORTA.2
A VAR BYTE
B VAR BYTE
MINUTOS VAR BYTE
SEGUNDOS VAR BYTE

A = 0
B = 0
MINUTOS = 0
SEGUNDOS = 0
'DEFINICIÓN DE REGISTROS PARA EL LCD
DEFINE LCD_DREG PORTB 'UTILIZAR 4 BITS DEL PUERTO B PARA TX DE DATOS
DEFINE LCD_DBIT 4 'DESDE EL BIT B.4 AL BIT B.7
DEFINE LCD_RSREG PORTB'UTILIZAR EL REGISTRO DE CONTROL/DATOS EN EL PUERTO B
DEFINE LCD_RSBIT 1 'EN EL BIT B.1
DEFINE LCD_EREG PORTB 'UTILIZAR EL ENABLE EN EL PUERTO B
DEFINE LCD_EBIT 2 'EN EL BIT B.2
TRISA = %00000111
TRISB=0 'ESTABLECER EL PUERTO B COMO SALIDA
PORTB.6 = 1

PAUSE 500 ' PAUSE DE MEDIO SEGUNDO
LCDOUT $FE, 1 ' LIMPIAR VISOR
LCDOUT 254, 64, $15,$15,$15,$15,$15,$15,$15,$0 '0 lineas verticales
LCDOUT 254, 72, $1F,$0,$1F,$0,$1F,$0,$1F,$0 '1 lineas horizontales
LCDOUT 254, 80, $E,$1F,$1F,$1F,$1F,$1F,$E,$0 '2 circulo negro
LCDOUT 254, 88, $E,$11,$11,$11,$11,$11,$E,$0 ' 3 circulo blanco
LCDOUT 254, 96, $1F,$15,$1F,$15,$1F,$15,$1F,$0 '4 lineas verticales

LCDOUT $FE, 1 ' LIMPIAR LCD
'************************************************* ******************************
GOSUB INICIO
INICIO:
LCDOUT $FE,$84, "IUNP"
LCDOUT $FE,$80,0
pause 50
LCDOUT $FE,$C0,4
pause 50
LCDOUT $FE,$81,2
pause 50
LCDOUT $FE,$82,3
pause 50
LCDOUT $FE,$C1,1
pause 50
LCDOUT $FE,$C2,1
pause 50
LCDOUT $FE,$C3,1
pause 50
LCDOUT $FE,$C4,1
pause 50
LCDOUT $FE,$C5,1
pause 50
LCDOUT $FE,$C6,1
pause 50
LCDOUT $FE,$C7,1
pause 50
LCDOUT $FE,$C8,1
pause 50
LCDOUT $FE,$C9,1
PAUSE 2000
'MOSTRAR LETRA POR LETRA
GOSUB PRESENTACION
Procesando:
LCDOUT $FE, 1 ' LIMPIAR LCD
For A = 0 to 15
LOOKUP A,[ "POR FAVOR ESPERE" ],B
LCDOUT $FE,$0C,B
GOSUB PAUSA_12SEG
NEXT
LCDOUT $FE,$C0, "CARGANDO"
For A = 0 to 15
LOOKUP A,[ "......." ],B
LCDOUT $FE,$0C,B
GOSUB PAUSA_12SEG
NEXT


PANTALLA_PRINCIPAL:
LCDOUT 254, 64, 0, 0, 0, 4, 0, 0, 0, 0
LCDOUT 254, 72, 0, 0, 4, 14, 4, 0, 0, 0
LCDOUT 254, 80, 0, 0, 14, 14, 14, 0, 0, 0
LCDOUT 254, 88, 0, 4, 14, 31, 14, 4, 0, 0
LCDOUT 254, 96, 0, 21, 14, 31, 14, 21, 0, 0
LCDOUT 254, 104, 0, 4, 14, 31, 14, 4, 0, 0
LCDOUT 254, 112, 0, 0, 14, 14, 14, 0, 0, 0
LCDOUT 254, 120, 0, 0, 4, 14, 4, 0, 0, 0
LCDOUT 254, 128, 0, 0, 4, 14, 4, 0, 0, 0

LCDOUT $FE, 1 ' LIMPIAR LCD
LCDOUT $FE,1, " PONER MINUTOS"
LCDOUT $FE,$8F, 0
PAUSE 50
LCDOUT $FE,$8F, 1
PAUSE 50
LCDOUT $FE,$8F, 2
PAUSE 50
LCDOUT $FE,$8F, 3
PAUSE 50
LCDOUT $FE,$8F, 4
PAUSE 50
LCDOUT $FE,$8F, 5
PAUSE 50
LCDOUT $FE,$8F, 6
PAUSE 50
LCDOUT $FE,$8F, 7
PAUSE 50
LCDOUT $FE,$8F, 8
PAUSE 50

LCDOUT $FE,$C0, "-<<", dec (MINUTOS),">>+ INICIAR"
PAUSE 250
IF MAS OR MENOS = 1 THEN
GOSUB TECLAS_DE_SELECCION
ENDIF
IF ENTER = 1 THEN
SEGUNDOS = 60
MINUTOS = MINUTOS - 1
GOSUB CONTEO
ELSE
GOSUB PANTALLA_PRINCIPAL
ENDIF
TECLAS_DE_SELECCION:
IF MAS = 1 AND MINUTOS = 99 THEN
MINUTOS = 0
ENDIF
IF MENOS = 1 AND MINUTOS = 0 THEN
MINUTOS = 100
ENDIF

IF MAS = 1 THEN
MINUTOS = MINUTOS + 1
ENDIF
IF MENOS = 1 THEN
MINUTOS = MINUTOS - 1
ENDIF
GOSUB PANTALLA_PRINCIPAL

PRESENTACION:
LCDOUT $FE, 1 ' LIMPIAR LCD
For A = 0 to 13
LOOKUP A,[ " BIENVENIDO " ],B
LCDOUT $FE,$0C,B
GOSUB PAUSA_12SEG
NEXT
LCDOUT $FE, $C0
For A = 0 to 14
LOOKUP A,[ " MINUTERO V1.0 " ],B
LCDOUT $FE,$0C,B
GOSUB PAUSA_12SEG
NEXT
LCDOUT $FE, 1 ' LIMPIAR LCD
For A = 0 to 11
LOOKUP A,[ " DERECHOS " ],B
LCDOUT $FE,$0C,B
GOSUB PAUSA_12SEG
NEXT
LCDOUT $FE, $C0
For A = 0 to 12
LOOKUP A,[ " RESERVADOS " ],B
LCDOUT $FE,$0C,B
GOSUB PAUSA_12SEG
NEXT
LCDOUT $FE, 1 ' LIMPIAR LCD
For A = 0 to 14
LOOKUP A,[ " REALIZADO POR: " ],B
LCDOUT $FE,$0C,B
GOSUB PAUSA_12SEG
NEXT
LCDOUT $FE, $C0
For A = 0 to 15
LOOKUP A,[ "REIMY VILLAMIZAR" ],B
LCDOUT $FE,$0C,B
GOSUB PAUSA_12SEG
NEXT
LCDOUT $FE, 1 ' LIMPIAR LCD
For A = 0 to 15
LOOKUP A,[ " I . U . N . P . " ],B
LCDOUT $FE,$0C,B
GOSUB PAUSA_12SEG
NEXT
LCDOUT $FE, $C0
For A = 0 to 12
LOOKUP A,[ " 09/08/2010 " ],B
LCDOUT $FE,$0C,B
GOSUB PAUSA_12SEG
NEXT
RETURN
CONTEO:
LCDOUT $FE, 1 ' LIMPIAR LCD
LCDOUT $FE,1, " TEMPORIZANDO "
LCDOUT $FE,$C0,"----",dec(MINUTOS),":",dec(segundos),"-PARAR-"
SEGUNDOS = SEGUNDOS - 1
GOSUB PAUSA_11SEG
IF MINUTOS = 0 AND SEGUNDOS = 0 THEN
LCDOUT $FE, 1 ' LIMPIAR LCD
LCDOUT $FE,1, " FINALIZADO "
LCDOUT $FE,$C0,"----",dec(MINUTOS),":",dec(segundos),"-PARAR-"
PORTA.3 = 1
GOSUB PAUSA_11SEG
PORTA.3 = 0
PORTA.3 = 1
GOSUB PAUSA_11SEG
PORTA.3 = 0
PORTA.3 = 1
GOSUB PAUSA_11SEG
PORTA.3 = 0
PORTA.3 = 1
GOSUB PAUSA_11SEG
PORTA.3 = 0
PORTA.3 = 1
GOSUB PAUSA_11SEG
PORTA.3 = 0
GOSUB Procesando
ENDIF
IF SEGUNDOS = 0 THEN
GOSUB PAUSA_11SEG
MINUTOS = MINUTOS - 1
SEGUNDOS = 59
CALL PARAR
GOSUB CONTEO
ENDIF

PARAR:
IF MENOS = 1 THEN
GOTO Procesando
ELSE
GOTO CONTEO
ENDIF
END

PAUSA_11SEG:
PAUSE 1000
RETURN
PAUSA_12SEG:
PAUSE 200
RETURN
18/08/2010 #374

Avatar de reyvilla

Respuesta: Curso programacion de pic en bsic pro
por cierto este programita me ayudo bastante con los caracteres y figuras de la lcd
Archivos Adjuntos
Tipo de Archivo: rar CONTROL_LCD.rar (36,4 KB (Kilobytes), 249 visitas)
18/08/2010 #375

Avatar de Dario

Respuesta: Curso programacion de pic en bsic pro
hola gente
les cuento que estoy intentando hacer un variador brushless con pic, ya hice uno con componentes dicretos que funciona aqui pueden verlo andando. es un poco voluminoso y complicado asi que, ahora quiero hacerlo con un pic utilizando pbasic para programar el micro pero, tengo un problema, basandome en el funcionamiento del bldc discreto, he creado una rutina en pbasic que a segun mis calculos, deberia funcionar igual pero no funciona.
aca subo el rar con el diseño completo y su codigo fuente en basic para ver si me pueden dar una mano y asi saber que estoy haciendo mal para corregirlo. lo que hace el circuito, es detectar una secuencia de numeros binarios del 1 al 6 y a segun el numero que entre, sera el estado en sus salidas.
saludosss a todos...
Archivos Adjuntos
Tipo de Archivo: rar proyecto bldc.rar (30,7 KB (Kilobytes), 167 visitas)
19/08/2010 #376


Respuesta: Curso programacion de pic en bsic pro
Hola D@rio

para ver si me pueden dar una mano y asi saber que estoy haciendo mal para corregirlo.....
si gustas lo intento


Código:
CMCON = 7 'Aqui creo que esta mal reviza la ficha tecnica del micro hay un apartado que te dice
 que numero utilizar, asi los estas definiendo todos como digitales y necesitas un analogico...
si no lo en cuentras postea
 TRISA=%00000000 ' en el puerto que conectes el pote del puerto A que son Analogicos lo defines como entrada eje TRISA=%00000001 el pote conectado en RA0/AN0
 porta=%00000000 ' este no es muy importante ahi pones en bajo todas las salidas del portA
 trisb=%01110000  'Defines del puerto B el 4,5,6 como entrada y el resto como salida
 portb=%01110000 ' inicializas del puerto B el 4,5,6 en estado Alto el resto en bajo
 frec var byte ' aqui declaras la variable frec cuyo valor solo puede ser de 0 a 7
hasta ahi se entiende lo que quiero decir...

Otra cosa podrias subir el archivo en livewire (creo que es livewire) del link para ver el comportamiento... y asi tener una mejor idea de lo que hace????
19/08/2010 #377

Avatar de Dario

Respuesta: Curso programacion de pic en bsic pro
hola lubek.
aca te dejo los archivos livewire del bldc discreto. no se si habras simulado el circuito en proteus, si asi fue, debes haber notado que al potenciometro lo lee bien y que la variacion del pwm es correcta. el problema que tiene mi circuito, es que los puertos RB0 a RB2 no funcionan como el programa lo indica. cuando en el programa dice:
paso4:
pwm 2,b0,5
high 4
goto loop
empieza el problema de que el puerto B no responde como debiera.
veras, el circuito que estoy intentando hacer, es una especie de decodificador binario que en funcion del numero binario que detecta conmuta dos salidas del pic enviando por una, un pulso pwm y pr la otra, un uno logico simultaneamente.
con esto, consigo conmutar los mosfets del inversor trifacico segun la señal de zerocrossing que obtengo del circuito con lm324.
tengo la impresion de que se puede detectar numeros binarios de otra manera con picbasic pero no se me ocurre mas que lo anterior...
aca dejo el codigo pbp.
ah lubeck, el cmcon=7, es para desactivar los comparadores del puerto A y convertirlos en en E/S digitales y esto me sirve porque lo que estoy intentando detectar, son 1 y 0´s
saludosss

Código:
  CMCON=7        
 TRISA=%00000000        
 porta=%00000000        
 trisb=%01110000        
 portb=%01110000      
 frec var byte
 loop:
 pot portb.3,137,frec
if portb.4=1 then paso1
low porta.0
low portb.1
if portb.5=1 then paso2
low porta.0
low portb.2
if portb.4 and portb.5=1 then paso3
low porta.1
low portb.2
if portb.6=1 then paso4
low porta.1
low portb.0
if portb.4 and portb.6=1 then paso5
low porta.2
low portb.0
if portb.5 and portb.6=1 then paso6
low porta.2
low portb.1
 goto loop
 paso1:
 PWM porta.0,frec,5
 high portb.1
 goto loop
 paso2:
 PWM porta.0,frec,5
 high portb.2
 goto loop
 paso3:
 pwm porta.1,frec,5
 high portb.2
 goto loop
 paso4:
 pwm porta.1,frec,5
 high portb.0
 goto loop
 paso5:
 pwm porta.2,frec,5
 high portb.0
 goto loop
 paso6:
 pwm porta.2,frec,5
 high portb.1
 goto loop
 end
Archivos Adjuntos
Tipo de Archivo: rar proyecto bld live.rar (22,2 KB (Kilobytes), 136 visitas)
19/08/2010 #378


Respuesta: Curso programacion de pic en bsic pro
no se si habras simulado el circuito en proteus, si asi fue, debes haber notado que al potenciometro lo lee bien y que la variacion del pwm es correcta.
no entiendi muy bien que es lo que necesitas con el pote en rb3 esta configurado como salida...
o sea que el micro esta mandando una señal al pote no al revez eso es lo que necesitas...

por otro lado por lo que me doy cuenta es que en las entradas y salidas hay un conflicto con respecto al diagrama...
este ultimo codigo lo modificaste al inicial, cambio el diseño de proteus tambien???
19/08/2010 #379

Avatar de Dario

Respuesta: Curso programacion de pic en bsic pro
lubeck dijo: Ver Mensaje
no entiendi muy bien que es lo que necesitas con el pote en rb3 esta configurado como salida...
o sea que el micro esta mandando una señal al pote no al revez eso es lo que necesitas...

por otro lado por lo que me doy cuenta es que en las entradas y salidas hay un conflicto con respecto al diagrama...
este ultimo codigo lo modificaste al inicial, cambio el diseño de proteus tambien???
jajaja.. tenes razon, el codigo que colgue, es de una practica anterior... ya lo edite y ahora si esta el que deje en el rar.
con respecto al RB3, es verdad, tambien estaba mal. ya lo corregi, pero sigue igual.
saludosss
21/08/2010 #380


Respuesta: Curso programacion de pic en bsic pro
hola amigos foreros estoy casi iniciandome en la programacion de pic con pic basic pro y micro code studio , leyendo un libro de programacion encontre un ejemplo de un programa que hace que aparezca una persona en una matrix de 7*5 levantando las manos , utilizo el pic 16f628
el puerto A y el Bcomo salidas el programa compilo normal pero al momento de simularlo con proteus me doy cuenta que pin RA6 no funciona .
e leido su dattasheett pero no lo entiendo muy bien,si alguien me podria ayudar quisas sea el problema la configuracion de dicho pines del puertoA como salida
alli adjunto el archivo pbp y la simulacion en proteus
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.