Bangladesh National University Result

Custom Search

Thursday, March 22, 2012

LISAJOUS figure Experiment for SUST physics

LISAJOUS figure Experiment for SUST physics

Four Voltmeter In Single Hardware with PIC16F72 Microcontroller and 16*2 LCD

// Volt meter Test



// 10/03/2012 Friday


// Satya Ranjan Sarkar


// -----------------------------------------------------------------------------


//Display volt variable -------------------------------------------------------


unsigned int adc_volts1;


unsigned int volts1;


unsigned int adc_volts2;


unsigned int volts2;


unsigned int adc_volts3;


unsigned int volts3;


unsigned int adc_volts4;


unsigned int volts4;






char txt[8]; // used to display number string


//Display Name text variable ---------------------------------------------------


// wrap delay as a function call to save code size -----------------------------


void delay_500ms(void)


{


Delay_mS(500); // this value gives about 500ms per "pulse"


}


void main ()


{


TRISA = 0xFF; // All Input


TRISB = 0b00000000; // input & output


TRISC = 0b00000000; // All output






PORTB = 0x00; // PortB Clear


PORTC = 0x00; // PortC Clear






ADCON1=0X80; // all input are analog






delay_500ms(); // small delay for PSU to stabilise










Lcd_Init(&PORTB); // Initialize LCD connected to PORTB


Lcd_Cmd(Lcd_CLEAR); // Clear display


Lcd_Cmd(Lcd_CURSOR_OFF); // Turn cursor off


delay_500ms();


//Start loop here---------------------------------------------------------------


while(1)


{


adc_volts1 = ADC_Read(1); // read Batt Volt AD


delay_500ms();


volts1 = (adc_volts1 * 12); // 10 to 25 volts 12 to 30 volts 15 to 38 volts


wordtostr(volts1,txt); // format voltage int to text


txt[5] = txt[4]; // move 2 decimal places


txt[4] = txt[3];


txt[3] = '.'; // add dec point


txt[6] = 'V'; // add volts


txt[7] = 0; // and add NULL


Lcd_Out(1,1,txt); // display battery volt


delay_500ms();


adc_volts = ADC_Read(2); // read Batt Volt AD






delay_500ms();


volts2 = (adc_volts2 * 12); // 10 to 25 volts 12 to 30 volts 15 to 38 volts


wordtostr(volts2,txt); // format voltage int to text


txt[5] = txt[4]; // move 2 decimal places


txt[4] = txt[3];


txt[3] = '.'; // add dec point


txt[6] = 'V'; // add volts


txt[7] = 0; // and add NULL


Lcd_Out(1,8,txt); // display battery volt






delay_500ms();


adc_volts3 = ADC_Read(3); // read Batt Volt AD


delay_500ms();


volts3 = (adc_volts3 * 12); // 10 to 25 volts 12 to 30 volts 15 to 38 volts


wordtostr(volts3,txt); // format voltage int to text


txt[5] = txt[4]; // move 2 decimal places


txt[4] = txt[3];


txt[3] = '.'; // add dec point


txt[6] = 'V'; // add volts


txt[7] = 0; // and add NULL


Lcd_Out(2,1,txt); // display battery volt






delay_500ms();


adc_volts4 = ADC_Read(2); // read Batt Volt AD


delay_500ms();


volts4 = (adc_volts4 * 12); // 10 to 25 volts 12 to 30 volts 15 to 38 volts


wordtostr(volts4,txt); // format voltage int to text


txt[5] = txt[4]; // move 2 decimal places


txt[4] = txt[3];


txt[3] = '.'; // add dec point


txt[6] = 'V'; // add volts


txt[7] = 0; // and add NULL


Lcd_Out(2,8,txt); // display battery volt


}


}






Search Anything you want.just write and click search and see the magic