I2C బస్ ప్రోటోకాల్ ట్యుటోరియల్, అనువర్తనాలతో ఇంటర్ఫేస్

సమస్యలను తొలగించడానికి మా పరికరాన్ని ప్రయత్నించండి





ఈ రోజుల్లో ప్రోటోకాల్‌లు ముఖ్యమైన పాత్ర పోషిస్తాయి పొందుపరిచిన సిస్టమ్ డిజైన్ . ప్రోటోకాల్‌లకు వెళ్లకుండా, మీరు మైక్రోకంట్రోలర్ యొక్క పరిధీయ లక్షణాలను విస్తరించాలనుకుంటే, సంక్లిష్టత మరియు విద్యుత్ వినియోగం పెరుగుతుంది. USART, SPI, CAN, వంటి వివిధ రకాల బస్సు ప్రోటోకాల్‌లు అందుబాటులో ఉన్నాయి I2C బస్ ప్రోటోకాల్ , మొదలైనవి, ఇవి రెండు వ్యవస్థల మధ్య డేటాను బదిలీ చేయడానికి ఉపయోగించబడతాయి.

I2C ప్రోటోకాల్

I2C బస్ అంటే ఏమిటి?




రెండు లేదా అంతకంటే ఎక్కువ పరికరాల మధ్య సమాచారాన్ని ప్రసారం చేయడానికి మరియు స్వీకరించడానికి బస్ వ్యవస్థగా పిలువబడే కమ్యూనికేషన్ మార్గం అవసరం. I2C బస్సు అనేది ద్వి దిశాత్మక రెండు-వైర్డు సీరియల్ బస్సు, ఇది ఇంటిగ్రేటెడ్ సర్క్యూట్ల మధ్య డేటాను రవాణా చేయడానికి ఉపయోగించబడుతుంది. I2C అంటే “ఇంటర్ ఇంటిగ్రేటెడ్ సర్క్యూట్”. దీనిని మొట్టమొదట 1982 లో ఫిలిప్స్ సెమీకండక్టర్స్ ప్రవేశపెట్టింది. I2C బస్సులో ప్రామాణిక, ఫాస్ట్-మోడ్ మరియు హై-స్పీడ్-మోడ్ వంటి మూడు డేటా బదిలీ వేగం ఉంటుంది. I2C బస్సు 7-బిట్ మరియు 10-బిట్ అడ్రస్ స్పేస్ పరికరానికి మద్దతు ఇస్తుంది మరియు దాని ఆపరేషన్ తక్కువ వోల్టేజ్‌లతో విభిన్నంగా ఉంటుంది.

I2c బస్ ప్రోటోకాల్

I2c బస్ ప్రోటోకాల్



I2C సిగ్నల్ లైన్స్

I2C సిగ్నల్ లైన్స్

I2C సిగ్నల్ లైన్స్

I2C అనేది సీరియల్ బస్ ప్రోటోకాల్, ఇది పరికరాలతో కమ్యూనికేట్ చేయడానికి ఉపయోగించే SCL మరియు SDL లైన్లు వంటి రెండు సిగ్నల్ లైన్లను కలిగి ఉంటుంది. SCL అంటే ‘సీరియల్ క్లాక్ లైన్’ మరియు ఈ సిగ్నల్ ఎల్లప్పుడూ ‘మాస్టర్ డివైస్’ చేత నడపబడుతుంది. SDL అంటే ‘సీరియల్ డేటా లైన్’, మరియు ఈ సిగ్నల్ మాస్టర్ లేదా I2C పెరిఫెరల్స్ చేత నడపబడుతుంది. I2C పెరిఫెరల్స్ మధ్య బదిలీ లేనప్పుడు ఈ రెండు SCL మరియు SDL లైన్లు ఓపెన్-డ్రెయిన్ స్థితిలో ఉన్నాయి.

ఓపెన్-డ్రెయిన్ అవుట్‌పుట్‌లు


ఓపెన్-డ్రెయిన్ FET ట్రాన్సిస్టర్ కోసం భావన దీనిలో ట్రాన్సిస్టర్ యొక్క కాలువ టెర్మినల్ ఓపెన్ స్టేట్. మాస్టర్ పరికరం యొక్క SDL మరియు SCL పిన్స్ ఓపెన్ స్టేట్‌లోని ట్రాన్సిస్టర్‌లతో రూపొందించబడ్డాయి, కాబట్టి ఈ ట్రాన్సిస్టర్‌లను నిర్వహించినప్పుడు మాత్రమే డేటా బదిలీ సాధ్యమవుతుంది. అందువల్ల, ఈ పంక్తులు లేదా కాలువ టెర్మినల్స్ ప్రసరణ మోడ్ కోసం పూర్తిగా పుల్-అప్ రెసిస్టర్‌లను VCC కి అనుసంధానించబడి ఉంటాయి.

I2C ఇంటర్ఫేస్లు

చాలా బానిస పరికరాలు మైక్రోకంట్రోలర్‌కు అనుసంధానించబడతాయి వాటి మధ్య సమాచారాన్ని బదిలీ చేయడానికి I2C స్థాయి షిఫ్టర్ IC ద్వారా I2C బస్సు సహాయంతో. I2C ప్రోటోకాల్ గరిష్టంగా 128 పరికరాలను కనెక్ట్ చేయడానికి ఉపయోగించబడుతుంది, ఇవి మాస్టర్ యూనిట్ యొక్క SCL మరియు SDL లైన్లతో పాటు బానిస పరికరాలతో కమ్యూనికేట్ చేయడానికి అనుసంధానించబడి ఉన్నాయి. ఇది మల్టీమాస్టర్ కమ్యూనికేషన్‌కు మద్దతు ఇస్తుంది, అంటే బాహ్య పరికరాలను కమ్యూనికేట్ చేయడానికి ఇద్దరు మాస్టర్‌లను ఉపయోగిస్తారు.

I2C డేటా బదిలీ రేట్లు

I2C ప్రోటోకాల్ మూడు మోడ్‌లను నిర్వహిస్తుంది: ఫాస్ట్ మోడ్, హై-స్పీడ్ మోడ్ మరియు స్టాండర్డ్ మోడ్, దీనిలో ప్రామాణిక మోడ్ డేటా వేగం 0Hz నుండి 100Hz వరకు ఉంటుంది మరియు ఫాస్ట్ మోడ్ డేటా 0Hz నుండి 400 KHz వేగంతో మరియు 10 తో హై స్పీడ్ మోడ్‌తో బదిలీ చేయగలదు. KHz నుండి 100KHz వరకు. ప్రతి బదిలీకి 9-బిట్ డేటా పంపబడుతుంది, ఇందులో 8-బిట్స్ ట్రాన్స్మిటర్ MSB చేత LSB కి పంపబడతాయి మరియు 9 వ బిట్ రిసీవర్ పంపిన రసీదు బిట్.

I2C డేటా బదిలీ రేట్లు

I2C డేటా బదిలీ రేట్లు

I2C కమ్యూనికేషన్

I2C బస్ ప్రోటోకాల్ సాధారణంగా మాస్టర్ మరియు స్లేవ్ కమ్యూనికేషన్‌లో ఉపయోగించబడుతుంది, దీనిలో మాస్టర్‌ను “మైక్రోకంట్రోలర్” అని పిలుస్తారు, మరియు బానిసను ADC, EEPROM, DAC మరియు ఎంబెడెడ్ సిస్టమ్‌లోని సారూప్య పరికరాలు వంటి ఇతర పరికరాలు అంటారు. బానిస పరికరాల సంఖ్య I2C బస్సు సహాయంతో మాస్టర్ పరికరానికి అనుసంధానించబడి ఉంది, దీనిలో ప్రతి బానిస కమ్యూనికేట్ చేయడానికి ఒక ప్రత్యేకమైన చిరునామాను కలిగి ఉంటుంది. మాస్టర్ పరికరాన్ని బానిసకు కమ్యూనికేట్ చేయడానికి క్రింది దశలు ఉపయోగించబడతాయి:

దశ 1: మొదట, అన్ని బానిస పరికరాలకు తెలియజేయడానికి మాస్టర్ పరికరం ప్రారంభ పరిస్థితిని జారీ చేస్తుంది, తద్వారా వారు సీరియల్ డేటా లైన్‌లో వింటారు.

దశ 2: మాస్టర్ పరికరం లక్ష్య బానిస పరికరం యొక్క చిరునామాను ఎస్సిఎల్ మరియు ఎస్డిఎల్ పంక్తులకు అనుసంధానించబడిన అన్ని బానిస పరికరాల చిరునామాలతో పోల్చబడుతుంది. ఎవరైనా చిరునామా సరిపోలితే, ఆ పరికరం ఎంపిక చేయబడుతుంది మరియు మిగిలిన అన్ని పరికరాలు SCL మరియు SDL లైన్ల నుండి డిస్‌కనెక్ట్ చేయబడతాయి.

దశ 3: మాస్టర్ నుండి స్వీకరించబడిన సరిపోలిన చిరునామాతో బానిస పరికరం, మాస్టర్‌కు రసీదుతో స్పందిస్తుంది, ఆ తరువాత డేటా బస్సులోని మాస్టర్ మరియు బానిస పరికరాల మధ్య కమ్యూనికేషన్ ఏర్పడుతుంది.

దశ 4: మాస్టర్ మరియు బానిస ఇద్దరూ కమ్యూనికేషన్ చదివారా లేదా వ్రాస్తారా అనే దానిపై ఆధారపడి డేటాను స్వీకరిస్తారు మరియు ప్రసారం చేస్తారు.

దశ 5: అప్పుడు, మాస్టర్ 1-బిట్ రసీదుతో ప్రత్యుత్తరం ఇచ్చే రిసీవర్‌కు 8-బిట్ డేటాను ప్రసారం చేయవచ్చు.

I2C ట్యుటోరియల్

గడియారపు పప్పులకు సంబంధించి దశల వారీగా సమాచారాన్ని ప్రసారం చేయడం మరియు స్వీకరించడం I2C ప్రోటోకాల్ అంటారు. ఇది ఇంటర్-సిస్టమ్ మరియు స్వల్ప-దూర ప్రోటోకాల్, అనగా, ఇది మాస్టర్ మరియు బానిస పరికరాలను కమ్యూనికేట్ చేయడానికి సర్క్యూట్ బోర్డ్‌లో ఉపయోగించబడుతుంది.

I2C ప్రోటోకాల్ బేసిక్స్

సాధారణంగా, I2C బస్సు వ్యవస్థలో రెండు వైర్లు ఉంటాయి, ఇవి ADC, EEROM మరియు RTC వంటి ఇన్పుట్ మరియు అవుట్పుట్ పరిధీయ లక్షణాలను విస్తరించడానికి సులభంగా ఉపయోగించబడతాయి మరియు ఇతర ప్రాథమిక భాగాలు సంక్లిష్టత చాలా తక్కువగా ఉన్న వ్యవస్థను రూపొందించడానికి.

ఉదాహరణ: 8051 మైక్రోకంట్రోలర్‌కు అంతర్నిర్మిత ADC లేదు కాబట్టి - 8051 మైక్రోకంట్రోలర్‌కు ఏదైనా అనలాగ్ సెన్సార్‌లను ఇంటర్‌ఫేస్ చేయాలనుకుంటే - ADC0804-1 ఛానల్ ADC, ADC0808- 8 ఛానల్ ADC, వంటి ADC పరికరాలను ఉపయోగించాలి. ఈ ADC లను ఉపయోగించడం ద్వారా, మేము అనలాగ్ సెన్సార్లను మైక్రోకంట్రోలర్‌కు ఇంటర్‌ఫేస్ చేయవచ్చు.

ఏదైనా మైక్రోకంట్రోలర్ లేదా ప్రాసెసర్ యొక్క I / O లక్షణాలను విస్తరించడానికి ప్రోటోకాల్ ఉపయోగించకుండా, మేము 8255 ఐసిట్ 8-పిన్ పరికరానికి వెళ్ళవచ్చు. ది 8051 మైక్రోకంట్రోలర్ 40-పిన్ మైక్రోకంట్రోలర్ 8255 IC ని ఉపయోగించడం ద్వారా, మేము ప్రతి పోర్టులో 8-పిన్స్‌తో 3-I / O పోర్ట్‌లను విస్తరించవచ్చు. RTC, ADC, EEPROM, టైమర్లు మొదలైన అన్ని పరికరాలను ఉపయోగించడం ద్వారా - పరిధీయ సర్క్యూటరీని విస్తరించడానికి - సంక్లిష్టత, ఖర్చు, విద్యుత్ వినియోగం మరియు ఉత్పత్తి పరిమాణం కూడా పెరుగుతాయి.

ఈ సమస్యను అధిగమించడానికి, హార్డ్వేర్ సంక్లిష్టత మరియు విద్యుత్ వినియోగాన్ని తగ్గించడానికి ప్రోటోకాల్ భావన చిత్రంలోకి వస్తుంది. ఈ I2C ప్రోటోకాల్‌ను ఉపయోగించడం ద్వారా I / 0 పెరిఫెరల్స్, ADC లు, T / C మరియు మెమరీ పరికరాలు 128 పరికరాల వరకు ఎక్కువ సంఖ్యలో విస్తరించవచ్చు.
I2C ప్రోటోకాల్స్‌లో ఉపయోగించే పరిభాష

ట్రాన్స్మిటర్: బస్సుకు డేటాను పంపే పరికరాన్ని ట్రాన్స్మిటర్ అంటారు.

స్వీకర్త: బస్సు నుండి డేటాను స్వీకరించే పరికరాన్ని రిసీవర్ అంటారు.

మాస్టర్: గడియార సంకేతాలను రూపొందించడానికి మరియు బదిలీని ముగించడానికి బదిలీలను ప్రారంభించే పరికరాన్ని మాస్టర్ అంటారు.

బానిస: మాస్టర్ ప్రసంగించిన పరికరాన్ని బానిస అంటారు.

మల్టీమాస్టర్: సందేశాన్ని పాడుచేయకుండా ఒకేసారి ఒకటి కంటే ఎక్కువ మాస్టర్‌లు బస్సును నియంత్రించడానికి ప్రయత్నించవచ్చు మల్టీమాస్టర్ అంటారు.

మధ్యవర్తిత్వ: ఒకటి కంటే ఎక్కువ మాస్టర్లు ఒకేసారి బస్సును నియంత్రించడానికి ప్రయత్నిస్తే - ఒకటి మాత్రమే అనుమతించబడుతుంది కాబట్టి గెలిచిన సందేశం పాడైపోకుండా చూసుకోవాలి.

సమకాలీకరణ: రెండు లేదా అంతకంటే ఎక్కువ పరికరాల గడియార సింగిల్స్‌ను సమకాలీకరించే విధానాన్ని సింక్రొనైజేషన్ అంటారు.

I2C బేసిక్ కమాండ్స్ సీక్వెన్స్

  1. బిట్ కండిషన్ ప్రారంభించండి
  2. బిట్ కండిషన్ ఆపు
  3. రసీదు పరిస్థితి
  4. మాస్టర్ టు స్లేవ్ రైట్ ఆపరేషన్
  5. ఆపరేషన్ స్లేవ్ టు మాస్టర్ చదవండి

బిట్ కండిషన్ ప్రారంభించండి మరియు ఆపు

మాస్టర్ (మైక్రోకంట్రోలర్) ఒక బానిస పరికరంతో మాట్లాడాలని కోరుకున్నప్పుడు (ఉదాహరణకు ADC), ఇది I2C బస్సులో ప్రారంభ పరిస్థితిని జారీ చేయడం ద్వారా కమ్యూనికేషన్‌ను ప్రారంభిస్తుంది, ఆపై స్టాప్ కండిషన్‌ను జారీ చేస్తుంది. I2C ప్రారంభ మరియు స్టాప్ లాజిక్ స్థాయిలు చిత్రంలో చూపించబడ్డాయి.

I2C ప్రారంభ పరిస్థితి SDA లైన్ యొక్క అధిక నుండి తక్కువ పరివర్తనగా నిర్వచిస్తుంది, అయితే SCL లైన్ ఎక్కువగా ఉంటుంది. SDA లైన్ తక్కువ నుండి ఎత్తుకు టోగుల్ చేసినప్పుడు SCL లైన్ ఎక్కువగా ఉన్నప్పుడు AN I2C స్టాప్ కండిషన్ ఏర్పడుతుంది.

I2C మాస్టర్ ఎల్లప్పుడూ S మరియు P పరిస్థితులను ఉత్పత్తి చేస్తుంది. I2C మాస్టర్ START పరిస్థితిని ప్రారంభించిన తర్వాత, I2c బస్సు బిజీ స్థితిలో ఉన్నట్లు పరిగణించబడుతుంది.

బిట్ కండిషన్ ప్రారంభించండి మరియు ఆపు

బిట్ కండిషన్ ప్రారంభించండి మరియు ఆపు

ప్రోగ్రామింగ్:

ప్రారంభ పరిస్థితి:

sbit SDA = P1 ^ 7 // మైక్రోకంట్రోలర్ యొక్క SDA మరియు SCL పిన్‌లను ప్రారంభించండి //
sbit SCL = P1 ^ 6
శూన్య ఆలస్యం (సంతకం చేయని పూర్ణాంకానికి)
void main ()
{
SDA = 1 // డేటాను ప్రాసెస్ చేయడం //
SCL = 1 // గడియారం ఎక్కువ //
ఆలస్యం ()
SDA = 0 // డేటాను పంపారు //
ఆలస్యం ()
SCL = 0 // క్లాక్ సిగ్నల్ తక్కువ //
}
రద్దు ఆలస్యం (int p)
{
సంతకం చేయని, బి
(A = 0a<255a++) //delay function//
(బి = 0 బి}

ఆపు పరిస్థితి:

void main ()
{
SDA = 0 // డేటాను ప్రాసెస్ చేయడాన్ని ఆపివేయండి //
SCL = 1 // గడియారం ఎక్కువ //
ఆలస్యం ()
SDA = 1 // ఆగిపోయింది //
ఆలస్యం ()
SCL = 0 // క్లాక్ సిగ్నల్ తక్కువ //
}
రద్దు ఆలస్యం (int p)
{
సంతకం చేయని, బి
(A = 0a<255a++) //delay function//
(బి = 0 బి}

రసీదు (ACK) మరియు నో రసీదు (NCK) కండిషన్

I2C బస్సు ద్వారా ప్రసారం చేయబడిన ప్రతి బైట్ రిసీవర్ నుండి ఒక రసీదు షరతును అనుసరిస్తుంది, అనగా, 8-బిట్ యొక్క ప్రసారాన్ని పూర్తి చేయడానికి మాస్టర్ SCL ని తక్కువగా లాగిన తరువాత, SDA రిసీవర్ చేత మాస్టర్‌కు తక్కువగా లాగబడుతుంది. ఒకవేళ, రిసీవర్ యొక్క ప్రసారం లాగకపోతే, SDA లైన్ LOW ను NCK షరతుగా పరిగణిస్తారు.

రసీదు (ACK)

రసీదు (ACK)

ప్రోగ్రామింగ్

గుర్తింపు
void main ()
{
SDA = 0 // SDA లైన్ తక్కువకు వెళుతుంది //
SCL = 1 // గడియారం ఎక్కువ నుండి తక్కువ //
ఆలస్యం (100)
SCL = 0
}
రసీదు లేదు:
void main ()
{
SDA = 1 // SDA లైన్ అధికంగా ఉంటుంది //
SCL = 1 // గడియారం ఎక్కువ నుండి తక్కువ //
ఆలస్యం (100)
SCL = 0
}

మాస్టర్ టు స్లేవ్ రైట్స్ ఆపరేషన్

I2C ప్రోటోకాల్ డేటాను ప్యాకెట్లు లేదా బైట్ల రూపంలో బదిలీ చేస్తుంది. ప్రతి బైట్ తరువాత రసీదు బిట్ ఉంటుంది.

డేటా బదిలీ ఆకృతి

డేటా బదిలీ ఆకృతి

డేటా బదిలీ ఆకృతి

ప్రారంభం: ప్రధానంగా, ప్రారంభ స్థితిని ఉత్పత్తి చేసే మాస్టర్ ప్రారంభించిన డేటా బదిలీ క్రమం.

7-బిట్ చిరునామా: ఆ తరువాత మాస్టర్ బానిస చిరునామాను ఒకే 16-బిట్ చిరునామాకు బదులుగా రెండు 8-బిట్ ఫార్మాట్లలో పంపుతాడు.

R / W: రీడ్ అండ్ రైట్ బిట్ ఎక్కువగా ఉంటే, అప్పుడు రైట్ ఆపరేషన్ జరుగుతుంది.

అయ్యో: బానిస పరికరంలో వ్రాత ఆపరేషన్ జరిగితే, రిసీవర్ 1-బిట్ ACK ని మైక్రోకంట్రోలర్‌కు పంపుతుంది.

ఆపు: బానిస పరికరంలో వ్రాత ఆపరేషన్ పూర్తయిన తరువాత, మైక్రోకంట్రోలర్ స్టాప్ కండిషన్‌ను బానిస పరికరానికి పంపుతుంది.

ప్రోగ్రామింగ్

ఆపరేషన్ రాయండి

voidwrite (సంతకం చేయని చార్ d)
{
సంతకం చేయని చార్ k, j = 0x80
(K = 0k<8k++)
{
SDA = (d & j)
జ = జ >> 1
SCL = 1
ఆలస్యం (4)
SCL = 0
}
SDA = 1
SCL = 1
ఆలస్యం (2)
c = SDA
ఆలస్యం (2)
SCL = 0
}

మాస్టర్ టు స్లేవ్ రీడ్ ఆపరేషన్

డేటా బానిస పరికరం నుండి బిట్ లేదా బైట్ల రూపంలో తిరిగి చదవబడుతుంది - మొదట చాలా ముఖ్యమైన బిట్‌ను చదవండి మరియు చివరిగా ముఖ్యమైన బిట్‌ను చివరిగా చదవండి.

డేటా రీడ్ ఫార్మాట్

డేటా రీడ్ ఫార్మాట్

డేటా రీడ్ ఫార్మాట్

ప్రారంభం: ప్రధానంగా, డేటా బదిలీ క్రమం మాస్టర్ ప్రారంభ స్థితిని ఉత్పత్తి చేస్తుంది.

7-బిట్ చిరునామా: ఆ తరువాత మాస్టర్ బానిస చిరునామాను ఒకే 16-బిట్ చిరునామాకు బదులుగా రెండు 8-బిట్ ఫార్మాట్లలో పంపుతాడు.

R / W: రీడ్ అండ్ రైట్ బిట్ తక్కువగా ఉంటే, అప్పుడు రీడ్ ఆపరేషన్ జరుగుతుంది.

అయ్యో: బానిస పరికరంలో వ్రాత ఆపరేషన్ జరిగితే, రిసీవర్ 1-బిట్ ACK ని మైక్రోకంట్రోలర్‌కు పంపుతుంది.

ఆపు: బానిస పరికరంలో వ్రాత ఆపరేషన్ పూర్తయిన తరువాత, మైక్రోకంట్రోలర్ స్టాప్ కండిషన్‌ను బానిస పరికరానికి పంపుతుంది.

ప్రోగ్రామింగ్

శూన్యం చదవడం ()
{
సంతకం చేయని చార్ j, z = 0x00, q = 0x80
SDA = 1
(j = 0j<8j++)
{
SCL = 1
ఆలస్యం (100)
ఫ్లాగ్ = SDA
if (ఫ్లాగ్ == 1)
q)
q = q >> 1
ఆలస్యం (100)
SCL = 0

8051 మైక్రోకంట్రోలర్‌కు ADC ఇంటర్‌ఫేసింగ్ యొక్క ప్రాక్టికల్ ఉదాహరణ

ADC అనేది అనలాగ్ డేటాను డిజిటల్ మరియు డిజిటల్ రూపంలో అనలాగ్‌గా మార్చడానికి ఉపయోగించే పరికరం. 8051 మైక్రోకంట్రోలర్‌కు ఇన్‌బిల్ట్ ADC లేదు కాబట్టి మనం I2C ప్రోటోకాల్ ద్వారా బాహ్యంగా జోడించాలి. పిసిఎఫ్ 8591 ఐ 2 సి ఆధారితమైనది డిజిటల్ అనలాగ్ మరియు డిజిటల్ టు అనలాగ్ కన్వర్టర్. ఈ పరికరం 2.5 నుండి 6 వి వోల్టేజ్‌లతో పాటు గరిష్టంగా 4-అనలాగ్ ఇన్‌పుట్ ఛానెల్‌లకు మద్దతు ఇవ్వగలదు.

అనలాగ్ అవుట్‌పుట్‌లు

అనలాగ్ అవుట్‌పుట్‌లు వోల్టేజ్‌ల రూపంలో వస్తాయి. ఉదాహరణకు, 5v అనలాగ్ సెన్సార్ 0.01v నుండి 5v కి అవుట్పుట్ లాజిక్ ఇస్తుంది.
5v యొక్క గరిష్ట డిజిటల్ విలువ = 256.
గరిష్ట వోల్టేజ్ విలువ ప్రకారం 2.5v విలువ = 123.

అనలాగ్ అవుట్పుట్ యొక్క సూత్రం:

డిజిటల్ అవుట్‌పుట్‌ల ఫార్ములా:

8051 మైక్రోకంట్రోలర్‌కు ADC ని ఇంటర్‌ఫేసింగ్

8051 మైక్రోకంట్రోలర్‌కు ADC ని ఇంటర్‌ఫేసింగ్

పై బొమ్మలో ADC పరికరం నుండి 8051 మైక్రోకంట్రోలర్‌కు I2C ప్రోటోకాల్ ఉపయోగించి డేటా బదిలీని చూపిస్తుంది. SCL మరియు SDA యొక్క ADC పిన్స్ వాటి మధ్య సంభాషణను స్థాపించడానికి పిన్ 1.7 మరియు 1.6 మైక్రోకంట్రోలర్‌కు అనుసంధానించబడి ఉన్నాయి. సెన్సార్ ADC కి అనలాగ్ విలువలను ఇచ్చినప్పుడు, అది డిజిటల్‌గా మారుతుంది మరియు I2C ప్రోటోకాల్ ద్వారా డేటాను మైక్రోకంట్రోలర్‌కు బదిలీ చేస్తుంది.

ఇది తగిన ప్రోగ్రామ్‌లతో I2C బస్ ప్రోటోకాల్ ట్యుటోరియల్ గురించి. ఇచ్చిన కంటెంట్ I2C కమ్యూనికేషన్‌ను ఉపయోగించి మైక్రోకంట్రోలర్‌లతో అనేక పరికరాలను ఇంటర్‌ఫేస్ చేసే ఆచరణాత్మక భావనను మీకు ఇస్తుందని మేము ఆశిస్తున్నాము. ఈ ప్రోటోకాల్ యొక్క ఇంటర్‌ఫేసింగ్ విధానంలో మీకు ఏమైనా సందేహం ఉంటే, మీరు క్రింద వ్యాఖ్యానించడం ద్వారా మమ్మల్ని చేరుకోవచ్చు.