Skip to main content

ADC EMBEDDED C CODING

#include"adc.h"

void adcconvert(unsigned int g)
{
unsigned char temp=0,i=0;
unsigned int x=10000;
if(g==0)
lcddata(temp+0x30);
else
{
while(x)
{
temp=g/x;
if((temp!=0)&&(i==0))
i++;
if((temp!=0)||(i!=0))
lcddata(temp+0x30);
g-=(x*temp);
x/=10;
}
}
}

unsigned int adc(unsigned char chn_sel)
{
unsigned char x,y,adcon_bc;
auto int s=0;
if(chn_sel == 0)
{
CHS2 = 0; CHS1 = 0; CHS0 = 0;
}
else if(chn_sel == 1)
{
CHS2 = 0; CHS1 = 0; CHS0 = 1;
}
else if(chn_sel == 2)
{
CHS2 = 0; CHS1 = 1; CHS0 = 0;
}
else if(chn_sel == 3)
{
CHS2 = 0; CHS1 = 1; CHS0 = 1;
}
else if(chn_sel == 4)
{
CHS2 = 1; CHS1 = 0; CHS0 = 0;
}
else if(chn_sel == 5)
{
CHS2 = 1; CHS1 = 0; CHS0 = 1;
}
else if(chn_sel == 6)
{
CHS2 = 1; CHS1 = 1; CHS0 = 0;
}
else if(chn_sel == 7)
{
CHS2 = 1; CHS1 = 1; CHS0 = 1;
}
ADON=1;
delay(100);
ADGO=1;
while(ADGO==1);
x=ADRESL;
y=ADRESH;
s+=y;s<<=8;
s+=x;
delay(100);
ADON=0;
return s;
}

unsigned int adc_getvalue(unsigned char chn_sel)
{
unsigned char i=0;
unsigned int avg = 0;
for(;i<10;i++)
{
avg += adc(chn_sel);
}
return (avg/10);
}

void adc_init()
{
TRISA = 0xFF;           // set PORTA as input
/* uncoment the below code for all analog sensors*/
// TRISE = 0x07;           // set RE0 (AN5), RE0 (AN6) and RE2(AN7) as input
// ADCON1=0x80; //For configure all ADC Channels
/*************************************************/
CMCON = CMCON | 7;     // Turn off comparators
ADCON0=0x40;
// ADCON1=0x8E; //For configure one sensor and make others Digital
ADCON1=0x82; //For configure First five sensor and last three Digital
}

Comments

Popular posts from this blog

Jio

Reliance Jio planning its own  cryptocurrency called JioCoin  elder son Akash Ambani leading the JioCoin project, Reliance Jio plans to build a 50-member team of young professionals to work on blockchain technology, which can also be used to develop applications such as smart contracts and supply chain management logistics

garbage monitoring using arduino code with gsm

#include <SoftwareSerial.h> #include <LiquidCrystal.h> //LiquidCrystal lcd(7, 6, 5, 4, 3, 2); LiquidCrystal lcd(13, 12, 11, 10, 9, 8); SoftwareSerial mySerial(0,1); #define trigPin 2 #define echoPin 3 #define PIR_sensor 4 #define m11 5 #define m12 6 void setup() {    lcd.begin(16, 2);    lcd.print("    Garbage    ");    Serial.println("garbage ");   lcd.setCursor(0,1);   lcd.print("   Open Close    ");   Serial.println(" open close");   delay(3000);   lcd.clear();   //lcd.print(" ");   delay(2000); mySerial.begin(9600); // Setting the baud rate of GSM Module Serial.begin (9600); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT);  pinMode(m11, OUTPUT);   pinMode(m12, OUTPUT);   } void loop() {  readPIR();  pingDist();  SendMessage(); } void pingDist ()   {     long duration, distance;...