8051 మైక్రోకంట్రోలర్ మరియు దాని అనువర్తనాలలో టైమర్లు మరియు కౌంటర్లు

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





చాలా మైక్రోకంట్రోలర్ అనువర్తనాలు పల్స్ రైళ్ల ఫ్రీక్వెన్సీ మరియు కంప్యూటర్ చర్యల మధ్య ఖచ్చితమైన అంతర్గత సమయ ఆలస్యం వంటి బాహ్య సంఘటనల లెక్కింపు అవసరం. ఈ రెండు పనులను సాఫ్ట్‌వేర్ టెక్నిక్‌ల ద్వారా అమలు చేయవచ్చు, కాని లెక్కింపు కోసం సాఫ్ట్‌వేర్ ఉచ్చులు, మరియు సమయం ఖచ్చితమైన ఫలితాన్ని ఇవ్వవు, బదులుగా మరింత ముఖ్యమైన విధులు జరగవు. ఈ సమస్యలను నివారించడానికి, మైక్రో-కంట్రోలర్లలోని టైమర్లు మరియు కౌంటర్లు సాధారణ మరియు తక్కువ-ధర అనువర్తనాలకు మంచి ఎంపికలు. ఈ టైమర్లు మరియు కౌంటర్లు ఇలా ఉపయోగించబడతాయి 8051 మైక్రోకంట్రోలర్‌లో అంతరాయాలు .

రెండు 16-బిట్ టైమర్లు మరియు కౌంటర్లు ఉన్నాయి 8051 మైక్రోకంట్రోలర్ : టైమర్ 0 మరియు టైమర్ 1. రెండు టైమర్‌లు 16-బిట్ రిజిస్టర్‌ను కలిగి ఉంటాయి, దీనిలో తక్కువ బైట్ టిఎల్‌లో నిల్వ చేయబడుతుంది మరియు అధిక బైట్ టిహెచ్‌లో నిల్వ చేయబడుతుంది. టైమర్‌ను కౌంటర్‌గా మరియు టైమింగ్ ఆపరేషన్ కోసం కౌంటర్లకు క్లాక్ పప్పుల మూలం మీద ఆధారపడి ఉంటుంది.




టైమర్లు మరియు కౌంటర్లు

టైమర్లు మరియు కౌంటర్లు

8051 మైక్రోకంట్రోలర్‌లోని కౌంటర్లు మరియు టైమర్‌లు రెండు ప్రత్యేక ఫంక్షన్ రిజిస్టర్‌లను కలిగి ఉన్నాయి: TMOD (టైమర్ మోడ్ రిజిస్టర్) మరియు TCON (టైమర్ కంట్రోల్ రిజిస్టర్), వీటిని సక్రియం చేయడానికి మరియు కాన్ఫిగర్ చేయడానికి ఉపయోగిస్తారు టైమర్లు మరియు కౌంటర్లు .



టైమర్ మోడ్ కంట్రోల్ (TMOD): TMOD అనేది టైమర్ లేదా కౌంటర్ మరియు టైమర్ల మోడ్‌ను ఎంచుకోవడానికి ఉపయోగించే 8-బిట్ రిజిస్టర్. టైమర్ 0 లేదా కౌంటర్ 0 యొక్క నియంత్రణ ఆపరేషన్ కోసం దిగువ 4-బిట్స్ ఉపయోగించబడతాయి మరియు మిగిలిన 4-బిట్స్ టైమర్ 1 లేదా కౌంటర్ 1 యొక్క నియంత్రణ ఆపరేషన్ కోసం ఉపయోగించబడతాయి. ఈ రిజిస్టర్ SFR రిజిస్టర్‌లో ఉంది, SFR రిజిస్టర్ చిరునామా 89 వ.

టైమర్ మోడ్ కంట్రోల్ (TMOD)

టైమర్ మోడ్ కంట్రోల్ (TMOD)

గేట్: గేట్ బిట్ ‘0’ కు సెట్ చేయబడితే, మనం “సాఫ్ట్‌వేర్” టైమర్‌ను అదే విధంగా ప్రారంభించవచ్చు మరియు ఆపవచ్చు. గేట్ ‘1’ కు సెట్ చేయబడితే, అప్పుడు మేము హార్డ్‌వేర్ టైమర్‌ను చేయవచ్చు.

సి / టి: సి / టి బిట్ ‘1’ అయితే, అది కౌంటర్ మోడ్ వలె పనిచేస్తుంది మరియు అదేవిధంగా సి + ను సెట్ చేసినప్పుడు
= / టి బిట్ ‘0’ ఇది టైమర్ మోడ్ వలె పనిచేస్తుంది.


మోడ్ బిట్స్ ఎంచుకోండి: M1 మరియు M0 మోడ్ సెలెక్ట్ బిట్స్, ఇవి టైమర్ ఆపరేషన్లను ఎంచుకోవడానికి ఉపయోగిస్తారు. టైమర్‌లను ఆపరేట్ చేయడానికి నాలుగు మోడ్‌లు ఉన్నాయి.

మోడ్ 0: ఇది 13-బిట్ మోడ్, అంటే టైమర్ ఆపరేషన్ “8192” పప్పులతో పూర్తి అవుతుంది.

మోడ్ 1: ఇది a16- బిట్ మోడ్, అంటే టైమర్ ఆపరేషన్ “65535” గరిష్ట గడియార పప్పులతో పూర్తి అవుతుంది.

మోడ్ 2: ఈ మోడ్ 8-బిట్ ఆటో రీలోడ్ మోడ్, అంటే టైమర్ ఆపరేషన్ “256” క్లాక్ పప్పులతో మాత్రమే పూర్తవుతుంది.

మోడ్ 3: ఈ మోడ్ స్ప్లిట్-టైమర్ మోడ్, అంటే T0 లో లోడింగ్ విలువలు మరియు స్వయంచాలకంగా T1 ను ప్రారంభిస్తాయి.

మోడ్ ఎంపిక బిట్స్

మోడ్ ఎంపిక బిట్స్

మోడ్ ఎంపిక 8051 లో టైమర్లు మరియు కౌంటర్ విలువలు

టైమర్లు మరియు కౌంటర్ల మోడ్ ఎంపిక విలువలు

టైమర్లు మరియు కౌంటర్ల మోడ్ ఎంపిక విలువలు

టైమర్ కంట్రోల్ రిజిస్టర్ (TCON): మైక్రోకంట్రోలర్లలో కౌంటర్ మరియు టైమర్ల కార్యకలాపాలను నియంత్రించడానికి ఉపయోగించే మరొక రిజిస్టర్ TCON. ఇది 8-బిట్ రిజిస్టర్, దీనిలో టైమర్లు మరియు కౌంటర్లకు నాలుగు ఎగువ బిట్స్ బాధ్యత వహిస్తాయి మరియు అంతరాయాలకు తక్కువ బిట్స్ బాధ్యత వహిస్తాయి.

టైమర్ కంట్రోల్ రిజిస్టర్ (TCON)

టైమర్ కంట్రోల్ రిజిస్టర్ (TCON)

TF1: TF1 అంటే ‘టైమర్ 1’ ఫ్లాగ్ బిట్. టైమర్ 1 లో సమయం-ఆలస్యాన్ని లెక్కించినప్పుడల్లా, TH1 మరియు TL1 స్వయంచాలకంగా “FFFF” అయిన గరిష్ట విలువకు చేరుకుంటాయి.

ఉదా: ఉండగా (TF1 == 1)

TF1 = 1 అయినప్పుడు, ఫ్లాగ్ బిట్‌ను క్లియర్ చేసి టైమర్‌ను ఆపండి.

టిఆర్ 1: TR1 అంటే టైమర్ 1 స్టార్ట్ లేదా స్టాప్ బిట్. ఈ టైమర్ ప్రారంభం సాఫ్ట్‌వేర్ సూచనల ద్వారా లేదా హార్డ్‌వేర్ పద్ధతి ద్వారా కావచ్చు.

ఉదా: గేట్ = 0 (సాఫ్ట్‌వేర్ సూచనల ద్వారా టైమర్ 1 ను ప్రారంభించండి)
TR1 = 1 (ప్రారంభ టైమర్)

TF0: TF0 అంటే ‘టైమర్ 0’ ఫ్లాగ్-బిట్. టైమర్ 1 లో సమయం ఆలస్యాన్ని లెక్కించినప్పుడల్లా, TH0 మరియు TL0 స్వయంచాలకంగా ‘FFFF’ గరిష్ట విలువకు చేరుకుంటాయి.

ఉదా: ఉండగా (TF0 == 1)
TF0 = 1 అయినప్పుడు, ఫ్లాగ్ బిట్‌ను క్లియర్ చేసి టైమర్‌ను ఆపండి.

TR0: TR0 అంటే ‘టైమర్ 0’ స్టార్ట్ లేదా స్టాప్ బిట్ ఈ టైమర్ ప్రారంభం సాఫ్ట్‌వేర్ ఇన్స్ట్రక్షన్ ద్వారా లేదా హార్డ్‌వేర్ పద్ధతి ద్వారా కావచ్చు.

ఉదా: గేట్ = 0 (సాఫ్ట్‌వేర్ సూచనల ద్వారా టైమర్ 1 ను ప్రారంభించండి)
TR0 = 1 (ప్రారంభ టైమర్)

8051 మైక్రోకంట్రోలర్ కోసం సమయం ఆలస్యం లెక్కలు

8051 మైక్రోకంట్రోలర్ 11.0592 MHz ఫ్రీక్వెన్సీతో పనిచేస్తుంది.

ఫ్రీక్వెన్సీ 11.0592MHz = 12 పుల్స్

1 గడియారం పల్స్ = 11.0592MHz / 12

F = 0.921 MHz

సమయం ఆలస్యం = 1 / F.

T = 1 / 0.92MHz

T = 1.080506 మాకు (‘1’ చక్రం కోసం)

1000us = 1MS

1000ms = 1sec

ఆలస్యం కార్యక్రమాన్ని లెక్కించే విధానం

1. మొదట మనం ‘టైమర్ 0’ మరియు ‘టైమర్ 1’లో వేర్వేరు మోడ్‌ల కోసం TMOD రిజిస్టర్ విలువను లోడ్ చేయాలి. ఉదాహరణకు, మేము మోడ్ 1 లో టైమర్ 1 ను ఆపరేట్ చేయాలనుకుంటే అది “TMOD = 0x10” గా కాన్ఫిగర్ చేయబడాలి.

2. మేము టైమర్‌ను మోడ్ 1 లో ఆపరేట్ చేసినప్పుడల్లా, టైమర్ గరిష్ట పప్పులను 65535 తీసుకుంటుంది. అప్పుడు లెక్కించిన సమయం-ఆలస్యం పప్పులను గరిష్ట పప్పుల నుండి తీసివేయాలి, తరువాత హెక్సాడెసిమల్ విలువగా మార్చాలి. ఈ విలువను టైమర్ 1 హై బిట్ మరియు తక్కువ బిట్స్‌లో లోడ్ చేయాలి. ఈ టైమర్ ఆపరేషన్ ఉపయోగించి ప్రోగ్రామ్ చేయబడింది మైక్రోకంట్రోలర్‌లో సి పొందుపరచబడింది .

ఉదాహరణ: 500us సమయం ఆలస్యం

500us / 1.080806us

461 పప్పులు

పి = 65535-461

పి = 65074

65074 హెక్సా దశాంశ = FE32 చేత ప్రసారం చేయబడుతుంది

TH1 = 0xFE

TL1 = 0x32

3. టైమర్ 1 “TR1 = 1” ను ప్రారంభించండి

4. ఫ్లాగ్ బిట్‌ను పర్యవేక్షించండి “అయితే (TF1 == 1)”

5. ఫ్లాగ్ బిట్ “TF1 = 0” ని క్లియర్ చేయండి

6. “TR1 = 0” టైమర్ క్లియర్ చేయండి

ఉదాహరణ కార్యక్రమాలు:

కార్యక్రమం- 1

కార్యక్రమం- 1

కార్యక్రమం- 2

కార్యక్రమం- 2

కార్యక్రమం- 3

కార్యక్రమం- 3

8051 లో కౌంటర్లు

మేము C / T బిట్‌ను ఎక్కువగా ఉంచడం ద్వారా కౌంటర్‌ను ఉపయోగించవచ్చు, అనగా, TMOD రిజిస్టర్‌లో లాజిక్ ‘1’. మంచి అవగాహన కోసం, టైమర్ 1 ను కౌంటర్గా ఉపయోగించే ఒక ప్రోగ్రామ్‌ను మేము ఇచ్చాము. ఇక్కడ LED లు 8051 పోర్ట్ 2 కి అనుసంధానించబడి ఉంటాయి మరియు టైమర్ 1 పిన్ P3.5 కు మారతాయి మరియు అందువల్ల, స్విచ్ నొక్కితే, విలువ లెక్కించబడుతుంది. లేకపోతే, ఇన్పుట్ ఈ కౌంటింగ్ పిన్‌కు బాహ్యంగా కనెక్ట్ చేయబడిన సెన్సార్ ఈ లెక్కింపు ఆపరేషన్ చేస్తుంది.

కౌంటర్ ప్రోగ్రామ్

కౌంటర్ ప్రోగ్రామ్

8051 లో టైమర్లు మరియు కౌంటర్ల అనువర్తనాలు

8051 తో డిజిటల్ కౌంటర్

8051 తో ఉన్న డిజిటల్ కౌంటర్ పైన చర్చించిన విధంగా మైక్రోకంట్రోలర్‌ను ప్రోగ్రామింగ్ చేయడం ద్వారా మరియు దానికి సెన్సార్ సిస్టమ్‌ను అటాచ్ చేయడం ద్వారా సాధించవచ్చు. ఈ ఆబ్జెక్ట్ కౌంటర్ IR సెన్సార్‌ను ఉపయోగిస్తుంది, అది దాని దగ్గర ఉన్న అడ్డంకిని గుర్తించి, దాన్ని కూడా ప్రారంభిస్తుంది మైక్రోకంట్రోలర్ యొక్క పిన్ 06. ఒక వస్తువు సెన్సార్ల గుండా వెళుతున్నప్పుడు, మైక్రోకంట్రోలర్ IR సెన్సార్ల నుండి అంతరాయ సంకేతాన్ని పొందుతుంది మరియు 7-సెగ్మెంట్ డిస్ప్లేలో ప్రదర్శించబడే గణనను పెంచుతుంది.

8051 తో డిజిటల్ కౌంటర్

8051 తో డిజిటల్ కౌంటర్

సమయం ఆలస్యం సర్క్యూట్ 8051 మైక్రోకంట్రోలర్ ఉపయోగించి

ఎల్‌ఈడీలను సమర్థవంతంగా మార్చడానికి టైమర్ ఆపరేషన్ ఎలా అమలు చేయవచ్చో ఈ క్రింది బొమ్మ చూపిస్తుంది. LED ల సమితి కోసం సమయం ఆలస్యం ఆపరేషన్ పైన చర్చించిన పద్ధతిలో మైక్రోకంట్రోలర్‌లో ప్రోగ్రామ్ చేయబడుతుంది. ఇక్కడ, LED ల సమితి పోర్ట్ 2 కి సాధారణ సరఫరా వ్యవస్థతో అనుసంధానించబడి ఉంది. సమయం ఆలస్యం ఆధారంగా ఈ సర్క్యూట్ ఆన్ చేసినప్పుడు మైక్రోకంట్రోలర్‌లో ప్రోగ్రామ్ సముచితంగా, ఈ LED లు ఆన్ చేయబడతాయి.

సమయం ఆలస్యం సర్క్యూట్

సమయం ఆలస్యం సర్క్యూట్

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

ఫోటో క్రెడిట్స్: