“హలో వరల్డ్!” గురించి మాకు బాగా తెలుసు. ఏదైనా ప్రారంభ దశలో ప్రాథమిక ప్రోగ్రామ్ కోడ్ ప్రోగ్రామింగ్ భాష కొన్ని ప్రాథమిక విషయాలు తెలుసుకోవడానికి. అదేవిధంగా 8051 మైక్రోకంట్రోలర్తో ప్రారంభించడానికి, మైక్రోకంట్రోలర్ ఇంటర్ఫేసింగ్ ప్రోగ్రామింగ్లో ఎల్ఈడీ ఇంటర్ఫేసింగ్ ఒక ప్రాథమిక విషయం. ప్రతి మైక్రోకంట్రోలర్ దాని నిర్మాణంలో భిన్నంగా ఉంటుంది, కాని ఇంటర్ఫేసింగ్ భావన అన్ని మైక్రోకంట్రోలర్లకు దాదాపు ఒకే విధంగా ఉంటుంది. ఈ ట్యుటోరియల్ మీకు 8051 తో LED ఇంటర్ఫేసింగ్ ఇస్తుంది.
ఇంటర్ఫేసింగ్ అనేది ఒక పద్ధతి, ఇది మైక్రోకంట్రోలర్ మరియు ఇంటర్ఫేస్ పరికరం మధ్య కమ్యూనికేషన్ను అందిస్తుంది. ఇంటర్ఫేస్ ఇన్పుట్ పరికరం, లేదా అవుట్పుట్ పరికరం, లేదా నిల్వ పరికరం లేదా ప్రాసెసింగ్ పరికరం.
ఇన్పుట్ ఇంటర్ఫేస్ పరికరాలు: పుష్ బటన్ స్విచ్, కీప్యాడ్, ఇన్ఫ్రారెడ్ సెన్సార్, ఉష్ణోగ్రత సెన్సార్ , గ్యాస్ సెన్సార్ మొదలైనవి. ఈ పరికరాలు మైక్రోకంట్రోలర్కు కొంత సమాచారాన్ని అందిస్తాయి మరియు దీనిని ఇన్పుట్ డేటా అంటారు.
అవుట్పుట్ ఇంటర్ఫేస్ పరికరాలు: LED, LCD, బజర్, రిలే డ్రైవర్ , డిసి మోటార్ డ్రైవర్, 7-సెగ్మెంట్ డిస్ప్లే మొదలైనవి.
నిల్వ ఇంటర్ఫేస్ పరికరాలు: డేటాను నిల్వ చేయడానికి / నిలుపుకోవడానికి ఉపయోగిస్తారు, ఉదాహరణకు, SD కార్డ్, EEPROM, డేటాఫ్లాష్, రియల్ టైమ్ క్లాక్ , మొదలైనవి.
మైక్రోకంట్రోలర్ ఇంటర్ఫేసింగ్ మోడల్
8051 తో LED యొక్క ఇంటర్ఫేసింగ్
ఇంటర్ఫేసింగ్లో హార్డ్వేర్ (ఇంటర్ఫేస్ పరికరం) మరియు సాఫ్ట్వేర్ (కమ్యూనికేట్ చేయడానికి సోర్స్ కోడ్, డ్రైవర్ అని కూడా పిలుస్తారు) ఉంటాయి. ఎల్ఈడీని అవుట్పుట్ పరికరంగా ఉపయోగించాలంటే, ఎల్ఈడీని మైక్రోకంట్రోలర్ పోర్ట్కు అనుసంధానించాలి మరియు ఎల్ఈడీని ఎల్ఈడీ ఆన్ లేదా ఆఫ్ లేదా బ్లింక్ లేదా డిమ్ చేయడానికి ప్రోగ్రామ్ చేయాలి. ఈ ప్రోగ్రామ్ను డ్రైవర్ / ఫర్మ్వేర్ అంటారు. ఏదైనా ఉపయోగించి డ్రైవర్ సాఫ్ట్వేర్ను అభివృద్ధి చేయవచ్చు అసెంబ్లీ వంటి ప్రోగ్రామింగ్ భాష , సి మొదలైనవి.
8051 మైక్రోకంట్రోలర్
8051 మైక్రోకంట్రోలర్ను 1980 లలో ఇంటెల్ కనుగొన్నారు. దీని పునాది హార్వర్డ్ నిర్మాణంపై ఆధారపడింది మరియు ఈ మైక్రోకంట్రోలర్ను ఎంబెడెడ్ సిస్టమ్స్లో ఉపయోగించటానికి ప్రధానంగా అభివృద్ధి చేశారు. మేము ఇంతకుముందు చర్చించాము 8051 మైక్రోకంట్రోలర్ హిస్టరీ అండ్ బేసిక్స్ . ఇది 40 పిన్ పిడిఐపి (ప్లాస్టిక్ డ్యూయల్ ఇన్లైన్ ప్యాకేజీ).
8051 లో ఆన్-చిప్ ఓసిలేటర్ ఉంది, కానీ దీన్ని అమలు చేయడానికి బాహ్య గడియారం అవసరం. ఒక క్వార్ట్జ్ క్రిస్టల్ MC యొక్క XTAL పిన్ల మధ్య కనెక్ట్ చేయబడింది. ఈ క్రిస్టల్కు కావలసిన ఫ్రీక్వెన్సీ యొక్క క్లాక్ సిగ్నల్ను ఉత్పత్తి చేయడానికి రెండు ఒకే విలువ కెపాసిటర్లు (33 పిఎఫ్) అవసరం. 8051 మైక్రోకంట్రోలర్ యొక్క లక్షణాలు మా మునుపటి వ్యాసంలో వివరించబడ్డాయి.
మైక్రోకంట్రోలర్ క్రిస్టల్ కనెక్షన్లు
LED (లైట్ ఎమిటింగ్ డయోడ్)
LED ఒక సెమీకండక్టర్ పరికరం అనేక ఎలక్ట్రానిక్ పరికరాల్లో ఉపయోగిస్తారు, ఎక్కువగా సిగ్నల్ ట్రాన్స్మిషన్ / పవర్ ఇండికేషన్ ప్రయోజనాల కోసం ఉపయోగిస్తారు. ఇది చాలా చౌకగా మరియు వివిధ రకాల ఆకారం, రంగు మరియు పరిమాణంలో సులభంగా లభిస్తుంది. డిజైన్ మెసేజ్ డిస్ప్లే బోర్డులు మరియు ట్రాఫిక్ కంట్రోల్ సిగ్నల్ లైట్లు మొదలైన వాటికి కూడా LED లను ఉపయోగిస్తారు.
చిత్రంలో చూపిన విధంగా దీనికి రెండు టెర్మినల్స్ పాజిటివ్ మరియు నెగటివ్ ఉన్నాయి.
LED ధ్రువణత
ధ్రువణతను తెలుసుకోగల ఏకైక మార్గం మల్టీమీటర్తో పరీక్షించడం లేదా ఎల్ఈడీ లోపల జాగ్రత్తగా పరిశీలించడం. లెడ్ లోపల పెద్ద ముగింపు -ve (కాథోడ్) మరియు చిన్నది + ve (యానోడ్), అంటే మనం LED యొక్క ధ్రువణతను కనుగొంటాము. ధ్రువణతను గుర్తించడానికి మరొక మార్గం ఏమిటంటే, లీడ్లను కనెక్ట్ చేయడం, పాజిటివ్ టెర్మినల్ నెగటివ్ టెర్మినల్ కంటే ఎక్కువ పొడవును కలిగి ఉంటుంది.
8051 కు LED ఇంటర్ఫేసింగ్
మైక్రోకంట్రోలర్ 8051 కు మనం LED ని ఇంటర్ఫేస్ చేయగల రెండు మార్గాలు ఉన్నాయి. కాని కనెక్షన్లు మరియు ప్రోగ్రామింగ్ పద్ధతులు భిన్నంగా ఉంటాయి. ఈ వ్యాసం AT89C52 / AT89C51 మైక్రోకంట్రోలర్ కోసం 8051 మరియు LED బ్లింకింగ్ కోడ్తో LED ఇంటర్ఫేసింగ్ సమాచారాన్ని అందిస్తుంది.
8051 పద్ధతులకు LED ని ఇంటర్ఫేసింగ్
5v యొక్క ఇన్పుట్ వోల్టేజ్ LED యొక్క సానుకూల టెర్మినల్కు అనుసంధానించబడినందున ఇంటర్ఫేస్ LED 2 ముందుకు పక్షపాతంలో ఉందని జాగ్రత్తగా గమనించండి, కాబట్టి ఇక్కడ మైక్రోకంట్రోలర్ పిన్ తక్కువ స్థాయిలో ఉండాలి. మరియు ఇంటర్ఫేస్ 1 కనెక్షన్లతో దీనికి విరుద్ధంగా.
ప్రవహించే ప్రవాహాన్ని పరిమితం చేయడానికి మరియు LED మరియు / లేదా MCU దెబ్బతినకుండా ఉండటానికి LED ఇంటర్ఫేసింగ్లో రెసిస్టర్ ముఖ్యమైనది.
- ఇంటర్ఫేస్ 1 LED ని ప్రకాశిస్తుంది, MC యొక్క పిన్ విలువ అధికంగా ఉంటే మాత్రమే భూమి వైపు ప్రవహిస్తుంది.
- ఇంటర్ఫేస్ 2 LED ని మెరుస్తుంది, MC యొక్క పిన్ విలువ తక్కువగా ఉంటేనే దాని తక్కువ సామర్థ్యం కారణంగా పిన్ వైపు ప్రవాహం ప్రవహిస్తుంది.
సర్క్యూట్ రేఖాచిత్రం క్రింద చూపబడింది. పోర్ట్ -1 యొక్క పిన్ -0 కి ఒక ఎల్ఈడీ కనెక్ట్ చేయబడింది.
ప్రోటీయస్ సిమ్యులేషన్ సర్క్యూట్
నేను ప్రోగ్రామ్ కోడ్ను వివరంగా వివరిస్తాను. ఇంకా, ఈ లింక్ను చూడండి “ కైల్ భాషతో పొందుపరిచిన సి ప్రోగ్రామింగ్ ట్యుటోరియల్ ”. గడియారాన్ని ఉత్పత్తి చేయడానికి 11.0592 MHz యొక్క క్రిస్టల్ అనుసంధానించబడింది. 8051 మైక్రోకంట్రోలర్ 12 CPU చక్రాలలో [1] ఒక సూచనను అమలు చేస్తుందని మనకు తెలుసు, అందువల్ల ఈ 11.0592Mhz క్రిస్టల్ ఈ 8051 ను 0.92 MIPS (సెకనుకు మిలియన్ సూచనలు) వద్ద నడుపుతుంది.
దిగువ కోడ్లో, LED ని పోర్ట్ 1 యొక్క పిన్ 0 గా నిర్వచించారు. ప్రధాన ఫంక్షన్లో, ప్రతి అర్ధ సెకను తర్వాత LED టోగుల్ చేయబడుతుంది. ‘ఆలస్యం’ ఫంక్షన్ ప్రతిసారీ అమలు చేసినప్పుడు శూన్య స్టేట్మెంట్లను అమలు చేస్తుంది.
60000 విలువ (కైల్ మైక్రో-విజన్ 4 సాఫ్ట్వేర్ను ఉపయోగించి కంపైల్ చేయబడింది) 11.0592 MHz క్రిస్టల్ ఉపయోగించబడుతున్నప్పుడు 1 సెకన్లు (ఆలస్యం సమయం) శూన్య ప్రకటన అమలు సమయం ఉత్పత్తి చేస్తుంది. ఈ విధంగా, P1.0 పిన్తో జతచేయబడిన LED క్రింద ఇవ్వబడిన కోడ్ను ఉపయోగించి మెరిసేలా తయారు చేస్తారు.
కోడ్
# చేర్చండి
పోర్ట్ 1 యొక్క sbit LED = P1 ^ 0 // pin0 కి LED గా పేరు పెట్టారు
// ఫంక్షన్ డిక్లరేషన్లు
శూన్యమైన cct_init (శూన్యమైనది)
శూన్య ఆలస్యం (int a)
పూర్ణాంకానికి ప్రధానమైనది (శూన్యమైనది)
{
cct_init ()
అయితే (1)
{
LED = 0
ఆలస్యం (60000)
LED = 1
ఆలస్యం (60000)
}
}
శూన్యమైన cct_init (శూన్యమైనది)
{
పి 0 = 0x00
పి 1 = 0x00
పి 2 = 0x00
పి 3 = 0x00
}
శూన్య ఆలస్యం (int a)
{
పూర్ణాంకానికి నేను