8051 మైక్రోకంట్రోలర్‌లో బ్యాంకులు మరియు స్టాక్ మెమరీ కేటాయింపులను నమోదు చేయండి

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





సాధారణ ప్రయోజన రిజిస్టర్ల సేకరణ (R0-R7) ను రిజిస్టర్ బ్యాంకులు అని పిలుస్తారు, ఇవి ఒక బైట్ డేటాను అంగీకరిస్తాయి. బ్యాంక్ రిజిస్టర్ ఒక భాగం పొందుపరిచిన RAM మెమరీ మైక్రోకంట్రోలర్లు మరియు ప్రోగ్రామ్ సూచనలను నిల్వ చేయడానికి ఇది ఉపయోగించబడుతుంది. ప్రతి మైక్రోకంట్రోలర్‌లో వివిధ మెమరీ బ్యాంకులు ఉంటాయి మరియు ప్రతి బ్యాంక్ రిజిస్టర్‌లో నిల్వ స్థానాన్ని గుర్తించడానికి ప్రత్యేకమైన చిరునామా ఉంటుంది.

8051 లో బ్యాంకులను నమోదు చేయండి

8051 లో బ్యాంకులను నమోదు చేయండి

8051 లో బ్యాంకులను నమోదు చేయండి



8051 మైక్రోకంట్రోలర్ పిఎస్‌డబ్ల్యు (ప్రోగ్రామ్ స్టేటస్ వర్డ్) రిజిస్టర్ ద్వారా ఎంపిక చేయబడిన బ్యాంక్ 0, బ్యాంక్ 1, బ్యాంక్ 2, బ్యాంక్ 3 వంటి నాలుగు రిజిస్టర్ బ్యాంకులు ఉంటాయి. ఈ రిజిస్టర్ బ్యాంకులు 8051 మైక్రోకంట్రోలర్ యొక్క అంతర్గత RAM మెమరీలో ఉన్నాయి మరియు మైక్రోకంట్రోలర్ ప్రోగ్రామ్ చేయబడినప్పుడు డేటాను ప్రాసెస్ చేయడానికి ఉపయోగిస్తారు.


రిజిస్టర్ బ్యాంకుల మార్పిడి



అప్రమేయంగా, 8051 మైక్రోకంట్రోలర్ రిజిస్టర్ బ్యాంక్ 0 తో శక్తినిస్తుంది మరియు ప్రోగ్రామ్ స్టేటస్ వర్డ్ (పిఎస్‌డబ్ల్యు) ను ఉపయోగించడం ద్వారా, మేము ఇతర బ్యాంకులకు మారవచ్చు. PSW యొక్క రెండు బిట్స్ రిజిస్టర్ బ్యాంకుల మధ్య మారడానికి ఉపయోగిస్తారు. ఈ రెండు బిట్లను SETB మరియు CLR బిట్-అడ్రస్ చేయగల సూచనల ద్వారా యాక్సెస్ చేస్తారు.

PSW యొక్క RS1 మరియు RS0 కలయికల ఆధారంగా, రిజిస్టర్ బ్యాంక్ తదనుగుణంగా మార్చబడుతుంది, అనగా, RS1 మరియు RS0 0 అయితే, బ్యాంక్ 0 ఎంపిక చేయబడుతుంది. అదేవిధంగా, RS1 మరియు RS0 విలువలకు అనుగుణంగా బ్యాంక్ 1, 2 & 3 ఎంపిక చేయబడతాయి.

8051 మైక్రోకంట్రోలర్‌లో స్టాక్ మెమరీ కేటాయింపు

స్టాక్ అనేది వేరియబుల్స్ యొక్క అన్ని పారామితులను తాత్కాలికంగా ఉంచడానికి కేటాయించిన రాండమ్ యాక్సెస్ మెమరీ (RAM) యొక్క ప్రాంతం. ఒక ఫంక్షన్ పిలువబడే క్రమాన్ని గుర్తు చేయడానికి స్టాక్ కూడా బాధ్యత వహిస్తుంది, తద్వారా దానిని సరిగ్గా తిరిగి ఇవ్వవచ్చు. ఫంక్షన్ పిలిచినప్పుడల్లా, దానితో అనుబంధించబడిన పారామితులు మరియు స్థానిక వేరియబుల్స్ స్టాక్ (పుష్) కు జోడించబడతాయి. ఫంక్షన్ తిరిగి వచ్చినప్పుడు, పారామితులు మరియు వేరియబుల్స్ స్టాక్ నుండి తొలగించబడతాయి (“POP”). ప్రోగ్రామ్ నడుస్తున్నప్పుడు ప్రోగ్రామ్ యొక్క స్టాక్ పరిమాణం నిరంతరం మారుతుంది.


స్టాక్‌ను యాక్సెస్ చేయడానికి ఉపయోగించే రిజిస్టర్‌ను స్టాక్ పాయింటర్ రిజిస్టర్ అంటారు. స్టాక్ పాయింటర్ అనేది స్టాక్ వద్ద సూచించడానికి ఉపయోగించే ఒక చిన్న రిజిస్టర్. మేము ఏదో స్టాక్ మెమరీలోకి నెట్టివేసినప్పుడు, స్టాక్ పాయింటర్ పెరుగుతుంది.

8051 మైక్రోకంట్రోలర్‌లో స్టాక్ మెమరీ కేటాయింపు

8051 మైక్రోకంట్రోలర్‌లో స్టాక్ మెమరీ కేటాయింపు

ఉదాహరణ

8051 మైక్రోకంట్రోలర్ శక్తిని పెంచినప్పుడు, స్టాక్ పాయింటర్ విలువ 07, అప్రమేయంగా, పై చిత్రంలో చూపిన విధంగా. మేము ‘పుష్’ ఆపరేషన్ చేస్తే, స్టాక్ పాయింటర్ చిరునామా పెంచబడుతుంది మరియు మరొక రిజిస్టర్‌కు మార్చబడుతుంది. ఈ సమస్యను నివారించడానికి, ప్రోగ్రామ్‌ను ప్రారంభించే ముందు, మేము స్టాక్ పాయింటర్‌కు వేరే చిరునామా స్థానాన్ని కేటాయించాలి.

పుష్ ఆపరేషన్

ఏదైనా రిజిస్టర్ నుండి విలువలను తీసుకోవటానికి మరియు స్టాక్ పాయింటర్ యొక్క ప్రారంభ చిరునామాలో నిల్వ చేయడానికి ‘పుష్’ ఉపయోగించబడుతుంది, అనగా, ‘పుష్’ ఆపరేషన్ ఉపయోగించి 00 గం. మరియు, తదుపరి ‘పుష్’ కోసం, ఇది +1 ని పెంచుతుంది మరియు స్టాక్ పాయింటర్ యొక్క తదుపరి చిరునామాలో విలువను నిల్వ చేస్తుంది, అనగా 01 గం.

స్టాక్ యొక్క పుష్ ఆపరేషన్

స్టాక్ యొక్క పుష్ ఆపరేషన్

పుష్ ఆపరేషన్ అంటే (ఫస్ట్ ఇన్ ఫస్ట్ అవుట్)

ఉదాహరణ: పుష్ ఆపరేషన్ కోసం అసెంబ్లీ భాషలో WAP

0000 క
MOV 08 గం, # 21 క
MOV 09 క, # 56 క
పుష్ 00 గం
పుష్ 01 గం
END

POP ఆపరేషన్

విలువలను స్టాక్ పాయింటర్ యొక్క గరిష్ట చిరునామా నుండి ఇతర రిజిస్టర్ చిరునామాకు ఉంచడానికి ఇది ఉపయోగించబడుతుంది. మేము ఈ ‘POP’ ని మళ్ళీ ఉపయోగిస్తే, అది 1 తగ్గుతుంది, మరియు ఏదైనా రిజిస్టర్‌లో నిల్వ చేసిన విలువ ‘POP’ గా ఇవ్వబడుతుంది.

స్టాక్‌లో POP ఆపరేషన్

స్టాక్‌లో POP ఆపరేషన్

POP ఆపరేషన్ అంటే ‘లాస్ట్ ఇన్ ఫస్ట్ అవుట్’.

000 హెచ్
MOV 00H, # 12H
MOV 01H, # 32H
POP 1FH
POP 0EH
END

8051 మైక్రోకంట్రోలర్ యొక్క రిజిస్టర్లు

అదనంగా లేదా వ్యవకలనం చేసినా మేము ఏదైనా ఆపరేషన్ చేస్తే, అప్పుడు ఈ ఆపరేషన్లు నేరుగా మెమరీలో చేయలేవు మరియు అందువల్ల, రిజిస్టర్లను ఉపయోగించడం ద్వారా నిర్వహిస్తారు. వివిధ రకాలు ఉన్నాయి 8051 మైక్రోకంట్రోలర్‌లో నమోదు చేస్తుంది .

ఈ రిజిస్టర్లు వాటి కార్యకలాపాల ఆధారంగా రెండు రకాలుగా వర్గీకరించబడ్డాయి:

Pur జనరల్ పర్పస్ రిజిస్టర్లు

• ప్రత్యేక ఫంక్షన్ రిజిస్టర్లు

జనరల్ పర్పస్ రిజిస్టర్లు

ఈ ఆర్టికల్‌లో మేము ఇంతకుముందు చర్చించినట్లుగా, ప్రతి బ్యాంకులో 8 అడ్రస్ చేయదగిన 8-బిట్ రిజిస్టర్‌లు ఉన్న నాలుగు వేర్వేరు బ్యాంక్ రిజిస్టర్‌లు ఉన్నాయి మరియు ఒకేసారి ఒక బ్యాంక్ రిజిస్టర్‌ను మాత్రమే యాక్సెస్ చేయవచ్చు. కానీ, ఫ్లాగ్ రిజిస్టర్‌లో బ్యాంక్ రిజిస్టర్ సంఖ్యను మార్చడం ద్వారా, మేము ఇతర బ్యాంక్ రిజిస్టర్‌లను యాక్సెస్ చేయవచ్చు, వీటిని ఈ కాగితంపై ముందే చర్చించాము 8051 లో అంతరాయ భావన .

ప్రత్యేక ఫంక్షన్ రిజిస్టర్లు

అక్యుమ్యులేటర్, రిజిస్టర్ బి, డేటా పాయింటర్, పిసిఒఎన్, పిఎస్‌డబ్ల్యు, మొదలైన వాటితో సహా ప్రత్యేక ఫంక్షన్ రిజిస్టర్‌లు 80 హెచ్ నుండి ఎఫ్‌ఎఫ్‌హెచ్ చిరునామాతో తయారీ సమయంలో ముందుగా నిర్ణయించిన ప్రయోజనం కోసం రూపొందించబడ్డాయి మరియు ఈ ప్రాంతం డేటా లేదా ప్రోగ్రామ్ నిల్వ ప్రయోజనం కోసం ఉపయోగించబడదు. ఈ రిజిస్టర్లను బిట్ అడ్రస్ మరియు బైట్ అడ్రస్ రిజిస్టర్ల ద్వారా అమలు చేయవచ్చు.

ప్రత్యేక ఫంక్షన్ రిజిస్టర్ల రకాలు

8051 నాలుగు ఇన్పుట్ / అవుట్పుట్ సంబంధిత స్పెషల్ ఫంక్షన్ రిజిస్టర్లను కలిగి ఉంటుంది, దీనిలో పూర్తిగా 32 I / O లైన్లు ఉన్నాయి. ప్రత్యేక ఫంక్షన్ రిజిస్టర్లు I / O పంక్తుల నుండి చదివిన విలువలను మరియు 8051 యొక్క ఆపరేషన్‌ను నియంత్రించే ప్రత్యేక ఫంక్షన్ రిజిస్టర్‌లను నియంత్రిస్తాయి. సహాయక ప్రత్యేక ఫంక్షన్ రిజిస్టర్‌లు 8051 కు నేరుగా కనెక్ట్ కాలేదు - కాని, వాస్తవానికి, ఈ రిజిస్టర్‌లు లేకుండా - 8051 సరిగా పనిచేయదు. 8051 యొక్క రిజిస్టర్ సెట్ క్రింద వివరించబడింది.

8051 మైక్రోకంట్రోలర్ యొక్క రిజిస్టర్ సెట్

రిజిస్టర్‌లో స్థిర స్థిరమైన విలువను సెట్ చేయడాన్ని రిజిస్టర్ సెట్ అంటారు. ఇన్స్ట్రక్షన్ సెట్ ఉపయోగించి రిజిస్టర్లలో విలువలు సెట్ చేయబడతాయి. 8051 ‘హార్వర్డ్’ నిర్మాణంతో CISC సూచనలను అనుసరిస్తుంది. ది CISC అంటే సంక్లిష్ట ఇన్స్ట్రక్షన్ సెట్ కంప్యూటింగ్ . 8051 మైక్రోకంట్రోలర్‌లోని వివిధ రకాల సూచనలు:

  1. అంకగణిత సూచనలు
  2. షరతులతో కూడిన సూచనలు
  3. కాల్ మరియు జంప్ సూచనలు
  4. లూప్ సూచనలు
  5. తార్కిక సూచనలు
  6. బులియన్ సూచనలు

1. అంకగణిత సూచనలు

అంకగణిత సూచనలు అనేక ప్రాథమిక కార్యకలాపాలను నిర్వహిస్తాయి:

  • అదనంగా
  • వ్యవకలనం
  • గుణకారం
  • విభజన
8051 మైక్రోకంట్రోలర్‌లో అంకగణిత సూచనలు

8051 మైక్రోకంట్రోలర్‌లో అంకగణిత సూచనలు

ఉదాహరణలు:

a. అదనంగా:

ఆర్గ్ 0000 క
MOV R0, # 03H // విలువను తరలించండి 3 రిజిస్టర్ R0 //
MOV A, # 05H // సంచిత A లో విలువ 5 ని తరలించండి
0 తో A, 00H // అక్యుమ్యులేటర్ విలువ ‘5’ ను జోడించి, సంచితంలో నిల్వ చేయండి //
END

బి. వ్యవకలనం:

ఆర్గ్ 0000 క
MOV R0, # 03H // విలువను తరలించండి 3 రిజిస్టర్ R0 //
MOV A, # 05H // సంచిత A లో విలువ 5 ని తరలించండి
SUBB A, 03H // A = 5-3 తుది విలువ 2 సంచిత A // లో నిల్వ చేయబడుతుంది
END

C. గుణకారం:

ఆర్గ్ 0000 క
MOV R0, # 03H // విలువను తరలించండి 3 రిజిస్టర్ R0 //
MOV A, # 05H // సంచిత A లో విలువ 5 ని తరలించండి
MUL A, 03H // A = 5 * 3 తుది విలువ 15, సంచిత A // లో నిల్వ చేయబడింది
END

డి. డివిజన్:

ఆర్గ్ 0000 క
MOV R0, # 03H // విలువను తరలించండి 3 రిజిస్టర్ R0 //
MOV A, # 15H // సంచిత A లో విలువ 5 ని తరలించండి
DIV A, 03H // A = 15/3 తుది విలువ 5 సంచిత A లో నిల్వ చేయబడుతుంది
END

2. షరతులతో కూడిన సూచనలు

సింగిల్-బిట్ స్థితిని తనిఖీ చేయడం ద్వారా CPU షరతు ఆధారంగా సూచనలను అమలు చేయవచ్చు లేదా బైట్ స్థితిని షరతులతో కూడిన సూచనలు అంటారు:

బిట్-అడ్రస్ చేయదగిన రిజిస్టర్‌లో సింగిల్-బిట్ స్థితిని తనిఖీ చేయడానికి

JB- క్రింద ఉంటే జంప్

JNB- పైన కాకపోతే జంప్

క్యారీ బిట్ స్థితిని తనిఖీ చేయడానికి

జెసి- క్యారీ జెండా ఉంటే జంప్

క్యారీ లేకపోతే జెఎన్‌సి-జంప్

సంచిత స్థితిని 0 లేదా 1 గా తనిఖీ చేయడానికి

JZ- సున్నా జెండా ఉంటే జంప్

JNZ- సున్నా కాకపోతే జంప్

ఇదంతా 8051 మైక్రోకంట్రోలర్‌లో సెట్ చేయబడిన రిజిస్టర్ మరియు వాటి స్టాక్ మెమరీ కేటాయింపు గురించి. ప్రతి ఆర్టికల్‌తో పాటు కొన్ని ఆసక్తికరమైన ప్రోగ్రామ్‌లతో పాటు ఈ ఆర్టికల్ మీకు టాపిక్ గురించి కొన్ని ముఖ్యమైన అంతర్దృష్టులను ఇచ్చిందని మేము ఆశిస్తున్నాము. ఏదైనా సహాయం కోసం మీరు మాకు వ్రాయవచ్చు మైక్రోకంట్రోలర్ కోడింగ్ మరియు గురించి కూడా మైక్రోకంట్రోలర్‌పై తాజా ప్రాజెక్టులు .