Libstock prefers package manager

Package Manager

We strongly encourage users to use Package manager for sharing their code on Libstock website, because it boosts your efficiency and leaves the end user with no room for error. [more info]

Project Request

Return
Nick Poduska
npoduska

posted on 2012/11/09 10:26:35 AM CET

Communication

ADC to PC via UART communication

What I'd like to do is to get a potentiometer reading and look at it live and store it on my PC. I don't even know if this is possible using UART. I've been trying to do this on the EasyPIC7 prototype board with no luck. I'd be open to use another communication method so long as it gets the job done.

USER Comments

Robinson Velasquez
Cagiva125

posted on 2013/03/13 09:11:04 PM CET

Puede usar este código que edite para enviar los datos al computador por RS232:
Puede recibir los datos con Hyperterminal, LabView o USART Terminal de MikroC.


// MikroC Code: (For 16F877A - 4MHz)




long Grados; // Variable ENTERA de - 2147483647 a 2147483647.
float voltios, Angulo; //(Declaro float para que tome los decimales).
const float m = 0.0089; // Pendiente de la Ecuacion.
// Constante sin signo para guardar el Voltaje de referencia Vref+ (RA3):
const float VREF = 5;
int Centenas=0;
int Decenas=0;
int Unidades=0;
int Nivel=0;


void main() // FUNCIÓN PRINCIPAL:

{
//ASIGNACIÓN DE REGISTROS PARA DEFINIR ENTRADAS,SALIDAS Y OTRAS CONFIGURACIONES.
ADCON1=0b10001111; // BIT_7=1: Justifica a la derecha el resultado.
// Y los últimos 4 BITS dan la configuracion de Puerto A.
// Hay una Tabla Adjunta (CONFIGURACION ADCON1.jpg).
// AN0= Entrada Análoga (RA0).
// AN2= Entrada Vref - (RA2).
// AN3= Entrada Vref + (RA3).
// Los demás pines del puerto A son Digitales.
TRISA = 0b00000111; // RA0 es entrada analógica[0 = Salida ___ 1 = Entrada].
// Y los demás son salidas digitales (Menos RA2 Y RA3).
TRISD=0;
PORTD=0;
Delay_ms(4000);

// INICIAR EL MODULO UART:
UART1_Init(9600); // initialize UART1 module
Delay_ms(100);
UART1_Write_Text("SENSOR DE NIVEL");
UART1_Write(10);
UART1_Write(13);

do //HACER:
{


Muestra = ADC_Read(0); // Conversión A/D. Pin RA0 es la entrada.
Nivel = Muestra >> 2; // Send 8 most significant bits
//Delay_ms(10);

UART1_Write(Nivel);


} while(1); // While (1); ES UN BUCLE INFINITO.

}






Este programa envía el resultado de la conversión de 8bit por RS232 al computador.
FUNCIONA OK.

  • Rating:
0
No Abuse Reported

Do you want to report abuse comment ID: 638 in "ADC to PC via UART communication" request.

Emmanuel Edwards
eddienuel

posted on 2012/11/17 08:14:39 AM CET

which language do you program with? . and what is the name of the mcu you are using? u need to make use of the uart and adc library. i think u just need to measure the value, shift the first eight bit to variable then write the varible to the serial port. but im goin to look at that tonight using MikroC .

  • Rating:
0
No Abuse Reported

Do you want to report abuse comment ID: 470 in "ADC to PC via UART communication" request.