uControl
Octubre 25, 2014, 08:29:12 *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?

Ingresar con nombre de usuario, contraseña y duración de la sesión
 
   Inicio   Ayuda Buscar Ingresar Registrarse  

La gente de Niple nos ofrece un descuento especial para usuarios de uControl.
Entérate de como puedes aprovechar esta oferta haciendo click aqui.

Súmate, y ayuda a uControl con tu participación en esta interesante oportunidad que nos oferece Niple.

Páginas: 1 2 [3] 4 5   Ir Abajo
  Imprimir  
Autor Tema: Ejemplos PBP (PicBasic Pro)  (Leído 42738 veces)
0 Usuarios y 1 Visitante están viendo este tema.
torres.electronico
Moderator
PIC16F
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 744


►ComodoroRivadavia◄ ►PATAGONIA◄ ►ARGENTINA◄


WWW
« Respuesta #30 : Diciembre 27, 2012, 07:19:36 »

Bueno, seguimos con el segundo ejemplo basico de comunicaciones seriales Pic a Pic, pero con la diferencia del ejemplo anterior, que en esta oportunidad, en el PIC transmisor, colocaremos un teclado (keypad)



Microcontrolador emisor:
Código:
TRISA=0                        
TRISB=%00001110                
CMCON=7                        
OPTION_REG.7=0                  


SYMBOL SALIDA=PORTA.0            
NUM VAR WORD                    
B1 VAR BYTE
SYMBOL P_A=PORTB.4
SYMBOL P_B=PORTB.5
SYMBOL P_C=PORTB.6
SYMBOL P_D=PORTB.7
SYMBOL P_1=PORTB.1
SYMBOL P_2=PORTB.2
SYMBOL P_3=PORTB.3

NUM=0
B1=0
PAUSE 500

INICIO:
PORTB=254
P_A=0
IF P_1=0 THEN
B1=10
GOSUB ENVIAR
WHILE P_1=0
WEND
ENDIF



IF P_2=0 THEN
B1=20
GOSUB ENVIAR
WHILE P_2=0
WEND
ENDIF



IF P_3=0 THEN
B1=30
GOSUB ENVIAR
WHILE P_3=0
WEND
HIGH P_A
ENDIF

P_B=0
IF P_1=0 THEN
B1=40
GOSUB ENVIAR
WHILE P_1=0
WEND
ENDIF


IF P_2=0 THEN
B1=50
GOSUB ENVIAR
WHILE P_2=0
WEND
ENDIF


IF P_3=0 THEN
B1=60
GOSUB ENVIAR
WHILE P_3=0
WEND
ENDIF

HIGH P_B


P_C=0
IF P_1=0 THEN
B1=70
GOSUB ENVIAR
WHILE P_1=0
WEND
ENDIF


IF P_2=0 THEN
B1=80
GOSUB ENVIAR
WHILE P_2=0
WEND
ENDIF


IF P_3=0 THEN
B1=90
GOSUB ENVIAR
WHILE P_3=0
WEND
ENDIF

HIGH P_C


P_D=0
IF P_1=0 THEN
B1=100
GOSUB ENVIAR
WHILE P_1=0
WEND
ENDIF


IF P_2=0 THEN
B1=110
GOSUB ENVIAR
WHILE P_2=0
WEND
ENDIF


IF P_3=0 THEN
B1=120
WHILE P_3=0
WEND
GOSUB ENVIAR
ENDIF
HIGH P_D
PAUSE 100
GOTO INICIO

ENVIAR:
SEROUT2 SALIDA,396,["U","C","O","N","T","R","O","L",B1]
SEROUT2 SALIDA,396,["U","C","O","N","T","R","O","L",B1]
SEROUT2 SALIDA,396,["U","C","O","N","T","R","O","L",B1]
SEROUT2 SALIDA,396,["U","C","O","N","T","R","O","L",B1]
RETURN                        
END

Microcontrolador receptor:
Código:
TRISA=%00001                        
TRISB=0                            
PORTA=0
PORTB=0
OPTION_REG.7=0
CMCON=7

DEFINE LCD_DREG     PORTB  
DEFINE LCD_DBIT     4      
DEFINE LCD_EREG     PORTB  
DEFINE LCD_EBIT     3      
DEFINE LCD_RSREG    PORTB  
DEFINE LCD_RSBIT    2      
DEFINE LCD_BITS     4      
DEFINE LCD_LINES    4      

b1 VAR BYTE                        
INTRO VAR PORTA.0

CLEAR                              
LCDOUT $FE,1
PAUSE 500                          
PORTB=0
LCDOUT $FE,$1,"www.ucontrol.com"
LCDOUT $FE,$C0,"M. A. Torres"
PAUSE 2000
LCDOUT $FE,1

INICIO:
SERIN2 INTRO,396,[WAIT("UCONTROL"),b1]
IF b1=10 THEN LCDOUT $FE,$86,"NUM1"
IF b1=20 THEN LCDOUT $FE,$86,"NUM2"
IF b1=30 THEN LCDOUT $FE,$86,"NUM3"
IF b1=40 THEN LCDOUT $FE,$86,"NUM4"
IF b1=50 THEN LCDOUT $FE,$86,"NUM5"
IF b1=60 THEN LCDOUT $FE,$86,"NUM6"
IF b1=70 THEN LCDOUT $FE,$86,"NUM7"
IF b1=80 THEN LCDOUT $FE,$86,"NUM8"
IF b1=90 THEN LCDOUT $FE,$86,"NUM9"
IF b1=100 THEN LCDOUT $FE,$86,"NUM*"
IF b1=110 THEN LCDOUT $FE,$86,"NUM0"
IF b1=120 THEN LCDOUT $FE,$86,"NUM#"
goto INICIO
END

* Com_Serial_2.JPG (63.83 KB - descargado 3637 veces.)
« Última modificación: Enero 23, 2013, 12:34:42 por torres.electronico » En línea

En la vida hay que ser una bolita de nervios, y no un (censurado) nervioso... Yo personalmente se por que se los digo...
torres.electronico
Moderator
PIC16F
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 744


►ComodoroRivadavia◄ ►PATAGONIA◄ ►ARGENTINA◄


WWW
« Respuesta #31 : Diciembre 27, 2012, 07:31:40 »

Bueno, arrancamos con el 3er ejemplo de comunicacion, pero en este caso, les muestro que "tan"  rolleyes engorroso pueden llegar a ser las comunicaciones Rf empleando los modulos economicos RF de 433Mhz  Grin



Microcontrolador emisor:
Código:
@ DEVICE PIC16F628A
@ DEVICE INTRC_OSC
@ DEVICE WDT_OFF
@ DEVICE PWRT_OFF
@ DEVICE MCLR_OFF
@ DEVICE BOD_OFF
@ DEVICE LVP_OFF
@ DEVICE CPD_OFF
@ DEVICE PROTECT_OFF

DEFINE OSC 4
TRISB=%01
serout portb.1,4,[$10]
INICIO:
 IF PORTB.0 THEN
  pause 500
  SEROUT  PORTB.1,4,["A",84]    
 ENDIF
gOTO INICIO

Microcontrolador receptor:
Código:
@ DEVICE PIC16F628A
@ DEVICE INTRC_OSC
@ DEVICE WDT_OFF
@ DEVICE PWRT_OFF
@ DEVICE MCLR_OFF
@ DEVICE BOD_OFF
@ DEVICE LVP_OFF
@ DEVICE CPD_OFF
@ DEVICE PROTECT_OFF

DEFINE OSC 4
TRISB=%10
B0 var byte

INICIO:
  SERin  PORTB.1,4,["A"],B0
  if b0=84 then high PortB.0:pause 1000:low PortB.0
gOTO INICIO

* Com_RF_1.JPG (61.02 KB - descargado 3631 veces.)
* TLP434.pdf (34.15 KB - descargado 394 veces.)
« Última modificación: Diciembre 27, 2012, 07:34:35 por torres.electronico » En línea

En la vida hay que ser una bolita de nervios, y no un (censurado) nervioso... Yo personalmente se por que se los digo...
torres.electronico
Moderator
PIC16F
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 744


►ComodoroRivadavia◄ ►PATAGONIA◄ ►ARGENTINA◄


WWW
« Respuesta #32 : Diciembre 27, 2012, 08:00:50 »


* RECORD.JPG (53.75 KB - descargado 3207 veces.)
En línea

En la vida hay que ser una bolita de nervios, y no un (censurado) nervioso... Yo personalmente se por que se los digo...
Siberian Labs
Visitante
« Respuesta #33 : Diciembre 27, 2012, 10:51:33 »

Martín, lo único que se me ocurre es que están tan bien explicados que no necesitan comentarios; aunque un "Muchas Gracias" o "Que bien" de vez en cuando no molesta  Grin

En serio, me sumo a Zek y te felicito por los post que aportaste!!!

Un abrazo!!

Gabriel.
En línea
Leon Pic
Moderador
dsPIC
******
Desconectado Desconectado

Sexo: Masculino
Mensajes: 5317


Cumulonimbus


WWW
« Respuesta #34 : Diciembre 28, 2012, 08:37:09 »

Otra cosa que debes saber, es que si entra un usuario, no registrado; también sube el contador.
En línea

Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.
torres.electronico
Moderator
PIC16F
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 744


►ComodoroRivadavia◄ ►PATAGONIA◄ ►ARGENTINA◄


WWW
« Respuesta #35 : Diciembre 28, 2012, 05:04:40 »

Otra cosa que debes saber, es que si entra un usuario, no registrado; también sube el contador.
aaaaaaaaaaa  Cry entonces asumo que el 98% son todos lectores externos  Idiota
bueno, quizas a alguien le sirva de algo estos cachivaches  Grin
En línea

En la vida hay que ser una bolita de nervios, y no un (censurado) nervioso... Yo personalmente se por que se los digo...
leobiofa
PIC10F
*
Desconectado Desconectado

Mensajes: 3


« Respuesta #36 : Diciembre 29, 2012, 12:18:19 »

Excelentes ejemplos muchas gracias por compartirlos con nosotros y muchas gracias por el esfuerzo.

Saludos
En línea
esdrufao
PIC12F
**
Desconectado Desconectado

Sexo: Masculino
Mensajes: 333



WWW
« Respuesta #37 : Diciembre 30, 2012, 03:24:48 »

Hola a todo el foro,gracias Martin por molestarte en subir ejemplos a este post,son muy interesantes e ilustrativos para los que estamos aprendiendo.

Aprobecho para desearles a todos un feliz 2013 y que sigan PICqueteando por aqui  Grin
En línea
torres.electronico
Moderator
PIC16F
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 744


►ComodoroRivadavia◄ ►PATAGONIA◄ ►ARGENTINA◄


WWW
« Respuesta #38 : Diciembre 30, 2012, 04:27:08 »

Gracias Leo y esdrufao  bang
se vienen mas ejemplos, pero me tengo que hacer espacio asi no descuido mis otras cosas...
Feliz Año para todos  azn
En línea

En la vida hay que ser una bolita de nervios, y no un (censurado) nervioso... Yo personalmente se por que se los digo...
renatofim06
PIC10F
*
Desconectado Desconectado

Mensajes: 6


« Respuesta #39 : Enero 13, 2013, 04:06:46 »

Hola Martin primeramente gracias por la ayuda que nos das al darte el trabajo de colocar las diferentes formas de comunicacion rf , bueno llendo al tema toda esta semana estuve con eso incluso probe tu programa el mas sencillo el del pulsador y el led pero nada no me corre en la realidad ( protoboard) nose porque nose si podrias ayudarme , yo mismo estuve haciendo un programa ... te pedo tu ayuda escribire espero que me digas que esta mal ya que tampoco me corre con este programa.., a la hora de conectar todo pic y midulo rf el led del receptor se queda parpadeando pero esa no es la funcion que le he dado , la funcion que le doy es la de encender un led con un pulsador igual al tuyo pero diferente codigo .. espero me ayudes:

tx

include "modedefs.bas"
botonA var portb.1

transmitir:

if botonA=0 then  envio1
goto transmitir


envio1
serout portb.0,N2400,["A"]
PAUSE 500

goto transmitir

end



receptor

nclude "modedefs.bas"
ledr var portb.1
datos var byte

recibir:

serin portb.0,N2400,datos

if datos="A" then

high ledr
pause 100

else

low ledr
pause 100

 goto recibir
endif



el circuito es el mismo solo que yo uso el portb.0 y tu el portb.1 , espero que me ayudes... GRACIAS.

En línea
torres.electronico
Moderator
PIC16F
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 744


►ComodoroRivadavia◄ ►PATAGONIA◄ ►ARGENTINA◄


WWW
« Respuesta #40 : Enero 14, 2013, 02:09:08 »

Hola Martin primeramente gracias por la ayuda que nos das al darte el trabajo de colocar las diferentes formas de comunicacion rf , bueno llendo al tema toda esta semana estuve con eso incluso probe tu programa el mas sencillo el del pulsador y el led pero nada no me corre en la realidad ( protoboard) nose porque nose si podrias ayudarme , yo mismo estuve haciendo un programa ... te pedo tu ayuda escribire espero que me digas que esta mal ya que tampoco me corre con este programa.., a la hora de conectar todo pic y midulo rf el led del receptor se queda parpadeando pero esa no es la funcion que le he dado , la funcion que le doy es la de encender un led con un pulsador igual al tuyo pero diferente codigo .. espero me ayudes

Y los fuses? como estas configurando las salidas, entradas, oscilador?...etc ese es un detalle que se me volo y voy a poner un apartado especial para que la gente que se inicia, los tenga en cuenta... una mala configuracion de los microcontroladores, ya sea desde el programa o desde la grabadora, puede llevarnos a funcionamientos erraticos y o no deseables...
arranca por la configuracion de los puertos, configuracion del oscilador, y comentame...exitos
En línea

En la vida hay que ser una bolita de nervios, y no un (censurado) nervioso... Yo personalmente se por que se los digo...
torres.electronico
Moderator
PIC16F
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 744


►ComodoroRivadavia◄ ►PATAGONIA◄ ►ARGENTINA◄


WWW
« Respuesta #41 : Enero 23, 2013, 12:36:03 »

Gracias esdrufao, ahi corregi el error... Faltaba la orden del puerto A y B  Idiota
En línea

En la vida hay que ser una bolita de nervios, y no un (censurado) nervioso... Yo personalmente se por que se los digo...
esdrufao
PIC12F
**
Desconectado Desconectado

Sexo: Masculino
Mensajes: 333



WWW
« Respuesta #42 : Enero 23, 2013, 09:34:30 »

perfecto,gracias Martin
En línea
erickp
PIC10F
*
Desconectado Desconectado

Mensajes: 1


« Respuesta #43 : Febrero 22, 2013, 03:25:19 »



Muy buen aporte, de lo mejor
Ojala y sigas subiendo mas ejemplos
En línea
torres.electronico
Moderator
PIC16F
***
Desconectado Desconectado

Sexo: Masculino
Mensajes: 744


►ComodoroRivadavia◄ ►PATAGONIA◄ ►ARGENTINA◄


WWW
« Respuesta #44 : Febrero 23, 2013, 02:03:52 »

Muy buen aporte, de lo mejor
Ojala y sigas subiendo mas ejemplos

Ando medio alejado por mi hija y por un libro que estoy escribiendo... Justamente es de PicBasic Pro, pero con la alternancia de que los estoy enfocando a un nivel un poco mas avanzado ya que enseño como mejorar nuestros proyectos insertando rutinas, interrupciones, entre otras cosas mas en ASM...
Saludos y gracias por tu comentario
En línea

En la vida hay que ser una bolita de nervios, y no un (censurado) nervioso... Yo personalmente se por que se los digo...
Páginas: 1 2 [3] 4 5   Ir Arriba
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.20 | SMF © 2011, Simple Machines
SMFAds for Free Forums
XHTML 1.0 válido! CSS válido!
Página creada en 0.089 segundos con 30 consultas. (Pretty URLs adds 0.023s, 3q)