8051 माइक्रोकंट्रोलर और इसके अनुप्रयोगों में टाइमर और काउंटर

समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें





बहुत से माइक्रोकंट्रोलर अनुप्रयोग बाहरी घटनाओं की गणना करने की आवश्यकता होती है जैसे कि पल्स ट्रेनों की आवृत्ति और कंप्यूटर कार्यों के बीच सटीक आंतरिक समय की देरी। इन दोनों कार्यों को सॉफ्टवेयर तकनीकों द्वारा लागू किया जा सकता है, लेकिन गिनती के लिए सॉफ्टवेयर लूप, और समय सटीक परिणाम नहीं देगा, बल्कि अधिक महत्वपूर्ण कार्य नहीं किए जाते हैं। इन समस्याओं से बचने के लिए, माइक्रो-कंट्रोलर में टाइमर और काउंटर सरल और कम लागत वाले अनुप्रयोगों के लिए बेहतर विकल्प हैं। इन टाइमर और काउंटरों का उपयोग किया जाता है 8051 माइक्रोकंट्रोलर में रुकावट

इसमें दो 16-बिट टाइमर और काउंटर हैं 8051 माइक्रोकंट्रोलर : टाइमर 0 और टाइमर 1. दोनों टाइमर में 16-बिट रजिस्टर होता है जिसमें लोअर बाइट टीएल में स्टोर होती है और उच्च बाइट टीएच में स्टोर होती है। टाइमर का उपयोग काउंटर के साथ-साथ समय संचालन के लिए भी किया जा सकता है जो काउंटर दालों के लिए घड़ी के दालों के स्रोत पर निर्भर करता है।




टाइमर और काउंटर

टाइमर और काउंटर

8051 माइक्रोकंट्रोलर में काउंटरों और टाइमर में दो विशेष फ़ंक्शन रजिस्टर होते हैं: TMOD (टाइमर मोड रजिस्टर) और TCON (टाइमर कंट्रोल रजिस्टर), जो सक्रिय और कॉन्फ़िगर करने के लिए उपयोग किए जाते हैं टाइमर और काउंटर



टाइमर मोड नियंत्रण (TMOD): TMOD टाइमर या काउंटर और टाइमर के मोड का चयन करने के लिए उपयोग किया जाने वाला एक 8-बिट रजिस्टर है। कम 4-बिट्स का उपयोग टाइमर 0 या काउंटर 0 के नियंत्रण संचालन के लिए किया जाता है, और शेष 4-बिट्स का उपयोग टाइमर 1 या काउंटर 1 के नियंत्रण संचालन के लिए किया जाता है। यह रजिस्टर एसएफआर रजिस्टर में मौजूद है, एसएफआर रजिस्टर के लिए पता 89 वां है।

टाइमर मोड कंट्रोल (TMOD)

टाइमर मोड कंट्रोल (TMOD)

द्वार: यदि गेट बिट ’0 'पर सेट है, तो हम उसी तरह' सॉफ़्टवेयर 'टाइमर को शुरू और बंद कर सकते हैं। यदि गेट ’1 'पर सेट है, तो हम हार्डवेयर टाइमर कर सकते हैं।

सी / टी: यदि C / T बिट ’1’ है, तो यह एक काउंटर मोड के रूप में कार्य कर रहा है, और इसी तरह C + सेट होने पर
= / T बिट ‘0 'है यह एक टाइमर मोड के रूप में कार्य कर रहा है।


मोड चयन बिट्स: M1 और M0 मोड सिलेक्ट बिट्स हैं, जिनका उपयोग टाइमर ऑपरेशन को चुनने के लिए किया जाता है। टाइमर संचालित करने के लिए चार मोड हैं।

मोड 0: यह एक 13-बिट मोड है जिसका मतलब है कि टाइमर ऑपरेशन '8192' दालों के साथ पूरा होता है।

मोड 1: यह एक 16-बिट मोड है, जिसका अर्थ है कि टाइमर ऑपरेशन अधिकतम घड़ी दालों के साथ पूरा होता है जो '65535' है।

मोड 2: यह मोड एक 8-बिट ऑटो रीलोड मोड है, जिसका मतलब है कि टाइमर ऑपरेशन केवल '256' क्लॉक दाल के साथ पूरा होता है।

मोड 3: यह मोड एक स्प्लिट-टाइमर मोड है, जिसका अर्थ है T0 में लोडिंग मान और स्वचालित रूप से T1 शुरू होता है।

मोड चयन बिट्स

मोड चयन बिट्स

8051 में टाइमर और काउंटर के मोड चयन मूल्य

टाइमर और काउंटर के मोड चयन मूल्य

टाइमर और काउंटर के मोड चयन मूल्य

टाइमर कंट्रोल रजिस्टर (TCON): TCON एक और रजिस्टर है जिसका उपयोग माइक्रोकंट्रोलरों में काउंटर और टाइमर के संचालन को नियंत्रित करने के लिए किया जाता है। यह एक 8-बिट रजिस्टर है जिसमें चार ऊपरी बिट्स टाइमर और काउंटर के लिए जिम्मेदार हैं और निचले बिट्स इंटरप्ट के लिए जिम्मेदार हैं।

टाइमर नियंत्रण रजिस्टर (TCON)

टाइमर नियंत्रण रजिस्टर (TCON)

TF1: TF1 'टाइमर' फ्लैग बिट के लिए है। जब भी टाइमर 1 में समय-देरी की गणना की जाती है, तो TH1 और TL1 अधिकतम मूल्य पर पहुंचता है जो 'FFFF' स्वचालित रूप से होता है।

पूर्व: जबकि (TF1 == 1)

जब भी TF1 = 1 हो, तो फ्लैग बिट को साफ़ करें और टाइमर बंद करें।

TR1: TR1 टाइमर 1 स्टार्ट या स्टॉप बिट के लिए है। यह टाइमर सॉफ्टवेयर इंस्ट्रक्शन के माध्यम से या हार्डवेयर विधि से हो सकता है।

EX: गेट = 0 (सॉफ्टवेयर इंस्ट्रक्शन के माध्यम से टाइमर 1 शुरू करें)
TR1 = 1 (टाइमर प्रारंभ करें)

TF0: TF0 का अर्थ 'टाइमर 0' फ्लैग-बिट है। जब भी टाइमर 1 में देरी की गणना की जाती है, तो TH0 और TL0 अधिकतम मूल्य तक पहुंचता है जो कि 'FFFF' है, स्वचालित रूप से।

पूर्व: जबकि (TF0 == 1)
जब भी TF0 = 1 हो, तो फ्लैग बिट को साफ़ करें और टाइमर बंद करें।

TR0: TR0 का मतलब 0 टाइमर0 ’के लिए है या बिट को रोकना इस टाइमर को शुरू करना सॉफ्टवेयर इंस्ट्रक्शन या हार्डवेयर विधि के माध्यम से हो सकता है।

EX: गेट = 0 (सॉफ्टवेयर इंस्ट्रक्शन के माध्यम से टाइमर 1 शुरू करें)
TR0 = 1 (टाइमर प्रारंभ करें)

8051 माइक्रोकंट्रोलर के लिए समय की देरी की गणना

8051 माइक्रोकंट्रोलर 11.0592 मेगाहर्ट्ज आवृत्ति के साथ काम करता है।

आवृत्ति 11.0592 मेगाहर्ट्ज = 12 गोलियां

1 घड़ी नाड़ी = 11.0592 मेगाहर्ट्ज / 12

एफ = 0.921 मेगाहर्ट्ज

समय देरी = 1 / एफ

टी = 1 / 0.92 मेगाहर्ट्ज

T = 1.080506 हमें (1.0 1 ’चक्र के लिए)

1000us = 1MS

1000 मी = 1 सेक

विलंब कार्यक्रम की गणना करने की प्रक्रिया

1. पहले हमें 0 Timer0 ’और have Timer1’in के लिए TMOD रजिस्टर मूल्य को अलग-अलग मोड में लोड करना होगा। उदाहरण के लिए, यदि हम मोड 1 में टाइमर 1 को संचालित करना चाहते हैं, तो इसे 'टीएमओडी = 0x10' के रूप में कॉन्फ़िगर किया जाना चाहिए।

2. जब भी हम मोड 1 में टाइमर को संचालित करते हैं, टाइमर 65535 की अधिकतम दालों को ले जाता है। तब गणना की गई समय-देरी दालों को अधिकतम दालों से घटाया जाना चाहिए, और बाद में हेक्साडेसिमल मान में परिवर्तित कर दिया जाना चाहिए। यह मान टाइमर 1 उच्च बिट और निचले बिट्स में लोड किया जाना है। इस टाइमर ऑपरेशन का उपयोग करके प्रोग्राम किया जाता है एक माइक्रोकंट्रोलर में एम्बेडेड सी

उदाहरण: 500us समय देरी

500us / 1.080806us

461pulses

पी = 65535-461

पी = 65074

65074 हेक्सा दशमलव = FE32 द्वारा संचित किया गया

TH1 = 0xFE

TL1 = 0x32

3. टाइमर 1 'TR1 = 1' शुरू करें

4. ध्वज को मॉनिटर करें जबकि '(TF1 == 1)'

5. झंडा बिट 'TF1 = 0' साफ़ करें

6. घड़ी टाइमर 'TR1 = 0'

उदाहरण कार्यक्रम:

कार्यक्रम- १

कार्यक्रम- १

कार्यक्रम- 2

कार्यक्रम- 2

कार्यक्रम- 3

कार्यक्रम- 3

8051 में काउंटर

हम एक काउंटर का उपयोग C / T को उच्च रखकर कर सकते हैं, अर्थात, TMOD रजिस्टर में तर्क '1'। बेहतर समझ के लिए, हमने एक प्रोग्राम दिया है जो काउंटर 1 को काउंटर के रूप में उपयोग करता है। यहाँ एल ई डी 8051 पोर्ट 2 से जुड़ा है, और टाइमर 1 पिन पी 3.5 पर स्विच करता है और इसलिए, यदि स्विच दबाया जाता है, तो मान को गिना जाएगा। अन्यथा, इस काउंटर पिन के लिए बाहरी रूप से जुड़ा सेंसर इनपुट के रूप में इस गिनती ऑपरेशन करता है।

काउंटर प्रोग्राम

काउंटर प्रोग्राम

8051 में टाइमर और काउंटर के अनुप्रयोग

8051 वाला डिजिटल काउंटर

8051 के साथ डिजिटल काउंटर को माइक्रोकंट्रोलर की प्रोग्रामिंग के द्वारा प्राप्त किया गया है जैसा कि ऊपर चर्चा की गई है और एक सेंसर सिस्टम को संलग्न करके। यह ऑब्जेक्ट काउंटर आईआर सेंसर का उपयोग करता है जो इसके निकट बाधा का पता लगाता है और सक्षम भी करता है माइक्रोकंट्रोलर का पिन 06. जब कोई वस्तु सेंसर से होकर गुजरती है, तो IR सेंसर से माइक्रोकंट्रोलर को एक रुकावट संकेत मिलता है और उस गणना को बढ़ाता है जिसे 7-सेगमेंट डिस्प्ले में प्रदर्शित किया जाता है।

8051 वाला डिजिटल काउंटर

8051 वाला डिजिटल काउंटर

8051 माइक्रोकंट्रोलर का उपयोग करके समय की देरी सर्किट

नीचे दिए गए आंकड़े से पता चलता है कि प्रभावी ढंग से एलईडी को स्विच करने के लिए टाइमर ऑपरेशन कैसे लागू किया जा सकता है। एल ई डी के सेट के लिए समय विलंब संचालन को ऊपर चर्चा किए गए तरीके से एक माइक्रोकंट्रोलर में प्रोग्राम किया गया है। यहां, एल ई डी का एक सेट एक सामान्य आपूर्ति प्रणाली के साथ पोर्ट 2 से जुड़ा हुआ है। जब यह सर्किट समय की देरी के आधार पर चालू होता है माइक्रोकंट्रोलर में कार्यक्रम उचित रूप से, इन एल ई डी पर स्विच किया जाता है।

समय की देरी सर्किट

समय की देरी सर्किट

यह सब 8051 माइक्रोकंट्रोलर टाइमर और बेसिक प्रोग्रामिंग और एप्लिकेशन सर्किट वाले काउंटरों के बारे में है। हमें उम्मीद है कि इस लेख की जानकारी ने आपको अवधारणा को बेहतर ढंग से समझने के लिए पर्याप्त डेटा दिया होगा। इसके अलावा, 8051 प्रोग्रामिंग और इसके सर्किट पर कोई भी तकनीकी संदेह, आप नीचे टिप्पणी करके हमसे संपर्क कर सकते हैं।

फ़ोटो क्रेडिट: