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

Temas similares

27/01/2013 #1


Comunicación Serial PIC18F4550 con proton.
Hola a todos espero que estén bien.

siempre he visto el foro y encontrado muchas respuestas a mis preguntas, creo que esta es la primera que hago, siempre me ha gustado la parte de radio y la mayoría del tiempo estoy en esa sección, últimamente me he propuesto experimentar con un PIC18F4550 y la verdad me ha ido algo mal no se nada de programación es la pura y mera verdad, lo que medio hacia lo hacia en PBP y eran cosas como encender un led, ahora he tomado proton y me ha gustado mucho, ensaye un altímetro en proteus y me ha salido a la perfeccion pero ahora quería hacer eso mismo pero en ves de mostrar los datos en un lcd quería transmitirlos vía RS232,

les dejo el código del altímetro que ensaye y les agradecería que me explicaran como hacer para que los mismos datos que muestro en el lCD se transmitan de manera serial

no tengo idea de como se trabaja con el puerto serie por hardware que fue lo que lei por hay que me ha dejado bastante confundido, de antemano les agradezco por la ayuda y deseo que todos ustedes tengan muchos éxitos.

saludos-

Código PHP:
Device 18F4550 ;
Xtal 20 ;

LCD_DTPin PORTD.4 directivas de configuracion para el lcd
LCD_RSPin PORTD.2 
;
LCD_ENPin PORTD.3 ;
LCD_Interface 4 :
LCD_Lines 2 ;
LCD_Type 0 ;

Declare 
Adin_Res 10 ;  declaraciones ADC
Declare Adin_Stime 50 ;

ADCON1 141 
TRISA  
= %00000001 ;
ADCON1 = %10000000 ;

Symbol Vs 5.1 ;
Symbol P_0 1013.3 ;

Dim Vadc As Word ;
Dim Vout As Float ;
Dim LogA As Float ;
Dim DefP As Float ;
Dim H As Float ;
Dim P As Float ;
Dim HP As Float ;
Dim C As Float ;
Dim B As Float ;
Dim M1 As Float ;
Dim M2 As Float ;

 
Cls 
 
inicio
:
 
GoSub Get_Vout;
 
DelayMS 10 ;
 
GoSub Lectura_Presion ;
 
DelayMS 10 ;
 
GoSub Lectura_Altura ;
 
DelayMS 10 ;
 
GoSub Visualizar ;
 
DelayMS 10 ;
GoTo 
inicio ;
 
Get_Vout: ;
 
Vadc ADIn 0 ;
 
Vadc Vadc >> ;
 
Vout = (Vadc 5)/1024 ;
Return
 
Lectura_Presion:
 
.095*Vs ;
 
.009*Vs ;
 
= (Vout C)/(B) ;
Return ;

Lectura_Altura:
 
HP 10 ;
 
DefP P_0/HP ;
 
LogA Log DefP ;
 
M1 8430.153 LogA ;
 
M2 = (LogA .095)+;
 
M1/M2 ;
Return  

Visualizar:
 Print 
At 1,1,"(KPa):",Dec1 P;
 
DelayMS 500 ;
 Print 
At 2,1,"Altitud:",Dec1 H;
 
DelayMS 1000 ;
Return; 
28/01/2013 #2
Moderador

Avatar de D@rkbytes

Saludos.
Como necesitas enviar y recibir dos datos, aquí adjunto un ejemplo de como podrías lograrlo.
El ejemplo muestra como enviar y recibir dos bytes a la vez, se puede hacer con más, pero lo hice para mostrar 2
También muestro como hacerlo por software y por hardware.

Recomendaciones sobre el lenguaje:
En PICBasic, no es necesario terminar cada instrucción con punto y coma. (Proton usa PICBasic)
Usar ' ; y Rem en este lenguaje sirven solo para hacer comentarios. (Rem = Remark ó Remember)
Trata de establecer las variables del tamaño para el cual van a ser usadas. (Ahorras memoria)
Declarar los fuses adecuados para el trabajo del PIC es importante. (En el ejemplo muestro como hacerlo)
Si necesitas saber más acerca de este lenguaje, aquí en el Foro existe un tutorial de Proton

Suerte.
28/01/2013 #3


Muchísimas gracias por las recomendaciones y por el ejemplo ahora mismo me pongo a estudiar las instrucciones y veo como las aplico a mis experimentos.

un abrazo grande!
Respuesta
¿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 - 2014, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.