Atmel 8-bit AVR माइक्रोकन्ट्रोलर 2/4/8K बाइट इन-सिस्टम प्रोग्रामेबल फ्ल्यासको साथ
सुविधाहरू
- उच्च प्रदर्शन, कम पावर AVR® 8-बिट माइक्रोकन्ट्रोलर
- उन्नत RISC वास्तुकला
- १२० शक्तिशाली निर्देशनहरू - सबै भन्दा एकल घडी चक्र कार्यान्वयन
- X२ x General सामान्य उद्देश्य कार्य रेजिस्टरहरू
- पूर्ण स्थिर अपरेशन
- गैर-अस्थिर कार्यक्रम र डाटा मेमोरीहरू
- २ / / / K के बाइट्स इन-सिस्टम प्रोग्राम प्रोग्राम मेमोरी फ्ल्यासको
- सहनशीलता: 10,000 लेख्नुहोस्/मेटाउनुहोस् चक्रहरू
- १२128/२256/512१२ बाइट्स इन-सिस्टम प्रोग्राम EEPROM
- सहनशीलता: 100,000 लेख्नुहोस्/मेटाउनुहोस् चक्रहरू
- १२128/२256/512१२ बाइट्स आन्तरिक SRAM
- सेल्फ प्रोग्रामि Flash फ्ल्यास प्रोग्राम र EEPROM डाटा सुरक्षाको लागि प्रोग्रामिंग लक
परिधीय सुविधाहरू
- --बिट टाइमर / प्रिस्केलर र दुई PWM च्यानलहरूको काउन्टर
- 8-बिट उच्च गति टाइमर / अलग प्रेसकेलेर काउन्टर
- २ उच्च आवृत्ति PWM आउटपुटहरू अलग आउटपुटको साथ रेजिस्टरहरू तुलना गर्नुहोस्
- प्रोग्रामेबल डेड टाइम जेनरेटर
- युएसआई - सर्त कंडीशन डिटेक्टरको साथ युनिभर्सल सीरियल ईन्टरफेस
- 10-बिट ADC
Sing एकल समाप्त च्यानलहरू
२ भिन्न एडीसी च्यानल जोडी प्रोग्रामयोग्य लाभ (१x, २०x) को साथ
तापक्रम मापन
प्रोग्रामेबल वाचडग टाइमर अलग अन-चिप ओसिलेटरको साथ
अन-चिप एनालग कम्प्याटर
विशेष माइक्रोकन्ट्रोलर सुविधाहरू
डीबगवायर अन-चिप डिबग प्रणाली
एसपीआई पोर्ट मार्फत इन-सिस्टम प्रोग्राम गर्न योग्य
बाह्य र आन्तरिक अवरोध स्रोतहरू
कम पावर आईडल, एडीसी शोर रिडक्शन, र पावर-डाउन मोडहरू
परिष्कृत पावर अन रिसेट सर्किट
प्रोग्राम योग्य ब्राउन-आउट डिटेक्शन सर्किट
आन्तरिक क्यालिब्रेटेड ऑसिलेटर
I / O र प्याकेजहरू
छ प्रोग्राम प्रोग्राम I / O लाइनहरू
--पिन PDIP,--पिन SOIC, २०-प्याड QFN / MLF, र--पिन TSSOP (केवल ATtiny8 / V)
परिचालन भोल्युमtage
- १.1.8 - .5.5.VV का लागि ATtiny25V / 45V / 85V
- २.2.7 - .5.5.VV का लागि ATtiny25 / / 45 /। 85
स्पीड ग्रेड
- ATtiny25V / 45V / 85V: ० - M मेगाहर्ट्ज @ १.0 - .4.VV, ० - १० मेगाहर्ट्ज @ २.z - .1.8..5.5V
- एटिनी २ / / / 25 /: 45: ० - १० मेगाहर्ट्ज @ २.85 - .0.V वी, ० - २० मेगाहर्ट्ज @ --. 10 - .2.7..5.5V
औद्योगिक तापमान दायरा
कम पावर खपत
सक्रिय मोड:
१ मेगाहर्ट्ज, १.1VV: µ०० µA
पावर-डाउन मोड:
पिन कन्फिगरेसनहरू
पिनआउट एटीनी २25 / / 45 /। 85
विवरणहरू पिन गर्नुहोस्
VCC: आपूर्ति भोल्युमtage.
GND: जमीन।
पोर्ट B (PB5:PB0): पोर्ट B आन्तरिक पुल-अप प्रतिरोधकहरू (प्रत्येक बिटको लागि चयन गरिएको) भएको 6-बिट द्वि-दिशात्मक I/O पोर्ट हो। पोर्ट बी आउटपुट बफरहरूमा उच्च सिंक र स्रोत क्षमता दुवैको साथ सममित ड्राइभ विशेषताहरू छन्। इनपुटको रूपमा, बाहिरी रूपमा कम तानिएका पोर्ट बी पिनहरूले पुल-अप प्रतिरोधकहरू सक्रिय भएमा वर्तमान स्रोत हुनेछ। पोर्ट बी पिनहरू त्रि-उक्त छन् जब रिसेट अवस्था सक्रिय हुन्छ, घडी चलिरहेको छैन भने पनि।
पोर्ट बीले पनि लिखित रूपमा एटीटिनी २ / / / 25 /। 45 को बिशेष सुविधाहरूको कार्य गर्दछ
एटिनि २25 मा, प्रोग्राम I / O पोर्ट PB3 र PB4 (पिन २ र)) एटिनी १2 अनुकूलता मोडमा एटीटिनी १ with संग पछाडि अनुकूलताको समर्थनको लागि आदानप्रदान हुन्छ।
रिसेट: इनपुट रिसेट गर्नुहोस्। यो पिनमा न्यूनतम पल्स लम्बाइ भन्दा लामो समयको लागि कम स्तरले रिसेट उत्पन्न गर्नेछ, भले पनि घडी चलिरहेको छैन र रिसेट पिन असक्षम गरिएको छैन। न्यूनतम पल्स लम्बाइ भित्र दिइएको छ तालिका ४-१ पृष्ठ 165 मा। छोटो दालहरू पुनःसेट उत्पन्न गर्न ग्यारेन्टी हुँदैन।
रिसेट पिन एक (कमजोर) I / O पिनको रूपमा पनि प्रयोग गर्न सकिन्छ।
माथिview
एटिटिनी २ / / / 25/45 एक कम-पावर सीएमओएस--बिट माइक्रो कन्ट्रोलर हो जुन AVR वर्धित RISC आर्किटेक्चरमा आधारित छ। एकल घडी चक्रमा शक्तिशाली निर्देशनहरू कार्यान्वयन गरेर, एटीटिनी २ / / 85 8/25 ले प्रति मेगाहर्ट्जमा १ एमआईपीएस पुग्ने आउटपुटहरू प्राप्त गर्दछ जुन प्रणाली डिजाइनरलाई प्रशोधन गति बनाम पावर खपत अनुकूलन गर्न अनुमति दिन्छ।
ब्लक डायग्राम
AVR कोर rich२ सामान्य उद्देश्य कार्य रेजिस्टरहरूको साथ एक समृद्ध निर्देशन सेटको संयोजन गर्दछ। सबै reg२ रेजिस्टरहरू सिधा अंकगणित तर्क इकाई (ALU) मा जडित छन्, दुई स्वतन्त्र रेजिष्टरहरू एक घडी चक्रमा कार्यान्वयन गरिएको एकल निर्देशमा पहुँच गर्न अनुमति दिदै। परम्परागत CISC माइक्रोकन्ट्रोलर भन्दा दस गुणा छिटो छिटो मार्फत प्राप्त गर्दा परिणामस्वरूप आर्किटेक्चर बढी कोड कुशल छ।
एटीटीनी २ / / / 25 / the 45 ले निम्न सुविधाहरू प्रदान गर्दछ: २ / / / K के बाइट्स इन-सिस्टम प्रोग्राम फ्लैश, १२85/२2/4१२ बाइट्स ईईप्रोम, १२8/२128/२256 बाइट एसआरएएम, general सामान्य उद्देश्य आई / ओ लाइनहरू, general२ सामान्य उद्देश्य काम गर्ने रेजिस्टरहरू, एक--बिट टाइमर / तुलना मोडको साथ काउन्टर, एक--बिट उच्च स्पीड टाइमर / काउन्टर, युनिभर्सल सिरियल इन्टरफेस, आन्तरिक र बाह्य रुकावट,--च्यानल, १०-बिट एडीसी, एक प्रोग्रामयोग्य वाचडग टाइमर आन्तरिकसँग Oscillator, र तीन सफ्टवेयर चयन शक्ति बचत बचत मोड। स्थिर मोडले CPU लाई रोक्छ जबकि SRAM, टाइमर / काउन्टर, एडीसी, एनालग कम्पेरेटर, र इन्टरप्ट प्रणालीलाई काम जारी राख्न। पावर-डाउन मोडले रजिस्टर कन्न्टन्टहरू बचत गर्दछ, अर्को छेउछाउ वा हार्डवेयर रिसेट नभएसम्म सबै चिप प्रकार्यहरू असक्षम गर्दै। एडीसी शोर रिडक्शन मोडले एडीसी रूपान्तरणको क्रममा स्विचिंग शोरलाई कम गर्न सीपीयू र एडीसी बाहेक सबै I / O मोड्युलहरू रोक्दछ।
उपकरण एटमेलको उच्च घनत्व गैर-वाष्पशील मेमोरी टेक्नोलोजीको प्रयोग गरेर निर्मित हो। अन-चिप आईएसपी फ्ल्यासले प्रोग्राम मेमोरीलाई एसपीआई सीरियल ईन्टरफेस मार्फत पुन: प्रोग्राम इन-सिस्टम गर्न अनुमति दिन्छ, परम्परागत गैर-वाष्पशील मेमोरी प्रोग्रामर वा AVR कोरमा चल्ने अन-चिप बूट कोड द्वारा।
एटीटिनी २ / / / 25 / AV 45 एभीआर प्रोग्राम र प्रणाली विकास उपकरणहरूको पूरा सूटसँग समर्थित छ: सी कमलरहरू, म्याक्रो एसेम्बलरहरू, प्रोग्राम डिबगर / सिमुलेटरहरू र मूल्यांकन किटहरू सहित।
संसाधनको बारेमा
विकास उपकरणहरू, अनुप्रयोग नोटहरू र डाटाशीटहरूको एक विस्तृत सेटमा डाउनलोड गर्नका लागि उपलब्ध छन् http://www.atmel.com/avr.
कोड Exampलेस
यो दस्तावेज सरल कोड पूर्व समावेश गर्दछamples कि छोटो देखाउनुहोस् कसरी उपकरण को विभिन्न भागहरु को उपयोग गर्न को लागी। यी कोड पूर्वamples मानिन्छ कि भाग विशिष्ट हेडर file संकलन अघि समावेश छ। होशियार रहनुहोस् कि सबै सी कम्पाइलर विक्रेताहरु हेडर मा बिट परिभाषाहरु सामेल छन् files र C मा हस्तक्षेप ह्यान्डलिंग कम्पाइलर निर्भर छ। कृपया अधिक जानकारी को लागी सी कम्पाइलर कागजात संग पुष्टि गर्नुहोस्।
विस्तारित I / O नक्शामा अवस्थित I / O रेजिष्टर्सहरूको लागि, "IN", "OUT", "SBIS", "SBIC", "CBI", र "SBI" निर्देशनहरू बदल्नु पर्छ जसले निर्देशन I लाई विस्तार I लाई अनुमति दिनेछ। / O सामान्यतया यसको अर्थ "LBS" र "STS" सँग "SBRS", "SBRC", "SBR", र "CBR" हुन्छ। नोट गर्नुहोस् कि सबै AVR उपकरणहरूले विस्तारित I / O नक्सा समावेश गर्दैन।
Capacitive टच सेन्सिङ
Atmel QTouch Library ले Atmel AVR माइक्रोकन्ट्रोलरहरूमा टच सेन्सेटिभ इन्टरफेसहरूको लागि प्रयोग गर्न सरल समाधान प्रदान गर्दछ। QTouch पुस्तकालयले QTouch® र QMatrix® अधिग्रहण विधिहरूको लागि समर्थन समावेश गर्दछ।
टच सेन्सि easily कुनै पनि अनुप्रयोगमा क्यू टच लाइब्रेरी लिंक गरेर र टच च्यानल र सेन्सरहरू परिभाषित गर्न लाइब्रेरीको एप्लिकेसन प्रोग्राम-इन्टरफेस (एपीआई) को प्रयोग गरेर सजिलैसँग जोडियो। अनुप्रयोगले त्यसपछि च्यानल जानकारी पुनः प्राप्त गर्न र टच सेन्सरको स्थिति निर्धारण गर्न एपीआई कल गर्दछ।
QTouch पुस्तकालय मुक्त छ र Atmel बाट डाउनलोड गर्न सकिन्छ webसाइट। थप जानकारी र कार्यान्वयन को विवरण को लागी, QTouch पुस्तकालय प्रयोगकर्ता गाइड को सन्दर्भ - Atmel बाट पनि उपलब्ध छ webसाइट।
डाटा अवधारण
विश्वसनीयता योग्यता परिणामहरू देखाउँदछ कि अनुमानित डाटा प्रतिधारण असफलता दर २० बर्षमा PP 1 डिग्री सेल्सियस वा २ 20 डिग्री सेल्सियसमा १०० वर्षमा १ पीपीएम भन्दा कम छ।
AVR CPU कोर
परिचय
यो खण्ड सामान्यतया AVR कोर वास्तुकलाको चर्चा गर्दछ। सीपीयू कोरको मुख्य कार्य भनेको कार्यक्रमको कार्यान्वयन सुनिश्चित गर्नु हो। CPU तसर्थ मेमोरीहरू पहुँच गर्न, गणना गर्न, उपकरणहरू नियन्त्रण गर्न, र रुकावटहरू ह्यान्डल गर्न सक्षम हुनुपर्दछ।
आर्किटेक्चरल ओवरview
अधिकतम प्रदर्शन र समानन्तरताका लागि, AVR ले हार्वर्ड आर्किटेक्चर प्रयोग गर्दछ - कार्यक्रम र डेटाको लागि अलग सम्झना र बसको साथ। कार्यक्रम मेमोरीमा निर्देशनहरू एकल स्तर पाइपलाइन द्वारा कार्यान्वयन गरिन्छ। जबकि एक निर्देशन कार्यान्वयन भइरहेको छ, अर्को निर्देशन कार्यक्रम स्मृति बाट पूर्व ल्याएको छ। यस अवधारणाले निर्देशनहरू प्रत्येक घडी चक्रमा कार्यान्वयन गर्न सक्षम गर्दछ। प्रोग्राम मेमोरी इन-सिस्टम रिप्रोग्राम्य फ्ल्यास मेमोरी हो।
छिटो पहुँच दर्ता File एकल घडी चक्र पहुँच समयको साथ 32 x 8-बिट सामान्य उद्देश्य कार्य दर्ताहरू समावेश गर्दछ। यसले एकल-चक्र अंकगणित तर्क एकाइ (ALU) सञ्चालन गर्न अनुमति दिन्छ। सामान्य ALU सञ्चालनमा, दुईवटा अपरेन्डहरू दर्ताबाट आउटपुट हुन्छन् File, अपरेशन निष्पादित छ, र परिणाम फिर्ता दर्ता मा भण्डारण गरीएको छ File- एक घडी चक्रमा।
Of२ रेजिस्टरहरू मध्ये लाई १ Space बिट अप्रत्यक्ष ठेगाना रेजिस्टर पोइन्टर्स डेटा डाटा स्पेस एड्रेसका लागि प्रयोग गर्न सकिन्छ - सक्षम ठेगाना गणना सक्षम पार्ने। यी मध्ये एक ठेगाना पोइन्टरले फ्ल्यास प्रोग्राम मेमोरीमा टेबुल अप टेबुलहरूको लागि ठेगाना पोइन्टरको रूपमा पनि प्रयोग गर्न सकिन्छ। यी थपिएका कार्य रेजिस्टरहरू १--बिट एक्स-, वाई-, र जेड-रेजिस्टर हुन्, जुन पछि यस सेक्सनमा वर्णन गरिएको छ।
ALU ले रेगिष्टर बीच वा लगातार र रेजिस्टर बीच गणित र तर्क संचालन समर्थन गर्दछ। एकल रजिस्टर अपरेशनहरू पनि एएलयूमा कार्यान्वयन गर्न सकिन्छ। एक अंकगणित अपरेशन पछि, स्थिति रेजिष्टर अपरेशनको परिणामको बारेमा जानकारी प्रतिबिम्बित गर्न अद्यावधिक हुन्छ।
कार्यक्रम प्रवाह ससर्त र बिना शर्त जम्प र कल निर्देशनहरू द्वारा प्रदान गरिएको हो, सम्पूर्ण ठेगाना ठाउँलाई सिधै ठेगाना गर्न सक्षम। धेरै जसो AVR निर्देशनहरूको एकल १ 16-बिट शब्द ढाँचा हुन्छ, तर 32२-बिट निर्देशनहरू पनि छन्।
अवरोधहरू र subroutine कलहरूको समयमा, फिर्ता ठेगाना प्रोग्राम काउन्टर (पीसी) स्ट्याकमा भण्डारण गरिन्छ। स्ट्याकलाई प्रभावकारी रूपमा सामान्य डाटा SRAM मा विनियोजित गरिएको छ, र फलस्वरूप स्ट्याक आकार मात्र कुल SRAM आकार र SRAM को उपयोग द्वारा सीमित छ। सबै प्रयोगकर्ता प्रोग्रामहरूले एसपी आरम्भ गर्नुपर्दछ रीसेट दिनचर्यामा (उप-रूटिन वा रुकावटहरू कार्यान्वयन हुनु अघि)। स्ट्याक पोइन्टर (एसपी) I / O अन्तरिक्षमा पढ्न / लेख्न पहुँचयोग्य छ। डाटा SRAM सजिलैसँग पाँच विभिन्न सम्बन्धी मोडहरू मार्फत सजिलै पहुँच गर्न सकिन्छ AVR आर्किटेक्चरमा समर्थित।
AVR आर्किटेक्चरमा मेमोरी स्पेसहरू सबै रैखिक र नियमित मेमोरी नक्शा हुन्।
एक लचिलो अवरोध मोड्युलको आईजी / ओ स्पेसमा यसको नियन्त्रण रेजिष्टरहरू छन् अतिरिक्त रेजिष्ट्रेटरमा अतिरिक्त ग्लोबल इंटरप्ट सक्षम बिटको साथ। सबै अवरोधहरूको अवरोध भेक्टर तालिकामा छुट्टै इन्टरप्ट भेक्टर हुन्छ। अवरोधहरूको उनीहरूको अवरोध भेक्टर स्थिति अनुसार प्राथमिकता छ। कम अवरोध भेक्टर ठेगाना, उच्च प्राथमिकता।
I/O मेमोरी स्पेस नियन्त्रण रजिस्टर, SPI, र अन्य I/O प्रकार्यहरु को रूप मा CPU परिधीय प्रकार्यहरु को लागी addresses४ ठेगानाहरु छन्। I/O मेमोरी सिधै पहुँच गर्न सकिन्छ, वा डाटा स्पेस स्थानहरु को रूप मा रेजिस्टर को अनुसरण गरीन्छ File, 0x20 - 0x5F।
ALU - अंकगणित तर्क इकाई
उच्च प्रदर्शन AVR ALU ले 32२ सामान्य उद्देश्य कार्य रेजिस्टरहरूसँग प्रत्यक्ष जडानमा काम गर्दछ। एक घडी चक्र भित्र, सामान्य उद्देश्य रेजिस्टरहरू वा एक दर्ता र तत्कालको बीचमा अंकगणित अपरेशन्स कार्यान्वयन गरिन्छ। एएलयू अपरेशन्सलाई तीन मुख्य कोटीहरूमा विभाजन गरिएको छ - अंकगणित, तार्किक र बिट- प्रकार्यहरू। वास्तुकलाको केहि कार्यान्वयनले दुबै हस्ताक्षर / हस्ताक्षर नगरेका गुणा र आंशिक स्वरूपलाई मद्दत गर्ने एक शक्तिशाली गुणक प्रदान गर्दछ। विस्तृत विवरणको लागि "निर्देशन सेट" सेक्सन हेर्नुहोस्।
स्थिति दर्ता
वस्तुस्थिति रेजिस्टरले हालसालै कार्यान्वयन गरिएको गणित निर्देशनको नतिजाको बारेमा जानकारी राख्दछ। यो जानकारी सशर्त अपरेशन्स गर्न क्रम परिवर्तन कार्यक्रम प्रवाहको लागि प्रयोग गर्न सकिन्छ। नोट गर्नुहोस् कि स्थिति रेजिष्टर सबै ALU अपरेसनहरू पछि अद्यावधिक हुन्छ, निर्देशन सेट सन्दर्भमा निर्दिष्ट गरिए अनुसार। यसले धेरै केसहरूमा समर्पित तुलना निर्देशनहरूको उपयोगको आवश्यकतालाई हटाउनेछ, परिणामस्वरूप द्रुत र अधिक कम्प्याक्ट कोड।
स्थिति रेजिस्टर स्वचालित रूपमा भण्डारण हुँदैन जब अवरोध रूटीनमा प्रवेश गर्दछ र अवरोधबाट फर्कंदा पुनर्स्थापना हुन्छ। यो सफ्टवेयर द्वारा ह्यान्डल गर्नुपर्नेछ।
SREG - AVR स्थिति रेजिस्टर
AVR स्थिति रेजिस्टर - SREG - को रूपमा परिभाषित गरिएको छ:
बिट | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x3F | I | T | H | S | V | N | Z | C | SREG |
पढ्नुहोस्/लेख्नुहोस् | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
प्रारम्भिक मान | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bit 7 - I: ग्लोबल अवरोध सक्षम
ग्लोबल अवरोध सक्षम बिट सेट गर्न आवश्यक छ इन्टरप्न्ट्स सक्षम गर्नका लागि। व्यक्तिगत अवरोध सक्षम नियंत्रण त्यसपछि छुट्टै नियन्त्रण रेजिस्टरहरूमा गरिन्छ। यदि ग्लोबल रुकावट सक्षम रजिस्टर खाली गरियो भने, कुनै पनि रुकावटलाई व्यक्तिगत अवरोध सक्षम सेटिंग्सबाट स्वतन्त्र रूपमा सक्षम गरिएको छैन। आई-बिट एक अवरोध आए पछि हार्डवेयर द्वारा खाली गरियो, र RETI निर्देशन द्वारा सेट गरियो पछि रुकावटहरू सक्षम गर्नको लागि। I-bit पनि सेट र SEI र CLI निर्देशनहरूको साथ अनुप्रयोग द्वारा खाली गर्न सकिन्छ, निर्देशन सेट सन्दर्भमा वर्णन गरेझैं।
Bit 6 - T: Bit प्रतिलिपि भण्डारण
बिट प्रतिलिपि निर्देशन BLD (बिट LoaD) र BST (बिट स्टोर) संचालित बिट को लागी स्रोत वा गन्तव्य को रूप मा टी बिट को उपयोग गर्नुहोस्। दर्ता मा एक रजिस्टर बाट एक बिट File BST निर्देश द्वारा T मा प्रतिलिपि गर्न सकिन्छ, र T मा एक बिट दर्ता मा एक रजिस्टर मा एक बिट मा प्रतिलिपि गर्न सकिन्छ। File BLD निर्देश द्वारा।
Bit 5 - H: आधा क्यारी झण्डा
आधा क्यारी फ्ल्याग एचले केहि अंकगणित अपरेशन्समा आधा क्यारी संकेत गर्दछ। आधा क्यारी BCD अंकगणितमा उपयोगी छ। विस्तृत जानकारीको लागि "निर्देशन सेट वर्णन" हेर्नुहोस्।
बिट ४ – S: साइन बिट, S = N ⊕ V
S-bit सँधै एक विशेष वा नकारात्मक फ्ल्याग N र दुईको पूरक ओभरफ्लो झण्डा V को बिच हुन्छ। विस्तृत जानकारीको लागि "निर्देशन सेट वर्णन" हेर्नुहोस्।
Bit 3 - V: दुई को पूरक ओभरफ्लो झण्डा
दुईको पूरक ओभरफ्लो फ्ल्याग वीले दुईको पूरक अंकगणितलाई समर्थन गर्दछ। विस्तृत जानकारीको लागि "निर्देशन सेट वर्णन" हेर्नुहोस्।
Bit 2 - N: नकारात्मक झण्डा
नेगेटिभ फ्ल्याग एन ले अंकगणित वा तर्क अपरेशनमा नकारात्मक परिणाम दर्शाउँछ। विस्तृत जानकारीको लागि "निर्देशन सेट वर्णन" हेर्नुहोस्।
Bit 1 - Z: शून्य झण्डा
शून्य झण्डा Z ले अंकगणित वा तर्क अपरेशनमा शून्य परिणाम संकेत गर्दछ। विस्तृत जानकारीको लागि "निर्देशन सेट वर्णन" हेर्नुहोस्।
Bit 0 - C: झण्डा क्यारी गर्नुहोस्
क्यारी फ्ल्याग सी ले अंकगणित वा तर्क संचालनमा क्यारी संकेत गर्दछ। विस्तृत जानकारीको लागि "निर्देशन सेट वर्णन" हेर्नुहोस्।
सामान्य प्रयोजन दर्ता File
दर्ता File AVR उन्नत RISC निर्देश सेट को लागी अनुकूलित छ। आदेश मा आवश्यक प्रदर्शन र लचीलापन प्राप्त गर्न को लागी, निम्न इनपुट/आउटपुट योजनाहरु रजिस्टर द्वारा समर्थित छन् File:
एक--बिट आउटपुट अपरेन्ड र एक--बिट परिणाम इनपुट
दुई--बिट आउटपुट अपरेटहरू र एक--बिट परिणाम इनपुट
दुई--बिट आउटपुट अपरेटहरू र एक--बिट परिणाम इनपुट
एक--बिट आउटपुट अपरेन्ड र एक--बिट परिणाम इनपुट
चित्र ३-२ CPU मा general२ सामान्य उद्देश्य कार्य रेजिस्टरहरूको संरचना देखाउँदछ।
मा देखाइए अनुसार चित्र ३-२, प्रत्येक रजिस्टर पनि एक डाटा मेमोरी ठेगाना तोकिएको छ, उनीहरुलाई सीधा प्रयोगकर्ता डाटा स्पेस को पहिलो ३२ स्थानहरुमा म्यापि। यद्यपि SRAM स्थानहरु को रूप मा शारीरिक रूप देखि लागू गरीएको छैन, यो मेमोरी संगठन रजिस्टरहरु को उपयोग मा महान लचीलापन प्रदान गर्दछ, X-, Y- र Z- सूचक रजिस्टरहरु मा कुनै पनी रेजिस्टर सूचकांक गर्न को लागी सेट गर्न सकिन्छ। file.अधिकांश निर्देशनहरू दर्तामा सञ्चालन हुन्छन् File सबै रजिस्टरहरु को लागी सीधा पहुँच छ, र ती मध्ये धेरै single चक्र निर्देशन छन्।
एक्स-रेजिस्टर, वाई-रजिस्टर, र Z- रजिस्टर
रेजिष्टर्स R26..R31 सँग तिनीहरूको सामान्य उद्देश्य प्रयोगको लागि केहि थप कार्यहरू छन्। यी रेजिस्टरहरू डाटा स्थानको अप्रत्यक्ष ठेगानाको लागि १--बिट ठेगाना सूचकहरू हुन्। तीन अप्रत्यक्ष ठेगाना रेजिस्टरहरू एक्स, वाई, र जेड वर्णन गरिए बमोजिम परिभाषित गरिएको छ चित्र ३-२.
विभिन्न ठेगानाहरू मोडहरूमा यी ठेगाना रेजिस्टरहरूले फिक्स्ड डिसप्लेसलेसन, स्वचालित वृद्धि, र स्वचालित कमीको रूपमा कार्य गर्दछन् (विवरणहरूको लागि निर्देशन सेट सन्दर्भ हेर्नुहोस्)।
स्ट्याक पोइन्टर
स्ट्याक मुख्यतया अस्थायी डेटा भण्डारण गर्न, स्थानीय भ्यारीएबलहरू भण्डारण गर्न र इन्टरप्न्ट्स र सब्रुटिन कलहरू पछि फर्काउने ठेगानाहरू भण्डारण गर्न प्रयोग गरिन्छ। स्ट्याक पोइन्टर रेजिष्टर सँधै स्ट्याकको शीर्षमा दर्साउँछ। नोट गर्नुहोस् कि स्ट्याक उच्च मेमोरी स्थानहरूबाट कम मेमोरी स्थानहरूमा बढिरहेको रूपमा कार्यान्वयन गरिएको छ। यसले स that्केत गर्दछ कि स्ट्याक पुश कमाण्डले स्ट्याक पोइन्टर घटाउँछ।
स्ट्याक पोइन्टरले डाटा SRAM स्ट्याक क्षेत्रमा इंगित गर्दछ जहाँ सब्रुटिन र इंटरप्ट स्ट्याकहरू अवस्थित छन्। डाटा एसआरएएममा यो स्ट्याक स्पेस कुनै पनि सब्रुटिन कलहरू कार्यान्वयन हुने वा अन्तर्क्रिया सक्षम हुनु अघि कार्यक्रमद्वारा परिभाषित गरिएको हुनुपर्दछ। स्ट्याक पोइन्टर ०x0० माथि पोइन्ट गर्न सेट हुनुपर्दछ। स्ट्याक पोइन्टर एक द्वारा घटाइएको छ जब डाटा PUSH निर्देशनको साथ स्ट्याकमा धकेल्दछ, र यो दुई द्वारा घटाइएको छ जब सब्रुटिन कल वा अवरोधको साथ फिर्ताको ठेगाना स्ट्याकमा धकेले हुन्छ। स्ट्याक पोइन्टर एक द्वारा बढाइएको छ जब डाटा POP निर्देशनको साथ स्ट्याकबाट पप गरिन्छ, र यो दुईले बढाउँदछ जब डाटा स्ट्याकबाट पप्प गरिन्छ जब सब्रूटिन आरईटी वा अवरोध RETI बाट फिर्ताको साथ।
AVR Stack Pointer I / O अन्तरिक्षमा दुई two-बिट रेजिस्टरहरूको रूपमा लागू गरियो। वास्तवमा प्रयोग गरिएको बिट्सको संख्या कार्यान्वयन आश्रित हो। नोट गर्नुहोस् कि AVR आर्किटेक्चरको केहि कार्यान्वयनमा डाटा स्पेस यति सानो छ कि केवल SPL आवश्यक छ। यस अवस्थामा, एसपीएच रेजिस्टर उपस्थित हुनेछैन।
SPH र SPL - स्ट्याक पोइन्टर रजिस्टर
बिट | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | |
0x3E | SP15 | SP14 | SP13 | SP12 | SP11 | SP10 | SP9 | SP8 | SPH |
0x3D | SP7 | SP6 | SP5 | SP4 | SP3 | SP2 | SP1 | SP0 | SPL |
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ||
पढ्नुहोस्/लेख्नुहोस् | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
पढ्नुहोस्/लेख्नुहोस् | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
प्रारम्भिक मान | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | |
प्रारम्भिक मान | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND | RAMEND |
निर्देशन कार्यान्वयन समय
यस खण्डले निर्देशन कार्यान्वयनको लागि सामान्य पहुँच समय अवधारणाहरू वर्णन गर्दछ। AVR CPU CPU घडी clkCPU द्वारा संचालित छ, सीधा चिपको लागि चयन गरिएको घडी स्रोतबाट उत्पन्न हुन्छ। कुनै आन्तरिक घडी विभाजन प्रयोग गरिएको छैन।
चित्र ३-२ हार्वर्ड वास्तुकला र छिटो पहुँच रजिस्टर द्वारा सक्षम समानांतर निर्देश fetches र निर्देश निष्पादन देखाउँछ File अवधारणा। यो आधारभूत पाइपलाइनि concept अवधारणा प्रति MHz १ MIPS सम्म प्राप्त गर्न को लागी लागत प्रति लागत, घडीहरु प्रति कार्यहरु, र बिजुली प्रति इकाई कार्यहरु को लागी सम्बन्धित अद्वितीय परिणाम संग छ।
चित्र ४-५। एकल साइकल ALU सञ्चालन
रिसेट र अवरोध ह्यान्डलिंग
AVR ले धेरै बिभिन्न अवरोध स्रोतहरू प्रदान गर्दछ। यी अवरोधहरू र छुट्टै रिसेट भेक्टरसँग प्रोग्राम मेमोरी स्पेसमा एक फरक प्रोग्राम भेक्टर हुन्छ। सबै अवरोधहरू व्यक्तिगत सक्षम बिट्स तोकिन्छन् जुन स्थिति रजिस्टरमा ग्लोबल इन्ट्रप्ट सक्षम बिटसँगै तर्कसंगत लेख्नुपर्दछ रुकावटलाई सक्षम गर्नको लागि।
प्रोग्राम मेमोरी स्पेसको सब भन्दा कम ठेगानाहरू पूर्वनिर्धारित रूपमा रिसेट र अवरोध वैक्टरको रूपमा परिभाषित गरिन्छ। भेक्टरहरूको पूर्ण सूची भित्र देखाइएको छ पृष्ठ on 48 मा "अवरोधहरू"। सूचीले बिभिन्न अवरोधहरूको प्राथमिकता स्तरहरू पनि निर्धारण गर्दछ। तल्लो ठेगाना उच्च प्राथमिकता स्तर हो। RESET को उच्च प्राथमिकता छ, र अर्को INT0 हो - बाह्य अवरोध अनुरोध ०।
जब एक अवरोध हुन्छ, ग्लोबल अवरोध सक्षम आई-बिट खाली छ र सबै रुकावटहरू अक्षम छन्। प्रयोगकर्ता सफ्टवेयरले नेस्टेड रुकावटहरू सक्षम गर्न आई-बिटमा तर्क लेख्न सक्छ। सबै सक्षम रुकावटहरू वर्तमान अवरोध दिनचर्यामा अवरोध खडा गर्न सक्छ। I-bit स्वचालित रूपमा सेट हुन्छ जब अवरोध निर्देशन - RETI बाट एक फिर्ता कार्यान्वयन हुन्छ।
त्यहाँ दुई किसिमका रुकावटहरू हुन्छन्। पहिलो प्रकार एक घटना द्वारा ट्रिगर गरिएको छ जुन अवरोध फ्ल्याग सेट गर्दछ। यी अवरोधहरूको लागि, कार्यक्रम काउन्टर वास्तविक अवरोध भेक्टरमा अवरोध ह्यान्डलिंग कार्यन्वयन कार्यान्वयन गर्न भेक्टोर गरिएको छ, र हार्डवेयरले समान इन्टरप्ट फ्ल्याग खाली गर्दछ। झण्डा बिट स्थिति (हरू) मा तर्क लेखेर खाली गरीएको झण्डा खाली गर्न सकिन्छ। यदि एक अवरोध स्थिति देखा पर्दछ जबकि सम्बन्धित अवरोध सक्षम बिट सफा गरिएमा, रोकावट फ्ल्याग सेट गरी याद गरिन्छ र अवरोध सक्षम नभएसम्म सम्झिन्छ, वा झण्डा सफ्टवेयर द्वारा खाली नभएसम्म। त्यस्तै, यदि एक वा बढी अवरोध स्थितियां उत्पन्न भयो जबकि ग्लोबल इन्टरप्ट सक्षम बिट खाली भयो, सम्बन्धित इन्टरप्ट फ्ल्याग (हरू) सेट गरी याद गरीन्छ जब सम्म ग्लोबल इंटरप्ट सक्षम बिट सेट हुँदैन, र त्यसपछि प्राथमिकताको क्रममा कार्यान्वयन हुनेछ।
अवरोधको दोस्रो प्रकार जब सम्म अवरोध अवस्थित उपस्थित हुन्छ ट्रिगर हुन्छ। यी अवरोधहरू अन्तर्क्रियात्मक झण्डा हुँदैन। यदि अवरोध सक्षम हुन अघि रुकावट स्थिति हराउँदछ, अवरोध ट्रिगर हुँदैन।
जब AVR एक अवरोध बाट बाहिर निस्किन्छ, यो सँधै मुख्य कार्यक्रममा फर्किन्छ र कुनै पनि पेन्डिंग अवरोध सेवा गर्नु अघि एक थप निर्देशन कार्यान्वयन गर्दछ।
नोट गर्नुहोस् कि स्थिति रेजिष्टर स्वचालित रूपमा भण्डारण हुँदैन जब अवरोध रूटीनमा प्रवेश गर्दछ, वा बिरोधमा नियमितबाट फर्केर पुन: भण्डारण हुँदैन। यो सफ्टवेयर द्वारा ह्यान्डल गर्नुपर्नेछ।
जब बाधाहरु लाई असक्षम गर्न को लागी CLI निर्देश को उपयोग गरीरहेको छ, अवरोधहरु लाई तुरुन्तै असक्षम गरिनेछ। कुनै बाधा CLI निर्देशन पछि निष्पादित गरिनेछ, भले ही यो CLI निर्देश संग एक साथ हुन्छ। निम्न पूर्वampले देखाउँछ कि यो कसरी समय मा EEPROM लेखन अनुक्रम को समयमा बाधाहरु बाट बच्न को लागी प्रयोग गर्न सकिन्छ।
विधानसभा कोड पूर्वample |
r16 मा, SREG; भण्डारण SREG मान
cli; समयबद्ध अनुक्रममा अवरोधहरू असक्षम गर्नुहोस् sbi EECR, EEMPE ; EEPROM लेख्न सुरु गर्नुहोस् sbi EECR, EEPE SREG, r16 बाहिर; SREG मान पुनर्स्थापना गर्नुहोस् (I-bit) |
सी कोड पूर्वample |
char cSREG;
cSREG = SREG; /* स्टोर SREG मान */ /* समयबद्ध अनुक्रममा अवरोधहरू असक्षम गर्नुहोस् */ _CLI (); EECR |= (1< EECR | = (१ < SREG = cSREG; /* SREG मान (I-bit) पुनर्स्थापना */ |
जब बाधाहरु लाई सक्षम गर्न को लागी SEI निर्देश को उपयोग गरीरहेको छ, SEI पछिको निर्देशन कुनै पेंडि ing अवरोध गर्नु अघि कार्यान्वयन गरिनेछ, जस्तै यो पूर्व मा देखाइएको छ।ample।
विधानसभा कोड पूर्वample |
sei; ग्लोबल इंटरप्ट सक्षम सेट गर्नुहोस्
निद्रा; निद्रामा प्रवेश गर्नुहोस्, अवरोधको लागि पर्खनुहोस् ; नोट: कुनै पनि पेन्डि before हुनु अघि निन्द्रामा प्रवेश गर्नेछ ; अवरोध (हरू) |
सी कोड पूर्वample |
_SEI(); /* सेट ग्लोबल इंटरप्ट सक्षम */
_SLEEP(); /* निद्रामा प्रवेश गर्नुहोस्, अवरोधको लागि पर्खँदै */ / * नोट: कुनै पनि बाँकी रहेको अवरोध (हरू) भन्दा पहिले निन्द्रामा प्रवेश गर्नेछ * / |
अवरोध प्रतिक्रिया समय
सबै सक्षम AVR अवरोधहरूको लागि अवरोध कार्यान्वयन प्रतिक्रिया चार घडी चक्र न्यूनतम हुन्छ। चार घडी चक्र पछि वास्तविक अवरोध ह्यान्डलिंग तालिकाको लागि प्रोग्राम भेक्टर ठेगाना कार्यान्वयन हुन्छ। यस चार घडी चक्र अवधिको दौरान, कार्यक्रम काउन्टर स्ट्याकमा धकेलिएको छ। भेक्टर सामान्यतया अवरोधका दिनचराहरूको लागि उफ्रिन्छ, र यो जम्पले तीन घडी चक्र लिन्छ। यदि बहु-चक्र निर्देशन को कार्यान्वयनको क्रममा एक अवरोध आयो भने, यो निर्देशन अवरोध सेवा गर्नु अघि पूरा हुन्छ। यदि MCU स्लिप मोडमा छ जब एक अवरोध उत्पन्न हुन्छ, अवरोध कार्यान्वयन प्रतिक्रिया समय चार घडी चक्र द्वारा बढाइन्छ। यो वृद्धि चयन गरिएको स्लीप मोडबाट स्टार्ट-अप समयको अतिरिक्तमा आउँदछ।
अवरोध ह्याण्डल गर्ने दिनचर्याबाट फिर्ताको लागि चार घडी चक्र लिन्छ। यी चार घडी चक्रको बखत, कार्यक्रम काउन्टर (दुई बाइट्स) स्ट्याकबाट पप आउट गरियो, स्ट्याक पोइन्टर दुईले बढाइयो, र SREG मा I-bit सेट गरियो।
AVR मेमोरीहरू
यो खण्डले एटिटिनी २ / / 25 45 /। 85 मा बिभिन्न सम्झनाहरूको वर्णन गर्दछ। AVR आर्किटेक्चरसँग दुई मुख्य मेमोरी स्पेसहरू छन्, डेटा मेमोरी र प्रोग्राम मेमोरी स्पेस। थप रूपमा, ATtiny25 / 45/85 डाटा भण्डारणको लागि EEPROM मेमोरी सुविधा दिन्छ। सबै तीन मेमोरी स्पेस रेखीय र नियमित छन्।
इन-सिस्टम पुन: प्रोग्राम योग्य फ्ल्यास प्रोग्राम मेमोरी
एटीटीनी २ / / / 25/45 मा २ / / / K के बाइटहरू अन-चिप ईन-सिस्टम रिग्रोग्रेमेबल फ्ल्यास मेमोरी प्रोग्राम stor- को लागि हुन्छ। सबै AVR निर्देशन १ 85 वा b२ बिट चौडा भएकाले, फ्ल्याश १०२2/२4/ / 8० 16 x x १ as को रूपमा व्यवस्थित गरिएको छ।
फ्ल्यास मेमोरीको कम्तिमा १०,००० लेख्ने / मेटाउने चक्रको सहनशीलता छ। एटिटिनी २ / / Program 10,000 / Program 25 प्रोग्राम काउन्टर (पीसी) १०/११/१२ बिट चौडा छ, त्यसैले १०२45/२85/ / 10० 11 Program कार्यक्रम मेमोरी स्थानहरूलाई सम्बोधन गर्दै। "मेमोरी प्रोग्राम- मि ”" पृष्ठ १147 मा एसपीआई पिनहरू प्रयोग गरेर फ्ल्यास डाटा सिरियल डाउनलोडमा विस्तृत विवरण समावेश गर्दछ।
लगातार तालिकाहरू पूरै प्रोग्राम मेमोरी ठेगाना स्पेसमा आवंटित गर्न सकिन्छ (LPM - लोड प्रोग्राम मेमोरी निर्देशन विवरण हेर्नुहोस्)।
चित्र ५-१। कार्यक्रम मेमोरी नक्सा
SRAM डाटा मेमोरी
चित्र ३-२ कसरी ATtiny25 / 45/85 SRAM मेमोरी आयोजित गरीन्छ।
कम 224/352/607 डाटा मेमोरी स्थानहरु दुबै रजिस्टर ठेगाना File, I/O मेमोरी र आन्तरिक डाटा SRAM। पहिलो 32 स्थानहरु दर्ता ठेगाना File, अर्को 64 स्थानहरु मानक I/O मेमोरी, र पछिल्लो 128/256/512 स्थानहरु आन्तरिक डाटा SRAM ठेगाना।
डाटा मेमोरी कभर को लागी पाँच फरक ठेगाना मोड: प्रत्यक्ष, अप्रत्यक्ष विस्थापन संग, अप्रत्यक्ष, पूर्व-कमी संग संकेत, र पोस्ट-वृद्धि संग अप्रत्यक्ष। दर्ता मा File, R26 R31 लाई अप्रत्यक्ष सम्बोधन सूचक दर्ता सुविधा दर्ता गर्दछ।
प्रत्यक्ष ठेगाना सम्पूर्ण डाटा स्पेसमा पुग्छ।
विस्थापन मोडको साथ अप्रत्यक्ष Y- वा Z- रजिस्टर द्वारा दिइएको आधार ठेगानाबाट address 63 ठेगाना स्थानहरूमा पुग्छ।
स्वत: पूर्व-घटाई र पोषण-वृद्धिको साथ दर्ता अप्रत्यक्ष ठेगाना मोडहरू प्रयोग गर्दा, ठेगाना रेजिस्टरहरू एक्स, वाई, र जेड घटाईन्छ वा बढाइन्छ।
३२ सामान्य उद्देश्य काम रजिस्टर, I४ I/O रजिस्टर, र ATTiny32/४५/ 64५ मा आन्तरिक डाटा SRAM को 128/256/512 बाइट्स यी सबै सम्बोधन मोडहरु को माध्यम बाट सबै सुलभ छन्। दर्ता File मा वर्णन गरिएको छ "Gen- eral उद्देश्य दर्ता File"पृष्ठ १० मा.
चित्र ५-२। डाटा मेमोरी नक्सा
डाटा मेमोरी पहुँच समय
यो खण्डले आन्तरिक मेमोरी पहुँचको लागि सामान्य पहुँच समय अवधारणाहरू वर्णन गर्दछ। आन्तरिक डाटा SRAM पहुँच दुई clkCPU चक्रहरूमा वर्णन गरिएको छ चित्र ३-२.
चित्र ५-३। अन-चिप डाटा SRAM पहुँच चक्रहरू EEPROM डाटा मेमोरी
एटिटिनी २ / / 25 / ले १२//२45/85१२ डाटा EEPROM मेमोरी बाइट्स समावेश गर्दछ। यो एक अलग डाटा स्पेसको रूपमा संगठित छ, जसमा एकल बाइट पढ्न र लेख्न सकिन्छ। EEPROM को कम्तिमा १०,००,००० लेख्ने / मेटाउने चक्रको सहिष्णुता छ। EEPROM र CPU बीचको पहुँचलाई बर्णन गरिएको छ, EEPROM ठेगाना रेजिस्टरहरू, EEPROM डाटा रेजिस्टर, र EEPROM नियन्त्रण रेजिष्टर निर्दिष्ट गर्दै। विवरणका लागि हेर्नुहोस् पृष्ठ १ 151१ मा "सीरियल डाउनलोड गर्दै".
EEPROM पढ्ने / लेख्ने पहुँच
EEPROM पहुँच रेजिस्टरहरू I / O स्थानमा पहुँचयोग्य छन्।
EEPROM का लागि लेखन पहुँच समय दिइएको छ पृष्ठ २१ मा तालिका page-१। एक स्व-समय प्रकार्य, तथापि, प्रयोगकर्ता सफ्टवेयर पत्ता लगाउन अनुमति दिन्छ जब अर्को बाइट लेख्न सकिन्छ। यदि प्रयोगकर्ता कोडमा EEPROM लेख्ने निर्देशनहरू छन् भने, केही सावधानीहरू अपनाउनु पर्छ। धेरै फिल्टर गरिएको बिजुली आपूर्तिहरूमा, VCC बिस्तारै बढ्न वा घट्ने सम्भावना हुन्छ
पावर अप/डाउन। यो समय को केहि अवधि को लागी एक भोलुम मा चलाउन को लागी कारण बनाउँछtage प्रयोग गरिएको घडी आवृत्तिको लागि न्यूनतमको रूपमा तोकिएको भन्दा कम। हेर्नुहोस् पृष्ठ १ on मा "EEPROM भ्रष्टाचार रोक्दै" यी परिस्थितिहरूमा समस्याहरू कसरी जोगाउने भन्ने बारेमा विवरणहरूको लागि।
अनजाने EEPROM लेख्नबाट रोक्नको लागि, एउटा विशिष्ट लेखन प्रक्रिया पछ्याउनुपर्दछ। उल्लेख "आणविक पृष्ठ १ 17 मा बाइट प्रोग्रामिंग " र पृष्ठ १ 17 मा "स्प्लिट बाइट प्रोग्रामिंग" यसमा विवरणहरूको लागि।
जब EEPROM पढिन्छ, सीपीयू चार घडी चक्रको लागि रोकिन्छ अर्को निर्देशन कार्यान्वयन हुनुभन्दा पहिले। जब EEPROM लेखिएको हुन्छ, CPU लाई अर्को निर्देशन कार्यान्वयन हुनुभन्दा पहिले दुई घडी चक्रको लागि रोकिन्छ।
आणविक बाइट प्रोग्रामिंग
आणविक बाइट प्रोग्रामि Using प्रयोग गर्ने सरल मोड हो। EEPROM लाई बाइट लेख्दा, प्रयोगकर्ताले ठेगाना EEAR रेजिस्टरमा र EERR रजिस्टरमा डाटा लेख्नुपर्दछ। यदि EEPMn बिट्स शून्य छ भने, EEPE लेखन (EEMPE लेखे पछि चार चक्र भित्र) ईरिज / लेखन कार्यलाई ट्रिगर गर्दछ। दुबै मेट्ने र लेख्ने चक्र एक अपरेशनमा गरिन्छ र कुल प्रोग्रामिंग समय दिइन्छ पृष्ठ २१ मा तालिका page-१। EEPE बिट मेट्छ र लेखन अपरेसनहरू समाप्त नभएसम्म सेट हुन्छ। जब उपकरण प्रोग्रामिंगमा व्यस्त छ, यो कुनै पनि अन्य EEPROM कार्यहरू गर्न सम्भव छैन।
स्प्लिट बाइट प्रोग्रामिंग
यो मेटाउन र दुई फरक अपरेशन मा चक्र लेख्न विभाजित गर्न सम्भव छ। यो उपयोगी हुन सक्छ यदि प्रणाली को समय को केहि सीमित अवधि को लागी छोटो पहुँच समय को आवश्यकता छ (सामान्यतया यदि बिजुली आपूर्ति भोल्युमtagई फल्स)। अग्रिम लिन को लागी tagयस विधि को ई, यो आवश्यक छ कि स्थानहरु लेख्न को लागी लेख्नु भन्दा पहिले मेटिएको छ। तर जब देखि मेटाउन र लेख्ने अपरेशनहरु विभाजित छन्, यो सम्भव छ मेटाउने अपरेसन गर्न को लागी जब प्रणाली समय-महत्वपूर्ण अपरेसन (सामान्यतया पावर अप पछि) गर्न अनुमति दिन्छ।
मेटाउनुहोस्
एउटा बाइट मेटाउन, ठेगाना EEAR मा लेख्नु पर्छ। यदि EEPMn बिट्स ० बी ०१ छ भने EEPE लेख्ने (EEMPE लेखे पछि चार चक्र भित्र) मात्र मेट्ने कार्यलाई ट्रिगर गर्दछ (प्रोग्रामि time समय दिइन्छ तालिका -5-१ पृष्ठ 21)। EEPE बिट सेट अप रहन्छ जब सम्म इरेज अपरेसन पूरा हुँदैन। जब उपकरण व्यस्त प्रोग्रामिंगमा छ, यो सम्भव छैन अरू कुनै EEPROM कार्यहरू गर्न।
लेख्नुहोस्
एक स्थान लेख्नका लागि प्रयोगकर्ताले ठेगाना EEAR मा र EER मा डाटा लेख्नुपर्दछ। यदि EEPMn बिट्स ० बी १० छ भने EEPE लेख्ने (EEMPE लेखे पछि चार चक्र भित्र) लेख्ने कार्यलाई मात्र ट्रिगर गर्दछ (कार्यक्रम समय दिइन्छ। पृष्ठ २१ मा तालिका page-१)। EEPE बिट लेखन अपरेसन पूरा नभएसम्म सेट रहन्छ। यदि लेख्नु पर्ने स्थान लेख्नु भन्दा पहिले मेटिएको छैन भने, भण्डार गरिएको डाटा हराउनुपर्दछ। जब उपकरण प्रोग्रामिंगमा व्यस्त छ, यो कुनै पनि अन्य EEPROM कार्यहरू गर्न सम्भव छैन।
क्यालिब्रेटेड ऑसिलेटर EEPROM पहुँच समयको लागि प्रयोग गरिन्छ। निश्चित गर्नुहोस् कि Oscillator आवृत्ति वर्णन गरिएको आवश्यकता भित्र छ पृष्ठ on१ मा "OSCCAL - Oscillator क्यालिब्रेसन रजिस्टर".
निम्न कोड पूर्वampलेस एक विधानसभा र एक C समारोह मेटाउन, लेख्न, वा EEPROM को परमाणु लेख्न को लागी देखाउनुहोस्। पूर्वamples मानिन्छ कि अवरोधहरु लाई नियन्त्रण गरीन्छ (उदाहरण को लागी, विश्वव्यापी रुकावटहरु लाई अक्षम गरेर) ताकि कुनै बाधाहरु यी कार्यहरु को कार्यान्वयन को दौरान घटित हुनेछ।
विधानसभा कोड पूर्वample |
EEPROM_writ:
; अघिल्लो लेखन पूरा गर्न को लागी प्रतीक्षा गर्नुहोस् sbic EECR, EEPE rjmp EEPROM_write ; प्रोग्रामिंग मोड सेट गर्नुहोस् ldi r16, (0<<EEPM1)|(0<<EEPM0) EECR, R16 बाहिर ; ठेगाना रेजिस्टरमा ठेगाना (r18: r17) सेट अप गर्नुहोस् EEARH, r18 बाहिर EEARL बाहिर, r17 ; डाटा रेजिस्टरमा डाटा (r19) लेख्नुहोस् EEDR, r19 बाहिर ; EEMPE मा तार्किक लेख्नुहोस् sbi EECR, EEMPE ; EEPE EEPE सेट गरेर लेख्न सुरू गर्नुहोस् sbi EECR, EEPE ret |
सी कोड पूर्वample |
void EEPROM_write (अहस्ताक्षरित चार ucAddress, अहस्ताक्षरित चार ucData)
{ /* अघिल्लो लेख पूरा गर्न पर्खनुहोस् */ जबकि (EECR र (1< ; /* प्रोग्रामिङ मोड सेट गर्नुहोस् */ EECR = (० < / * ठेगाना र डाटा रेजिस्टरहरू सेट अप गर्नुहोस् * / EEAR = ucAdress; EEDR = ucData; /* EEMPE मा तार्किक एक लेख्नुहोस् */ EECR | = (१ < / * EEPE * / EEPE सेट गरेर eeprom लेखन सुरू गर्नुहोस् EECR | = (१ < } |
अर्को कोड पूर्वamples EEPROM पढ्न को लागी विधानसभा र सी प्रकार्यहरु देखाउनुहोस्। पूर्वamples मानिन्छ कि अवरोधहरु लाई नियन्त्रण गरीन्छ ताकि कुनै अवरोध यी कार्यहरु को कार्यान्वयन को दौरान घटित हुनेछ।
विधानसभा कोड पूर्वample |
EEPROM_read:
; अघिल्लो लेखन पूरा गर्न को लागी प्रतीक्षा गर्नुहोस् sbic EECR, EEPE rjmp EEPROM_read ; ठेगाना रेजिस्टरमा ठेगाना (r18: r17) सेट अप गर्नुहोस् EEARH, r18 बाहिर EEARL बाहिर, r17 ; EEE EEE लेखेर पढ्न सुरु गर्नुहोस् sbi EECR, EERE ; डाटा रेजिस्टरबाट डाटा पढ्नुहोस् r16, EEDR मा ret |
सी कोड पूर्वample |
अहस्ताक्षरित चार EEPROM_read(अहस्ताक्षरित चार ucAddress)
{ / * अघिल्लो लेख पूरा गर्न को लागी प्रतीक्षा गर्नुहोस् * / जबकि (EECR & (१ < ; / * ठेगाना रेजिस्टर सेट अप गर्नुहोस् * / EEAR = ucAdress; /* EERE लेखेर eeprom पढ्न सुरु गर्नुहोस् */ EECR | = (१ < / * डाटा रजिस्टरबाट डाटा फिर्ता गर्नुहोस् * / EEDR फिर्ता; } |
EEPROM भ्रष्टाचार रोक्दै
कम VCC को अवधिमा, EEPROM डाटा भ्रष्ट हुन सक्छ किनभने आपूर्ति voltage सीपीयू र EEPROM लाई ठीकसंग संचालन गर्न को लागी धेरै कम छ। यी मुद्दाहरु EEPROM को प्रयोग गरी बोर्ड स्तर को सिस्टम को लागी उस्तै हो, र उहि डिजाइन समाधान लागू गरिनु पर्छ।
एक EEPROM डाटा भ्रष्टाचार दुई परिस्थितिहरु को कारण हुन सक्छ जब भोल्युमtagई धेरै कम छ। पहिलो, EEPROM को लागी एक नियमित लेख अनुक्रम एक न्यूनतम भोल्युम को आवश्यकता छtagई सही ढंगले सञ्चालन गर्न। दोस्रो, सीपीयू आफैं गलत तरिकाले निर्देशन कार्यान्वयन गर्न सक्दछ, यदि आपूर्ति भोल्युमtage धेरै कम छ।
EEPROM डाटा भ्रष्टाचार सजिलैसँग यो डिजाइन सिफारिसको पालनाबाट बच्न सकिन्छ:
AVR रीसेट सक्रिय (कम) अपर्याप्त बिजुली आपूर्ति भोल्युम को अवधि को दौरान राख्नुहोस्tagई। यो आन्तरिक ब्राउन आउट डिटेक्टर (BOD) सक्षम गरेर गर्न सकिन्छ। यदि आन्तरिक BOD को पहिचान स्तर मेल खाँदैन
आवश्यक पत्ता लगाउने स्तर, एक बाह्य कम VCC रिसेट सुरक्षा सर्किट प्रयोग गर्न सकिन्छ। यदि लेखन अपरेशन प्रगतिमा रहेको बेला रिसेट हुन्छ भने, पावर सप्लाई भोल्युममा लेख्ने कार्य पूरा हुनेछtagई पर्याप्त छ।
I / O मेमोरी
ATtiny25 / 45/85 को I / O ठाउँ परिभाषा मा देखाइएको छ पृष्ठ २०० मा "सारांश दर्ता गर्नुहोस्".
सबै एटीनि २25 / / 45 / I per I / Os र बाह्य उपकरणों I / O अन्तरिक्षमा राखिन्छ। सबै I / O स्थानहरू LD / LDS / LDD र ST / STS / STD निर्देशनहरू द्वारा पहुँच गर्न सकिन्छ, general२ सामान्य उद्देश्य कार्य रेजिस्टरहरू र I / O ठाउँ बिच डाटा हस्तान्तरण गर्दै। I / O रेजिष्टर्स ठेगाना दायरा ०x85 - ०x१F भित्र सिट बिट-एक्सेसिबल हुन्छ एसबीआई र सीबीआई निर्देशनहरू प्रयोग गरेर। यी रेजिस्टरहरूमा, एकल बिट्सको मान SBIS र SBIC निर्देशनहरू प्रयोग गरेर जाँच गर्न सकिन्छ। अधिक विवरणहरूको लागि निर्देशन सेट सेक्सन हेर्नुहोस्। जब I / O विशिष्ट आदेशहरू IN र OUT प्रयोग गर्दछ, I / O ठेगानाहरू 32x0 - 00x0F प्रयोग गर्नुपर्दछ। जब I / O रेजिस्टरहरूलाई LD र ST निर्देशनहरू प्रयोग गरेर डाटा स्पेसको रूपमा सम्बोधन गर्नुहुन्छ, ०x1 यी ठेगानाहरूमा थप्न आवश्यक छ।
भविष्यका उपकरणहरूसँग उपयुक्तताको लागि, आरक्षित बिट्स शून्यमा लेख्नुपर्नेछ यदि पहुँच गरियो भने। आरक्षित I / O मेमोरी ठेगानाहरू कहिले पनि लेख्नु हुँदैन।
केहि स्थिति झण्डा तिनीहरूलाई एक तार्किक लेखेर खाली गरियो। नोट गर्नुहोस् कि सीबीआई र एसबीआई निर्देशनहरू केवल निर्दिष्ट बिटमा मात्र काम गर्दछ, र त्यसैले यस्तो स्थिति झण्डा रेजिस्टरहरूमा प्रयोग गर्न सकिन्छ। सीबीआई र एसबीआई निर्देशनहरू 0x00 देखि 0x1F मात्र रेजिस्टरहरूसँग काम गर्दछन्।
I / O र परिधीय नियन्त्रण रेजिस्टरहरू पछिल्ला सेक्सनमा वर्णन गरिएको छ।
विवरण दर्ता गर्नुहोस्
EEARH - EEPROM ठेगाना रजिस्टर
बिट | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x1F | – | – | – | – | – | – | – | EEAR8 | कान |
पढ्नुहोस्/लेख्नुहोस् | R | R | R | R | R | R | R | R/W | |
प्रारम्भिक मान | 0 | 0 | 0 | 0 | 0 | 0 | 0 | X/0 |
बिट्स:: १ - रिजर्भ: आरक्षित बिट्स
यी बिट्स भविष्य प्रयोगको लागि आरक्षित छन् र जहिले शून्यको रूपमा पढ्नेछ।
बिट्स ० - EEAR0: EEPROM ठेगाना
यो ATTiny85 को सबै भन्दा महत्वपूर्ण EEPROM ठेगाना बिट हो। कम EEPROM भएका उपकरणहरूमा, जस्तै ATtiny25 / ATtiny45, यो बिट आरक्षित छ र सँधै शून्य पढ्नेछ। EEPROM ठेगाना Regis- (EEAR) को प्रारम्भिक मूल्य अपरिभाषित हो र एक उचित मान यसैले EEPROM पहुँच गर्नु अघि लेख्नु पर्छ।
EEARL - EEPROM ठेगाना रजिस्टर
बिट
0x1E | EEAR7 | EEAR6 | EEAR5 | EEAR4 | EEAR3 | EEAR2 | EEAR1 | EEAR0 | EEARL |
पछाडि / लेख्नुहोस् | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
प्रारम्भिक मान | X | X | X | X | X | X | X | X |
Bit 7 - EEAR7: EEPROM ठेगाना
यो ATTiny45 को सब भन्दा महत्वपूर्ण EEPROM ठेगाना बिट हो। कम EEPROM भएका उपकरणहरूमा, जस्तै ATtiny25, यो बिट आरक्षित छ र सँधै शून्य पढ्नेछ। EEPROM ठेगाना रजिस्टरको प्रारम्भिक मान (EEAR) अपरिभाषित हो र एक उचित मान त्यसैले EEPROM पहुँच गर्नु अघि लेख्नुपर्नेछ।
बिट्स:: ० - EEAR [:: ०]: EEPROM ठेगाना
यी EEPROM ठेगाना रेजिस्टरको (कम) बिट्स हुन्। EEPROM डाटा बाइट्स दायरा ० ... (१२ 0 / २128 / 256१२-१) मा लाइनर सम्बोधन गरिएको छ। EEAR को प्रारम्भिक मूल्य अपरिभाषित हो र एक उचित मान EEPROM पहुँच गर्न सक्नु अघि लेख्नु पर्छ।
EEDR - EEPROM डाटा रजिस्टर
बिट | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x1D | EEDR7 | EEDR6 | EEDR5 | EEDR4 | EEDR3 | EEDR2 | EEDR1 | EEDR0 | EEDR |
पढ्नुहोस्/लेख्नुहोस् | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
प्रारम्भिक मान | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
EEPROM लेखन अपरेशनको लागि EEDR रेजिस्टरले EEP रेजिष्टरले EEAR रेजिष्टरद्वारा दिइएको ठेगानामा EEPROM मा लेख्नु पर्ने डाटा समावेश गर्दछ। EEPROM पढ्ने अपरेशनको लागि, EEDR मा डाटा पढ्दछ
EEPROM EEAR द्वारा दिइएको ठेगानामा।
.5.5.4..XNUMX. E EECR - EEPROM नियन्त्रण रेजिस्टर |
|||||||||
Bit 7 6 5 | 4 | 3 | 2 | 1 | 0 | ||||
०x१ सी – | – | EEPM1 | EEPM0 | EERIE | EEMPE | EEPE | EERE | EECR | |
पढ्नुहोस् / लेख्नुहोस् R R / W | R/W | R/W | R/W | R/W | R/W | ||||
प्रारम्भिक मान ० ० एक्स | X | 0 | 0 | X | 0 |
Bit 7 - Res: आरक्षित बिट
यो बिट भविष्य प्रयोगको लागि आरक्षित छ र ATTiny0 / 25/45 मा सँधै 85 को रूपमा पढ्ने छ। भविष्यको AVR उपकरणहरूसँग उपयुक्तताको लागि, यो बिटलाई शून्यमा लेख्नुहोस्। पढिसकेपछि, यस बिटलाई मास्क गर्नुहोस्।
Bit 6 - Res: आरक्षित बिट
यो बिट एटिटिनी २ / / 25 45 /। 85 मा सुरक्षित छ र जहिले शून्यको रूपमा पढ्नेछ
बिट्स:: - - EEPM [१: ०]: EEPROM प्रोग्रामिंग मोड बिट्स
EEPROM प्रोग्रामि mode मोड बिट्स सेटिंगले कुन प्रोग्रामिंग कार्य परिभाषित गर्दछ जब ट्रिगर हुन्छ EEPE लेखन गर्दा। एक आणविक अपरेशनमा डाटा प्रोग्राम गर्न (पुरानो मान र नयाँ मान प्रोग्राम मिल्छ) वा Erase र Writing अपरेसन दुई फरक अपरेशनहरूमा विभाजन गर्न सम्भव छ। विभिन्न मोडहरूका लागि प्रोग्रामिंग समयहरू देखाइएको छ तालिका ४-१। जबकि EEPE सेट गरिएको छ, EEPMn मा कुनै लेख बेवास्ता गरिनेछ। रिसेटको बखत, EEPMn बिट्स ०b0 मा रिसेट हुनेछ जब सम्म EEPROM व्यस्त प्रोग्रामिंगमा छैन।
तालिका ५-१। EEPROM मोड बिट्स
EEPM1 | EEPM0 | प्रोग्रामिंग समय | सञ्चालन |
0 | 0 | ८ ms | मेट्नुहोस् र एउटा अपरेशनमा लेख्नुहोस् (आणविक अपरेशन) |
0 | 1 | ८ ms | केवल मेट्ने |
1 | 0 | ८ ms | मात्र लेख्नुहोस् |
1 | 1 | – | भविष्यको प्रयोगको लागि आरक्षित |
बिट - - EERIE: EEPROM तैयार अवरोध सक्षम
एकलाई EERIE लेख्दा EEPROM रेड इन्टरप्ट सक्षम गर्दछ यदि SREG मा I-बिट सेट गरिएको छ। EERIE लेख्न शून्य असक्षम गर्न अवरोध। EEPROM रेडी अवरोध एक स्थिर अवरोध उत्पन्न गर्दछ जब गैर-वाष्पशील मेमोरी प्रोग्रामिंगको लागि तयार हुन्छ।
Bit 2 - EEMPE: EEPROM मास्टर प्रोग्राम सक्षम गर्नुहोस्
EEMPE बिटले निर्धारण गर्दछ कि EEPE लाई लेख्दा प्रभाव पार्छ वा हुँदैन।
जब EEMPE सेट हुन्छ, EEPE चार घडी चक्र भित्र सेटिंग EEPROM चयनित ठेगानामा कार्यक्रम गर्दछ। यदि EEMPE शून्य छ भने, EEPE सेटिंग्सले कुनै प्रभाव पार्ने छैन। जब EEMPE एक सफ्टवेयर द्वारा लेखिएको छ, हार्डवेयरले चार घडी चक्र पछि बिट शून्य खाली गर्दछ।
बिट १ - EEPE: EEPROM कार्यक्रम सक्षम
EEPROM कार्यक्रम EEPROM को लागी सिग्नल EEPE प्रोग्रामिंग सक्षम संकेत हो सक्षम गर्नुहोस्। जब EEPE लेखिएको छ, EEPROM EEPMn बिट्स सेटिंग अनुसार प्रोग्राम हुनेछ। EEMPE बिट एक मा लेख्नु पर्छ यो तार्किक EEPE मा लेख्नु अघि, अन्यथा कुनै EEPROM लेखन लिदैन। जब लेखन पहुँच समय बितिसकेको छ, EEPE बिट हार्डवेयर द्वारा खाली गरियो। जब EEPE सेट गरिएको छ, अर्को निर्देशन कार्यान्वयन हुनुभन्दा अघि CPU दुई चक्रको लागि रोकिन्छ।
बिट ० - EERE: EEPROM पढ्ने सक्षम
EEPROM पढ्नुहोस् सिग्नल सक्षम गर्नुहोस् - EERE - EEPROM लाई पढ्ने स्ट्रोब हो। जब सही ठेगाना EEAR रेजिस्टरमा सेट अप हुन्छ, EEE बिट एक EEPROM पढ्न ट्रिगर गर्न लेख्नु पर्छ। EEPROM पढ्ने पहुँच एक निर्देशन लिन्छ, र अनुरोधित डाटा तुरून्त उपलब्ध हुन्छ। जब EEPROM पढिन्छ, सीपीयु चार चक्रको लागि रोकिन्छ अर्को निर्देशन कार्यान्वयन हुनुभन्दा पहिले। पठन अपरेसन सुरु गर्नु अघि प्रयोगकर्ताले EEPE बिट पोल गर्नुपर्छ। यदि लेखन कार्य प्रगतिमा छ भने, यो EEPROM पढ्न सम्भव छैन, न EEAR रेजिस्टर परिवर्तन गर्न।
प्रणाली घडी र घडी विकल्पहरू
घडी प्रणालीहरू र उनीहरूको वितरण
सीपीयू घडी
सीपीयू घडी AVR कोर को संचालन संग सम्बन्धित प्रणाली को भागहरु को लागी पठाईएको छ। पूर्वampयस्ता मोडलहरु को सामान्य उद्देश्य रजिस्टर हो File, स्थिति दर्ता र स्ट्याक सूचक समातेर डाटा मेमोरी। सीपीयू घडी रोक्न सामान्य संचालन र गणना प्रदर्शन बाट कोर बाधा।
I / O घडी - clkI / O
I / O घडी I / O मोड्युलहरू, टाइमर / काउन्टर जस्तै बहुमतद्वारा प्रयोग गरिन्छ। I / O घडी बाह्य रुकावट मोड्युलले पनि प्रयोग गर्दछ, तर ध्यान दिनुहोस् कि केहि बाह्य रुकावटहरू एसिन्क्रोनस तर्क द्वारा पत्ता लगाइन्छन्, त्यस्ता रुकावटहरू पत्ता लगाउनको लागि I / O घडी रोकिएको छ भने पनि।
फ्ल्यास घडी - clkFLASH
फ्ल्यास घडीले फ्ल्यास ईन्टरफेसको अपरेशन नियन्त्रण गर्दछ। फ्ल्यास घडी सामान्यतया सीपीयू घडीको साथ सक्रिय हुन्छ।
एडीसी घडी - clkADC
एडीसी एक समर्पित घडी डोमेनको साथ प्रदान गरीएको छ। यसले डिजिटल सर्किटरी द्वारा उत्पन्न आवाज कम गर्न CPU र I / O घडी रोक्ने अनुमति दिन्छ। यसले अधिक सटीक एडीसी रूपान्तरण परिणाम दिन्छ।
द्रुत परिधीय घडी उत्पादनको लागि आन्तरिक PLL - clkPCK
ATtiny25 / 45/85 मा आन्तरिक PLL एक घडी आवृत्ति उत्पन्न गर्दछ जुन स्रोत इनपुटबाट। गुणा गुणा हुन्छ। पूर्वनिर्धारित द्वारा, PLL स्रोतको रूपमा आन्तरिक, .8.० मेगाहर्ट्ज आरसी थरथरिकाको आउटपुट प्रयोग गर्दछ। वैकल्पिक रूपमा, यदि PLLCSR को बिट LSM सेट गरिएको छ भने PLL ले दुई विभाजित RC oscillator को आउटपुट प्रयोग गर्दछ। यस प्रकार PLL को आउटपुट, द्रुत परिधीय घडी M 8.0 मेगाहर्ट्ज हो। द्रुत परिधीय घडी, वा यसबाट घडीएको घडी, टाइमर / काउन्टर 64 को लागि घडी स्रोतको रूपमा वा प्रणाली घडीको रूपमा चयन गर्न सकिन्छ। हेर्नुहोस् चित्र ३-२। PLLCSR को LSM सेट गर्दा फास्ट पेरिफेरल घडीको फ्रिक्वेन्सीलाई दुईले विभाजन गरिन्छ, जसको परिणामस्वरूप 32 मेगाहर्ट्जको घडी आवृत्ति हुन्छ। नोट गर्नुहोस्, यदि PLLCLK प्रणाली घडीको रूपमा प्रयोग गरिन्छ भने LSM सेट गर्न सकिँदैन।
चित्र 6-2। PCK घडी प्रणाली।
PLL RC थरथरमा लक गरिएको छ र OSCAL रेजिस्टर मार्फत RC oscillator समायोजनले द्रुत परिधीय घडी एकै समयमा समायोजन गर्दछ। जहाँसम्म, आरसी ओसिलेटरलाई 8 मेगाहर्ट्झ भन्दा बढि फ्रिक्वेन्सीमा लगियो भने पनि द्रुत परिधीय घडी फ्रिक्वेन्सी MH मेगाहर्ट्जमा खराब हुन्छ (खराब अवस्था) र अधिकतम फ्रिक्वेन्सीमा दोहोरो रहन्छ। यो ध्यान दिनुपर्दछ कि यस अवस्थामा PLL अब उप्रान्त आरसी थरथर घडी संग लक गरिएको छैन। त्यसकारण, यो सिफारिश गरिएको छ कि OSCAL समायोजनहरू frequency मेगाहर्ट्ज भन्दा बढि फ्रिक्वेन्सीमा लिनुहुन्न PLL सही अपरेटिंग दायरामा राख्नका लागि।
आन्तरिक PLL सक्षम पारिएको छ जब:
पीएलएलई बिट रेजिस्टरमा PLLCSR सेट गरिएको छ।
CKSEL फ्यूज '0001' मा प्रोग्राम गरिएको छ।
CKSEL फ्यूज '0011' मा प्रोग्राम गरिएको छ।
PLL लक हुँदा PLLCSR बिट PLOCK सेट हुन्छ। दुबै आन्तरिक RC ओसिलेटर र PLL पावर डाउन र स्ट्यान्ड-बाई स्लीप मोडहरूमा स्विच अफ हुन्छन्।
ATtiny15 अनुकूलता मोडमा आन्तरिक PLL
किनकि ATtiny25 / 45/85 ATtiny15 प्रयोगकर्ताहरूको लागि माइग्रेसन उपकरण हो त्यहाँ पछाडि वार्ड अनुकूलताको लागि एक ATtiny15 अनुकूलता मोड छ। ATtiny15 अनुकूलता मोड CKSEL फ्यूज '००११' लाई प्रोग्रामिंग गरेर चयन गरिएको छ।
एटिटिनी १ comp अनुकूलता मोडमा आन्तरिक आरसी ओसिलेटरको फ्रिक्वेन्सी down..15 मेगाहर्ट्जमा क्यालिब्रेट गरिएको छ र पीएलएलको गुणन गुणन xx मा सेट गरिएको छ। हेर्नुहोस् चित्र ३-२। यी समायोजनहरूका साथ क्लकिocking प्रणाली एटिनि १ - अनुकूल छ र परिणामस्वरूप द्रुत परिधीय घडी २ a..15 मेगाहर्ट्जको फ्रिक्वेन्सी (एटीनी १25.6 मा जस्तै) हो।
चित्र 6-3। ATtiny15 अनुकूलता मोडमा PCK घडी प्रणाली।
घडी स्रोतहरू
उपकरणसँग निम्न घडी स्रोत विकल्पहरू छन्, फ्ल्यास फ्यूज बिट्स द्वारा चयन गरिएको तल देखाइएको जस्तो। चयन गरिएको स्रोतबाट घडी AVR घडी जेनरेटरमा आगत हो, र उपयुक्त मोड्युलहरूमा सारियो।
तालिका ६-१। उपकरण घडी विकल्पहरू चयन गर्नुहोस्
उपकरण क्लकिंग विकल्प | CKSEL [३:०](०३०३२५) |
बाह्य घडी (हेर्नुहोस् पृष्ठ 26) | 0000 |
उच्च फ्रिक्वेन्सी PLL घडी (हेर्नुहोस् पृष्ठ 26) | 0001 |
क्यालिब्रेटेड ईन्टरनल ऑसिलेटर (हेर्नुहोस् पृष्ठ 27) | 0010(०३०३२५) |
क्यालिब्रेटेड ईन्टरनल ऑसिलेटर (हेर्नुहोस् पृष्ठ 27) | 0011(०३०३२५) |
आन्तरिक १२128 kHz ओसिलेटर (हेर्नुहोस् पृष्ठ 28) | 0100 |
कम आवृत्ति क्रिस्टल थरथरानवाला (हेर्नुहोस् पृष्ठ 29) | 0110 |
क्रिस्टल ओसिलेटर / सिरेमिक रेजोनेटर (हेर्नुहोस् पृष्ठ 29) | ० - ८ |
आरक्षित | १०, २०२३ |
सबै फ्यूजहरूको लागि "१" को अर्थ अनियमित हुन्छ, जबकि "०" भनेको प्रोग्राम गरिएको हो।
यो उपकरण चयनित यो विकल्पको साथ पठाइएको छ।
यसले ATtiny15 अनुकूलता मोड चयन गर्दछ, जहाँ प्रणाली घडी चार द्वारा विभाजित, एक १.1.6 मेगाहर्ट्ज घडी फ्रीक्वेंसी परिणामस्वरूप। थप ईन्रोमेसनका लागि हेर्नुहोस् पृष्ठ २ on मा "क्यालिब्रेटेड ईन्टरनल ओसीलेटर".
प्रत्येक क्लकिंग विकल्पका लागि बिभिन्न विकल्पहरू निम्न सेक्सनहरूमा दिइन्छ। जब सीपीयू पावर डाउनबाट उठ्छ, चयन गरिएको घडी स्रोत सुरूको समयको लागि प्रयोग गरिन्छ, निर्देशन कार्यान्वयन सुरु हुनुभन्दा पहिले स्थिर ओसिलेटर सञ्चालन सुनिश्चित गर्दछ। जब सीपीयू रिसेटबाट सुरू हुन्छ, त्यहाँ अतिरिक्त ढिलाइ हुन्छ पावरलाई स्थिर स्तरमा पुग्न सामान्य अपरेशन शुरू गर्नु अघि। वाचडग ओसिलेटर स्टार्ट-अप समयको यो वास्तविक-समय भागको लागि प्रयोग गरिन्छ। प्रत्येक टाइम-आउटको लागि प्रयोग गरिएको WDT Oscillator चक्रको संख्या भित्र देखाइएको छ तालिका ४-१.
तालिका ६-२। वाचडग ओसिलेटर साइकलहरूको संख्या
टाइप टाइम-आउट | साइकलहरूको संख्या |
८ ms | 512 |
८ ms | 8K (8,192) |
बाह्य घडी
बाह्य घडी स्रोतबाट उपकरण ड्राइभ गर्न, CLKI भित्र देखाइएको जस्तो ड्राइभ हुनुपर्दछ चित्र ३-२। बाह्य घडीमा उपकरण चलाउन, CKSEL फ्यूज प्रोग्राम गर्नु पर्छ "००"।
चित्र 6-4। बाह्य घडी ड्राइभ कन्फिगरेसन
जब यो घडी स्रोत छनौट गरिन्छ, स्टार्ट-अप समयहरू SUT फ्यूज द्वारा निर्धारित गरिए अनुसार देखाईएको छ तालिका ४-१.
तालिका ६-३। बाह्य घडी चयनको लागि स्टार्ट-अप समय
SUT [१:०] | पावर-डाउनबाट स्टार्ट-अप समय | रिसेटबाट थप ढिलाइ | सिफारिस गरिएको प्रयोग |
00 | 6 CK | २१14१C सीके | BOD सक्षम |
01 | 6 CK | १C सीके + ms एमएस | छिटो बढ्दो उर्जा |
10 | 6 CK | १C सीके + ms एमएस | बिस्तारै बढ्दो शक्ति |
11 | आरक्षित |
बाह्य घडी लागू गर्दा, MCU को स्थिर अपरेशन सुनिश्चित गर्न लागू गरिएको घडी फ्रिक्वेन्सीमा अचानक परिवर्तनहरू हटाउनु आवश्यक छ। एक घडी चक्रबाट अर्कोमा २% भन्दा बढि फ्रिक्वेन्सीमा भिन्नताले अप्रत्याशित व्यवहार गर्न सक्दछ। यो सुनिश्चित गर्न आवश्यक छ कि MCU लाई रिसेटमा राखिएको छ घडी फ्रिक्वेन्सीमा यस्तो परिवर्तनहरूको समयमा।
नोट गर्नुहोस् कि प्रणाली घडी प्रेसिले आन्तरिक घडी फ्रिक्वेन्सीको रन-टाइम परिवर्तनहरू कार्यान्वयन गर्न प्रयोग गर्न सकिन्छ जबकि स्थिर अपरेसन सुनिश्चित गर्दा। उल्लेख पृष्ठ on१ मा "सिस्टम क्लक प्रिस्केलर" विवरणहरूको लागि।
उच्च फ्रिक्वेन्सी PLL घडी
त्यहाँ एक आन्तरिक PLL छ जुन नाममात्र M 64 मेगाहर्ट्ज घडी दर प्रदान गर्दछ आरसी ओसिलेटरमा पेरिफेरल टाइमर / काउन्टर १ को उपयोग गर्न र प्रणाली घडी स्रोतको लागि। जब प्रणाली घडी स्रोतको रूपमा चयन गरिन्छ, CKSEL फ्यूजलाई '1' मा प्रोग्राम गरेर, यसलाई चारमा विभाजित गरिन्छ जस्तो देखिन्छ तालिका ४-१.
तालिका ६-४। उच्च आवृत्ति PLL घडी अपरेटिङ मोडहरू
CKSEL [३:०] | नाममात्र फ्रिक्वेन्सी |
0001 | ८६८.३ मेगाहर्ट्ज |
जब यो घडी स्रोत छनौट गरिन्छ, स्टार्ट-अप समयहरू SUT फ्यूजहरू द्वारा निर्धारित गरे अनुसार देखाइन्छ तालिका ४-१.
तालिका ६-५। उच्च आवृत्ति PLL घडीको लागि स्टार्ट-अप समय
SUT [१:०] | पावर डाउनबाट स्टार्ट-अप समय | पावर अन रिसेटबाट थप ढिलाइ (VCC = 5.0V) | सिफारिस गरिएको प्रयोग |
00 | १C सीके + १ के (१०२14) सीके + ms एमएस | ८ ms | BOD सक्षम |
तालिका ६-५। उच्च आवृत्ति PLL घडीको लागि स्टार्ट-अप समय
SUT [१:०] | पावर डाउनबाट स्टार्ट-अप समय | पावर अन रिसेटबाट थप ढिलाइ (VCC = 5.0V) | सिफारिस गरिएको प्रयोग |
01 | १C सीके + १ के (१०२14) सीके + ms एमएस | ८ ms | छिटो बढ्दो उर्जा |
10 | १C सीके + १ के (१०२14) सीके + ms एमएस | ८ ms | बिस्तारै बढ्दो शक्ति |
11 | १C सीके + १ के (१०२14) सीके + ms एमएस | ८ ms | बिस्तारै बढ्दो शक्ति |
क्यालिब्रेटेड ईन्टरनल ऑसिलेटर
पूर्वनिर्धारित द्वारा, आन्तरिक आर सी थरथरानवाला एक अनुमानित 8.0 मेगाहर्ट्ज घडी प्रदान गर्दछ। यद्यपि भोल्युमtagई र तापमान निर्भर, यो घडी धेरै सही प्रयोगकर्ता द्वारा क्यालिब्रेटेड हुन सक्छ। हेर्नुहोस् "क्यालिब्रेटेड ईन्टरनल आरसी ओसिलेटर Accu- पृष्ठभूमि १ ra164 मा racy " र पृष्ठ १ 192 on मा "आन्तरिक ओसीलेटर गति" थप विवरणहरूको लागि। उपकरण CKDIV8 फ्यूज प्रोग्राम सहितको शिप गरिएको छ। हेर्नुहोस् पृष्ठ on१ मा "सिस्टम क्लक प्रिस्केलर" थप विवरणहरूको लागि।
यस घडीलाई प्रणाली घडीको रूपमा चयन गर्न सकिन्छ CKSEL फ्यूजमा प्रोग्रामिंग द्वारा देखाइए अनुसार तालिका 6-6 पृष्ठमा
27। यदि चयन गरियो भने, यसले बाह्य कम्पोनेन्टहरू बिना काम गर्दछ। रिसेटको बखत, हार्डवेयरले पूर्व-प्रोग्राम गरिएको क्यालिब्रेशन मानलाई OSCCAL रेजिस्टरमा लोड गर्दछ र स्वचालित रूपमा आरसी ओसिलेटर क्यालिब्रेट गर्दछ। यस क्यालिब्रेसनको शुद्धता फ्याक्ट्री क्यालिब्रेसन इनको रूपमा देखाइएको छ पृष्ठ २१ मा तालिका page-१.
SW बाट OSCCAL रजिस्टर परिवर्तन गरेर, हेर्नुहोस् पृष्ठ on१ मा "OSCCAL - Oscillator क्यालिब्रेसन रजिस्टर", कारखाना क्यालिब्रेसन प्रयोग नगरी उच्च क्यालिब्रेसन शुद्धता प्राप्त गर्न सम्भव छ। यस क्यालिब्रेसनको शुद्धता मा प्रयोगकर्ता क्यालिब्रेसन को रूप मा देखाइएको छ पृष्ठ २१ मा तालिका page-१.
जब यो ओसिलेटर चिप घडीको रूपमा प्रयोग गरिन्छ, वाचडग ओसिलेटर अझै वाच वाच डग टाइमर र पुनःसेट समय-आउटको लागि प्रयोग हुनेछ। पूर्व-प्रोग्राम गरिएको क्यालिब्रेसन मानको बारेमा थप जानकारीको लागि, सेक्सन हेर्नुहोस् "काली- पृष्ठ १ 150० मा bration बाइट्स ".
आन्तरिक थरथरानवाला पनि 6.4..0011 मेगाहर्ट्ज घडी प्रदान गर्न सेट गर्न सकिन्छ CKSEL फ्यूज "००११" लेखेर, मा देखाइए जस्तै तालिका ४-१ तल यो सेटिंग ATtiny15 अनुकूलता मोड को रूप मा reffered छ र ATTiny6.4 मा जस्तै, 15 मेगाहर्ट्ज मा एक क्यालिब्रेट घडी स्रोत प्रदान गर्न को उद्देश्य हो। एटिनी १15 कम्प्याटिबिलिटी मोडमा पीएलएलले .6.4..25.6 मेगाहर्ट्जमा चल्दै रहेको आन्तरिक थरथर प्रयोग गर्दछ। "--बिट टाइमर / काउन्टर १ इन पृष्ठ on on मा ATtiny15 मोड ")। नोट गर्नुहोस् कि अपरेशनको यस मोडमा .6.4..1.6 मेगाहर्ट्ज घडी संकेत सँधै चारले विभाजन गर्दछ, १.XNUMX मेगाहर्ट्ज प्रणाली घडी प्रदान गर्दै।
तालिका ६-६। आन्तरिक क्यालिब्रेट आरसी ओसिलेटर अपरेटिङ मोडहरू
CKSEL [३:०] | नाममात्र फ्रिक्वेन्सी |
0010(०३०३२५) | ८६८.३ मेगाहर्ट्ज |
0011(०३०३२५) | ८६८.३ मेगाहर्ट्ज |
यो उपकरण चयनित यो विकल्पको साथ पठाइएको छ।
यो सेटिंगले ATtiny15 अनुकूलता मोड चयन गर्दछ, जहाँ प्रणाली घडी चार द्वारा विभाजित, एक १.1.6 मेगाहर्ट्ज घडी फ्रिक्वेन्सी परिणामस्वरूप।
जब क्यालिब्रेटेड M मेगाहर्ट्झ आन्तरिक थरथरिकालाई घडी स्रोतको रूपमा छनौट गरिन्छ स्टार्ट-अप समयहरू एसयूटी फ्यूजहरू द्वारा निर्धारण गरे अनुसार देखाइएको छ तालिका ४-१ तल।
तालिका ६-७। आन्तरिक क्यालिब्रेट आरसी ओसिलेटर घडीको लागि स्टार्ट-अप समय
SUT [१:०] | पावर-डाउनबाट स्टार्ट-अप समय | रिसेटबाट थप ढिलाइ (VCC = 5.0V) | सिफारिस गरिएको प्रयोग |
00 | 6 CK | २१14१C सीके(०३०३२५) | BOD सक्षम |
01 | 6 CK | १C सीके + ms एमएस | छिटो बढ्दो उर्जा |
10(०३०३२५) | 6 CK | १C सीके + ms एमएस | बिस्तारै बढ्दो शक्ति |
11 | आरक्षित |
१. यदि RSTDISBL फ्यूज प्रोग्राम गरिएको छ भने, यो स्टार्ट-अप समय बढाएर १CCC + ms एमएस गरिनेछ प्रोग्रामिंग मोड प्रविष्ट गर्न सकिन्छ भनेर सुनिश्चित गर्न।
२. उपकरण यस ढुवानीको साथ पठाइएको छ।
ATtiny15 अनुकूलता मोड सुरु-समय SUT फ्यूज द्वारा निर्धारित रूपमा मा देखाईएको छ तालिका ४-१ तल।
तालिका ६-८। आन्तरिक क्यालिब्रेट गरिएको RC ओसिलेटर घडीको लागि स्टार्ट-अप समय (ATtiny6 मोडमा)
SUT [१:०] | पावर-डाउनबाट स्टार्ट-अप समय | रिसेटबाट थप ढिलाइ (VCC = 5.0V) | सिफारिस गरिएको प्रयोग |
00 | 6 CK | १C सीके + ms एमएस | |
01 | 6 CK | १C सीके + ms एमएस | |
10 | 6 CK | १C सीके + ms एमएस | |
11 | 1 CK | २१14१C सीके(०३०३२५) |
नोट: यदि RSTDISBL फ्यूज प्रोग्राम गरिएको छ भने, यो स्टार्ट-अप समयलाई 14CK + 4 ms मा बढाइनेछ ताकि प्रोग्रामिङ मोड प्रविष्ट गर्न सकिन्छ।
सारांशमा, ATtiny15 अनुकूलता मोडमा अधिक जानकारी सेक्सनहरूमा फेला पार्न सकिन्छ "पोर्ट बी (PB5: PB0)" मा पृष्ठ 2, पृष्ठ २ 15 मा "ATtiny24 अनुकूलता मोडमा आन्तरिक PLL", "--बिट टाइमर / एटीटीनी १ Mode मोडमा काउन्टर १" अन पृष्ठ 95, पृष्ठ १ on० मा "डिबग वाइरियरको सीमितता", पृष्ठ १ 150० मा "क्यालिब्रेसन बाइट्स" र टेबलमा "घडी प्रिस्केलेर पृष्ठ on 33 मा "चयन गर्नुहोस्.
आन्तरिक १२128 kHz ओसिलेटर
128 kHz आन्तरिक ओसिलेटर एक कम पावर ओसिलेटर हो जसले 128 kHz को घडी प्रदान गर्दछ। फ्रिक्वेन्सी 3V र 25 डिग्री सेल्सियस मा नाममात्र छ। यो घडीलाई CKSEL फ्युजलाई "०१००" मा प्रोग्रामिङ गरेर प्रणाली घडीको रूपमा चयन गर्न सकिन्छ।
जब यो घडी स्रोत छनौट गरिन्छ, स्टार्ट-अप समयहरू SUT फ्यूज द्वारा निर्धारित गरिए अनुसार देखाईएको छ तालिका ४-१.
तालिका ६-९। 6 kHz आन्तरिक ओसिलेटरको लागि स्टार्ट-अप समय
SUT [१:०] | पावर-डाउनबाट स्टार्ट-अप समय | रिसेटबाट थप ढिलाइ | सिफारिस गरिएको प्रयोग |
00 | 6 CK | २१14१C सीके(०३०३२५) | BOD सक्षम |
01 | 6 CK | १C सीके + ms एमएस | छिटो बढ्दो उर्जा |
10 | 6 CK | १C सीके + ms एमएस | बिस्तारै बढ्दो शक्ति |
11 | आरक्षित |
नोट: यदि RSTDISBL फ्यूज प्रोग्राम गरिएको छ भने, यो स्टार्ट-अप समयलाई 14CK + 4 ms मा बढाइनेछ ताकि प्रोग्रामिङ मोड प्रविष्ट गर्न सकिन्छ।
कम आवृत्ति क्रिस्टल थरथरानवाला
उपकरणको लागि घडी स्रोतको रूपमा .32.768२..0110 k kHz वाच क्रिस्टल प्रयोग गर्न, कम-फ्रिक्वेन्सी क्रिस्टल ओसिलेटर CKSEL फ्यूज '०११' सेट गरेर चयन गर्नुपर्नेछ। क्रिस्टल जडान भएको हुनुपर्छ जस्तो देखाइएको छ चित्र ३-२। .32.768२..XNUMX k kHz क्रिसालका लागि उपयुक्त योग्य क्यापसिटान्स पाउन, कृपया निर्माताको डाटाशीटमा परामर्श लिनुहोस्।
जब यो ओसिलेटर चयन गरिन्छ, स्टार्ट-अप समयहरू SUT फ्यूजहरू द्वारा निर्धारण गरे जस्तो देखाइन्छ तालिका ४-१.
तालिका 6-10। कम फ्रिक्वेन्सी क्रिस्टल ओसिलेटर घडी चयनको लागि स्टार्ट-अप समय
SUT [१:०] | पावर डाउनबाट स्टार्ट-अप समय | रिसेटबाट थप ढिलाइ (VCC = 5.0V) | सिफारिस गरिएको प्रयोग |
00 | १K (१०२1) सीके(०३०३२५) | ८ ms | छिटो बढ्दो पावर वा BOD सक्षम |
01 | १K (१०२1) सीके(०३०३२५) | ८ ms | बिस्तारै बढ्दो शक्ति |
10 | १K (१०२32) सीके | ८ ms | स्टार्ट अपमा स्थिर आवृत्ति |
11 | आरक्षित |
नोट: यी विकल्पहरू स्टार्ट-अपमा फ्रिक्वेन्सी स्थिरता महत्त्वपूर्ण नभएमा मात्र प्रयोग गर्नुपर्छ।
कम फ्रिक्वेन्सी क्रिस्टल ओसिलेटरले एक आन्तरिक लोड समाई प्रदान गर्दछ, हेर्नुहोस् तालिका ४-१ प्रत्येक TOSC पिनमा।
तालिका ६-११। कम-फ्रिक्वेन्सी क्रिस्टल ओसिलेटरको क्षमता
यन्त्र | 32 kHz Osc। प्रकार | क्याप (Xtal1 / Tosc1) | क्याप (Xtal2 / Tosc2) |
ATtiny25 / 45/85 | प्रणाली Osc। | 16 pF | 6 pF |
क्रिस्टल ओसिलेटर / सिरेमिक रेजोनेटर
XTAL1 र XTAL2 इनपुट र आउटपुट, क्रमशः, एक inverting को हो amplifier जो एक मा चिप थरथरानवाला को रूप मा प्रयोग को लागी कन्फिगर गर्न सकिन्छ, मा देखाइएको छ चित्र ३-२। कि त क्वार्ट्ज क्रिस्टल वा सिरेमिक रेजोनेटर प्रयोग गर्न सकिन्छ।
C1 र C2 सधैं दुवै क्रिस्टल र रेजोनेटरहरूको लागि बराबर हुनुपर्छ। क्यापेसिटरहरूको इष्टतम मूल्य प्रयोगमा रहेको क्रिस्टल वा रेजोनेटर, स्ट्रे क्यापेसिटन्सको मात्रा, र वातावरणको विद्युत चुम्बकीय आवाजमा निर्भर गर्दछ। क्रिस्टलको साथ प्रयोगको लागि क्यापेसिटरहरू छनौट गर्नका लागि केही प्रारम्भिक दिशानिर्देशहरू दिइएका छन् तालिका ४-१ तल सिरेमिक रेजोनिटरहरूको लागि, निर्माताले दिएको क्याप्यासिटर मानहरू प्रयोग गर्नुपर्नेछ।
तालिका ६-१२। क्रिस्टल ओसिलेटर अपरेटिङ मोडहरू
CKSEL [३:०] | आवृत्ति दायरा (मेगाहर्ट्ज) | क्रिस्टल (pF) को साथ प्रयोगको लागि क्याप्यासिटर C1 र C2 का लागि सिफारिश दायरा। |
100(०३०३२५) | ० - ८ | – |
101 | ० - ८ | ० - ८ |
110 | ० - ८ | ० - ८ |
111 | १६ - | ० - ८ |
नोट: यो विकल्प क्रिस्टलको साथ प्रयोग गर्नु हुँदैन, केवल सिरेमिक रेजोनेटरहरूसँग।
Oscillator तीन अलग मोडमा संचालन गर्न सक्दछ, प्रत्येक एक निश्चित आवृत्ति दायरा को लागी अनुकूलित। अपरेटिंग मोड फ्यूज CKSEL द्वारा चयन गरिएको छ [3: १] मा देखाइएको अनुसार तालिका ४-१.
CKSEL0 फ्यूज SUT सँग मिलेर [१: ०] फ्यूजले स्टार्ट-अप समय चयन गर्दछ तालिका ४-१.
तालिका ६-१३। क्रिस्टल ओसिलेटर घडी चयनको लागि स्टार्ट-अप समय
CKSEL0 | SUT [१:०] | पावर-डाउनबाट स्टार्ट-अप समय | रिसेटबाट थप ढिलाइ | सिफारिस गरिएको प्रयोग |
0 | 00 | 258 CK(०३०३२५) | १C सीके + ms एमएस | सिरेमिक रेजोनेटर, छिटो बढ्दो पावर |
0 | 01 | 258 CK(०३०३२५) | १C सीके + ms एमएस | सिरेमिक रेजोनेटर, बिस्तारै बढ्दो पावर |
0 | 10 | १K (१०२1) सीके(०३०३२५) | २१14१C सीके | सिरेमिक रेजोनेटर, BOD सक्षम |
0 | 11 | १K (१०२1) सीके(०३०३२५) | १C सीके + ms एमएस | सिरेमिक रेजोनेटर, छिटो बढ्दो पावर |
1 | 00 | १K (१०२1) सीके(०३०३२५) | १C सीके + ms एमएस | सिरेमिक रेजोनेटर, बिस्तारै बढ्दो पावर |
1 | 01 | १K (१०२16) सीके | २१14१C सीके | क्रिस्टल ओसिलेटर, BOD सक्षम |
1 | 10 | १K (१०२16) सीके | १C सीके + ms एमएस | क्रिस्टल ओसिलेटर, छिटो उठ्दो शक्ति |
1 | 11 | १K (१०२16) सीके | १C सीके + ms एमएस | क्रिस्टल Oscillator, बिस्तारै बढ्दो शक्ति |
नोटहरू
यी विकल्पहरू केवल तब प्रयोग गर्नुपर्नेछ जब उपकरणको अधिकतम फ्रिक्वेन्सीको नजिक अपरेटिंग हुँदैन, र मात्र यदि स्टार्ट-अपमा फ्रिक्वेन्सी स्थिरता अनुप्रयोगको लागि महत्त्वपूर्ण छैन। यी विकल्पहरू क्रिस्टलको लागि उपयुक्त छैनन्।
यी विकल्पहरू सिरेमिक रेजोनेटरहरूसँग प्रयोगको लागि हुन् र स्टार्ट-अपमा फ्रिक्वेन्सी स्थिरता सुनिश्चित गर्दछ। तिनीहरू क्रिस्टलको साथ पनि प्रयोग गर्न सक्दछन् जब उपकरणको अधिकतम फ्रिक्वेन्सीको नजिक अपरेटिंग हुँदैन, र यदि स्टार्ट-अपमा फ्रिक्वेन्सी स्थिरता अनुप्रयोगको लागि महत्त्वपूर्ण छैन।
पूर्वनिर्धारित घडी स्रोत
उपकरण CKSEL = "0010", SUT = "10", र CKDIV8 क्रमादेशित संग पठाइएको छ। पूर्वनिर्धारित घडी स्रोत सेटि therefore यसैले आन्तरिक आरसी थरथरानवाला हो सबैभन्दा लामो शुरुवात समय र initial को एक प्रारम्भिक प्रणाली घडी prescaling संग M मेगाहर्ट्ज मा चलिरहेको छ, १.० मेगाहर्ट्ज प्रणाली घडी को परिणामस्वरूप। यो पूर्वनिर्धारित सेटि all सुनिश्चित गर्दछ कि सबै प्रयोगकर्ताहरु एक इन-सिस्टम वा उच्च-भोल्युम को उपयोग गरी आफ्नो इच्छित घडी स्रोत सेटिंग बनाउन सक्छन्tagई प्रोग्रामर।
प्रणाली घडी प्रिस्केलेर
एटीटिनी २ / / / 25 / system 45 प्रणाली घडी सेट गरेर विभाजित गर्न सकिन्छ पृष्ठ on२ मा "सीएलकेपीआर - क्लक प्रेसकेल रजिस्टर"। यो सुविधा बिजुली खपत घटाउन प्रयोग गर्न सकिन्छ जब प्रशोधन शक्ति को आवश्यकता कम छ। यो सबै घडी स्रोत विकल्पहरूसँग प्रयोग गर्न सकिन्छ, र यसले CPU र सबै सिंक्रोनस बाह्य उपकरणहरूको घडी आवृत्तिलाई असर गर्नेछ। clkI/O, clkADC, clkCPU, र clkFLASH लाई कारकद्वारा विभाजित गरिएको छ जसमा देखाइएको छ। पृष्ठ २१ मा तालिका page-१.
स्विच गर्ने समय
प्रिस्केलर सेटिंग्स बीच स्विच गर्दा, सिस्टम क्लक प्रिस्केलरले यो सुनिश्चित गर्दछ कि घडी प्रणालीमा कुनै ग्लिचहरू देखा पर्दैन र कुनै मध्यवर्ती आवृत्ति न त अघिल्लो सेटिंगसँग मिल्दो घडी फ्रिक्वेन्सी, न नयाँ सेटिंग अनुरूप घडी फ्रिक्वेन्सी भन्दा बढि छ।
रिपल काउन्टर जसले प्रिस्केलर लागू गर्दछ अविभाजित घडीको आवृत्तिमा चल्छ, जुन सीपीयूको घडी फ्रिक्वेन्सी भन्दा छिटो हुन सक्छ। तसर्थ, यो प्रिस्केलरको स्थिति निर्धारण गर्न सम्भव छैन - यो पढ्नयोग्य भए पनि, र एक घडी डिभिजनबाट अर्कोमा स्विच गर्न लाग्ने ठ्याक्कै समयको पनि पूर्वानुमान गर्न सकिदैन।
सीएलकेपीएस मानहरू लेखिएको समयदेखि, यो नयाँ घडी फ्रिक्वेन्सी सक्रिय हुनु अघि T1 + T2 र T1 + 2 * T2 बीच लिन्छ। यस अन्तरालमा, २ सक्रिय घडी किनाराहरू उत्पादन गरिन्छ। यहाँ, T2 अघिल्लो घडी अवधि हो, र T1 नयाँ प्रिस्केलर सेटिंग अनुरूप अवधि हो।
घडी आउटपुट बफर
उपकरणले सिस्टम क्लकलाई CLKO पिनमा आउटपुट गर्न सक्दछ (जब XTAL2 पिनको रूपमा प्रयोग नगरिए) आउटपुट सक्षम गर्न, CKOUT फ्यूज प्रोग्राम गर्नु पर्छ। यो मोड उपयुक्त छ जब चिप घडी प्रणालीमा अन्य सर्किट ड्राइभ गर्न प्रयोग गरिन्छ। नोट गर्नुहोस् कि घडी रिसेटको बखत आउटपुट हुँदैन र फ्यूज प्रोग्राम गरिएको बेला I / O पिनको सामान्य अपरेसन अधिलेखन हुनेछ। आन्तरिक आरसी ओसिलेटर, डब्ल्यूडीटी ओसिलेटर, पीएलएल, र बाह्य घडी (सीएलकेआई) चयन गर्न सकिन्छ जब घडी CLKO मा आउटपुट हुन्छ। क्रिस्टल थरथराहरू (XTAL1, XTAL2) CLKO मा घडी आउटपुटको लागि प्रयोग गर्न सकिँदैन। यदि प्रणाली घडी प्रिस्केलर प्रयोग गरिएको छ भने, यो विभाजित प्रणाली घडी हो जुन आउटपुट हो।
विवरण दर्ता गर्नुहोस्
OSCCAL - Oscillator क्यालिब्रेसन रजिस्टर
बिट | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
८x४० | CAL7 | CAL6 | CAL5 | CAL4 | CAL3 | CAL2 | CAL1 | CAL0 | OSCCAL |
पढ्नुहोस्/लेख्नुहोस् | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W |
बिट्स:: ० - CAL [:: ०]: Oscillator क्यालिब्रेसन मान
ओसिलेटर क्यालिब्रेसन रेजिस्टरलाई क्यालिब्रेटेड ईन्टरनल आरसी ओसिलेटर ट्रिम गर्न प्रयोग गरीन्छ ओसिलेटर फ्रिक्वेन्सीबाट प्रक्रिया भिन्नता हटाउन। पूर्व-प्रोग्राम गरिएको क्यालिब्रेसन मान स्वत: चिप रिसेटको बखत यस रेजिस्टरमा लेखिन्छ, फ्याक्ट्री क्यालिब्रेट फ्रिक्वेन्सी निर्दिष्टमा पृष्ठ २१ मा तालिका page-१। एप्लिकेसन सफ्टवेयरले यस रेजिस्टर लेख्न सक्दछ oscillator आवृत्ति परिवर्तन गर्नका लागि। ओसीलेटर फ्रिक्वेन्सीमा निर्दिष्ट गरिएको रूपमा क्यालिब्रेट गर्न सकिन्छ पृष्ठ २१ मा तालिका page-१। त्यो दायरा बाहिर क्यालिब्रेशन ग्यारेन्टी छैन।
नोट गर्नुहोस् कि यस ओसिलेटर EEPROM र फ्ल्यास लेख्ने पहुँचको लागि प्रयोग गरिएको थियो, र यी लेख्ने समयहरू तदनुसार प्रभावित हुनेछन्। यदि EEPROM वा फ्ल्यास लेखिएको छ भने 8.8..XNUMX मेगाहर्ट्ज भन्दा बढी क्यालिब्रेट नगर्नुहोस्। अन्यथा, EEPROM वा फ्ल्यास लेख असफल हुन सक्छ।
CAL7 बिट ओसिलेटरको लागी अपरेशनको दायरा निर्धारण गर्दछ। ० लाई यस बिट सेट गर्नाले सबैभन्दा कम फ्रिक्वेन्सी रेंज दिन्छ, १ लाई यो बिट सेट गर्नाले उच्च आवृत्ति दायरा दिन्छ। दुई फ्रिक्वेन्सी दायरा ओभरल्यापि are हुँदै छन्, अर्को शब्दमा OSCCAL = 0x1F को एक सेटिंगले OSCCAL = 0x7 भन्दा उच्च फ्रिक्वेन्सी दिन्छ।
CAL [:: ०] बिट्स चयन गरिएको दायरा भित्र फ्रिक्वेन्सी ट्यून गर्न प्रयोग गरिन्छ। 6x0 को सेटिंगले त्यो दायरामा सबैभन्दा कम फ्रिक्वेन्सी दिन्छ, र ०x0F को सेटिंगले दायरामा सब भन्दा बढी फ्रिक्वेन्सी दिन्छ।
MCU को स्थिर अपरेशन सुनिश्चित गर्न क्यालिब्रेसन मान सानोमा परिवर्तन गर्नुपर्दछ। एक चक्रबाट अर्कोमा २% भन्दा बढि फ्रिक्वेन्सीमा भिन्नताले अप्रत्याशित व्यवहार गर्न सक्दछ। प्रत्येक क्यालिब्रेसनको लागि ओएससीसीएलमा परिवर्तन ०x२० भन्दा बढि हुनुहुन्न। यो सुनिश्चित गर्न आवश्यक छ कि MCU लाई रिसेटमा राखिएको छ घडी फ्रिक्वेन्सीमा यस्तो परिवर्तनहरूको समयमा
तालिका ६-१४। आन्तरिक RC ओसिलेटर आवृत्ति दायरा
OSCCAL मान | नाममात्र फ्रिक्वेन्सीको सम्मानका साथ विशिष्ट न्यूनतम फ्रिक्वेन्सी | नाममात्र फ्रिक्वेन्सीको सम्मानका साथ विशिष्ट उच्चतम फ्रिक्वेन्सी |
८x४० | ८६% | ८६% |
0x3F | ८६% | ८६% |
0x7F | ८६% | ८६% |
CLKPR - घडी प्रिस्केल रजिस्टर
बिट | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
८x४० | सीएलकेपीसीई | – | – | – | CLKPS3 | CLKPS2 | CLKPS1 | CLKPS0 | सीएलकेपीआर |
पढ्नुहोस्/लेख्नुहोस् | R/W | R | R | R | R/W | R/W | R/W | R/W |
प्रारम्भिक मान ० ० ० ० बिट वर्णन हेर्नुहोस्
Bit 7 - CLKPCE: घडी प्रिस्केलेर परिवर्तन सक्षम गर्नुहोस्
सीएलकेपीसीई बिटलाई तर्कको लागि लेख्नुपर्दछ सीएलकेपीएस बिट्सको परिवर्तन सक्षम गर्नका लागि। सीएलकेपीसीई बिट मात्र अपडेट हुन्छ जब सीएलकेपीआरमा अन्य बिट्स एक साथ शुन्यमा लेखिन्छ। सीएलकेपीसीई हार्डवेयर चार साइकल द्वारा यसलाई लेखे पछि वा जब सीएलकेपीएस बिट्स लेखिएको छ खाली छ। यस समय-आउट अवधि भित्र सीएलकेपीसीई बिट पुन: लेख्दा न त टाइम-आउट अवधि बढाउँदछ, न सीएलकेपीसीई बिट खाली गर्दछ।
बिट्स:: १ - रिजर्भ: आरक्षित बिट्स
यी बिट्स एटिटिनी २ / / 25 45 /। 85 मा बिट आरक्षित छन् र सँधै शून्यको रूपमा पढिनेछ।
बिट्स:: ० - CLKPS [:: ०]: घडी प्रिस्केलेर बिट्स Select - ० चयन गर्नुहोस्
यी बिट्सले चयन गरिएको घडी स्रोत र आन्तरिक प्रणाली घडीको बीचमा विभाजन कारक परिभाषित गर्दछ। यी बिट्स अनुप्रयोग आवश्यकताहरू अनुरूप घडी आवृत्ति भिन्न गर्न रन-टाइम लेख्न सकिन्छ। डिभाइडरले MCU मा मास्टर घडी इनपुट विभाजन गर्दा, सबै समकालीन क्रमिक परिधीहरूको गति घटिन्छ जब एक प्रभाग कारक प्रयोग गरिन्छ। विभाजन कारक मा दिइएको छ तालिका ४-१.
घडी फ्रिक्वेन्सीको अन्जान परिवर्तनहरू हटाउन, एक विशेष लेखन प्रक्रिया अनुसरण गर्नुपर्दछ सीएलकेपीएस बिट्स परिवर्तन गर्न:
लेख्नुहोस् क्लक प्रिस्केलेर परिवर्तन सक्षम गर्नुहोस् (CLKPCE) बिट गर्न एक र सबै अन्य बिट्सलाई शून्यमा।
चार चक्र भित्र, सीएलकेपीसीई मा शून्य लेख्दा सीएलकेपीएसमा इच्छित मान लेख्नुहोस्।
लेखन प्रक्रिया अवरुद्ध छैन भनेर निश्चित गर्न प्रेसकेलर सेटिंग परिवर्तन गर्दा रुकावटहरू असक्षम पार्नुपर्दछ।
CKDIV8 फ्यूजले CLKPS बिट्सको प्रारम्भिक मान निर्धारण गर्दछ। यदि CKDIV8 प्रोग्राम नगरिएको छ भने, CLKPS बिट्स "0000" मा रिसेट हुनेछन्। यदि CKDIV8 लाई प्रोग्राम गरिएको छ भने, CLKPS बिटहरू "0011" मा रिसेट हुन्छन्, स्टार्टअपमा आठको डिभिजन फ्याक्टर दिन्छ। यदि चयन गरिएको घडी स्रोतमा वर्तमान सञ्चालन सर्तहरूमा उपकरणको अधिकतम आवृत्ति भन्दा उच्च आवृत्ति छ भने यो सुविधा प्रयोग गर्नुपर्छ। नोट गर्नुहोस् कि CKDIV8 फ्यूज सेटिङलाई ध्यान नदिई CLKPS बिट्समा कुनै पनि मान लेख्न सकिन्छ। एप्लिकेसन सफ्टवेयरले पर्याप्त विभाजन कारक हो भनी सुनिश्चित गर्नुपर्छ
यदि छनौट गरिएको घडी स्रोत वर्तमान अपरेटिंग सर्तहरूमा उपकरणको अधिकतम फ्रिक्वेन्सी भन्दा उच्च फ्रिक्वेन्सी छ छनौट गरियो। उपकरण CKDIV8 फ्यूज प्रोग्राम सहितको शिप गरिएको छ।
तालिका ६-१५। घडी प्रिस्केलर चयन गर्नुहोस्
CLKPS3 | CLKPS2 | CLKPS1 | CLKPS0 | घडी डिभिजन कारक |
0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 1 | 2 |
0 | 0 | 1 | 0 | 4 |
0 | 0 | 1 | 1 | 8 |
0 | 1 | 0 | 0 | 16 |
0 | 1 | 0 | 1 | 32 |
0 | 1 | 1 | 0 | 64 |
0 | 1 | 1 | 1 | 128 |
1 | 0 | 0 | 0 | 256 |
1 | 0 | 0 | 1 | आरक्षित |
1 | 0 | 1 | 0 | आरक्षित |
1 | 0 | 1 | 1 | आरक्षित |
1 | 1 | 0 | 0 | आरक्षित |
1 | 1 | 0 | 1 | आरक्षित |
1 | 1 | 1 | 0 | आरक्षित |
1 | 1 | 1 | 1 | आरक्षित |
नोट: प्रिस्केलरलाई ATtiny15 अनुकूलता मोडमा असक्षम पारिएको छ र न त CLKPR मा लेखिएको छ, न त CKDIV8 फ्यूजको प्रोग्रामिङले प्रणालीको घडीमा कुनै प्रभाव पार्दैन (जुन सधैं १.६ मेगाहर्ट्ज हुनेछ)।
पावर व्यवस्थापन र निद्रा मोडहरू
उच्च प्रदर्शन र उद्योगको अग्रणी कोड दक्षताले AVR माइक्रोकन्ट्रोलरहरूलाई कम पावर अनुप्रयोगहरूको लागि एक आदर्श विकल्प हो। थप रूपमा, निन्द्रा मोडहरूले अनुप्रयोगलाई MCU मा प्रयोग नगरिएका मोड्युलहरू बन्द गर्न सक्षम गर्दछ, जसले गर्दा शक्ति बचत हुन्छ। एभीआरले बिभिन्न निद्रा मोडहरू प्रदान गर्दछ जसले प्रयोगकर्तालाई बिजुली खपतलाई अनुप्रयोगको आवश्यक्ताको लागि दर्जी गर्दछ।
निन्द्रा मोडहरू
पृष्ठ २ on मा चित्र -6-१ विभिन्न घडि प्रणालीहरू प्रस्तुत गर्दछ र तिनीहरूको वितरण ATtiny25 / 45/85 मा। फिगर उपयुक्त स्लीप मोड चयन गर्न सहयोगी हो। तालिका ४-१ बिभिन्न निद्रा मोडहरू र उनीहरूको उठ्ने स्रोतहरू देखाउँदछ।
तालिका ७-१। विभिन्न निद्रा मोडहरूमा सक्रिय घडी डोमेन र वेक-अप स्रोतहरू
सक्रिय घडी डोमेन | ओसिलेटरहरू | उठ्नुहोस् स्रोतहरू | ||||||||||
निद्रा मोड | clkCPU | clkFLASH | clkIO | clkADC | clkPCK | मुख्य घडी स्रोत सक्षम | INT0 र पिन परिवर्तन | एसपीएम / EEPROM
तयार |
युएसआई शुरू शर्त |
ADC | अन्य I/O | वाचडग अवरोध गर्नुहोस् |
निष्क्रिय | X | X | X | X | X | X | X | X | X | X | ||
एडीसी शोर कटौती | X | X | X(०३०३२५) | X | X | X | X | |||||
पावर-डाउन | X(०३०३२५) | X | X |
नोट: INT0 को लागि, स्तर अवरोध मात्र।
कुनै पनि तीन निद्रा मोडहरू प्रविष्ट गर्नका लागि, MCUCR मा SE बिट तर्क एकमा लेख्नुपर्दछ र SLEEP निर्देशन कार्यान्वयन हुनै पर्छ। एसएम [१: ०] MCUCR रेजिष्टरमा बिट्स कुन स्लीप मोड (आइडल, एडीसी शोर रिडक्शन वा पावर-डाउन) छनौट गर्नुहोस् SLEEP निर्देशन द्वारा सक्रिय गरिनेछ। हेर्नुहोस् तालिका ४-१ सारांशको लागि।
यदि एक सक्षम अवरोध हुन्छ जब MCU एक निद्रा मोड मा हुन्छ, MCU उठ्छ। MCU तब स्टार्ट-अप समय को अतिरिक्त चार चक्र को लागी रोकिन्छ, बाधा दिनचर्या निष्पादित गर्दछ, र SLEEP पछि निर्देशन बाट कार्यान्वयन पुनः सुरु हुन्छ। रजिस्टर को सामग्री File र SRAM अपरिवर्तित छन् जब उपकरण निद्रा बाट उठ्छ। यदि एक रिसेट निद्रा मोड को समयमा हुन्छ, MCU उठ्छ र रिसेट भेक्टर बाट निष्पादित।
नोट: यदि लेभल ट्रिगर गरिएको अवरोधलाई वेक-अपको लागि प्रयोग गरिन्छ भने MCU उठाउनको लागि परिवर्तन गरिएको स्तर केही समयको लागि होल्ड गर्नुपर्छ (र MCU लाई अवरोध सेवा दिनचर्यामा प्रवेश गर्नको लागि)। हेर्नुहोस् पृष्ठ on on मा "बाह्य रुकावट" विवरणहरूको लागि।
निष्क्रिय मोड
जब SM[1:0] बिटहरू 00 मा लेखिन्छ, SLEEP निर्देशनले MCU लाई निष्क्रिय मोडमा प्रवेश गर्छ, CPU लाई रोक्छ तर एनालग तुलनाकर्ता, ADC, USI, टाइमर/काउन्टर, वाचडग, र अवरोध प्रणालीलाई सञ्चालन जारी राख्न अनुमति दिन्छ- खाने। यो निद्रा मोडले मूल रूपमा clkCPU र clkFLASH रोक्छ, जबकि अन्य घडीहरू चल्न अनुमति दिन्छ।
निष्क्रिय मोडले MCU लाई बाह्य ट्रिगर ईन्ट्रप्टका साथसाथै टाइमर ओभरफ्लो जस्ता आन्तरिक वस्तुहरूबाट उठ्न सक्षम गर्दछ। यदि एनालग कम्पेरेटर अवरोधबाट वेक अप आवश्यक छैन भने एनालग कम्प्याटर एसीडी बिटमा सेट गरेर पावर गर्न सकिन्छ पृष्ठ १२० मा "ACSR - एनालग कम्प्याटर नियन्त्रण र स्थिति रेजिस्टर"। यसले ID मोडमा पावर खपत कम गर्दछ। यदि एडीसी सक्षम गरिएको छ भने, यो मोड प्रविष्ट भएपछि रूपान्तरण स्वत: सुरु हुन्छ।
एडीसी शोर कटौती मोड
जब SM[1:0] बिटहरू 01 मा लेखिन्छन्, SLEEP निर्देशनले MCU लाई ADC Noise Reduction मोडमा प्रवेश गर्छ, CPU लाई रोक्छ तर ADC, बाह्य अवरोधहरू, र वाचडगलाई सञ्चालन जारी राख्न अनुमति दिन्छ (यदि सक्षम छ भने)। यो निद्रा मोडले clkI/O, clkCPU, र clkFLASH रोक्छ, जबकि अन्य घडीहरू चल्न अनुमति दिन्छ।
यसले ADC का लागि आवाज वातावरण सुधार गर्दछ, उच्च रिजोलुशन मापन सक्षम पार्दै। यदि एडीसी सक्षम गरिएको छ भने, यो मोड प्रविष्ट भएपछि रूपान्तरण स्वत: सुरु हुन्छ। एडीसी रूपान्तरण पूर्ण अवरोध बाहेक, बाह्य रीसेट मात्र, वाचडग रीसेट, ब्राउन-आउट रिसेट, एक एसपीएम / ईइप्रोम तयार अवरोध, आईएनटी ० मा बाह्य स्तर अवरोध वा पिन परिवर्तन अवरोधले एडीसी शोर कटौतीबाट एमसीयू जगाउन सक्छ। मोड
पावर-डाउन मोड
जब एसएम [१: ०] बिट्स १० मा लेख्छन्, SLEEP निर्देशन MCU लाई पावर-डाउन मोडमा प्रवेश गर्दछ। यस मोडमा, ओसिलेटर रोकिन्छ, जबकि बाह्य रुकावटहरू, युएसआई शुरू सर्त पहिचान र वाचडगले सञ्चालन जारी राख्छ (यदि सक्षम गरिएको छ)। केवल एक बाह्य रिसेट, वाचडग रिसेट, ब्राउन-आउट रिसेट, युएसआई शुरु सर्त अवरोध, INT1 मा बाह्य स्तर अवरोध वा पिन परिवर्तन रुकावटले MCU जगाउन सक्छ। यस निन्द्रा मोडले सबै उत्पन्न घडीहरूलाई रोक्दछ, केवल एसिन्क्रोनस मोड्युलहरूको सञ्चालनलाई अनुमति दिदै।
सफ्टवेयर BOD अक्षम गर्नुहोस्
जब ब्राउन-आउट डिटेक्टर (BOD) BODLEVEL फ्यूज द्वारा सक्षम गरिएको छ (हेर्नुहोस् पृष्ठ २१ मा तालिका page-१), BOD सक्रिय रुपमा आपूर्ति भोल्युम निगरानी गरीरहेको छtagई एक निद्रा को अवधि मा। केहि उपकरणहरु मा यो पावर-डाउन स्लीप मोड मा सफ्टवेयर द्वारा BOD लाई असक्षम गरेर शक्ति बचाउन सम्भव छ। निद्रा मोड बिजुली खपत तब उस्तै स्तर मा हुनेछ जब BOD विश्वव्यापी फ्यूज द्वारा अक्षम छ।
यदि BOD सफ्टवेयरद्वारा असक्षम गरिएको छ भने, BOD प्रकार्य निद्रा मोडमा प्रवेश गरेपछि तुरुन्तै बन्द हुन्छ। निद्राबाट ब्यूँझँदा, BOD स्वतः पुन: सक्षम हुन्छ। यो सुत्ने अवधिमा VCC स्तर घटेको अवस्थामा सुरक्षित सञ्चालन सुनिश्चित गर्दछ।
जब BOD अक्षम पारिएको छ, निद्रा मोडबाट वेक अप समय RESET बाट जगाउनको लागि जस्तै हुनेछ। प्रयोगकर्ताले म्यानुअली वेक अप समय कन्फिगर गर्नुपर्दछ कि ब्यान्डग्याप सन्दर्भ सुरु हुन समय छ र एमओयू कार्यान्वयन कोड जारी गर्नु अघि BOD सही ढ working्गले काम गर्दैछ। SUT [१: ०] र CKSEL [:: ०] तालिकामा फ्यूज बिट्स हेर्नुहोस् पृष्ठ १149 on मा "फ्यूज लो बाइट"
BOD अक्षम MCU कन्ट्रोल रेजिस्टरको BODS (BOD स्लीप) द्वारा नियन्त्रण गरिएको छ, हेर्नुहोस् "MCUCR - MCU नियन्त्रण पृष्ठ on 37 मा दर्ता गर्नुहोस्। एक लाई यो बिट लेख्दा BOD लाई पावर-डाउनमा बन्द गर्दछ, जबकि शून्य लेख्दा BOD सक्रिय रहन्छ। पूर्वनिर्धारित सेटिंग शून्य हो, अर्थात BOD सक्रिय।
BODS बिटमा लेख्ने समय अनुक्रम र सक्षम बिट द्वारा नियन्त्रण गरिन्छ, हेर्नुहोस् "MCUCR - MCU नियन्त्रण Regis- तेर ”पृष्ठ on 37 मा.
सीमाहरू
BOD अक्षम कार्यक्षमता निम्न उपकरणहरूमा लागू गरिएको छ, केवल:
एटिटिनी २,, संशोधन ई, र अझ नयाँ
ATtiny45, संशोधन D, र अझ नयाँ
एटिटिनी ,85, संशोधन सी, र अझ नयाँ
संशोधनहरू उपकरण प्याकेजमा चिह्नित छन् र निम्नको रूपमा अवस्थित गर्न सकिन्छ:
प्याकेज 8P3 र 8S2 को तल साइड
प्याकेज २०M20 को शीर्ष पक्ष
पावर कटौती रजिस्टर
पावर रिडक्सन रेजिस्टर (PRR), हेर्नुहोस् पृष्ठ on 38 मा "PRR - पावर रिडक्सन रेजिष्टर", व्यक्तिगत परिधीहरुमा घडी रोक्दै शक्ति खपत कम गर्न एक विधि प्रदान गर्दछ। परिधीयको हालको अवस्था स्थिर छ र I / O रेजिष्टर्स पढ्न वा लेख्न सकिदैन। घडी रोक्दा पेरिफेरल द्वारा प्रयोग गरिएको संसाधनहरू कब्जामा रहनेछन्, यसैले परिधीय प्राय: जसो घडीलाई रोक्नु अघि अक्षम बनाउनुपर्दछ। मोड्युल ब्यूँझाउनुहोस्, जुन PRR मा बिट खाली गरेर गरिन्छ, मोड्युललाई समान अवस्थामा शटडाउन अघि राख्छ।
मोडुल शटडाउन इडल मोड र सक्रिय मोडमा समग्र पावर खपत लाई कम गर्न प्रयोग गर्न सकिन्छ। सबै अन्य निन्द्रा मोडहरूमा, घडी पहिले नै रोकिएको छ। हेर्नुहोस् पृष्ठ १ 177 मा "I / O मोड्युलहरूको वर्तमान आपूर्ति गर्नुहोस्" पूर्वका लागिampलेस।
न्यूनतम ऊर्जा खपत
त्यहाँ एक धेरै AVR नियंत्रित प्रणालीमा विद्युत खपत न्यूनतम गर्न को लागी विचार गर्न को लागी धेरै मुद्दाहरु छन्। सामान्यतया, निन्द्रा मोडहरू सकेसम्म प्रयोग गर्नुपर्नेछ, र स्लीप मोड चयन गर्नुपर्छ ताकि उपकरणको कार्यहरू सम्भव भएसम्म सञ्चालनमा छन्। सबै आवश्यक कार्यहरू अक्षम हुनुपर्दछ। विशेष गरी, निम्न मोड्युलहरूलाई विशेष विचारको आवश्यक पर्दछ जब कम सम्भावित बिजुली खपत प्राप्त गर्ने प्रयास गर्दा।
डिजिटल कन्भर्टरमा एनालग
यदि सक्षम गरियो भने, एडीसी सबै निद्रा मोडहरूमा सक्षम हुनेछ। शक्ति बचत गर्न कुनै पनि निद्रा मोडमा प्रवेश गर्नु अघि एडीसी अक्षम हुनुपर्दछ। जब एडीसी बन्द छ र फेरि, अर्को रूपान्तरण एक विस्तारित रूपान्तरण हुनेछ। उल्लेख पृष्ठ १२२ मा "डिजिटल कन्भर्टरमा एनालग" एडीसी अपरेशनमा विवरणहरूको लागि।
एनालग कम्प्याटर
जब निष्क्रिय मोड मा प्रवेश, एनालग तुलनाकर्ता अक्षम हुनु पर्छ यदि प्रयोग गरीएको छैन। जब ADC शोर कटौती मोड मा प्रवेश, एनालॉग तुलनित्र असक्षम हुनुपर्छ। अन्य निद्रा मोड मा, एनालॉग तुलनित्र स्वचालित रूपमा असक्षम छ। जे होस्, यदि एनालग तुलनाकर्ता आन्तरिक भोलुम को उपयोग गर्न को लागी सेट अप गरीएको छtagई इनपुट को रूप मा सन्दर्भ, एनालग तुलनित्र सबै निद्रा मोड मा असक्षम हुनु पर्छ। अन्यथा, आन्तरिक खण्डtagई सन्दर्भ सक्षम हुनेछ, निद्रा मोड को स्वतन्त्र। उल्लेख पृष्ठ ११ on मा "एनालग कम्प्याटर" एनालग कम्प्याटर कसरी कन्फिगर गर्ने भन्ने बारे विस्तृत जानकारीको लागि।
ब्राउन-आउट डिटेक्टर
यदि ब्राउन-आउट डिटेक्टर अनुप्रयोगमा आवश्यक छैन भने, यो मोड्युल बन्द गर्नुपर्दछ। यदि ब्राउन-आउट डिटेक्टर BODLEVEL फ्यूज द्वारा सक्षम गरिएको छ भने, यो सबै स्लिप मोडहरूमा सक्षम हुनेछ, र यसैले, सँधै शक्ति खपत गर्दछ। गहिरो निन्द्रा मोडहरूमा, यसले कुल वर्तमान खपतमा महत्वपूर्ण योगदान पुर्याउँछ। हेर्नुहोस् "ब्राउन-आउट डिटेक- tion ”पृष्ठ on१ मा र पृष्ठ on 35 मा "सफ्टवेयर BOD अक्षम" गर्नुहोस् ब्राउन-आउट डिटेक्टर कसरी कन्फिगर गर्ने भन्ने बारे विवरणहरूको लागि।
आन्तरिक भोल्युमtage सन्दर्भ
आन्तरिक खण्डtagई सन्दर्भ सक्षम हुनेछ जब ब्राउन आउट डिटेक्शन, एनालग तुलनाकर्ता वा एडीसी द्वारा आवश्यक छ। यदि यी मोड्युलहरु मा माथिको सेक्सन मा वर्णन गरीएको छ, आन्तरिक भोल्युमtagई सन्दर्भ असक्षम हुनेछ र यो शक्ति उपभोग हुनेछैन। जब फेरी चालू हुन्छ, प्रयोगकर्ता लाई सन्दर्भ लाई उत्पादन को उपयोग गर्नु भन्दा पहिले सुरु गर्न को लागी अनुमति दिनु पर्छ। यदि सन्दर्भ निद्रा मोड मा राखिएको छ, उत्पादन तुरुन्तै प्रयोग गर्न सकिन्छ। उल्लेख "आन्तरिक खण्डtage सन्दर्भ "पृष्ठ ४२ मा स्टार्ट-अप समयमा विवरणहरूको लागि।
वाचडग टाइमर
यदि वाचडग टाइमर अनुप्रयोगमा आवश्यक छैन भने, यो मोड्युल बन्द गरिनु पर्छ। यदि वाचडग टाइमर सक्षम गरिएको छ भने, यो सबै स्लीप मोडहरूमा सक्षम हुनेछ, र त्यसकारण, सँधै पावर उपभोग गर्दछ। गहिरो निन्द्रा मोडहरूमा, यसले कुल वर्तमान खपतमा महत्वपूर्ण योगदान पुर्याउँछ। उल्लेख पृष्ठ on२ मा "वाचडग टाइमर" वाचडग टाइमर कसरी कन्फिगर गर्ने भन्ने बारे विस्तृत जानकारीको लागि।
पोर्ट पिन
स्लीप मोडमा प्रवेश गर्दा, सबै पोर्ट पिनहरूलाई न्यूनतम शक्ति प्रयोग गर्न कन्फिगर गरिनुपर्छ। सबैभन्दा महत्त्वपूर्ण कुरा भनेको यो सुनिश्चित गर्नु हो कि कुनै पिनले प्रतिरोधी लोडहरू ड्राइभ गर्दैन। स्लीप मोडहरूमा जहाँ I/O घडी (clkI/O) र ADC घडी (clkADC) रोकिएका छन्, यन्त्रको इनपुट बफरहरू असक्षम हुनेछन्। यसले सुनिश्चित गर्दछ कि कुनै शक्ति खपत छैन
आवाश्यक तर्कबाट जब आवश्यक हुँदैन। केही केसहरूमा, वेक-अप सर्तहरू पत्ता लगाउन इनपुट तर्क आवश्यक हुन्छ, र
यो तब सक्षम हुनेछ। सेक्सन मा हेर्नुहोस् पृष्ठ on 57 मा "डिजिटल इनपुट सक्षम र निद्रा मोडहरू" कुन पिन सक्षम छन् विवरणहरूको लागि। यदि इनपुट बफर सक्षम गरिएको छ र इनपुट संकेत फ्लोटिंग छोडिएको छ वा VCC/2 नजिक एनालग संकेत स्तर छ भने, इनपुट बफरले अत्यधिक शक्ति प्रयोग गर्नेछ।
एनालग इनपुट पिनको लागि, डिजिटल इनपुट बफर सधैं असक्षम हुनुपर्छ। इनपुट पिनमा VCC/2 नजिकको एनालग सिग्नल स्तर सक्रिय मोडमा पनि महत्त्वपूर्ण वर्तमान हुन सक्छ। डिजिटल इनपुट बफरहरू डिजिटल इनपुट असक्षम दर्ता (DIDR0) मा लेखेर असक्षम गर्न सकिन्छ। उल्लेख "DIDR0 - डिजिटल इनपुट अक्षम रजिस्टर ०" पृष्ठ १२१ मा विवरणहरूको लागि।
विवरण दर्ता गर्नुहोस्
MCUCR - MCU नियन्त्रण रेजिस्टर
MCU कन्ट्रोल रेजिस्टरले पावर व्यवस्थापनको लागि नियन्त्रण बिट्स समावेश गर्दछ।
बिट | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
८x४० | BODS | PUD | SE | SM1 | SM0 | BODSE | ISC01 | ISC00 | MCUCR |
पढ्नुहोस्/लेख्नुहोस् | R | R/W | R/W | R/W | R/W | R | R/W | R/W | |
प्रारम्भिक मान | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bit 7 - BODS: BOD निन्द्रा
BOD अक्षम कार्यक्षमता केहि उपकरणहरूमा उपलब्ध छ, मात्र। हेर्नुहोस् पृष्ठ on 36 मा "सीमितता".
निद्राको बखत BOD असक्षम गर्नका लागि (हेर्नुहोस् पृष्ठ २१ मा तालिका page-१) BODS बिट तर्कको लागि लेख्नुपर्दछ। यो एक समय अनुक्रम र सक्षम बिट, BODSE MCUCR मा नियन्त्रण गरिन्छ। पहिले, दुबै BODS र BODSE एक लाई सेट गर्नु पर्छ। दोस्रो, चार घडी चक्र भित्र, BODS एक मा सेट गर्नु पर्छ र BODSE शून्य सेट गर्नु पर्छ। यो सेट गरेपछि BODS बिट तीन घडी चक्र सक्रिय हुन्छ। एक निद्रा निर्देशन कार्यान्वयन हुनै पर्छ जबकि BODS सक्रिय छ जबकि वास्तविक निद्रा मोडको लागि BOD लाई बन्द गर्न। BODS बिट तीन घडी चक्र पछि स्वचालित रूपमा खाली हुन्छ।
उपकरणहरूमा जहाँ स्लीपि B BOD कार्यान्वयन गरिएको छैन यो बिट अप्रयुक्त छ र जहिले पनि शून्य पढ्नेछ।
Bit 5 - SE: निद्रा सक्षम गर्नुहोस्
SLEEP निर्देशन कार्यान्वयन हुँदा MCU लाई स्लीप मोडमा प्रवेश गर्नको लागि SE बिटलाई तर्कमा लेखिएको हुनुपर्छ। प्रोग्रामरको उद्देश्य नभएसम्म MCU लाई स्लीप मोडमा प्रवेश गर्नबाट बच्न, SLEEP निर्देशन कार्यान्वयन हुनुभन्दा ठीक अघि एकमा Sleep Enable (SE) बिट लेख्न र उठ्ने बित्तिकै यसलाई खाली गर्न सिफारिस गरिन्छ।
बिट्स:: - - एसएम [१: ०]: निद्रा मोड बिट्स १ र ० चयन गर्नुहोस्
यी बिट्सहरू तीन उपलब्ध स्लीप मोडहरू बीचमा चयनित रूपमा चयन गर्नुहोस् तालिका ४-१.
तालिका ७-२। निद्रा मोड चयन गर्नुहोस्
SM1 | SM0 | निद्रा मोड |
0 | 0 | निष्क्रिय |
0 | 1 | एडीसी शोर कटौती |
1 | 0 | पावर-डाउन |
1 | 1 | आरक्षित |
Bit 2 - BODSE: BOD निद्रा सक्षम गर्नुहोस्
BOD अक्षम कार्यक्षमता केहि उपकरणहरूमा उपलब्ध छ, मात्र। हेर्नुहोस् पृष्ठ on 36 मा "सीमितता".
BOSE बिट विवरण BODS बिट वर्णन मा वर्णन गरे अनुसार BODS नियन्त्रण बिट को सेटिंग सक्षम गर्दछ। BOD अक्षम एक समय अनुक्रम द्वारा ट्रोल गरिएको छ।
यो बिट उपकरणहरूमा प्रयोग नगरिएको छ जहाँ सफ्टवेयर BOD अक्षम पारिएको छैन कार्यान्वयन भएको छ र ती उपकरणहरूमा शून्यको रूपमा पढ्नेछ।
PRR - पावर कटौती रजिस्टर
पावर रिडक्सन रेजिष्टरले पेरिफेरल घडी सिग्नलहरूलाई असक्षम पार्न अनुमति दिएर बिजुली खपत घटाउन एक विधि प्रदान गर्दछ।
बिट | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
८x४० | – | – | – | – | PRTIM1 | PRTIM0 | PRUSI | PRADC | PRR |
पढ्नुहोस्/लेख्नुहोस् | R | R | R | R | R/W | R/W | R/W | R/W | |
प्रारम्भिक मान | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
बिट्स:: १ - रिजर्भ: आरक्षित बिट्स
यी बिट्स एटिटिनी २ / / 25 45 /। 85 मा बिट आरक्षित छन् र सँधै शून्यको रूपमा पढिनेछ।
Bit 3 - PRTIM1: पावर रिडक्शन टाइमर / काउन्टर 1
यस बिटमा एक तर्क लेख्दा टाइमर / काउन्टर १ मोड्युल बन्द हुन्छ। जब टाइमर / काउन्टर 1 सक्षम हुन्छ, शटडाउन अघि अपरेटि continue जारी रहनेछ।
Bit 2 - PRTIM0: पावर रिडक्शन टाइमर / काउन्टर 0
यस बिटमा एक तर्क लेख्दा टाइमर / काउन्टर १ मोड्युल बन्द हुन्छ। जब टाइमर / काउन्टर 0 सक्षम हुन्छ, शटडाउन अघि अपरेटि continue जारी रहनेछ।
Bit १ - PRUSI: पावर रिडक्सन USI
यस बिटमा तर्क लेख्न यूएसआई बन्द गर्दछ मोड्युलको लागि घडी रोक्दै। युएसआईलाई फेरि उठाउँदा, उचित सञ्चालन सुनिश्चित गर्न युएसआई पुन: आरम्भ गर्नु पर्छ।
बिट ० - PRADC: पावर रिडक्सन एडीसी
यस बिटमा तर्क लेख्न एडीसी बन्द हुन्छ। एडीसी बन्द गर्नु अघि अक्षम हुनुपर्दछ। नोट गर्नुहोस् कि एडीसी घडी एनालग कम्पेरेटर केहि भागहरू द्वारा पनि प्रयोग गरीएको छ, जसको मतलब यो जब यो बिट उच्च हुन्छ एनालग कम्प्याटर प्रयोग गर्न सकिदैन।
प्रणाली नियन्त्रण र रिसेट
AVR रिसेट गर्दै
रिसेटको बखत, सबै I / O रेजिस्टरहरू उनीहरूको प्रारम्भिक मानहरूमा सेट हुन्छन्, र कार्यक्रम रिसेट Vecoror बाट कार्यान्वयन सुरु हुन्छ। रिसेट भेक्टरमा राखिएको निर्देशन एक RJMP - सापेक्ष जम्प हुनु पर्छ - रिसेट ह्यान्डल गर्ने तालिकाको लागि निर्देशन। यदि कार्यक्रमले कहिले पनि एक अवरोध स्रोत सक्षम गर्दैन, अवरोध भेक्टरहरू प्रयोग गर्दैनन्, र नियमित कार्यक्रम कोड यी स्थानहरूमा राख्न सकिन्छ। सर्किट आरेखनमा चित्र ३-२ रिसेट तर्क देखाउँदछ। रिसेट सर्किट्रीको इलेक्ट्रिकल प्यारामेटरहरू दिइन्छ पृष्ठ १ 165 मा "प्रणाली र रिसेट विशेषताहरू".
चित्र ८-१ तर्क रिसेट गर्नुहोस्
AVR को I / O पोर्टहरू तुरुन्तै प्रारम्भिक स्थितिमा पुनःसेट हुन्छन् जब पुनःसेट स्रोत सक्रिय हुन्छ। यसका लागि कुनै घडी स्रोत चालु हुन आवश्यक पर्दैन।
सबै रिसेट स्रोतहरू निष्क्रिय भए पछि, एक ढिलाइ काउन्टर आह्वान गरिएको छ, आन्तरिक रिसेट तानेर। यसले सामान्य अपरेशन सुरु हुनुभन्दा पहिले एक स्थिर तहमा उर्जा पुर्याउँछ। ढिलाइ काउन्टरको समय आउट आउट प्रयोगकर्ताले SUT र CKSEL फ्यूज मार्फत परिभाषित गरेको छ। ढिलाइ अवधिका लागि बिभिन्न चयनहरू प्रस्तुत छन् "घडी स्रोतहरू "पृष्ठ २ on मा.
स्रोतहरू रिसेट गर्नुहोस्
एटिटिनी २ / / / 25/45 सँग पुनःसेटको चार स्रोतहरू छन्:
पावर रिसेट। MCU रिसेट हुन्छ जब आपूर्ति भोल्युमtage पावर-अन रिसेट थ्रेसहोल्ड (VPOT) मुनि छ।
बाह्य रिसेट MCU रिसेट छ जब एक कम स्तर RESET पिन मा न्यूनतम पल्स लम्बाइ भन्दा लामो को लागी उपस्थित छ।
वाचडग रिसेट। MCU रिसेट हुन्छ जब वाचडग टाइमर अवधि समाप्त हुन्छ र वाचडग सक्षम पारिएको छ।
ब्राउन आउट रिसेट। MCU रिसेट हुन्छ जब आपूर्ति भोल्युमtage VCC ब्राउन-आउट रिसेट थ्रेसहोल्ड (VBOT) भन्दा तल छ र ब्राउन-आउट डिटेक्टर सक्षम गरिएको छ।
पावर अन रिसेट
पावर अन रिसेट (POR) पल्स अन-चिप डिटेक्शन सर्किट द्वारा उत्पन्न गरिएको हो। पहिचान स्तर परिभाषित गरिएको छ "Sys- पृष्ठ १ 165 मा टेम र रीसेट विशेषताहरू "। VCC पत्ता लगाउने स्तर भन्दा तल हुँदा POR सक्रिय हुन्छ। POR सर्किट स्टार्ट-अप रिसेट ट्रिगर गर्न प्रयोग गर्न सकिन्छ, साथै आपूर्ति भोल्युममा विफलता पत्ता लगाउन।tage.
एक पावर मा रिसेट (POR) सर्किट सुनिश्चित गर्दछ कि उपकरण पावर मा रिसेट गरीएको छ। पावर-मा रिसेट थ्रेसहोल्ड भोलुम पुग्नtage ढिलाइ काउन्टर आह्वान गर्दछ, जसले VCC वृद्धि पछि यन्त्रलाई कति समयसम्म RESET मा राखिएको छ भनेर निर्धारण गर्दछ। RESET संकेत फेरि सक्रिय हुन्छ, कुनै ढिलाइ बिना, जब VCC पत्ता लगाउने स्तर भन्दा कम हुन्छ।
चित्र ८-२। MCU स्टार्ट-अप, रिसेट VCC मा बाँधिएको छ
आन्तरिक रिसेट
चित्र 8-3। MCU स्टार्ट-अप, बाहिरी रूपमा विस्तारित रिसेट
बाह्य रिसेट
बाह्य रिसेट RESET पिन मा कम स्तर द्वारा उत्पन्न गरिएको छ यदि सक्षम छ भने। न्यूनतम नाडी चौड़ाई भन्दा लामो दालहरू रिसेट गर्नुहोस् पृष्ठ १ 165 मा "प्रणाली र रिसेट विशेषताहरू") एक रिसेट उत्पन्न हुनेछ, भले पनि घडी चलिरहेको छैन। छोटो दाल एक रिसेट उत्पन्न गर्न ग्यारेन्टी छैन। जब लागू संकेत रिसेट थ्रेसहोल्ड भोलुम पुग्छtage - VRST - यसको सकारात्मक किनारामा, टाइम-आउट अवधि समाप्त भएपछि ढिलाइ काउन्टरले MCU सुरु गर्दछ।
चित्र 8-4। सञ्चालनको क्रममा बाह्य रिसेट
ब्राउन-आउट डिटेक्शन
ATtiny25/45/85 सँग एक निश्चित ट्रिगर स्तरसँग तुलना गरेर सञ्चालनको क्रममा VCC स्तर निगरानी गर्नको लागि अन-चिप ब्राउन-आउट डिटेक्शन (BOD) सर्किट छ। BOD को लागि ट्रिगर स्तर BODLEVEL फ्यूज द्वारा चयन गर्न सकिन्छ। स्पाइक फ्री ब्राउन-आउट डिटेक्शन सुनिश्चित गर्न ट्रिगर स्तरमा हिस्टेरेसिस हुन्छ। पत्ता लगाउने स्तरमा हिस्टेरेसिसलाई VBOT+ = VBOT + VHYST/2 र VBOT- = VBOT - VHYST/2 को रूपमा व्याख्या गरिनुपर्छ।
जब BOD सक्षम हुन्छ, र VCC ट्रिगर स्तर भन्दा तलको मानमा घट्छ (VBOT- in चित्र ३-२), ब्राउन-आउट रिसेट तुरुन्तै सक्रिय छ। जब VCC ट्रिगर स्तर माथि बढ्छ (VBOT+ in चित्र ३-२), टाइम-आउट अवधि tTOUT समाप्त भएपछि ढिलाइ काउन्टर MCU सुरु हुन्छ।
BOD सर्किटले VCC मा एक ड्रप मात्र पत्ता लगाउनेछ यदि भोल्युमtage दिइएको tBOD भन्दा लामो समयसम्म ट्रिगर स्तर मुनि रहन्छ पृष्ठ १ 165 मा "प्रणाली र रिसेट विशेषताहरू".
वाचडग रिसेट
जब वाचडग समय समाप्त हुन्छ, यसले एक CK चक्र अवधिको छोटो रिसेट पल्स उत्पन्न गर्नेछ। यस पल्सको झर्ने किनारामा, ढिलाइ टाइमरले टाइम-आउट अवधि tTOUT गणना गर्न थाल्छ। उल्लेख पृष्ठ on२ मा "वाचडग टाइमर" वाचडग टाइमरको अपरेशनको बारेमा विवरणहरूको लागि।
भोल्युमtagई सन्दर्भ सिग्नल र स्टार्ट अप समय सक्षम गर्नुहोस्
भोल्युमtagई सन्दर्भ एक स्टार्ट-अप समय छ कि यो तरीका को उपयोग गर्न को लागी प्रभावित गर्न सक्छ। स्टार्ट-अप समय दिइएको छ पृष्ठ १ 165 मा "प्रणाली र रिसेट विशेषताहरू"। शक्ति बचत गर्न, सन्दर्भ सँधै खुला हुँदैन। निम्न परिस्थितिहरूको बेला रेफरेन्स जारी छ:
जब BOD सक्षम पारिएको हुन्छ (BODLEVEL [२: ०] फ्यूज बिट्स प्रोग्रामिंग गरेर)।
जब ब्यान्डग्याप सन्दर्भ एनालग कम्पेरेटरमा जडान हुन्छ (ACSG मा ACBG बिट सेट गरेर)।
जब एडीसी सक्षम छ।
यसैले, जब BOD सक्षम पारिएन, ACBG बिट सेट गरे पछि वा ADC सक्षम गरेपछि, प्रयोगकर्ताले जहिले पनि सन्दर्भलाई एनालग कम्पेरेटर वा ADC बाट आउटपुट अघि सुरु हुन अनुमति दिनुपर्दछ। पावर-डाउन मोडमा पावर कन्म्प्शनलाई कम गर्न, प्रयोगकर्ताले पावर-डाउन मोडमा प्रवेश गर्नु अघि संदर्भ बन्द गरिएको छ भन्ने कुरा सुनिश्चित गर्न माथिका तीनवटा सर्तहरू हटाउन सक्दछन्।
वाचडग टाइमर
वाचडग टाइमर एक अन-चिप ओसिलेटरबाट क्लक गरिएको छ जुन १२128 किलोहर्ट्जमा चल्दछ। वाचडग टाइमर प्रिस्केलर नियन्त्रण गरेर, वाचडग रीसेट मध्यान्तरमा देखाइए अनुसार समायोजन गर्न सकिन्छ पृष्ठ २१ मा तालिका page-१। WDR - वाचडग रिसेट - निर्देश वाच वाच डग टाइमर रीसेट गर्दछ। वाचडग टाइमर पनि रिसेट हुन्छ जब यो अक्षम हुन्छ र जब चिप रिसेट हुन्छ। रिसेट अवधिको निर्धारण गर्न दशवटा फरक घडी चक्र अवधिहरू चयन गर्न सकिन्छ। यदि रिसेट अवधि अन्य वाचडग रीसेट बिना नै समाप्त हुन्छ भने, एटीटिनी २ 25 / / 45 / rese 85 रिसेट भेक्टरबाट पुनःसेट र कार्यान्वयन गर्दछ। वाचडग रिसेटमा समय विवरणको लागि, सन्दर्भ गर्नुहोस् पृष्ठ २१ मा तालिका page-१.
वाचडग टाईमरलाई रिसेटको सट्टामा अवरोध उत्पन्न गर्न पनि कन्फिगर गर्न सकिन्छ। वाचडगलाई पावर-डाउनबाट वेक-अप गर्न प्रयोग गर्दा यो धेरै सहयोगी हुन सक्छ।
वाचडगलाई अनजानमा असक्षम पार्ने वा समयबाहिर अवधिको परिवर्तनलाई रोक्नको लागि, दुई भिन्न सुरक्षा स्तरहरू फ्यूज WDTON द्वारा चयन गरिए अनुसार तालिका ४-१ सन्दर्भ गर्नुहोस् "Con- परिवर्तन गर्नको लागि समय क्रम पृष्ठ on 43 मा वाचटाग टाइमरको चित्रण विवरणहरूको लागि।
तालिका ८-१। WDTON को फ्यूज सेटिङहरूको प्रकार्यको रूपमा WDT कन्फिगरेसन
WDTON | सुरक्षा स्तर | WDT प्रारंभिक राज्य | कसरी WDT अक्षम गर्ने | समय परिवर्तन कसरी गर्ने |
अनप्रोग्राम गरियो | 1 | असक्षम | समय अनुक्रम | कुनै सीमा छैन |
कार्यक्रम गरिएको | 2 | सक्षम गरियो | सँधै सक्षम गरिएको | समय अनुक्रम |
चित्र 8-7। वाचडग टाइमर
वाचडग टाइमरको कन्फिगरेसन परिवर्तन गर्नका लागि समय क्रम
कन्फिगरेसन परिवर्तनको लागि अनुक्रम दुई सुरक्षा स्तरहरू बीच केही फरक छ। प्रत्येक स्तरको लागि अलग प्रक्रियाहरू वर्णन गरिएको छ।
सुरक्षा स्तर 1: यस मोडमा, वाचडग टाइमर सुरुमा असक्षम गरिएको छ, तर कुनै प्रतिबन्ध बिना WDE बिट एकमा लेखेर सक्षम गर्न सकिन्छ। सक्षम गरिएको वाचडग टाइमर असक्षम गर्दा समयबद्ध अनुक्रम आवश्यक हुन्छ। एक सक्षम वाचडग टाइमर असक्षम गर्न, निम्न प्रक्रिया पालना गर्नुपर्छ:
उही अपरेशनमा, WDCE र WDE लाई एक तर्क लेख्नुहोस्। एक तर्क WDE लाई लेख्नुपर्दछ - WDE बिटको अघिल्लो मानको भन्दा कम।
अर्को चार घडी चक्र भित्र, उही क्रममा, WDE र WDP बिट्सलाई चाहानु भए अनुसार लेख्नुहोस्, तर WDCE बिट सफासँग।
सुरक्षा स्तर २: यस मोडमा, वाचडग टाइमर सधैं सक्षम हुन्छ, र WDE बिट सधैं एकको रूपमा पढिनेछ। वाचडग टाइम-आउट अवधि परिवर्तन गर्दा समयबद्ध अनुक्रम आवश्यक छ। वाचडग टाइम-आउट परिवर्तन गर्न, निम्न प्रक्रिया पालना गर्नुपर्छ:
समान अपरेशनमा, WDCE र WDE मा एक तार्किक लेख्नुहोस्। जेडब्ल्यूडीई सँधै सेट गरीएको भए पनि, समय अनुक्रम सुरू गर्न WDE लाई लेख्नुपर्दछ।
अर्को चार घडी चक्र भित्र, उही क्रममा, WDP बिट्सलाई चाहानु भएमा लेख्नुहोस्, तर WDCE बिट सफासँग। WDE बिटमा लेखिएको मान अप्रासंगिक छ।
कोड Example
निम्न कोड पूर्वample एक विधानसभा र WDT बन्द गर्न को लागी एक सी समारोह देखाउँछ। पूर्वample मानिन्छ कि बाधाहरु नियन्त्रण गरीएको छ (उदाहरण को लागी, विश्वव्यापी रूप मा बाधाहरु लाई अक्षम गरेर) ताकि कुनै बाधा यी कार्यहरु को कार्यान्वयन को दौरान घटित हुनेछ।
विधानसभा कोड पूर्वample(०३०३२५) |
WDT_off:
wdr ; MCUSR मा WDRF खाली गर्नुहोस् ldi r16, (0< MCUSR बाहिर, R16 ; WDCE र WDE लाई तार्किक लेख्नुहोस् ; अनजाने वाच वाच डग रिसेट रोक्न पुरानो प्रिस्केलर सेटिंग राख्नुहोस् R16 मा, WDTCR ori r16, (1< बाहिर WDTCR, R16 ; WDT बन्द गर्नुहोस् ldi r16, (0< बाहिर WDTCR, R16 ret |
सी कोड पूर्वample(०३०३२५) |
void WDT_off(void)
{ _WDR (); /* MCUSR मा WDRF खाली गर्नुहोस् */ MCUSR = 0x00 /* WDCE र WDE मा तार्किक एक लेख्नुहोस् */ WDTCR |= (1< / * WDT * / WDTCR = ०x0 बन्द गर्नुहोस्; } |
नोट: १ हेर्नुहोस् "कोड पूर्वamples "पृष्ठ 6 मा.
विवरण दर्ता गर्नुहोस्
MCUSR - MCU स्थिति रेजिस्टर
MCU स्थिति रेजिस्टर ले जानकारी प्रदान गर्दछ कुन रीसेट स्रोतले MCU रिसेटको कारण।
बिट | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
८x४० | – | – | – | – | WDRF | BORF | EXTRF | PORF | MCUSR |
पढ्नुहोस्/लेख्नुहोस् | R | R | R | R | R/W | R/W | R/W | R/W |
प्रारम्भिक मान ० ० ० ० बिट वर्णन हेर्नुहोस्
बिट्स:: १ - रिजर्भ: आरक्षित बिट्स
यी बिट्स एटिटिनी २ / / 25 45 /। 85 मा बिट आरक्षित छन् र सँधै शून्यको रूपमा पढिनेछ।
Bit 3 - WDRF: वाचडग रीसेट फ्ल्याग
यो बिट सेट गरियो यदि वाचडग रीसेट भयो। बिट एक पावर अन रिसेट द्वारा रिसेट गरिएको छ, वा झण्डामा तर्क शून्य लेखेर।
Bit 2 - BORF: ब्राउन-आउट रीसेट फ्ल्याग
यो बिट सेट गरियो यदि ब्राउन-आउट रिसेट भयो भने। बिट एक पावर अन रिसेट द्वारा रिसेट गरिएको छ, वा झण्डामा तर्क शून्य लेखेर।
Bit १ - EXTRF: बाह्य रिसेट फ्ल्याग
यो बिट सेट गरियो यदि बाह्य रिसेट भयो भने। बिट एक पावर अन रिसेट द्वारा रिसेट गरिएको छ, वा झण्डामा तर्क शून्य लेखेर।
Bit 0 - PORF: पावर अन रिसेट फ्ल्याग
यो बिट सेट गरियो यदि एक पावर अन रिसेट हुन्छ। बिट फ्ल्यागमा तर्क शून्य लेखेर मात्र रिसेट गरिएको छ।
रिसेट फ्ल्यागको पुनःसेट शर्त पहिचान गर्न प्रयोग गर्न, प्रयोगकर्ताले पढ्नु पर्दछ र MCUSR लाई सकेसम्म छिटो प्रोग्राममा रिसेट गर्नु पर्छ। यदि अर्को रिसेट हुनु अघि रजिस्टर खाली गरियो भने, रिसेटको स्रोत रिसेट फ्ल्यागहरू पत्ता लगाएर फेला पार्न सकिन्छ।
WDTCR - वाचडग टाइमर नियन्त्रण रजिस्टर
बिट | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
८x४० | WDIF | WDIE | WDP3 | WDCE | WDE | WDP2 | WDP1 | WDP0 | WDTCR |
पढ्नुहोस्/लेख्नुहोस् | R/W | R/W | R/W | R/W | R/W | R/W | R/W | R/W | |
प्रारम्भिक मान | 0 | 0 | 0 | 0 | X | 0 | 0 | 0 |
Bit 7 - WDIF: वाचडग टाइमआउट अवरोध झण्डा
यो बिट सेट गरियो जब वाच-डग टाइमरमा टाइम-आउट हुन्छ र वाचडग टाइमर अवरोधका लागि कन्फिगर गरिएको छ। WDIF हार्डवेयर द्वारा खाली गर्दा सम्बन्धित इन्टरप्ट ह्यान्डलिंग भेक्टरलाई कार्यान्वयन गर्ने क्रममा खाली गरियो। वैकल्पिक रूपमा, WDIF फ्ल्यागमा एक तर्क लेखेर खाली गरियो। जब SREG र WDIE मा I-bit सेट गरिन्छ, वाचडग टाइम-आउट रुकावट कार्यान्वयन हुन्छ।
बिट - - WDIE: वाचडग टाईमआउट अवरोध सक्षम गर्नुहोस्
जब यो बिट एकमा लेखिएको हुन्छ, WDE खाली हुन्छ, र स्थिति रेजिष्टरमा I-bit सेट गरिन्छ, वाचडग टाइम-आउट रुकावट सक्षम हुन्छ। यस मोडमा सम्बन्धित अवरोध एक रिसेटको सट्टामा कार्यान्वयन गरियो यदि वाचडग टाइमरमा टाइमआउट भयो।
यदि WDE सेट गरिएको छ, WDIE स्वचालित रूपमा हार्डवेयर द्वारा खाली गरियो जब एक समय समाप्त हुन्छ। यो वाचडग रिसेट सुरक्षा ईन्ट्र्रप्टको प्रयोग गर्नका लागि उपयोगी छ। WDIE बिट खाली भएपछि, अर्को समयले पुनःसेट उत्पन्न गर्दछ। वाचडग रिसेटबाट बच्न, WDIE प्रत्येक अवरोध पछि सेट भयो।
तालिका ८-२। वाचडग टाइमर कन्फिगरेसन
WDE | WDIE | वाचडग टाइमर राज्य | टाइम-आउटमा कार्य |
0 | 0 | रोकियो | कुनै पनि छैन |
0 | 1 | दौडिरहेको | अवरोध गर्नुहोस् |
1 | 0 | दौडिरहेको | रिसेट गर्नुहोस् |
1 | 1 | दौडिरहेको | अवरोध गर्नुहोस् |
Bit 4 - WDCE: वाचडग परिवर्तन सक्षम गर्नुहोस्
यो बिट सेट गर्नुपर्नेछ जब WDE बिट तर्क शून्यमा लेखियो। अन्यथा, वाचडग असक्षम हुने छैन। एकचोटि एकलाई लेखेपछि हार्डवेयरले यस बिटलाई चार घण्टा चक्र पछि खाली गर्दछ। वाचडग अक्षम प्रक्रियाको लागि WDE बिटको विवरणलाई सन्दर्भित गर्नुहोस्। यो बिट पनि प्रिस्केलर बिट्स परिवर्तन गर्दा सेट गर्नुपर्नेछ। हेर्नुहोस् "समय अनुक्रम पृष्ठ og 43 मा वाचडग टाइमरको कन्फिगरेसन परिवर्तन गर्नका लागि.
Bit 3 - WDE: वाचडग सक्षम गर्नुहोस्
जब WDE तर्कमा लेखिएको छ, वाचडग टाइमर सक्षम पारिएको छ, र यदि WDE तर्क शून्यमा लेखिएको छ, वाचडग टाइमर प्रकार्य असक्षम पारिन्छ। WDE मात्र खाली गर्न सकिन्छ यदि WDCE बिटमा तर्क स्तर एक छ। सक्षम वाचडग टाइमर असक्षम गर्नका लागि निम्न प्रक्रिया पछ्याउनुपर्दछ:
उही अपरेशनमा, WDCE र WDE लाई एक तर्क लेख्नुहोस्। एक तर्क WW लाई लेख्नुपर्दछ, यो असक्षम अपरेसन सुरु हुनुभन्दा पहिले एकमा सेट गरिएको छ।
अर्को चार घडी चक्र भित्र, WDE मा एक तर्क ० लेख्नुहोस्। यसले वाचडगलाई असक्षम गर्दछ।
सुरक्षा स्तर २ मा, वाचडग टाइमर असक्षम गर्न सम्भव छैन, माथि वर्णन गरिएको एल्गोरिथ्मको साथ पनि। हेर्नुहोस् पृष्ठ 43 XNUMX मा "वाचडग टाइमरको कन्फिगरेसन परिवर्तन गर्नका लागि समय क्रम".
सुरक्षा स्तर १ मा, WDE MCUSR मा WDRF द्वारा ओभरराइड हुन्छ। हेर्नुहोस् पृष्ठ on 44 मा "MCUSR - MCU वस्तुस्थिति दर्ता" WDRF को विवरणको लागि। यसको मतलब WDE सधैं सेट हुन्छ जब WDRF सेट हुन्छ। WDE खाली गर्न, WDRF माथि वर्णन गरिएको प्रक्रियाको साथ वाचडग असक्षम गर्नु अघि खाली गर्नुपर्नेछ। यस सुविधाले विफलताको कारण सर्तहरूको बिरूद्ध धेरै रिसेटहरू सुनिश्चित गर्दछ, र असफलताको पछि एक सुरक्षित सुरुवात।
नोट: यदि वाचडग टाइमर एप्लिकेसनमा प्रयोग हुन गइरहेको छैन भने, यन्त्रको प्रारम्भमा वाचडग असक्षम प्रक्रिया मार्फत जान महत्त्वपूर्ण छ। यदि वाचडग गल्तिले सक्षम पारिएको छ भने, उदाहरणका लागिamplea एक भगोडा सूचक वा खैरो बाहिर शर्त द्वारा, उपकरण रिसेट गरिनेछ, जो बदले मा एक नयाँ निगरानी रिसेट को लागी नेतृत्व गर्दछ। यस स्थिति बाट बच्न को लागी, अनुप्रयोग सफ्टवेयर सधैं WDRF झण्डा र WDE नियन्त्रण बिट आरम्भिक दिनचर्या मा खाली गर्नुपर्छ।
बिट्स,, २: ० - WDP [:: ०]: वाचडग टाईमर प्रेसकलर,, २, १, र ०
WDP [:: ०] बिट्सले वाचडग टाईमर प्रिस्केलि। निर्धारित गर्दछ जब वाचडग टाइमर सक्षम गरिएको छ। बिभिन्न प्रेस्केलि values मानहरू र उनीहरूको सम्बन्धित टाईमआउट अवधिहरू मा देखाइएको छ तालिका ४-१.
तालिका ८-३। वाचडग टाइमर प्रिस्केल चयन गर्नुहोस्
WDP3 | WDP2 | WDP1 | WDP0 | WDT ओसिलेटर साइकलको संख्या | VCC = 5.0V मा सामान्य टाइम-आउट |
0 | 0 | 0 | 0 | २K (२०2) चक्रहरू | ८ ms |
0 | 0 | 0 | 1 | २K (२०4) चक्रहरू | ८ ms |
0 | 0 | 1 | 0 | २K (२०8) चक्रहरू | ८ ms |
0 | 0 | 1 | 1 | २K (२०16) चक्रहरू | २६ सेकेन्ड |
0 | 1 | 0 | 0 | २K (२०32) चक्रहरू | २६ सेकेन्ड |
0 | 1 | 0 | 1 | २K (२०64) चक्रहरू | २६ सेकेन्ड |
0 | 1 | 1 | 0 | २K (२०128) चक्रहरू | २६ सेकेन्ड |
0 | 1 | 1 | 1 | २K (२०256) चक्रहरू | २६ सेकेन्ड |
1 | 0 | 0 | 0 | २K (२०512) चक्रहरू | २६ सेकेन्ड |
1 | 0 | 0 | 1 | २K (२०1024) चक्रहरू | २६ सेकेन्ड |
तालिका ८-३। वाचडग टाइमर प्रिस्केल चयन (जारी)
WDP3 | WDP2 | WDP1 | WDP0 | WDT ओसिलेटर साइकलको संख्या | VCC = 5.0V मा सामान्य टाइम-आउट |
1 | 0 | 1 | 0 | आरक्षित(०३०३२५) | |
1 | 0 | 1 | 1 | ||
1 | 1 | 0 | 0 | ||
1 | 1 | 0 | 1 | ||
1 | 1 | 1 | 0 | ||
1 | 1 | 1 | 1 |
नोट: 1. यदि चयन गरिएको छ भने, 0b1010 तल मान्य सेटिङहरू मध्ये एक प्रयोग गरिनेछ।
अवरोधहरू
यो खण्डले एटिटिनी २ / / / 25 /। 45 मा प्रदर्शन गरेको अवरोध ह्यान्डलिंगको विवरणहरूको वर्णन गर्दछ। AVR अवरोध ह्यान्डलिंगको सामान्य विवरण राष्ट्रको लागि सन्दर्भ गर्नुहोस् पृष्ठ १२ मा "रिसेट र अवरोध ह्यान्डलिंग".
एटीटीनी २ / / / V /। 25 मा अवरोध भेक्टरहरू
एटीटीनी २ / / / 25 /। 45 को अवरोध भेक्टरहरूमा वर्णन गरिएको छ तालिका ४-१तल।
तालिका ९-१। रिसेट गर्नुहोस् र भेक्टरहरू अवरोध गर्नुहोस्
भेक्टर नम्बर | कार्यक्रम ठेगाना | स्रोत | अवरोध परिभाषा |
1 | ८x४० | रिसेट गर्नुहोस् | बाह्य पिन, पावर अन रिसेट, ब्राउन-आउट रिसेट, वाच डग रिसेट |
2 | ८x४० | INT0 | बाह्य अवरोध अनुरोध ० |
3 | ८x४० | PCINT0 | पिन परिवर्तन रुकावट अनुरोध ० |
4 | ८x४० | TIMER1_COMPA | टाइमर / काउन्टर १ तुलना A |
5 | ८x४० | TIMER1_OVF | टाइमर / काउन्टर १ ओभरफ्लो |
6 | ८x४० | TIMER0_OVF | टाइमर / काउन्टर १ ओभरफ्लो |
7 | ८x४० | EE_RDY | EEPROM तयार |
8 | ८x४० | ANA_COMP | एनालग कम्प्याटर |
9 | ८x४० | ADC | एडीसी रूपान्तरण पूरा |
10 | ८x४० | TIMER1_COMPB | टाइमर / काउन्टर १ तुलना बी |
11 | 0x000A | TIMER0_COMPA | टाइमर / काउन्टर १ तुलना A |
12 | 0x000B | TIMER0_COMPB | टाइमर / काउन्टर १ तुलना बी |
13 | ०x१ सी | WDT | वाचडग टाइम-आउट |
14 | 0x000D | USI_START | USI स्टार्ट |
15 | 0x000E | USI_OVF | युएसआई ओभरफ्लो |
यदि कार्यक्रमले कहिले पनि एक अवरोध स्रोत सक्षम गर्दैन, अवरोध भेक्टरहरू प्रयोग गर्दैनन्, र नियमित कार्यक्रम कोड यी स्थानहरूमा राख्न सकिन्छ।
ATtiny25/45/85 मा बाधा भेक्टर ठेगाना को लागी एक सामान्य र सामान्य सेटअप कार्यक्रम पूर्व मा देखाइएको छample तल।
विधानसभा कोड पूर्वample | ||
.org 0x0000 | अर्को को ठेगाना सेट गर्नुहोस् | कथन |
rjmp रीसेट | ; ठेगाना ०x0 | |
rjmp INT0_ISR | ; ठेगाना ०x0 | |
rjmp PCINT0_ISR | ; ठेगाना ०x0 | |
rjmp TIM1_COMPA_ISR | ; ठेगाना ०x0 | |
rjmp TIM1_OVF_ISR | ; ठेगाना ०x0 | |
rjmp TIM0_OVF_ISR | ; ठेगाना ०x0 | |
rjmp EE_RDY_ISR | ; ठेगाना ०x0 | |
rjmp ANA_COMP_ISR | ; ठेगाना ०x0 | |
rjmp ADC_ISR | ; ठेगाना ०x0 | |
rjmp TIM1_COMPB_ISR | ; ठेगाना ०x0 | |
rjmp TIM0_COMPA_ISR | ; ठेगाना ०x0A | |
rjmp TIM0_COMPB_ISR | ; ठेगाना ०x0B | |
rjmp WDT_ISR | ; ठेगाना ०x0C | |
rjmp USI_START_ISR | ; ठेगाना ०x0D | |
rjmp USI_OVF_ISR | ; ठेगाना ०x0E | |
रिसेट: | ; मुख्य कार्यक्रम सुरू | |
; ठेगाना ०x0F | ||
… |
नोट: हेर्नुहोस् "कोड पूर्वamples "पृष्ठ 6 मा.
बाह्य रुकावट
बाह्य रुकावटहरू INT0 पिन वा कुनै पनि PCINT [:: ०] पिनहरू द्वारा ट्रिगर गरिएको छ। अवलोकन गर्नुहोस्, यदि सक्षम गरिएको छ भने, रुकावटहरू ट्रिगर हुनेछ यदि आईएनटी ० वा पीसीआईएनटी [:: ०] पिनहरूलाई आउटपुटको रूपमा कन्फिगर गरिएको छ। यो सुविधाले सफ्टवेयर अवरोध उत्पन्न गर्ने तरिका प्रदान गर्दछ। पिन परिवर्तन रुकावटहरू PCI ट्रिगर गर्दछ यदि सक्षम गरिएको PCINT [:: ०] पिन टगल गर्दछ। PCMSK रेजिष्टर नियन्त्रण जुन पिनहरू पिन परिवर्तन रुकावटहरूमा योगदान गर्दछ। पिन परिवर्तन रुकावटहरू PCINT [:: ०] asynchronously पत्ता लगाइयो। यसले संकेत गर्दछ कि यी अवरोधहरू भाग मोडका लागि प्रयोग गर्न सकिन्छ इडल मोड बाहेक अन्य स्लीप मोडबाट पनि।
INT0 अवरोधहरू खस्ने वा बढ्दो किनारा वा तल्लो तहबाट सुरु गर्न सकिन्छ। MCU नियन्त्रण रेजिस्टर - MCUCR को लागी तोकिन्छ। जब INT0 अवरोध सक्षम छ र स्तर ट्रिगर रूपमा कन्फिगर गरिएको छ, पिन कम हो तब सम्म रुकावट ट्रिगर हुनेछ। नोट गर्नुहोस् कि INT0 मा झर्ने वा बढ्दो किनार अवरोधहरूको पहिचानलाई I / O घडीको उपस्थिति आवश्यक छ, जसमा वर्णन गरिएको छ "क्लक प्रणाली र तिनीहरूको वितरण" मा पृष्ठ 23.
तल्लो स्तर अवरोध
INT0 मा कम स्तर अवरोध asynchronously पत्ता लाग्यो। यसले यो संकेत गर्दछ कि यो अवरोध आइडल मोड बाहेक अन्य स्लिप मोडबाट पनि भाग जाग्नका लागि प्रयोग गर्न सकिन्छ। I / O घडी निष्क्रिय मोड बाहेक सबै स्लीप मोडहरूमा रोकिएको छ।
ध्यान दिनुहोस् कि यदि पावर-डाउनबाट वेक-अपको लागि स्तर ट्रिगर गरिएको अवरोध प्रयोग गरिन्छ भने, आवश्यक स्तरलाई MCU ले स्तर अवरोध ट्रिगर गर्नको लागि वेक-अप पूरा गर्नको लागि पर्याप्त लामो समयसम्म राखिएको हुनुपर्छ। यदि स्तर स्टार्ट-अप समयको अन्त्य हुनु अघि गायब भयो भने, MCU अझै पनि उठ्नेछ, तर कुनै अवरोध उत्पन्न हुनेछैन। स्टार्ट-अप समय SUT र CKSEL फ्यूजहरू द्वारा परिभाषित गरिएको छ जसमा वर्णन गरिएको छ पृष्ठ २ on मा "प्रणाली घडी र घडी विकल्पहरू".
यदि यन्त्र ब्यूँझनु भन्दा पहिले इन्टरप्ट पिनको तल्लो स्तर हटाइन्छ भने प्रोग्राम कार्यान्वयन अवरोध सेवा तालिकामा सारिने छैन तर SLEEP आदेश पछि निर्देशनबाट जारी राख्नेछ।
पिन परिवर्तन रुकावट समय
एक पूर्वampएक पिन परिवर्तन बाधा को समय को ले मा देखाइएको छ चित्र ३-२.
विवरण दर्ता गर्नुहोस्
MCUCR - MCU नियन्त्रण रेजिस्टर
बाह्य रुकावट नियन्त्रण रेजिस्टर ए मा अवरोध भावना नियन्त्रण को लागी नियन्त्रण बिट्स समावेश गर्दछ।
बिट | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
८x४० | BODS | PUD | SE | SM1 | SM0 | BODSE | ISC01 | ISC00 | MCUCR |
पढ्नुहोस्/लेख्नुहोस् | R | R/W | R/W | R/W | R/W | R | R/W | R/W | |
प्रारम्भिक मान | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
बिट्स १: ० - ISC1 [१: ०]: अवरोध संवेदना नियन्त्रण ० बिट १ र Bit ०
बाह्य रुकावट ० लाई बाह्य पिन INT0 द्वारा सक्रिय गरिएको छ यदि SREG I-झण्डा र सम्बन्धित इन्टरप्ट मास्क सेट गरिएको छ। बाह्य INT0 पिनमा स्तर र किनारहरू जुन अवरोध सक्रिय गर्दछ परिभाषित गरिएको छ तालिका ४-१। INT0 पिन मा मान s छampकिनाराहरु पत्ता लगाउनु अघि नेतृत्व। यदि किनारा वा टगल अवरोध चयन गरीएको छ, दालहरु कि एक घडी अवधि भन्दा लामो लामो लामो एक अवरोध उत्पन्न हुनेछ। छोटो दाल एक अवरोध उत्पन्न गर्न ग्यारेन्टी छैन। यदि निम्न स्तर अवरोध चयन गरिएको छ, तल्लो स्तर एक बाधा उत्पन्न गर्न को लागी वर्तमान मा कार्यान्वयन निर्देश को पूरा नभएसम्म आयोजित हुनुपर्छ।
तालिका ९-२। अवरोध 9 सेन्स नियन्त्रण
ISC01 | ISC00 | विवरण |
0 | 0 | INT0 को कम स्तरले एक अवरोध अनुरोध उत्पन्न गर्दछ। |
0 | 1 | INT0 मा कुनै तार्किक परिवर्तनले एक अवरोध अनुरोध उत्पन्न गर्दछ। |
1 | 0 | INT0 को खस्केको धारले एक अवरोध अनुरोध उत्पन्न गर्दछ। |
1 | 1 | INT0 को बढ्दो किनाराले एक अवरोध अनुरोध उत्पन्न गर्दछ। |
GIMSK - सामान्य अवरोध मास्क रजिस्टर
बिट | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x3B | – | INT0 | PCIe | – | – | – | – | – | जिमस्के |
पढ्नुहोस्/लेख्नुहोस् | R | R/W | R/W | R | R | R | R | R | |
प्रारम्भिक मान | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
बिट्स,,:: ० - रिजर्भ: आरक्षित बिट्स
यी बिट्स एटिटिनी २ / / 25 45 /। 85 मा बिट आरक्षित छन् र सँधै शून्यको रूपमा पढिनेछ।
Bit 6 - INT0: बाह्य अवरोध अनुरोध 0 सक्षम गर्नुहोस्
जब INT0 बिट सेट गरियो (एक) र I-bit स्थिति स्थिति (SREG) मा सेट गरियो (एक), बाह्य पिन अवरोध सक्षम पारिएको छ। MCU कन्ट्रोल रेजिस्टर (MCUCR) मा इन्टरप्ट सेन्स कन्ट्रोल ० बिट्स १/० (ISC0 र ISC1) ले बाह्य रुकावट INT0 पिनको बढ्दो र / वा खसेको किनारमा सक्रिय छ कि छैन परिभाषित गर्दछ। पिनमा क्रियाकलापले अवरोध अनुरोधलाई निम्त्याउँदछ यदि आईएनटी ० आउटपुटको रूपमा कन्फिगर गरिएको भए पनि। बाह्य इंटरप्ट अनुरोध ० को संगत अवरोध INT01 अवरोध भेक्टरबाट कार्यान्वयन गरियो।
Bit 5 - PCIE: पिन परिवर्तन रुकावट सक्षम गर्नुहोस्
जब PCIE बिट सेट गरिएको छ (एक) र I-bit स्थिति स्थिति (SREG) मा सेट गरिएको छ (एक), पिन परिवर्तन रुकावट सक्षम हुन्छ। कुनै पनि सक्षम PCINT [:: ०] पिन मा कुनै परिवर्तन एक रुकावटको कारण हुनेछ। पिन परिवर्तन इंटरप्ट अनुरोधको सम्बन्धित अवरोध पीसीआई अवरोध भेक्टरबाट कार्यान्वयन गरियो। PCINT [:: ०] पिनहरू PCMSK5 रेजिष्टर द्वारा व्यक्तिगत रूपमा सक्षम गरिएका छन्।
GIFR - सामान्य अवरोध फ्ल्याग रजिस्टर
बिट | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
0x3A | – | INTF0 | PCIF | – | – | – | – | – | GIFR |
पढ्नुहोस्/लेख्नुहोस् | R | R/W | R/W | R | R | R | R | R | |
प्रारम्भिक मान | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
बिट्स,,:: ० - रिजर्भ: आरक्षित बिट्स
यी बिट्स एटिटिनी २ / / 25 45 /। 85 मा बिट आरक्षित छन् र सँधै शून्यको रूपमा पढिनेछ।
Bit 6 - INTF0: बाह्य अवरोध फ्ल्याग ०
जब INT0 पिनमा एक किनारा वा तर्क परिवर्तनले एक अवरोध अनुरोधलाई ट्रिगर गर्दछ, INTF0 सेट हुन्छ (एक)। यदि SREG मा I-बिट र GIMSK मा INT0 बिट सेट गरीएको छ (एक), MCU सम्बन्धित इन्टरप्ट भेक्टरमा उफ्रिनेछ। अवरोध रूटीन कार्यान्वयन हुदा झण्डा खाली हुन्छ। वैकल्पिक रूपमा, झण्डा यसलाई तार्किक लेखेर खाली गर्न सकिन्छ। यो झण्डा सँधै खाली हुन्छ जब INT0 एक स्तर अवरोधको रूपमा कन्फिगर गरिएको हुन्छ।
Bit - - PCIF: पिन परिवर्तन रुकावट झण्डा
कुनै पनि PCINT [:: ०] पिनमा तर्क परिवर्तन गर्दा एक अवरोध अनुरोधलाई ट्रिगर गर्दछ, PCIF सेट हुन्छ (एक)। यदि SREG मा I-bit र GIMSK मा PCIE बिट सेट गरिएको छ भने (एक), MCU सम्बन्धित इन्टरप्ट भेक्टरमा उफ्रिनेछ। अवरोध रूटीन कार्यान्वयन हुदा झण्डा खाली हुन्छ। वैकल्पिक रूपमा, झण्डा यसलाई तार्किक लेखेर खाली गर्न सकिन्छ।
PCMSK - पिन परिवर्तन मास्क रेजिस्टर
बिट | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
८x४० | – | – | PCINT5 | PCINT4 | PCINT3 | PCINT2 | PCINT1 | PCINT0 | PCMSK |
पढ्नुहोस्/लेख्नुहोस् | R | R | R/W | R/W | R/W | R/W | R/W | R/W | |
प्रारम्भिक मान | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
बिट्स:: १ - रिजर्भ: आरक्षित बिट्स
यी बिट्स एटिटिनी २ / / 25 45 /। 85 मा बिट आरक्षित छन् र सँधै शून्यको रूपमा पढिनेछ।
बिट्स:: ० - PCINT [:: ०]: पिन परिवर्तन मास्क Enable: ० सक्षम गर्नुहोस्
प्रत्येक PCINT [:: ०] बिट छनोट गर्दछ कि पिन परिवर्तन रुकावट सम्बन्धित I / O पिनमा सक्षम पारिएको छ। यदि PCINT [:: ०] सेट गरिएको छ र GIMSK मा PCIE बिट सेट गरिएको छ भने, पिन परिवर्तन रुकावट सम्बन्धित I / O पिनमा सक्षम पारिन्छ। यदि PCINT [:: ०] खाली गरियो भने, सम्बन्धित I / O पिनमा पिन परिवर्तन रुकावट अक्षम छ।
I/O पोर्टहरू
परिचय
सबै AVR बन्दरगाहहरु साँचो पढ्न-परिमार्जन-लेखन कार्यक्षमता जब सामान्य डिजिटल I/O पोर्टहरु को रूप मा प्रयोग गरीन्छ। यसको मतलब यो हो कि एक पोर्ट पिन को दिशा अनजाने एसबीआई र सीबीआई निर्देशहरु संग कुनै अन्य पिन को दिशा परिवर्तन बिना परिवर्तन गर्न सकिन्छ। एउटै लागू हुन्छ जब ड्राइभ मान परिवर्तन (यदि आउटपुट को रूप मा कन्फिगर गरीएको छ) वा पुल-अप प्रतिरोधक को सक्षम/अक्षम (यदि इनपुट को रूप मा कन्फिगर गरीएको छ)। प्रत्येक आउटपुट बफर दुबै उच्च सिंक र स्रोत क्षमता संग सममित ड्राइव विशेषताहरु छ। पिन चालक सीधा एलईडी डिस्प्ले ड्राइभ गर्न को लागी पर्याप्त बलियो छ। सबै बन्दरगाह पिन एक आपूर्ति भोलुम संग व्यक्तिगत रूप मा चयन पुल-अप प्रतिरोधकहरु छन्tagई अपरिवर्तनीय प्रतिरोध। सबै I/O पिनहरूमा VCC र ग्राउन्ड दुवैमा संकेत गरिए अनुसार सुरक्षा डायोडहरू छन् चित्र ३-२। सन्दर्भ गर्नुहोस् पृष्ठ १161१ मा "इलेक्ट्रिकल विशेषता" प्यारामिटरहरूको पूर्ण सूचीको लागि।
चित्र 10-1। I/O पिन समतुल्य योजनाबद्ध
यस खण्ड मा सबै रजिस्टरहरु र बिट सन्दर्भ सामान्य रूप मा लिखित छन्। एउटा सानो मामला "x" पोर्ट को लागी संख्यात्मक अक्षर को प्रतिनिधित्व गर्दछ, र एक कम मामला "n" बिट संख्या को प्रतिनिधित्व गर्दछ। जे होस्, जब रजिस्टर वा बिट एक कार्यक्रम मा परिभाषित को उपयोग, सटीक फारम को उपयोग गर्नु पर्छ। पूर्व को लागीample, बिट नम्बर को लागी PORTB3। पोर्ट B मा ३, यहाँ सामान्यतया PORTxn को रूप मा दस्तावेज गरिएको छ। भौतिक I/O दर्ता र बिट स्थानहरु मा सूचीबद्ध छन् वर्णन दर्ता गर्नुहोस् "मा पृष्ठ 64.
तीन I / O मेमोरी ठेगाना स्थानहरू प्रत्येक पोर्टको लागि छुट्याइएको छ, डाटा रेजिस्टर - PORTx, डाटा निर्देशन रेजिस्टर - DDRx, र पोर्ट इनपुट पिन - PINx को लागी प्रत्येक। पोर्ट इनपुट पिन I / O स्थान मात्र पढ्न सकिन्छ, जबकि डाटा रेजिस्टर र डाटा निर्देशन रेजिस्टर पढ्ने / लेख्ने हो। जहाँसम्म, पिनक्स रेजिस्टरमा थोरैमा एक तर्क लेख्दा, डाटा रजिस्टरमा सम्बन्धित बिटमा टगलको परिणाम हुनेछ। थप रूपमा, पुल-अप असक्षम गर्नुहोस् - MCUCR मा PUD बिट सेट भएपछि सबै पोर्टहरूमा सबै पिनहरूको लागि पुल अप कार्य अक्षम गर्दछ।
I / O पोर्ट प्रयोग गर्नु सामान्य डिजिटल I / O मा वर्णन गरिएको छ पृष्ठ General 53 मा "सामान्य डिजिटल I / O को रूपमा पोर्टहरू"। धेरै पोर्ट पिन उपकरणमा परिधीय सुविधाहरु को लागी वैकल्पिक प्रकार्य संग मल्टिप्लेक्स छ। कसरी पोर्ट पिन संग प्रत्येक वैकल्पिक समारोह interresres वर्णन गरिएको छ पृष्ठ on 57 मा "वैकल्पिक पोर्ट प्रकार्यहरू"। वैकल्पिक प्रकार्यहरूको पूर्ण विवरणको लागि व्यक्तिगत मोड्युल सेक्सनहरू सन्दर्भ गर्नुहोस्।
नोट गर्नुहोस् कि केही पोर्ट पिनको वैकल्पिक प्रकार्य सक्षम गर्दा पोर्टमा अन्य पिनहरूको प्रयोगलाई सामान्य डिजिटल I / O को रूपमा प्रभाव पार्दैन।
सामान्य डिजिटल I / O को रूपमा पोर्टहरू
पोर्टहरू द्वि दिशात्मक I / O पोर्टहरू वैकल्पिक आन्तरिक पुल अपहरूसँग छन्। चित्र ३-२ एउटा I / O-पोर्ट पिनको कार्यात्मक विवरण देखाउँदछ, यहाँ जेनेरिकली Pxn भनिन्छ।
चित्र 10-2। सामान्य डिजिटल I/O(०३०३२५)
पिन कन्फिगर गर्दै
प्रत्येक पोर्ट पिनमा तीन दर्ता बिट्स हुन्छन्: DDxn, PORTxn, र PINxn। मा देखाईएको छ वर्णन दर्ता गर्नुहोस् "मा पृष्ठ 64, DDxn बिटहरू DDRx I / O ठेगानामा पहुँच गरिन्छ, PORTxn बिटहरू PORTx I / O ठेगानामा, र PINxn बिट्स PINx I / O ठेगानामा।
DDRx रेजिस्टरमा DDxn बिट यस पिन को दिशा चयन गर्दछ। यदि DDxn तर्क एक लेखिएको छ, Pxn आउटपुट पिन को रूप मा कन्फिगर गरिएको छ। यदि DDxn तर्क शून्य लेखिएको छ, Pxn एक इनपुट पिन को रूप मा कन्फिगर गरिएको छ।
यदि PORTxn एक तर्क लेखिएको छ जब पिन इनपुट पिनको रूपमा कन्फिगर गरिएको छ भने, पुल-अप प्रतिरोधक सक्रिय हुन्छ। पुल-अप प्रतिरोधक बन्द स्विच गर्न, PORTxn तर्क शून्य लेख्नु पर्छ वा पिन आउटपुट पिन को रूप मा कन्फिगर गर्नु पर्छ। पोर्ट पिनहरू त्रिको बयान गरिएको छ जब रीसेट सर्त सक्रिय हुन्छ, कुनै घडीहरू भइरहेको छैन भने पनि।
यदि PORTxn एक तर्क लेखिएको छ जब पिन आउटपुट पिनको रूपमा कन्फिगर गरिएको छ भने, पोर्ट पिन उच्च (एक) संचालित हुन्छ। यदि PORTxn तर्क शून्य लेखिएको छ जब पिन आउटपुट पिनको रूपमा कन्फिगर गरिएको छ भने, पोर्ट पिन कम (शून्य) संचालित हुन्छ।
पिन टगल गर्दै
PINxn मा एक तर्क लेख्दा DDRxn को मान स्वतन्त्र, PORTxn को मान टगल गर्दछ। नोट गर्नुहोस् कि एसबीआई निर्देश पोर्टमा एकल बिट टगल गर्न प्रयोग गर्न सकिन्छ।
इनपुट र आउटपुट बीच स्विच गर्दै
त्रि-राज्य ({DDxn, PORTxn} = 0b00) र आउटपुट उच्च ({DDxn, PORTxn} = 0b11) बीच स्विच गर्दा, पुल-अप सक्षम {DDxn, PORTxn} = 0b01) वा आउटपुट कम भएको अन्तर-मध्यस्थ अवस्था। ({DDxn, PORTxn} = 0b10) हुनु पर्छ। सामान्यतया, पुल-अप सक्षम अवस्था पूर्ण रूपमा स्वीकार्य हुन्छ, किनकि उच्च-इम्पेडन्ट वातावरणले बलियो उच्च चालक र पुल-अप बीचको भिन्नतालाई ध्यान दिँदैन। यदि यो मामला होइन भने, MCUCR दर्तामा PUD बिट सबै पोर्टहरूमा सबै पुल-अपहरू असक्षम गर्न सेट गर्न सकिन्छ।
पुल अप र आउटपुट कमको साथ इनपुटको बिच स्विच गर्दा उही समस्या उत्पन्न हुन्छ। प्रयोगकर्ताले या त त्रि-राज्य ({DDxn, PORTxn} = 0b00) वा आउटपुट उच्च राज्य ({DDxn, PORTxn} = 0b10) एक मध्यवर्ती चरणको रूपमा प्रयोग गर्नुपर्दछ।
तालिका ४-१ पिन मानको लागि नियन्त्रण संकेतहरूको सारांश दिन्छ।
तालिका १०-१। पोर्ट पिन कन्फिगरेसनहरू
DDxn | PORTxn | PUD
(MCUCR मा) |
I/O | पुल-अप | टिप्पणी गर्नुहोस् |
0 | 0 | X | इनपुट | छैन | ट्राई स्टेट (हाई-जेड) |
0 | 1 | 0 | इनपुट | हो | Pxn वर्तमान स्रोत यदि ext भने। कम तानियो। |
0 | 1 | 1 | इनपुट | छैन | ट्राई स्टेट (हाई-जेड) |
1 | 0 | X | आउटपुट | छैन | आउटपुट कम (सिंक) |
1 | 1 | X | आउटपुट | छैन | आउटपुट उच्च (स्रोत) |
पिन मान पढ्दै
डाटा दिशा बिट DDxn को सेटिंग स्वतन्त्र, पोर्ट पिन PINxn रजिस्टर बिट को माध्यम बाट पढ्न सकिन्छ। मा देखाईएको छ चित्र ३-२, PINxn रेजिस्टर बिट र अघिल्लो लेचले एक सिnch्क्रोनाइजर गठन गर्दछ। यो मेटास्टेबिलिटीबाट बच्नको लागि आवश्यक छ यदि भौतिक पिनले भित्री घडीको किनारमा मान परिवर्तन गर्दछ भने, तर यसले ढिलाइ पनि प्रस्तुत गर्दछ। चित्र ३-२ बाह्य रूपमा लागू गरिएको पिन मान पढ्दा सिङ्क्रोनाइजेसनको समय रेखाचित्र देखाउँछ। अधिकतम र न्यूनतम प्रसार ढिलाइ क्रमशः tpd, max र tpd, min लाई जनाइएको छ।
प्रणाली घडीको पहिलो झर्ने किनारको केही समय पछि सुरू हुने घडी अवधिलाई विचार गर्नुहोस्। घडिलो कम हुँदा यस कुंडी बन्द हुन्छ, र घडी उच्च हुँदा पारदर्शी हुन्छ, "SYNC LATCH" संकेतको छहारी क्षेत्रले संकेत गर्यो। प्रणाली घडी कम हुँदा संकेत मान लैच हुन्छ। यो PINxn रेजिष्टरमा सफल सकारात्मक घडीको किनारामा अडिएको छ। दुई तीरहरू tpd, अधिकतम र tpd, मिनेट द्वारा संकेत गरे अनुसार, पिनमा एकल संकेत संक्रमण ½ र १½ प्रणाली घडी अवधि बीचमा ढिलाइ हुने समयको आधारमा ढिलाइ हुनेछ।
एक सफ्टवेयर तोकिएको पिन मानलाई फेरि पठन गर्दा, सूचित गरिएको रूपमा डप निर्देशन राख्नुपर्नेछ चित्र ३-२। बाहिर निर्देशनले "SYNC LATCH" संकेत घडीको सकारात्मक किनारामा सेट गर्दछ। यस अवस्थामा, सिnch्क्रोनाइजर मार्फत ढिलाइ tpd एक प्रणाली घडी अवधि हो।
निम्न कोड पूर्वample ले कसरी पोर्ट B पिन 0 र 1 उच्च, 2 र 3 कम सेट गर्ने र पोर्ट पिन 4 मा तोकिएको पुल-अपको साथ इनपुटको रूपमा 5 देखि 4 सम्म पोर्ट पिनहरू परिभाषित गर्ने देखाउँछ। नतिजा पिन मानहरू फेरि पढिन्छ, तर पहिले नै छलफल गरिएझैं, केहि पिनहरूमा हालै तोकिएको मान फिर्ता पढ्न सक्षम हुनको लागि nop निर्देशन समावेश गरिएको छ।
विधानसभा कोड पूर्वample(०३०३२५) |
…
; पुल-अपहरू परिभाषित गर्नुहोस् र उच्च आउटपुटहरू सेट गर्नुहोस् ; पोर्ट पिनहरूको लागि दिशाहरू परिभाषित गर्नुहोस् ldi r16,(1<<PB4)|(1<<PB1)|(1<<PB0) ldi r17,(1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0) बाहिर PORTB,r16 DDRB, r17 बाहिर ; सिंक्रोनाइजेसनको लागि नोप घुसाउनुहोस् होइन ; पोर्ट पिनहरू पढ्नुहोस् R16, PINB मा … |
नोट: एसेम्बली कार्यक्रमको लागि, दुईवटा अस्थायी रेजिस्टरहरू पुल-अपहरूबाट समय कम गर्नको लागि प्रयोग गरिन्छ ०, १ र ४ पिनहरूमा सेट गरिएको छ, दिशा बिटहरू सही रूपमा सेट नभएसम्म, बिट 0 र 1 लाई न्यून रूपमा परिभाषित गर्दै र बिट 4 र पुन: परिभाषित गर्दै। 2 बलियो उच्च चालकहरूको रूपमा।
सी कोड पूर्वample |
अहस्ताक्षरित चार i;
… /* पुल-अपहरू परिभाषित गर्नुहोस् र उच्च आउटपुटहरू सेट गर्नुहोस् */ /* पोर्ट पिनको लागि दिशाहरू परिभाषित गर्नुहोस् */ PORTB = (1< DDRB = (1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0); /* सिंक्रोनाइजेसनको लागि नोप घुसाउनुहोस्*/ _NOP (); /* पोर्ट पिनहरू पढ्नुहोस् */ i = PINB; … |
डिजिटल इनपुट सक्षम र निद्रा मोड
मा देखाइए अनुसार चित्र ३-२, डिजिटल इनपुट संकेत cl हुन सक्छampschmitt-trigger को इनपुटमा ग्राउन्डमा ed। चित्रमा SLEEP लाई संकेत गरिएको संकेत, MCU स्लीप कन्ट्रोलरद्वारा पावर-डाउन मोडमा सेट गरिएको छ यदि केही इनपुट संकेतहरू तैरिरहेका छन् भने, वा VCC/2 नजिक एनालग सिग्नल स्तर छ भने उच्च शक्ति खपतबाट बच्न।
SLEEP पोर्ट पिनको लागि ओभरराइड हुन्छ बाहिरी अवरोध पिनहरूको रूपमा सक्षम। यदि बाह्य रुकावट अनुरोध सक्षम गरिएको छैन भने SLEEP यी पिनहरूको लागि पनि सक्रिय छ। SLEEP मा वर्णन गरे अनुसार विभिन्न अन्य वैकल्पिक प्रकार्यहरू द्वारा ओभरराइड पनि गरिएको छ पृष्ठ on 57 मा "वैकल्पिक पोर्ट प्रकार्यहरू".
यदि बाह्य अवरोध सक्षम नभएको बेलामा "राइजिङ एज, फलिङ एज, वा पिनमा कुनै पनि तर्क परिवर्तन" को रूपमा कन्फिगर गरिएको एसिन्क्रोनस बाह्य अवरोध पिनमा तर्क उच्च स्तर ("एक") अवस्थित छ भने, सम्बन्धित बाह्य अवरोध फ्ल्याग हुनेछ। माथि उल्लिखित स्लीप मोडबाट पुन: सुरु गर्दा सेट गर्नुहोस्, cl को रूपमाampयी निद्रा मोड मा आईएनजी अनुरोध गरिएको तर्क परिवर्तन पैदा गर्दछ।
जडित पिनहरू
यदि केही पिनहरू अप्रयुक्त छन् भने, यो पिनहरूको परिभाषित स्तर छ भनेर निश्चित गर्न सिफारिस गरिन्छ। जे भए पनि माथि वर्णन गरिएको रूपमा गहिरो निन्द्रा मोडमा अधिकतर डिजिटल इनपुटहरू असक्षम पारिएका छन्, तैपनि फ्लोटिंग इनपुटलाई अन्य सबै मोडहरूमा हालको खपत कम गर्नका लागि जोगिनु पर्छ जहाँ डिजिटल आगतहरू सक्षम छन् (रिसेट, सक्रिय मोड र आवाश्यक मोड)।
प्रयोग नगरिएको पिनको परिभाषित स्तर सुनिश्चित गर्नको लागि सबैभन्दा सरल विधि भनेको आन्तरिक पुल-अप सक्षम गर्नु हो। यस अवस्थामा, पुल-अप रिसेट गर्दा असक्षम हुनेछ। यदि रिसेट गर्दा कम पावर खपत महत्त्वपूर्ण छ भने, बाह्य पुल-अप वा पुलडाउन प्रयोग गर्न सिफारिस गरिन्छ। प्रयोग नगरिएका पिनहरूलाई सीधै VCC वा GND मा जडान गर्न सिफारिस गरिँदैन, किनकि यदि पिन गल्तीले आउटपुटको रूपमा कन्फिगर गरिएको छ भने यसले अत्यधिक करेन्टहरू निम्त्याउन सक्छ।
वैकल्पिक पोर्ट प्रकार्यहरू
धेरै जसो पोर्ट पिनको वैकल्पिक प्रकार्यहरू हुन्छन् सामान्य I / Os को रूपमा। चित्र ३-२ कसरी पोर्ट पिन नियन्त्रण सरलीकृत बाट संकेतहरू चित्र ३-२ वैकल्पिक प्रकार्यहरू द्वारा ओभरराइड गर्न सकिन्छ। ओभरराइडिंग सals्केतहरू सबै पोर्ट पिनहरूमा उपस्थित नहुन सक्छ, तर तथ्या the्कले सामान्य AVR माइक्रोकन्ट्रोलर परिवारमा सबै पोर्ट पिनहरूमा लागू हुने विवरणको रूपमा काम गर्दछ।
तालिका १०-२। वैकल्पिक कार्यहरूको लागि ओभरराइडिङ सिग्नलहरूको सामान्य विवरण
संकेत नाम | पूरा नाम | विवरण |
PUOE | पुल-अप ओभरराइड सक्षम गर्नुहोस् | यदि यो संकेत सेट गरिएको छ भने, पुल अप सक्षम PUOV संकेत द्वारा नियन्त्रित छ। यदि यो संकेत खाली छ भने, पुल अप सक्षम पारिएको छ जब
{DDxn, PORTxn, PUD} = 0b010। |
PUOV | पुल-अप ओभरराइड मान | यदि PUOE सेट गरिएको छ भने, पुल-अप सक्षम / असक्षम हुन्छ जब PUOV सेट / खाली हुन्छ, DDxn, PORTxn, र PUD रेजिष्ट बिट्सको सेटिंगलाई परवाह नगरी। |
DDOE | डाटा निर्देशन ओभरराइड सक्षम गर्नुहोस् | यदि यो संकेत सेट गरिएको छ भने, आउटपुट ड्राइभर सक्षम DDOV संकेत द्वारा नियन्त्रित छ। यदि यो संकेत खाली छ भने, आउटपुट ड्राइभर DDxn रेजिस्टर बिट द्वारा सक्षम पारिएको छ। |
DDOV | डाटा दिशा ओभरराइड मान | यदि DDOE सेट गरिएको छ, आउटपुट ड्राइभर सक्षम / अक्षम छ जब DDOV सेट / खाली छ, DDxn रेजिष्टर बिटको सेटिंगलाई पर्वाह नगरी। |
PVOE | पोर्ट मूल्य ओभरराइड सक्षम गर्नुहोस् | यदि यो संकेत सेट गरीएको छ र आउटपुट ड्राइभर सक्षम पारिएको छ भने पोर्ट मान PVOV संकेत द्वारा नियन्त्रण गरिन्छ। यदि PVOE खाली गरियो, र आउटपुट ड्राइभर सक्षम पारिएको छ भने, पोर्ट मान PORTxn रेजिस्टर बिट द्वारा नियन्त्रण गरिन्छ। |
PVOV | पोर्ट मूल्य ओभरराइड मान | यदि PVOE सेट गरिएको छ भने, पोर्ट मान PVOV मा सेट गरिएको छ, PORTxn रेजिस्टर बिटको सेटिंगलाई पर्वाह नगरी। |
PTOE | पोर्ट टगल ओभरराइड सक्षम गर्नुहोस् | यदि PTOE सेट गरिएको छ, PORTxn रेजिस्टर बिट उल्टो छ। |
DIEOE | डिजिटल इनपुट सक्षम ओभरराइड सक्षम गर्नुहोस् | यदि यो बिट सेट गरिएको छ भने, डिजिटल इनपुट सक्षम डिआइइभी संकेतद्वारा नियन्त्रण गरिन्छ। यदि यो संकेत खाली भयो भने, डिजिटल इनपुट सक्षम MCU राज्य (सामान्य मोड, स्लीप मोड) द्वारा निर्धारित गरिन्छ। |
DIEOV | डिजिटल इनपुट ओभरराइड मान सक्षम गर्नुहोस् | यदि DIEOE सेट गरिएको छ भने, डिजिटल इनपुट सक्षम / अक्षम हुन्छ जब DIEOV सेट / खाली हुन्छ, MCU राज्य (सामान्य मोड, स्लीप मोड) लाई वास्ता नगरिकन। |
DI | डिजिटल इनपुट | वैकल्पिक प्रकार्यहरू गर्न यो डिजिटल इनपुट हो। फिगरमा, संकेत schmitt-ट्रिगरको आउटपुटमा सिन्क्रोनाइजर अघि जडित छ। डिजिटल इनपुटलाई घडी स्रोतको रूपमा प्रयोग नगरेसम्म वैकल्पिक प्रकार्यका साथ मोड्युलले यसको आफ्नै सिnch्क्रोनाइजर प्रयोग गर्दछ। |
AIO | एनालग इनपुट / आउटपुट | यो वैकल्पिक प्रकार्यहरूमा / बाट एनालग इनपुट / आउटपुट हो। संकेत प्याडमा सिधा जडिएको छ, र द्वि-दिशा प्रयोग गर्न सकिन्छ। |
निम्न उपखंडहरूले छोटो रूपमा प्रत्येक पोर्टको लागि वैकल्पिक प्रकार्यहरू वर्णन गर्दछ, र वैकल्पिक प्रकार्यमा ओभरराइडिंग संकेतहरू सम्बन्धित गर्दछ। थप विवरणका लागि वैकल्पिक प्रकार्य विवरणमा सन्दर्भ गर्नुहोस्।
पोर्ट बी का वैकल्पिक कार्यहरू
वैकल्पिक प्रकार्यको साथ पोर्ट बी पिनहरू देखाइएको छ तालिका ४-१.
तालिका १०-३। पोर्ट बी वैकल्पिक कार्यहरू पिन गर्दछ
पोर्ट पिन | वैकल्पिक प्रकार्य |
PB5 | ![]() RESET: पिन रिसेट गर्नुहोस् dW: debugWIRE I / O ADC0: ADC इनपुट च्यानल ० PCINT5: पिन परिवर्तन अवरोध, स्रोत। |
PB4 | XTAL2: क्रिस्टल Oscillator आउटपुट CLKO: प्रणाली घडी आउटपुट ADC2: ADC इनपुट च्यानल २
OC1B: टाइमर / काउन्टर 1 तुलना B आउटपुट PCINT4: पिन परिवर्तन रुकावट ०, स्रोत Comp |
PB3 | XTAL1: क्रिस्टल ओसिलेटर इनपुट CLKI: बाह्य घडी इनपुट ADC3: ADC इनपुट च्यानल 3
OC1B: पूरक टाइमर / काउन्टर 1 तुलना B आउटपुट PCINT3: पिन परिवर्तन रुकावट ०, स्रोत are |
PB2 | एसकेके: सीरियल क्लक इनपुट ADC1: एडीसी इनपुट च्यानल १
T0: टाइमर / काउन्टर ० क्लक स्रोत USCK: USI घडी (तीन वायर मोड) SCL: USI घडी (दुई तार मोड) INT0: बाह्य अवरोध ० इनपुट PCINT0: पिन परिवर्तन अवरोध ०, स्रोत २ |
PB1 | MISO: SPI मास्टर डाटा इनपुट / स्लेभ डाटा आउटपुट AIN1: एनालग कम्प्याटर, नकारात्मक आगत OC0B: टाइमर / काउन्टर ० तुलना B आउटपुट OC0A: टाइमर / काउन्टर 1 तुलना एक आउटपुट गर्नुहोस् DO: USI डाटा आउटपुट (तीन वायर मोड) PCINT1: पिन परिवर्तन अवरोध ०, स्रोत १ |
PB0 | MOSI :: SPI मास्टर डाटा आउटपुट / स्लेभ डाटा इनपुट AIN0: एनालग तुलनाकर्ता, सकारात्मक इनपुट
OC0A: टाइमर/काउन्टर0 तुलना मिलान A आउटपुट OC1A: पूरक टाइमर / काउन्टर 1 तुलना A आउटपुट DI: यूएसआई डाटा इनपुट (तीन वायर मोड) SDA: USI डाटा इनपुट (दुई तार मोड) AREF: बाह्य एनालग सन्दर्भ PCINT0: पिन परिवर्तन रुकावट ०, स्रोत ० |
पोर्ट बी, बिट - - RESET / dW / ADC5 / PCINT0
RESET: बाह्य रिसेट इनपुट सक्रिय कम छ र अनप्रोग्रामिंग ("१") RSTDISBL फ्यूज द्वारा सक्षम गरिएको छ। पुलअप सक्रिय छ र आउटपुट ड्राइभर र डिजिटल इनपुट निष्क्रिय हुन्छ जब पिन RESET पिनको रूपमा प्रयोग गरिन्छ।
dW: जब डिबगवाइर सक्षम (DWEN) फ्यूज प्रोग्राम गरिएको छ र लक बिट्स अप्रग्रामित छन्, लक्षित उपकरण भित्र डिबगवियर प्रणाली सक्रिय हुन्छ। RESET पोर्ट पिन तार-AND (खुला-नाली) द्वि-दिशात्मक I / O पिन पुल-अप सक्षमको रूपमा कन्फिगर गरिएको छ र लक्ष र इमुलेटर बीचमा सञ्चार गेटवे बन्छ।
ADC0: डिजिटल कन्भर्टरमा एनालग, च्यानल 0।
PCINT5: पिन परिवर्तन रुकावट स्रोत।।
पोर्ट बी, बिट - - XTAL4 / CLKO / ADC2 / OC2B / PCINT1
XTAL2: चिप घडी Oscillator पिन २. सबै चिप घडी स्रोतहरूको लागि आन्तरिक क्यालिब्रेबल आरसी Oscillator बाह्य घडी बाहेक घडी पिनको रूपमा प्रयोग। जब घडी पिनको रूपमा प्रयोग गरिन्छ, पिन I / O पिनको रूपमा प्रयोग गर्न सक्दैन। आन्तरिक क्यालिब्रेटेबल आरसी ओसिलेटर वा बाह्य घडीलाई चिप घडी स्रोतहरूको रूपमा प्रयोग गर्दा, PB2 साधारण I / O पिनको रूपमा कार्य गर्दछ।
CLKO: डेभिड गरिएको सिस्टम घडी पिन PB4 मा आउटपुट हुन सक्छ। विभाजित प्रणाली घडी आउटपुट हुनेछ यदि CKOUT फ्यूज प्रोग्राम गरिएको छ, PORTB4 र DDB4 सेटिंग्सको पर्वाह नगरी। यो रिसेटको समयमा आउटपुट पनि हुनेछ।
ADC2: डिजिटल कन्भर्टरमा एनालग, च्यानल 2।
OC1B: आउटपुट म्याच आउटपुट तुलना गर्नुहोस्: PB4 पिन टाइमर / काउन्टर 1 तुलना B को लागि बाह्य आउटपुटको रूपमा काम गर्न सक्दछ जब आउटपुट (DDB4 सेट) को रूपमा कन्फिगर गरिएको छ। OC1B पिन PWM मोड टाइमर प्रकार्यका लागि आउटपुट पिन पनि हो।
PCINT4: पिन परिवर्तन रुकावट स्रोत।।
पोर्ट बी, बिट - - XTAL3 / CLKI / ADC1 / OC3B / PCINT1
XTAL1: चिप क्लक Oscillator पिन १. आन्तरिक क्यालिब्रेबल आरसी थरथरना बाहेक सबै चिप घडी स्रोतहरूको लागि प्रयोग। जब घडी पिनको रूपमा प्रयोग गरिन्छ, पिन I / O पिनको रूपमा प्रयोग गर्न सक्दैन।
सीएलकेआई: बाह्य घडी स्रोतबाट क्लक इनपुट, हेर्नुहोस् पृष्ठ २ on मा "बाहिरी घडी".
ADC3: डिजिटल कन्भर्टरमा एनालग, च्यानल 3।
OC1B: Inverted आउटपुट तुलना जोडा आउटपुट: PB3 पिन टाइमर / काउन्टर 1 तुलना B को बाह्य आउटपुटको रूपमा काम गर्न सक्दछ जब आउटपुट (DDB3 सेट) को रूपमा कन्फिगर गरिएको छ। OC1B पिन PWM मोड टाइमर प्रकार्यका लागि inverted आउटपुट पिन पनि हो।
PCINT3: पिन परिवर्तन रुकावट स्रोत।।
पोर्ट बी, बिट २ - SCK / ADC2 / T1 / USCK / SCL / INT0 / PCINT0
एसकेके: मास्टर क्लक आउटपुट, एसपीआई च्यानलका लागि स्लेभ क्लक इनपुट पिन। जब एसपीआई स्लेभको रूपमा सक्षम गरिएको छ, यो पिन DDB2 को सेटिंगलाई परवाह नगरी एक इनपुटको रूपमा कन्फिगर गरिएको छ। जब एसपीआई मास्टरको रूपमा सक्षम छ, यस पिनको डेटा दिशा DDPB2 द्वारा नियन्त्रण गरिन्छ। जब पिन एसपीआई द्वारा एक इनपुट हुन बाध्य हुन्छ, पुल-अप अझै पनि PORTB2 बिट द्वारा नियन्त्रण गर्न सकिन्छ।
ADC1: डिजिटल कन्भर्टरमा एनालग, च्यानल 1।
T0: टाइमर / काउन्टर ० काउन्टर स्रोत।
USCK: तीन-तार मोड युनिभर्सल सीरियल ईन्टरफेस घडी।
SCL: USI दुई-तार मोडको लागि दुई-तार मोड सिरियल क्लक।
INT0: बाह्य अवरोध स्रोत ०।
PCINT2: पिन परिवर्तन रुकावट स्रोत।।
पोर्ट बी, बिट १ - MISO / AIN1 / OC1B / OC0A / DO / PCINT1
MISO: मास्टर डाटा इनपुट, SPI च्यानलको लागि स्लाभ डाटा आउटपुट पिन। जब एसपीआई एक मास्टरको रूपमा सक्षम छ, यो पिन DDB1 को सेटिंगलाई परवाह नगरी एक इनपुटको रूपमा कन्फिगर गरिएको छ। जब एसपीआई स्लेभको रूपमा सक्षम गरिएको छ, यस पिनको डेटा दिशा DDB1 द्वारा नियन्त्रण गरिन्छ। जब पिन एसपीआई द्वारा एक इनपुट हुन बाध्य हुन्छ, पुल-अप अझै पनि PORTB1 बिट द्वारा नियन्त्रण गर्न सकिन्छ।
AIN1: एनालग कम्प्याटर नकारात्मक इनपुट। डिजिटल पोर्ट प्रकारलाई एनालग कम्प्याटरको प्रकार्यमा हस्तक्षेप गर्नबाट रोक्नको लागि आन्तरिक पुल अप स्विच अफको साथ पोर्ट पिन कन्फिगर गर्नुहोस्।
OC0B: आउटपुट म्याच आउटपुट तुलना गर्नुहोस्। PB1 पिन टाइमर / काउन्टर ० तुलना बी तुलनाका लागि बाह्य आउटपुटको रूपमा काम गर्न सक्दछ PB0 पिन यो प्रकार्य सेवाका लागि आउटपुट (DDB1 सेट (एक)) को रूपमा कन्फिगर गरिएको हुनु पर्छ। OC1B पिन PWM मोड टाइमर प्रकार्यका लागि आउटपुट पिन पनि हो।
OC1A: आउटपुट म्याच आउटपुट तुलना गर्नुहोस्: PB1 पिन टाइमर / काउन्टर 1 तुलना B को लागि बाह्य आउटपुटको रूपमा काम गर्न सक्दछ जब आउटपुट (DDB1 सेट) को रूपमा कन्फिगर गरिएको छ। OC1A पिन PWM मोड टाइमर प्रकार्यका लागि आउटपुट पिन पनि हो।
गर्नुहोस्: तीन-तार मोड युनिभर्सल सीरियल ईन्टरफेस डाटा आउटपुट। थ्री-तार मोड डाटा आउटपुट PORTB1 मान लाई ओभरराइड गर्दछ र यो पोर्टमा संचालित हुन्छ जब डाटा दिशा बिट DDB1 सेट हुन्छ (एक)। PORTB1 ले अझै पनि पुल अप सक्षम गर्दछ, यदि दिशा इनपुट छ र PORTB1 सेट गरिएको छ (एक)।
PCINT1: पिन परिवर्तन रुकावट स्रोत।।
पोर्ट बी, बिट ० - MOSI / AIN0 / OC0A / OC0A / DI / SDA / AREF / PCINT1
मोसी: एसपीआई मास्टर डाटा आउटपुट, एसपीआई च्यानलका लागि स्लेभ डाटा इनपुट। जब एसपीआई स्लेभको रूपमा सक्षम गरिएको छ, यो पिन DDB0 को सेटिंगलाई परवाह नगरी एक इनपुटको रूपमा कन्फिगर गरिएको छ। जब एसपीआई मास्टरको रूपमा सक्षम छ, यस पिनको डाटा दिशा DDB0 द्वारा नियन्त्रण गरिन्छ। जब पिन एसपीआई द्वारा एक इनपुट हुन बाध्य हुन्छ, पुल-अप अझै पनि PORTB0 बिट द्वारा नियन्त्रण गर्न सकिन्छ।
AIN0: एनालग तुलनाकर्ता सकारात्मक इनपुट। डिजिटल पोर्ट प्रकारलाई एनालग कम्प्याटरको प्रकार्यमा हस्तक्षेप गर्नबाट रोक्नको लागि आन्तरिक पुल अप स्विच अफको साथ पोर्ट पिन कन्फिगर गर्नुहोस्।
OC0A: आउटपुट म्याच आउटपुट तुलना गर्नुहोस्। PB0 पिन टाईमर / काउन्टर ० एक तुलना आउटपुट (DDB0 सेट (एक)) को रूपमा कन्फिगर गरेमा मिलान A को तुलना गर्नुहोस् बाह्य आउटपुटको रूपमा काम गर्न सक्दछ। OC0A पिन PWM मोड टाइमर प्रकार्यका लागि आउटपुट पिन पनि हो।
OC1A: Inverted आउटपुट तुलना म्याच आउटपुट तुलना गर्नुहोस्: PB0 पिन टाइमर / काउन्टर 1 तुलना B को बाह्य आउटपुटको रूपमा काम गर्न सक्दछ जब आउटपुट (DDB0 सेट) को रूपमा कन्फिगर गरिएको छ। OC1A पिन PWM मोड टाइमर प्रकार्यका लागि inverted आउटपुट पिन पनि हो।
SDA: दुई-तार मोड सीरियल ईन्टरफेस डाटा।
AREF: एडीसी को लागी बाह्य एनालग सन्दर्भ। Pullup र आउटपुट चालक PB0 मा असक्षम छन् जब पिन एक बाह्य सन्दर्भ वा आन्तरिक भोल्युम को रूप मा प्रयोग गरीन्छtagई AREF पिन मा बाह्य संधारित्र संग सन्दर्भ।
DI: USI थ्री-तार मोडमा डाटा इनपुट। युएसआई थ्री-तार मोडले सामान्य पोर्ट प्रकार्यहरूलाई ओभरराइड गर्दैन, त्यसैले पिन डि प्रकार्यका लागि इनपुटको रूपमा कन्फिगर गरिएको हुनुपर्दछ।
PCINT0: पिन परिवर्तन रुकावट स्रोत।।
तालिका ४-१ र तालिका ४-१ पोर्ट बीको वैकल्पिक प्रकार्यहरू यसमा देखाइएको ओभरराइडिंग संकेतहरूमा सम्बन्धित छ चित्र १०--10 पृष्ठ 58.
तालिका १०-४। PB मा वैकल्पिक कार्यहरूको लागि संकेतहरू ओभरराइड गर्दै [10:4]
संकेत नाम | PB5 / RESET / ADC0 / PCINT5 | PB4/ADC2/XTAL2/ OC1B/PCINT4 | PB3/ADC3/XTAL1/ OC1B/PCINT3 |
PUOE | ![]() |
0 | 0 |
PUOV | 1 | 0 | 0 |
DDOE | RSTDISBL(०३०३२५) W DWEN(०३०३२५) | 0 | 0 |
DDOV | डिबगवायर ट्रान्समिट | 0 | 0 |
PVOE | 0 | OC1B सक्षम गर्नुहोस् | ![]() OC1B सक्षम गर्नुहोस् |
PVOV | 0 | OC1B | OC1B |
PTOE | 0 | 0 | 0 |
DIEOE | ![]() RSTDISBL(०३०३२५) + (PCINT5 • PCIE + ADC0D) |
PCINT4 • PCIE + ADC2D | PCINT3 • PCIE + ADC3D |
DIEOV | ADC0D | ADC2D | ADC3D |
DI | PCINT5 इनपुट | PCINT4 इनपुट | PCINT3 इनपुट |
AIO | RESET इनपुट, ADC0 इनपुट | ADC2 इनपुट | ADC3 इनपुट |
नोट: जब फ्यूज "०" (कार्यक्रमित) हुन्छ।
तालिका १०-४। PB मा वैकल्पिक कार्यहरूको लागि संकेतहरू ओभरराइड गर्दै [10:5]
संकेत नाम | PB2/SCK/ADC1/T0/ USCK/SCL/INT0/PCINT2 | PB1/MISO/DO/AIN1/ OC1A/OC0B/PCINT1 | PB0/MOSI/DI/SDA/AIN0/AR EF/OC1A/OC0A/
PCINT0 |
PUOE | USI_TWO_WIRE | 0 | USI_TWO_WIRE |
PUOV | 0 | 0 | 0 |
DDOE | USI_TWO_WIRE | 0 | USI_TWO_WIRE |
DDOV | (USI_SCL_HOLD + PORTB2) • DDB2 | 0 | ![]() ![]() (SDA + PORTB0) • DDB0 |
PVOE | USI_TWO_WIRE • DDB2 | OC0B सक्षम + OC1A सक्षम + USI_THREE_WIRE | ![]() OC0A सक्षम + OC1A सक्षम + (USI_TWO_WIRE DDB0) |
PVOV | 0 | OC0B + OC1A + do | ![]() OC0A + OC1A |
PTOE | USITC | 0 | 0 |
DIEOE | PCINT2 • PCIE + ADC1D + USISIE | PCINT1 • PCIE + AIN1D | PCINT0 • PCIE + AIN0D + USISIE |
DIEOV | ADC1D | AIN1D | AIN0D |
DI | T0 / USCK / SCL / INT0 /
PCINT2 इनपुट |
PCINT1 इनपुट | DI / SDA / PCINT0 इनपुट |
AIO | ADC1 इनपुट | एनालग कम्प्याटर नकारात्मक इनपुट | एनालग कम्पेरेटर सकारात्मक इनपुट |
विवरण दर्ता गर्नुहोस्
MCUCR - MCU नियन्त्रण रेजिस्टर
बिट | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
८x४० | BODS | PUD | SE | SM1 | SM0 | BODSE | ISC01 | ISC00 | MCUCR |
पढ्नुहोस्/लेख्नुहोस् | R | R/W | R/W | R/W | R/W | R | R/W | R/W | |
प्रारम्भिक मान | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Bit 6 - PUD: पुल अप असक्षम
जब यो बिट एकमा लेखिएको हुन्छ, I / O पोर्टहरूमा पुल अप असक्षम हुन्छन् यदि DDxn र PORTxn रेजिस्टरहरू पुल-अप सक्षम गर्न कन्फिगर गरिएको छ भने ({DDxn, PORTxn 0 = 01bXNUMX)। हेर्नुहोस् पृष्ठ on 54 मा "पिन कन्फिगर गर्नुहोस्" यस सुविधाको बारेमा थप विवरणहरूको लागि।
PORTB - पोर्ट बी डाटा रजिस्टर
बिट | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
८x४० | – | – | PORTB5 | PORTB4 | PORTB3 | PORTB2 | PORTB1 | PORTB0 | PORTB |
पढ्नुहोस्/लेख्नुहोस् | R | R | R/W | R/W | R/W | R/W | R/W | R/W | |
प्रारम्भिक मान | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
DDRB - पोर्ट बी डाटा दिशा रजिस्टर
बिट | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
८x४० | – | – | DDB5 | DDB4 | DDB3 | DDB2 | DDB1 | DDB0 | DDRB |
पढ्नुहोस्/लेख्नुहोस् | R | R | R/W | R/W | R/W | R/W | R/W | R/W | |
प्रारम्भिक मान | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
PINB - पोर्ट बी इनपुट पिन ठेगाना
बिट | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
८x४० | – | – | PINB5 | PINB4 | PINB3 | PINB2 | PINB1 | PINB0 | PINB |
पढ्नुहोस्/लेख्नुहोस् | R | R | R/W | R/W | R/W | R/W | R/W | R/W | |
प्रारम्भिक मान | 0 | 0 | N/A | N/A | N/A | N/A | N/A | N/A |
W-बिट टाइमर / काउन्टर ० PWM को साथ
सुविधाहरू
दुई स्वतन्त्र आउटपुट तुलना एकाइहरू
डबल बफर आउटपुट रेजिस्टरहरू तुलना गर्नुहोस्
म्याच तुलनामा टाइमर खाली गर्नुहोस् (स्वत: पुन: लोड)
ग्लिच फ्रि, चरण सही पल्स चौड़ाई मोडुलर (PWM)
चर PWM अवधि
फ्रिक्वेन्सी जेनरेटर
तीन स्वतन्त्र अवरोध स्रोतहरू (TOV0, OCF0A, र OCF0B)
माथिview
टाइमर / काउन्टर ० एक सामान्य उद्देश्य--बिट टाइमर / काउन्टर मोड्युल हो, दुई स्वतन्त्र आउटपुट तुलना एकाईहरूको साथ, र PWM समर्थनको साथ। यसले सहि प्रोग्राम कार्यान्वयन समय (घटना व्यवस्थापन) र वेभ जेनरेशनलाई अनुमति दिन्छ।
--बिट टाइमर / काउन्टरको सरलीकृत ब्लक रेखाचित्रमा देखाइएको छ चित्र ३-२। I / O पिन्सको वास्तविक प्लेसमेन्टका लागि सन्दर्भ गर्नुहोस् पृष्ठ २ मा "पिनआउट एटीनी २25 / / 45 /। 85"। सीपीयू पहुँचयोग्य I / O रेजिस्टरहरू, I / O बिट्स र I / O पिनहरू सहित, बोल्डमा देखाइन्छ। उपकरण-विशेष I / O रेजिष्टर र बिट स्थानहरू सूचीमा सूचीबद्ध छन् पृष्ठ 77 XNUMX मा "विवरण दर्ता गर्नुहोस्".
टाइमर/काउन्टर (TCNT0) र आउटपुट तुलना रजिस्टरहरू (OCR0A र OCR0B) 8-बिट दर्ताहरू हुन्। अवरोध अनुरोध (चित्रमा Int.Req को संक्षिप्त) संकेतहरू सबै टाइमर इन्टरप्ट फ्ल्याग रजिस्टर (TIFR) मा देखिन्छन्। सबै अवरोधहरू व्यक्तिगत रूपमा टाइमर इन्टरप्ट मास्क दर्ता (TIMSK) सँग मास्क गरिएका छन्। TIFR र TIMSK लाई चित्रमा देखाइएको छैन।
टाइमर/काउन्टर आन्तरिक रूपमा, प्रिस्केलर मार्फत वा T0 पिनमा बाहिरी घडी स्रोतद्वारा घडी गर्न सकिन्छ। घडी चयन तर्क ब्लकले टाइमर/काउन्टरले यसको मूल्य बढाउन (वा घटाउन) प्रयोग गर्ने घडीको स्रोत र किनारालाई नियन्त्रण गर्दछ। घडीको स्रोत चयन नगर्दा टाइमर/काउन्टर निष्क्रिय हुन्छ। घडी चयन तर्कबाट आउटपुटलाई टाइमर घडी (clkT0) भनिन्छ।
डबल बफर आउटपुट तुलना रेजिस्टरहरू (OCR0A र OCR0B) लाई टाइमर / काउन्टर मानसँग जहिले पनि तुलना गरिन्छ। तुलनाको नतीजा Waveform जेनरेटर द्वारा PWM वा भेरिएबल फ्रेक्वेंसी आउटपुट उत्पादन गर्न आउटपुट तुलना पिन (OC0A र OC0B) मा प्रयोग गर्न सकिन्छ। पृष्ठ on on मा "आउटपुट तुलना एकाई" हेर्नुहोस्। विवरणका लागि। तुलना मिलान घटनाले तुलना फ्ल्याग (OCF0A वा OCF0B) पनि सेट गर्दछ जुन आउटपुट तुलना रुकावट अनुरोध उत्पन्न गर्न प्रयोग गर्न सकिन्छ।
परिभाषाहरू
यस खण्डमा धेरै दर्ता र बिट सन्दर्भहरू सामान्य फारममा लेखिएका हुन्छन्। एउटा सानो केस "एन" ले टाइमर / काउन्टर नम्बर प्रतिस्थापन गर्दछ, यस अवस्थामा ०। सानो अक्षर "x" ले आउटपुट तुलना एकाई प्रतिस्थापन गर्दछ, यस अवस्थामा इकाई ए वा तुलना गर्नुहोस् इकाई बी तुलना गर्नुहोस्। यद्यपि, रेजिस्टर प्रयोग गर्दा वा बिट परिभाषित गर्दछ। एक कार्यक्रममा, सटीक फारम प्रयोग गर्नुपर्नेछ, अर्थात्, TCNT0 टाइमर / काउन्टर ० काउन्टर मान पहुँच गर्नका लागि र यस्तै।
मा परिभाषा तालिका ४-१ कागजातभरि व्यापक रूपमा प्रयोग हुन्छन्।
तालिका ३-१। परिभाषाहरू
स्थिर | विवरण |
तल | काउन्टर BOTTOM मा पुग्छ जब यो ०x0 हुन्छ |
MAX | काउन्टरले यसको अधिकतममा पुग्छ जब यो ०xFF हुन्छ (दशमलव २ 0)) |
शीर्ष | काउन्टर शीर्षमा पुग्छ जब यो गणना क्रममा उच्चतम मानको बराबर हुन्छ। शीर्ष मान निश्चित मान ०xFF (MAX) वा OCR0A रेजिष्टरमा भण्डारित मान हुन तोकिन्छ। कार्य अपरेशनको मोडमा निर्भर गर्दछ |
टाइमर / काउन्टर प्रिस्केलेर र घडी स्रोतहरू
टाइमर / काउन्टर एक आन्तरिक वा बाह्य घडी स्रोत द्वारा क्लक गर्न सकिन्छ। घडी स्रोत क्लक चयन तर्क द्वारा चयन गरिएको छ जुन घडी चयन (c) बिटहरू द्वारा नियन्त्रण गरिन्छ जुन टाइमर / काउन्टर ० नियन्त्रण रेजिस्टर (TCCR0B) मा अवस्थित छ।
प्रिस्केलरसँग आन्तरिक घडी स्रोत
टाइमर/काउन्टर० सिधै प्रणाली घडी द्वारा घडी गर्न सकिन्छ (CS0 [२:०] = १ सेट गरेर)। यसले प्रणाली घडी फ्रिक्वेन्सी (fCLK_I/O) बराबरको अधिकतम टाइमर/काउन्टर क्लक फ्रिक्वेन्सीसँग, सबैभन्दा छिटो सञ्चालन प्रदान गर्दछ। वैकल्पिक रूपमा, prescaler बाट चार ट्यापहरू मध्ये एक घडीको स्रोतको रूपमा प्रयोग गर्न सकिन्छ। प्रिस्केल गरिएको घडीमा कुनै एकको फ्रिक्वेन्सी हुन्छ
प्रिस्केलर रिसेट
Prescaler स्वतन्त्र चलिरहेको छ, यानी यो घडी टाइमर/Counter0 को तर्क चयन को स्वतन्त्र रूपमा संचालित छ। चूंकि prescaler टाइमर/काउन्टर को घडी चयन द्वारा प्रभावित छैन, prescaler को राज्य एक prescaled घडी प्रयोग गरीन्छ जहाँ स्थितिको लागी निहितार्थ हुनेछ। एक पूर्वampएक prescaling कलाकृति को ले जब टाइमर/काउन्टर सक्षम छ र prescaler (6> CS0 [2: 0]> 1) द्वारा घडी सक्षम छ। प्रणाली घडी चक्र को संख्या बाट जब टाइमर पहिलो गिनती को लागी सक्षम हुन्छ 1 बाट N+1 प्रणाली घडी चक्र हुन सक्छ, जहाँ N prescaler विभाजक (8, 64, 256, वा 1024) बराबर हुन्छ।
कार्यक्रम कार्यान्वयनको लागि टाइमर / काउन्टर सिron्ख्रोनाइज गर्न प्रिस्केलर रिसेट प्रयोग गर्न सम्भव छ।
बाह्य घडी स्रोत
T0 पिनमा लागू गरिएको बाह्य घडी स्रोतलाई टाइमर/काउन्टर घडी (clkT0) को रूपमा प्रयोग गर्न सकिन्छ। T0 पिन s होampएक पटक पिन सिंक्रोनाइजेशन तर्क द्वारा प्रत्येक प्रणाली घडी चक्र नेतृत्व। सिंक्रोनाइज्ड (हरू)ampनेतृत्व) संकेत तब पारित हुन्छ
किनारा डिटेक्टर मार्फत। चित्र ३-२ T0 सिङ्क्रोनाइजेसन र एज डिटेक्टर तर्कको कार्यात्मक समकक्ष ब्लक रेखाचित्र देखाउँछ। दर्ताहरू आन्तरिक प्रणाली घडी (clkI/O) को सकारात्मक किनारामा घडी गरिएका छन्। कुंडी आन्तरिक प्रणाली घडी को उच्च अवधि मा पारदर्शी छ।
किनारा डिटेक्टरले प्रत्येक सकारात्मक (CS0 [0:2] = 0) वा नकारात्मक (CS7 [0:2] = 0) किनाराको लागि एक clkT6 पल्स उत्पन्न गर्दछ।
कुनै पल्स चौड़ाई मोडुलन (PWM) मोडहरू प्रयोग गर्दा OCR0x रेजिस्टरहरू डबल बफर हुन्छन्। अपरेशनको तुलना (CTC) मोडमा सामान्य र स्पष्ट टाइमरको लागि, डबल बफरि disabled असक्षम पारिन्छ। डबल बफरिंगले ओसीआर ०x रेजिष्टर्सको अद्यावधिक समक्रमण गर्दछ माथी गणनाको क्रम माथिको वा तल। समक्रमणले अनौंठो लम्बाई, गैर-सममित PWM दालको घटनालाई रोक्छ, जसले गर्दा आउटपुट ग्लि--रहित हुन्छ।
OCR0x रेजिस्टर पहुँच जटिल लाग्न सक्छ, तर यो केस छैन। जब डबल बफरि enabled सक्षम हुन्छ, CPU सँग OCR0x बफर रजिस्टरमा पहुँच हुन्छ, र यदि डबल बफरिering असक्षम पारिएमा CPU ले OCR0x लाई सिधा पहुँच गर्दछ।
बल आउटपुट तुलना
गैर- PWM तरंग मोड जेनरेशन मोडहरूमा, तुलनाकर्ताको म्याच आउटपुटलाई बल आउटपुट तुलना (FOC0x) बिटमा एउटा लेखेर बाध्य गर्न सकिन्छ। मिलान तुलना गर्न बाध्य पार्नाले OCF0x झण्डा सेट गर्दैन वा टाइमर पुन: लोड / खाली गर्दछ, तर OC0x पिन अपडेट हुनेछ यदि वास्तविक तुलना म्याच भएको छ भने (COM0x [१: ०] बिट्स सेटिंग्स परिभाषित गर्दछ OC1x पिन सेट गरिएको छ कि छैन, खाली छ। वा टगल गरियो)।
TCNT0 Writing द्वारा खेल अवरुद्ध तुलना गर्नुहोस्
सबै सीपीयू TCNT0 रेजिष्टर अपरेसन अपरेसनले टाईमर बन्द भए पनि अर्को टाइमर घडी चक्रमा हुने कुनै पनि तुलना जोडा ब्लक गर्दछ। यस सुविधाले OCR0x लाई समान मानको TCNT0 मा आरम्भ गर्न अनुमति दिन्छ जब टाइमर / काउंटर घडी सक्षम पारिएको छ।
आउटपुट तुलना एकाई प्रयोग गर्दै
कुनै पनि अपरेशनको मोडमा TCNT0 लेख्दा एक टाइमर घडी चक्रका लागि सबै तुलना मिलानहरू रोकिनेछ, त्यहाँ TCNT0 परिवर्तन गर्ने क्रममा जोखिम हुन्छन् आउटपुट तुलना एकाई प्रयोग गर्दा स्वतन्त्र रूपमा टाइमर / काउन्टर चलिरहेको छ वा छैन भनेर स्वतन्त्र रूपमा। यदि TCNT0 मा लेखिएको मान OCR0x मान बराबर भयो भने तुलना मिलान छुटाइनेछ, परिणामस्वरूप गलत वेभफर्म जेनेरेसन उत्पन्न हुनेछ। त्यस्तै, TCNT0 मान BOTTOM सँग बराबर नलगाउनुहोस् जब काउन्टर डाउन-काउन्टि is्ग हुन्छ।
OC0x को सेटअप आउटपुट पोर्ट पिनको लागि डाटा दिशा रेजिस्टर सेट गर्नु अघि गर्नुपर्नेछ। OC0x मान सेट गर्ने सजिलो तरीका भनेको सामान्य मोडमा फोर्स आउटपुट कम्पेयर (FOC0x) स्ट्रोब बिट्स प्रयोग गर्नु। OC0x रेजिष्टर्सले मानहरू वेभफर्म जेनेरेशन मोडहरूमा परिवर्तन गर्दा पनि राख्छ।
सचेत रहनुहोस् कि COM0x [१: ०] बिट्स तुलना मानको साथ सँगै डबल बफर भएको छैन। COM1x [१: ०] बिट्स परिवर्तन गर्दा तुरुन्तै प्रभावमा पर्दछ।
मिलान आउटपुट एकाई तुलना गर्नुहोस्
तुलना आउटपुट मोड (COM0x [१: ०]) बिट्सको दुई कार्यहरू छन्। वेभफॉर्म जेनरेटरले COM1x [१: ०] बिटहरू अर्को तुलना मिलानमा आउटपुट तुलना (OC0x) राज्य परिभाषित गर्न प्रयोग गर्दछ। साथै, COM0x [१: ०] बिट्सले OC1x पिन आउटपुट स्रोत नियन्त्रण गर्दछ। चित्र ३-२ COM0x [१: ०] बिट सेटिंग्सद्वारा प्रभावित तर्कको एक सरल योजनाबद्ध देखाउँदछ। आई / ओ रेजिस्टरहरू, I / O बिट्स, र फिगरमा I / O पिन्स बोल्ड रूपमा देखाइन्छ। COM1x [१: ०] बिट्स द्वारा प्रभावित सामान्य I / O पोर्ट नियन्त्रण रेजिस्टरहरू (DDR र PORT) का केवल अंशहरू देखाइन्छ। जब OC0x राज्यलाई सन्दर्भ गर्दै, सन्दर्भ आन्तरिक OC0x रेजिस्टरको लागि हो, OC1x पिनको लागि होइन। यदि एक प्रणाली रिसेट देखा पर्दछ, OC0x रेजिस्टर "०" मा रिसेट भयो।
जब OC0A / OC0B I / O पिनसँग जोडिएको छ, COM0A [१: ०] / COM1B [१: ०] बिट्सको प्रकार्य WGM0 [२: ०] बिट सेटि onमा निर्भर गर्दछ। तालिका ४-१ COM0x [१: ०] बिट कार्यक्षमता देखाउँदछ जब WGM1 [२: ०] बिट्स सामान्य वा CTC मोडमा सेट गरिन्छ (गैर- PWM)।
तालिका ११-२। आउटपुट मोड, गैर PWM मोड तुलना गर्नुहोस्
COM0A1 COM0B1 | COM0A0 COM0B0 | विवरण |
0 | 0 | सामान्य पोर्ट अपरेशन, OC0A / OC0B काटिएको छ। |
0 | 1 | खेल तुलना गर्नुहोस् OC0A / OC0B टगल गर्नुहोस् |
1 | 0 | Match तुलनामा OC0A / OC0B खाली गर्नुहोस् |
1 | 1 | OC0A / OC0B तुलना जोडामा सेट गर्नुहोस् |
तालिका ४-१ COM0x [१: ०] बिट कार्यक्षमता देखाउँदछ जब WGM1 [२: ०] बिट्स द्रुत PWM मोडमा सेट गरिन्छ।
तालिका ११-३। आउटपुट मोड, छिटो PWM मोड तुलना गर्नुहोस्(०३०३२५)
COM0A1 COM0B1 | COM0A0 COM0B0 | विवरण |
0 | 0 | सामान्य पोर्ट अपरेशन, OC0A / OC0B काटिएको छ। |
0 | 1 | आरक्षित |
1 | 0 | तुलना जोडामा OC0A / OC0B खाली गर्नुहोस्, OC0A / OC0B BOTTOM मा सेट गर्नुहोस् (नन-इन्भर्टि mode मोड) |
1 | 1 | OC0A / OC0B तुलना जोडामा सेट गर्नुहोस्, OC0A / OC0B BOTTOM मा (inverting मोड) खाली गर्नुहोस् |
नोट: OCR0A वा OCR0B बराबर TOP र COM0A1/COM0B1 सेट गर्दा एक विशेष केस हुन्छ। यस अवस्थामा, तुलना मिलानलाई बेवास्ता गरिन्छ, तर सेट वा स्पष्ट BOTTOM मा गरिन्छ। हेर्नुहोस् पृष्ठ 73 XNUMX मा "फास्ट PWM मोड" थप विवरणहरूको लागि।
तालिका ४-१ COM0x [१: ०] बिट कार्यक्षमता देखाउँदछ जब WGM1 [२: ०] बिट्स सही PWM मोड चरणमा सेट गरिन्छ।
तालिका ११-४। आउटपुट मोड तुलना गर्नुहोस्, चरण सही PWM मोड(०३०३२५)
COM0A1 COM0B1 | COM0A0 COM0B0 | विवरण |
0 | 0 | सामान्य पोर्ट अपरेशन, OC0A / OC0B काटिएको छ। |
0 | 1 | आरक्षित |
1 | 0 | OC0A / OC0B तुलना म्याचमा जब अप गणना गर्दै। OC0A / OC0B तुलना मैचमा सेट गर्नुहोस् जब डाउन-गणना गर्दै। |
1 | 1 | OC0A / OC0B तुलना मैचमा सेट अप गर्नुहोस् जब अप-गणना गर्दै। OC0A / OC0B तुलना मैचमा खाली गर्दा गणना गरिँदा। |
नोट: 1. OCR0A वा OCR0B बराबर TOP र COM0A1/COM0B1 सेट गर्दा एक विशेष केस हुन्छ। यस अवस्थामा, तुलना मिलानलाई बेवास्ता गरिन्छ, तर सेट वा स्पष्ट TOP मा गरिन्छ। हेर्नुहोस् पृष्ठ on 74 मा "चरण सही PWM मोड" थप विवरणहरूको लागि।
बिट्स:: १ - रिजर्भ: आरक्षित बिट्स
यी बिट्स एटिटिनी २ / / 25 45 /। 85 मा बिट आरक्षित छन् र सँधै शून्यको रूपमा पढिनेछ।
बिट्स १: ० - WGM1 [१: ०]: वेभफॉर्म जेनेरेशन मोड
टीसीसीआर ० बी रेजिस्टरमा भेटिएको WGM02 बिटसँग संयुक्त रूपमा, यी बिट्सले काउन्टरको गणना गणनालाई अधिकतम (TOP) काउन्टर मानको लागि स्रोत नियन्त्रण गर्दछ, र कस्तो प्रकारको वेभफर्म जेनरेशन प्रयोग गर्न सकिन्छ, हेर्नुहोस्। तालिका ४-१। टाइमर / काउन्टर एकाई द्वारा समर्थित अपरेसन मोडहरू: सामान्य मोड (काउन्टर), तुलना मिलान (CTC) मोडमा क्लियर टाइमर, र दुई प्रकारको नाडी चौड़ाई मोडुलन (PWM) मोडहरू (हेर्नुहोस्) "अपरेसन मोड" पृष्ठ 71 मा).
तालिका ११-५। वेभफर्म जेनेरेसन मोड बिट विवरण
मोड | WGM ०२ | WGM ०२ | WGM ०२ | अपरेशनको टाइमर / काउन्टर मोड | शीर्ष | मा OCRx को अपडेट | TOV झण्डा सेट |
0 | 0 | 0 | 0 | सामान्य | ०xFF | तत्काल | MAX(०३०३२५) |
1 | 0 | 0 | 1 | PWM, चरण सही | ०xFF | शीर्ष | तल(०३०३२५) |
2 | 0 | 1 | 0 | CTC | OCRA | तत्काल | MAX(०३०३२५) |
3 | 0 | 1 | 1 | छिटो PWM | ०xFF | तल(०३०३२५) | MAX(०३०३२५) |
4 | 1 | 0 | 0 | आरक्षित | – | – | – |
5 | 1 | 0 | 1 | PWM, चरण सही | OCRA | शीर्ष | तल(०३०३२५) |
6 | 1 | 1 | 0 | आरक्षित | – | – | – |
7 | 1 | 1 | 1 | छिटो PWM | OCRA | तल(०३०३२५) | शीर्ष |
Bit 7 - FOC0A: फोर्स आउटपुट A तुलना गर्नुहोस्
FOC0A बिट मात्र सक्रिय हुन्छ जब WGM बिट्सले गैर PWM मोड निर्दिष्ट गर्दछ।
जहाँसम्म, भविष्यका उपकरणहरूसँग अनुकूलताको लागि, यो बिट शून्यमा सेट गर्नुपर्नेछ जब TWR0B PWM मोडमा अपरेटिंग गर्दा लेखिएको हुन्छ। FOC0A बिटमा तार्किक लेख्दा, एक तुरुन्त तुलना म्याचलाई वेभफॉर्म जेनेरेट एकाइमा बाध्य पारिन्छ। OC0A आउटपुट यसको COM0A [१: ०] बिट्स सेटिंग अनुसार परिवर्तन भयो। नोट गर्नुहोस् कि FOC1A बिट स्ट्रोकको रूपमा लागू गरिएको छ। त्यसकारण यो COM0A [१: ०] बिट्समा अवस्थित मूल्य हो जुन बाध्य तुलनाको प्रभाव निर्धारण गर्दछ।
एक FOC0A स्ट्रोबले कुनै अवरोध उत्पन्न गर्दैन, न त सीटीसी मोडमा टाइमर खाली गर्दछ OCR0A शीर्षको रूपमा प्रयोग गरेर। FOC0A बिट सँधै शून्यको रूपमा पढिन्छ।
Bit 6 - FOC0B: फोर्स आउटपुट तुलना B
FOC0B बिट मात्र सक्रिय हुन्छ जब WGM बिट्सले गैर PWM मोड निर्दिष्ट गर्दछ।
जहाँसम्म, भविष्यका उपकरणहरूसँग अनुकूलताको लागि, यो बिट शून्यमा सेट गर्नुपर्नेछ जब TWR0B PWM मोडमा अपरेटिंग गर्दा लेखिएको हुन्छ। FOC0B बिटमा तार्किक लेख्दा, एक तत्काल तुलना मिलाउन वेभफॉर्म जेनेरेट एकाइमा बाध्य पारिन्छ। OC0B आउटपुट यसको COM0B [१: ०] बिट्स सेटिंग अनुसार परिवर्तन भयो। नोट गर्नुहोस् कि FOC1B बिट स्ट्रोकको रूपमा लागू गरिएको छ। त्यसकारण यो COM0B [१: ०] बिट्समा अवस्थित मूल्य हो जुन बाध्य तुलनाको प्रभाव निर्धारण गर्दछ।
एक FOC0B स्ट्रोबले कुनै अवरोध उत्पन्न गर्दैन, न त सीटीसी मोडमा टाइमर खाली गर्दछ OCR0B शीर्षको रूपमा प्रयोग गरेर।
FOC0B बिट सँधै शून्यको रूपमा पढिन्छ।
बिट्स:: १ - रिजर्भ: आरक्षित बिट्स
यी बिट्स एटिटिनी २ / / 25 45 /। 85 मा बिट आरक्षित छन् र सँधै शून्यको रूपमा पढिनेछ।
Bit 3 - WGM02: Waveform जेनेरेशन मोड
मा वर्णन हेर्नुहोस् "TCCR0A - टाइमर / काउन्टर नियन्त्रण रजिस्टर A" पृष्ठ on 77 मा.
बिट्स २: ० - CS2 [२: ०]: घडी चयन
तीन घडी चयन बिट्स घडी स्रोत चयन टाइमर / काउन्टर द्वारा प्रयोग गर्न।
तालिका ११-६। घडी चयन बिट विवरण
CS02 | CS01 | CS00 | विवरण |
0 | 0 | 0 | कुनै घडी स्रोत छैन (टाइमर / काउन्टर रोकियो) |
0 | 0 | 1 | clkI/O/(कुनै प्रिस्केलिंग छैन) |
0 | 1 | 0 | clkI/O/8 (prescaler बाट) |
0 | 1 | 1 | clkI/O/64 (prescaler बाट) |
1 | 0 | 0 | clkI/O/256 (prescaler बाट) |
1 | 0 | 1 | clkI/O/1024 (prescaler बाट) |
1 | 1 | 0 | T0 पिनमा बाह्य घडी स्रोत। खस्ने किनारमा घडी। |
1 | 1 | 1 | T0 पिनमा बाह्य घडी स्रोत। बढ्दो किनारमा घडी। |
यदि बाह्य पिन मोडहरू टाइमर / काउन्टर ० को लागि प्रयोग गरिएको छ भने, T0 पिनमा ट्रान्जिसनले काउन्टर घडी गर्दछ यदि पिनलाई आउटपुटको रूपमा कन्फिगर गरिएको छ भने। यो सुविधाले गन्तीको सफ्टवेयर नियन्त्रणलाई अनुमति दिन्छ।
काउन्टर र तुलना एकाइहरू
टाइमर / काउन्टर १ सामान्य अपरेशनलाई एसिन्क्रोनस मोडमा वर्णन गरिएको छ र सिro्क्रोनस मोडमा अपरेशन मात्र उल्लेख गरिएको छ यदि त्यहाँ यी दुई मोडहरू बीच भिन्नताहरू छन् भने। चित्र ३-२ टाइमर / काउन्टर १ सिnch्क्रोनाइजेसन रजिस्टर ब्लक रेखाचित्र र सिnch्क्रोनाइजेसन ढिलाइ दर्ता गर्दछ रेजिस्टरहरूको बीचमा। नोट गर्नुहोस् कि सबै घडीका विवरणहरू चित्रमा देखाइएको छैन। टाइमर / काउन्टर १ रेजिस्टर मानहरू आन्तरिक सिnch्क्रोनाइजेसन रेजिस्टरहरू मार्फत जान्छन्, जसले काउन्टर अपरेसनलाई प्रभाव पार्नु अघि इनपुट समक्रमणलाई ढिलाइ दिन्छ। रेजिस्टरहरू TCCR1, GTCCR, OCR1A, OCR1B, र OCR1C दर्ता गरेपछि पछाडि पढ्न सकिन्छ। पढ्ने पछाडि मानहरू टाइमर / काउन्टर १ (TCNT1) रेजिष्टर र फ्ल्यागहरू (OCF1A, OCF1B, र TOV1) को लागि ढिलाइ हुन्छ किनभने इनपुट र आउटपुट समक्रमणको कारण।
टाइमर / काउन्टर १ ले एक उच्च रिजोलुसन र कम शुद्धीकरण अवसरहरूको साथ उच्च शुद्धता प्रयोग गर्दछ। यसले दुई सटीक, उच्च वेग,--बिट पल्स चौड़ाई मोडुलरहरू घडीको गति 1 8 मेगाहर्ट्ज (वा कम स्पीड मोडमा M२ मेगाहर्ट्ज) को उपयोग गरेर पनि समर्थन गर्न सक्दछ। यस मोडमा, टाइमर / काउन्टर १ र आउटपुट तुलना रेजिस्टरहरू दोहोरो एक्लो-एक्लो PWM को रूपमा गैर-ओभरल्यापि-गैर-उल्ट्याइएको र उल्टो आउटपुटको रूपमा सेवा गर्दछ। उल्लेख पृष्ठ 86 यस प्रकार्यमा विस्तृत विवरणका लागि। त्यस्तै, उच्च prescaling अवसरहरु यस इकाई कम गति कार्यहरु वा सही समय कार्यहरु को लागी दुर्लभ कार्यहरु संग उपयोगी बनाउँछ।
चित्र 12-2। टाइमर/काउन्टर 1 सिंक्रोनाइजेसन दर्ता ब्लक रेखाचित्र।
टाइमर / काउन्टर १ र प्रेस्केलरले कुनै पनि घडी स्रोतबाट सीपीयू चलाउन अनुमति दिन्छ जबकि प्रिस्केलर एसिन्क्रोनस मोडमा द्रुत (M मेगाहर्ट्ज (वा Low२ मेगाहर्ट्ज) पीसीके घडीमा अपरेट गर्दैछ।
नोट गर्नुहोस् कि प्रणाली घडी फ्रिक्वेन्सी पीसीके फ्रिक्वेन्सीको एक तिहाइ भन्दा कम हुनुपर्दछ। एसिन्क्रोनस टाईमर / काउन्टर १ को सिnch्क्रोनाइजेसन संयन्त्रलाई पीसीकेको कम्तिमा दुई किनारा आवश्यक पर्दछ जब प्रणाली घडी उच्च छ। यदि प्रणाली घडीको फ्रिक्वेन्सी धेरै छ, यो जोखिम हुन्छ कि डाटा वा नियन्त्रण मानहरू हराउँछन्।
निम्न चित्र ३-२ टाइमर / काउन्टर १ का लागि ब्लक आरेखम देखाउँदछ।
तालिका १२-१। PWM मोडमा मोड चयन तुलना गर्नुहोस्
COM1x1 | COM1x0 | आउटपुट मा पिन तुलना पिन तुलना गर्नुहोस् |
0 | 0 | OC1x जडान छैन। OC1x जडान छैन। |
0 | 1 | OC1x तुलना जोडामा खाली गरियो। सेट गर्नुहोस् जब TTCNT1 = $ ००। OC00x तुलना मिलान मा सेट। खाली गरियो जब TCNT1 = $ ००। |
1 | 0 | OC1x तुलना जोडामा खाली गरियो। सेट गर्नुहोस् जब TCNT1 = $ ००। OC00x जडान छैन। |
1 | 1 | तुलना म्याचमा OC1x सेट। खाली गरियो जब TCNT1 = $ ००। OC00x जडान छैन। |
एडीसी विशेषताहरु
तालिका २१-८। ADC विशेषताहरू, एकल समाप्त च्यानलहरू। TA = -21°C देखि +8°C
प्रतीक | प्यारामिटर | अवस्था | न्यूनतम | टाइप गर्नुहोस् | अधिकतम | एकाइहरू |
संकल्प | 10 | बिट्स | ||||
पूर्ण शुद्धता (INL, DNL, र Quantiization, लाभ र अफसेट त्रुटि सहित) | VREF = 4V, VCC = 4V,
ADC घडी = २०० kHz |
2 | LSB | |||
VREF = 4V, VCC = 4V,
एडीसी घडी = १ मेगाहर्ट्ज |
3 | LSB | ||||
VREF = 4V, VCC = 4V,
ADC घडी = २०० kHz शोर कटौती मोड |
1.5 | LSB | ||||
VREF = 4V, VCC = 4V,
एडीसी घडी = १ मेगाहर्ट्ज शोर कटौती मोड |
2.5 | LSB | ||||
इन्टिग्रल नॉन-लाइनरिटी (INL) (अफसेट पछि शुद्धता र क्यालिब्रेसन लाभ) | VREF = 4V, VCC = 4V,
ADC घडी = २०० kHz |
1 | LSB | |||
भिन्न गैर-रेखाता (DNL) | VREF = 4V, VCC = 4V,
ADC घडी = २०० kHz |
0.5 | LSB | |||
लाभ त्रुटि | VREF = 4V, VCC = 4V,
ADC घडी = २०० kHz |
2.5 | LSB | |||
अफसेट त्रुटि | VREF = 4V, VCC = 4V,
ADC घडी = २०० kHz |
1.5 | LSB | |||
रूपान्तरण समय | नि: शुल्क चालु रूपान्तरण | 14 | 280 | .s | ||
घडी फ्रिक्वेन्सी | 50 | 1000 | kHz | |||
VIN | इनपुट भोल्यूमtage | GND | VREF | V | ||
इनपुट ब्यान्डविथ | 38.4 | kHz | ||||
AREF | बाह्य सन्दर्भ भोल्युमtage | 2.0 | VCC | V | ||
VINT | आन्तरिक भोल्युमtage सन्दर्भ | 1.0 | 1.1 | 1.2 | V | |
आन्तरिक २.2.56 ReV सन्दर्भ (०३०३२५) | VCC > 3.0V | 2.3 | 2.56 | 2.8 | V | |
RREF | 32 | kΩ | ||||
वर्षा | एनालग इनपुट प्रतिरोध | 100 | MΩ | |||
एडीसी आउटपुट | 0 | 1023 | LSB |
नोट: 1. मानहरू मात्र दिशानिर्देश हुन्।
तालिका २१-९। ADC विशेषताहरू, भिन्न च्यानलहरू (एकध्रुवीय मोड)। TA = -21°C देखि +9°C
प्रतीक | प्यारामिटर | अवस्था | न्यूनतम | टाइप गर्नुहोस् | अधिकतम | एकाइहरू |
संकल्प | लाभ = १x | 10 | बिट्स | |||
लाभ = १x | 10 | बिट्स | ||||
पूर्ण शुद्धता (INL सहित, DNL, र
परिमाण, लाभ र अफसेट त्रुटिहरू) |
लाभ = १x
VREF = 4V, VCC = 5V एडीसी घडी = --० - २०० kHz |
10.0 | LSB | |||
लाभ = १x
VREF = 4V, VCC = 5V एडीसी घडी = --० - २०० kHz |
20.0 | LSB | ||||
इन्टिग्रल नॉन-लाइनियरिटी (INL) (अफसेट पछि प्राप्त शुद्धता र लाभ क्यालिब्रेसन) | लाभ = १x
VREF = 4V, VCC = 5V एडीसी घडी = --० - २०० kHz |
4.0 | LSB | |||
लाभ = १x
VREF = 4V, VCC = 5V एडीसी घडी = --० - २०० kHz |
10.0 | LSB | ||||
लाभ त्रुटि | लाभ = १x | 10.0 | LSB | |||
लाभ = १x | 15.0 | LSB | ||||
अफसेट त्रुटि | लाभ = १x
VREF = 4V, VCC = 5V एडीसी घडी = --० - २०० kHz |
3.0 | LSB | |||
लाभ = १x
VREF = 4V, VCC = 5V एडीसी घडी = --० - २०० kHz |
4.0 | LSB | ||||
रूपान्तरण समय | नि: शुल्क चालु रूपान्तरण | 70 | 280 | .s | ||
घडी फ्रिक्वेन्सी | 50 | 200 | kHz | |||
VIN | इनपुट भोल्यूमtage | GND | VCC | V | ||
VDIFF | इनपुट विभेदक भोल्युमtage | VREF/लाभ | V | |||
इनपुट ब्यान्डविथ | 4 | kHz | ||||
AREF | बाह्य सन्दर्भ भोल्युमtage | 2.0 | VCC - 1.0 | V | ||
VINT | आन्तरिक भोल्युमtage सन्दर्भ | 1.0 | 1.1 | 1.2 | V | |
आन्तरिक २.2.56 ReV सन्दर्भ (०३०३२५) | VCC > 3.0V | 2.3 | 2.56 | 2.8 | V | |
RREF | सन्दर्भ इनपुट प्रतिरोध | 32 | kΩ | |||
वर्षा | एनालग इनपुट प्रतिरोध | 100 | MΩ | |||
एडीसी रूपान्तरण आउटपुट | 0 | 1023 | LSB |
नोट: मानहरू मात्र दिशानिर्देश हुन्।
तालिका २१-१०। ADC विशेषताहरू, भिन्न च्यानलहरू (द्विध्रुवी मोड)। TA = -21°C देखि +10°C
प्रतीक | प्यारामिटर | अवस्था | न्यूनतम | टाइप गर्नुहोस् | अधिकतम | एकाइहरू |
संकल्प | लाभ = १x | 10 | बिट्स | |||
लाभ = १x | 10 | बिट्स | ||||
पूर्ण शुद्धता (INL सहित, DNL, र
परिमाण, लाभ र अफसेट त्रुटिहरू) |
लाभ = १x
VREF = 4V, VCC = 5V एडीसी घडी = --० - २०० kHz |
8.0 | LSB | |||
लाभ = १x
VREF = 4V, VCC = 5V एडीसी घडी = --० - २०० kHz |
8.0 | LSB | ||||
इन्टिग्रल नॉन-लाइनियरिटी (INL) (अफसेट पछि प्राप्त शुद्धता र लाभ क्यालिब्रेसन) | लाभ = १x
VREF = 4V, VCC = 5V एडीसी घडी = --० - २०० kHz |
4.0 | LSB | |||
लाभ = १x
VREF = 4V, VCC = 5V एडीसी घडी = --० - २०० kHz |
5.0 | LSB | ||||
लाभ त्रुटि | लाभ = १x | 4.0 | LSB | |||
लाभ = १x | 5.0 | LSB | ||||
अफसेट त्रुटि | लाभ = १x
VREF = 4V, VCC = 5V एडीसी घडी = --० - २०० kHz |
3.0 | LSB | |||
लाभ = १x
VREF = 4V, VCC = 5V एडीसी घडी = --० - २०० kHz |
4.0 | LSB | ||||
रूपान्तरण समय | नि: शुल्क चालु रूपान्तरण | 70 | 280 | .s | ||
घडी फ्रिक्वेन्सी | 50 | 200 | kHz | |||
VIN | इनपुट भोल्यूमtage | GND | VCC | V | ||
VDIFF | इनपुट विभेदक भोल्युमtage | VREF/लाभ | V | |||
इनपुट ब्यान्डविथ | 4 | kHz | ||||
AREF | बाह्य सन्दर्भ भोल्युमtage | 2.0 | VCC - 1.0 | V | ||
VINT | आन्तरिक भोल्युमtage सन्दर्भ | 1.0 | 1.1 | 1.2 | V | |
आन्तरिक २.2.56 ReV सन्दर्भ (०३०३२५) | VCC > 3.0V | 2.3 | 2.56 | 2.8 | V | |
RREF | सन्दर्भ इनपुट प्रतिरोध | 32 | kΩ | |||
वर्षा | एनालग इनपुट प्रतिरोध | 100 | MΩ | |||
एडीसी रूपान्तरण आउटपुट | -८.६ | 511 | LSB |
निर्देशन सेट सारांश
निमोनिक्स | संचालन | विवरण | सञ्चालन | झण्डाहरू | # क्लकहरू |
कला र तर्क निर्देशनहरू | |||||
थप्नुहोस् | आरडी, आरआर | दुई रेजिस्टरहरू थप्नुहोस् | Rd ← Rd + Rr | Z, C, N, V, H | 1 |
ADC | आरडी, आरआर | क्यारी दुई रेजिस्टरहरूको साथ थप्नुहोस् | Rd ← Rd + Rr + C | Z, C, N, V, H | 1 |
ADIW | Rdl, K | शब्दमा तत्काल थप्नुहोस् | Rdh:Rdl ← Rdh:Rdl + K | Z, C, N, V, S | 2 |
SUB | आरडी, आरआर | दुई रेजिस्टरहरू घटाउनुहोस् | आरडी ← आरडी - आरआर | Z, C, N, V, H | 1 |
सुबी | आरडी, के | रजिस्टरबाट लगातार घटाउनुहोस् | आरडी ← आरडी - के | Z, C, N, V, H | 1 |
SBC | आरडी, आरआर | दुई रेजिष्टरहरू सँगै घटाउनुहोस् | आरडी ← आरडी – आरआर – सी | Z, C, N, V, H | 1 |
SBCI | आरडी, के | Reg बाट क्यारी कन्स्टेन्टको साथ घटाउनुहोस्। | आरडी ← आरडी – के – सी | Z, C, N, V, H | 1 |
SBIW | Rdl, K | शब्दबाट तत्काल घटाउनुहोस् | Rdh:Rdl ← Rdh:Rdl - K | Z, C, N, V, S | 2 |
र | आरडी, आरआर | तार्किक र रेजिस्टरहरू | Rd ← Rd ∙ Rr | Z, N, V | 1 |
ANDI | आरडी, के | तार्किक र रेजिस्टर र लगातार | Rd ← Rd ∙ K | Z, N, V | 1 |
OR | आरडी, आरआर | तार्किक वा रेजिस्टरहरू | Rd ← Rd v Rr | Z, N, V | 1 |
ORI | आरडी, के | तार्किक वा रेजिस्टर र लगातार | आरडी ← आरडी विरुद्ध के | Z, N, V | 1 |
EOR | आरडी, आरआर | विशेष वा रेजिस्टरहरू | Rd ← Rd ⊕ Rr | Z, N, V | 1 |
COM | Rd | एक को पूरक | Rd ← 0xFF − Rd | Z, C, N, V | 1 |
एनईजी | Rd | दुईको पूरक | Rd ← 0x00 − Rd | Z, C, N, V, H | 1 |
SBR | Rd, K | Bit (हरू) लाई रेजिस्टरमा सेट गर्नुहोस् | आरडी ← आरडी विरुद्ध के | Z, N, V | 1 |
CBR | Rd, K | रेजिस्टरमा बिट (हरू) खाली गर्नुहोस् | Rd ← Rd ∙ (0xFF – K) | Z, N, V | 1 |
INC | Rd | वृद्धि | Rd ← Rd + 1 | Z, N, V | 1 |
DEC | Rd | घट | Rd ← Rd - 1 | Z, N, V | 1 |
tst | Rd | शून्य वा माइनसको लागि परीक्षण | Rd ← Rd ∙ Rd | Z, N, V | 1 |
CLR | Rd | खाली दर्ता हटाउनुहोस् | Rd ← Rd ⊕ Rd | Z, N, V | 1 |
SER | Rd | रेजिष्टर सेट गर्नुहोस् | Rd ← 0xFF | कुनै पनि छैन | 1 |
शाखा निर्देशहरू | |||||
आरजेएमपी | k | सापेक्ष जम्प | PC ← PC + k + 1 | कुनै पनि छैन | 2 |
IJMP | अप्रत्यक्ष जम्पमा (Z) | पीसी ← Z | कुनै पनि छैन | 2 | |
RCALL | k | सापेक्ष Subroutine कल | PC ← PC + k + 1 | कुनै पनि छैन | 3 |
आईसीएएलएल | अप्रत्यक्ष कल (Z) | पीसी ← Z | कुनै पनि छैन | 3 | |
RET | सबट्रूटिन रिटर्न | पीसी ← स्ट्याक | कुनै पनि छैन | 4 | |
RETI | अवरोध वापसी | पीसी ← स्ट्याक | I | 4 | |
CPSE | Rd, Rr | तुलना गर्नुहोस्, बराबर भएमा छाड्नुहोस् | यदि (Rd = Rr) PC ← PC + 2 वा 3 | कुनै पनि छैन | ११/२/२०२२ |
CP | Rd, Rr | तुलना गर्नुहोस् | Rd - Rr | Z, N, V, C, H | 1 |
CPC | Rd, Rr | क्यारी संग तुलना | Rd - Rr - C | Z, N, V, C, H | 1 |
CPI | Rd, K | तुरुन्त दर्ता तुलना गर्नुहोस् | Rd - K | Z, N, V, C, H | 1 |
SBRC | आरआर, बी | छोड्नुहोस् यदि Bit मा दर्ता खाली भयो | यदि (Rr(b)=0) PC ← PC + 2 वा 3 | कुनै पनि छैन | ११/२/२०२२ |
SBRS | आरआर, बी | यदि रजिस्टरमा बिट सेट गरिएको छ भने छोड्नुहोस् | यदि (Rr(b)=1) PC ← PC + 2 वा 3 | कुनै पनि छैन | ११/२/२०२२ |
एसबीआईसी | पी, बी | I / O रेजिष्टरमा बिट खाली भएमा स्किप गर्नुहोस् | यदि (P(b)=0) PC ← PC + 2 वा 3 | कुनै पनि छैन | ११/२/२०२२ |
SBIS | पी, बी | I / O रेजिष्टरमा बिट सेट भएमा स्किप गर्नुहोस् | यदि (P(b)=1) PC ← PC + 2 वा 3 | कुनै पनि छैन | ११/२/२०२२ |
BRBS | एस, के | शाखा यदि स्थिति झण्डा सेट | यदि (SREG(s) = 1) त्यसपछि PC←PC+k + 1 | कुनै पनि छैन | १/४ |
BRBC | एस, के | शाखा यदि स्थिति झण्डा खाली भयो | यदि (SREG(s) = 0) त्यसपछि PC←PC+k + 1 | कुनै पनि छैन | १/४ |
BREQ | k | शाखा बराबर भएमा | यदि (Z = 1) त्यसपछि PC ← PC + k + 1 | कुनै पनि छैन | १/४ |
BRNE | k | शाखा बराबर छैन भने | यदि (Z = 0) त्यसपछि PC ← PC + k + 1 | कुनै पनि छैन | १/४ |
BRCS | k | शाखा यदि क्यारी सेट | यदि (C = 1) त्यसपछि PC ← PC + k + 1 | कुनै पनि छैन | १/४ |
BRCC | k | शाखा यदि क्यारी खाली भयो | यदि (C = 0) त्यसपछि PC ← PC + k + 1 | कुनै पनि छैन | १/४ |
BRSH | k | शाखा यदि उही वा उच्च | यदि (C = 0) त्यसपछि PC ← PC + k + 1 | कुनै पनि छैन | १/४ |
BRLO | k | शाखा यदि कम छ भने | यदि (C = 1) त्यसपछि PC ← PC + k + 1 | कुनै पनि छैन | १/४ |
BRMI | k | शाखा यदि माइनस | यदि (N = 1) त्यसपछि PC ← PC + k + 1 | कुनै पनि छैन | १/४ |
BRPL | k | शाखा यदि प्लस | यदि (N = 0) त्यसपछि PC ← PC + k + 1 | कुनै पनि छैन | १/४ |
BRGE | k | शाखा यदि ग्रेटर वा बराबर, हस्ताक्षर गरिएको | यदि (N ⊕ V= 0) त्यसपछि PC ← PC + k + 1 | कुनै पनि छैन | १/४ |
BRLT | k | शाखा यदि शून्य भन्दा कममा, हस्ताक्षर गरे | यदि (N ⊕ V= 1) त्यसपछि PC ← PC + k + 1 | कुनै पनि छैन | १/४ |
BRHS | k | शाखा यदि आधा क्यारी झण्डा सेट | यदि (H = 1) त्यसपछि PC ← PC + k + 1 | कुनै पनि छैन | १/४ |
BRHC | k | शाखा यदि आधा क्यारी झण्डा खाली भयो | यदि (H = 0) त्यसपछि PC ← PC + k + 1 | कुनै पनि छैन | १/४ |
BRTS | k | शाखा यदि T झण्डा सेट | यदि (T = 1) त्यसपछि PC ← PC + k + 1 | कुनै पनि छैन | १/४ |
BRTC | k | शाखा यदि T झण्डा खाली भयो | यदि (T = 0) त्यसपछि PC ← PC + k + 1 | कुनै पनि छैन | १/४ |
BRVS | k | शाखा यदि ओभरफ्लो झण्डा सेट गरिएको छ | यदि (V = 1) त्यसपछि PC ← PC + k + 1 | कुनै पनि छैन | १/४ |
BRVC | k | शाखा यदि ओभरफ्लो झण्डा खाली भयो | यदि (V = 0) त्यसपछि PC ← PC + k + 1 | कुनै पनि छैन | १/४ |
BRIE | k | शाखा यदि अवरोध सक्षम भयो | यदि (I = 1) त्यसपछि PC ← PC + k + 1 | कुनै पनि छैन | १/४ |
दुलही | k | शाखा यदि अवरोध अक्षम भयो | यदि (I = 0) त्यसपछि PC ← PC + k + 1 | कुनै पनि छैन | १/४ |
बिट र बिट-परीक्षण निर्देशनहरू | |||||
SBI | पी, बी | I / O रेजिस्टरमा बिट सेट गर्नुहोस् | I/O(P,b) ← १ | कुनै पनि छैन | 2 |
CBI | पी, बी | I / O रेजिष्टरमा बिट खाली गर्नुहोस् | I/O(P,b) ← १ | कुनै पनि छैन | 2 |
LSL | Rd | तार्किक शिफ्ट बायाँ | Rd(n+1) ← Rd(n), Rd(0) ← ० | Z, C, N, V | 1 |
LSR | Rd | तार्किक शिफ्ट दायाँ | Rd(n) ← Rd(n+1), Rd(7) ← ० | Z, C, N, V | 1 |
ROLE | Rd | क्यारीबाट बाँया घुमाउनुहोस् | Rd(0)←C,Rd(n+1)← Rd(n),C←Rd(7) | Z, C, N, V | 1 |
ROR | Rd | क्यारी मार्फत दाँया घुमाउनुहोस् | Rd(7)←C,Rd(n)← Rd(n+1),C←Rd(0) | Z, C, N, V | 1 |
ASR | Rd | अंकगणित शिफ्ट दाँया | Rd(n) ← Rd(n+1), n=0..6 | Z, C, N, V | 1 |
निमोनिक्स | संचालन | विवरण | सञ्चालन | झण्डाहरू | # क्लकहरू |
स्वैप | Rd | स्वाप निबल्स | Rd(3..0)←Rd(7..4),Rd(7..4)←Rd(3..0) | कुनै पनि छैन | 1 |
BSET | s | फ्ल्याग सेट | SREG(हरू) ← १ | SREG (हरू) | 1 |
BCLR | s | फ्ल्याग खाली | SREG(हरू) ← १ | SREG (हरू) | 1 |
BST | आरआर, बी | बिट स्टोर रेजिस्टरबाट टी | T ← Rr(b) | T | 1 |
BLD | आरडी, बी | बिट लोड T बाट रेजिष्टर गर्न | Rd(b) ← T | कुनै पनि छैन | 1 |
SEC | क्यारी सेट गर्नुहोस् | C ← १ | C | 1 | |
CLC | क्यारी खाली गर्नुहोस् | C ← १ | C | 1 | |
सेन | नकारात्मक झण्डा सेट गर्नुहोस् | N ← १ | N | 1 | |
CLN | नकारात्मक झण्डा खाली गर्नुहोस् | N ← १ | N | 1 | |
SEZ | शून्य झण्डा सेट गर्नुहोस् | Z ← १ | Z | 1 | |
CLZ | खाली शून्य झण्डा | Z ← १ | Z | 1 | |
SEI | ग्लोबल इंटरप्ट सक्षम गर्नुहोस् | म ← १ | I | 1 | |
CLI | ग्लोबल रुकावट अक्षम | म ← १ | I | 1 | |
SES | साइन्ड गरिएको टेस्ट फ्ल्याग सेट गर्नुहोस् | S ← १ | S | 1 | |
CLS | हस्ताक्षर गरिएको टेस्ट फ्ल्याग खाली गर्नुहोस् | S ← १ | S | 1 | |
SEV | Twos पूरक ओभरफ्लो सेट गर्नुहोस्। | V ← १ | V | 1 | |
CLV | Twos पूरक ओभरफ्लो हटाउनुहोस् | V ← १ | V | 1 | |
सेट | SREG मा T सेट गर्नुहोस् | T ← १ | T | 1 | |
CLT | T SREG मा खाली गर्नुहोस् | T ← १ | T | 1 | |
SEH | SREG मा आधा क्यारी झण्डा सेट गर्नुहोस् | H ← १ | H | 1 | |
CLH | SREG मा आधा क्यारी झण्डा खाली गर्नुहोस् | H ← १ | H | 1 | |
डाटा ट्रान्सफर निर्देश | |||||
MOV | आरडी, आरआर | रेजिस्टरहरू बीच सार्नुहोस् | आरडी ← आरआर | कुनै पनि छैन | 1 |
MOVW | आरडी, आरआर | रजिष्टर शब्द प्रतिलिपि गर्नुहोस् | Rd+1:Rd ← Rr+1:Rr | कुनै पनि छैन | 1 |
LDI | आरडी, के | तत्काल लोड गर्नुहोस् | आरडी ← के | कुनै पनि छैन | 1 |
LD | आरडी, एक्स | अप्रत्यक्ष लोड गर्नुहोस् | Rd ← (X) | कुनै पनि छैन | 2 |
LD | Rd, X + | अप्रत्यक्ष र पोष्ट इंक लोड गर्नुहोस्। | Rd ← (X), X ← X + 1 | कुनै पनि छैन | 2 |
LD | Rd, - X | अप्रत्यक्ष र पूर्व डिसेम्बर लोड गर्नुहोस्। | X ← X – 1, Rd ← (X) | कुनै पनि छैन | 2 |
LD | आरडी, वाई | अप्रत्यक्ष लोड गर्नुहोस् | Rd ← (Y) | कुनै पनि छैन | 2 |
LD | Rd, Y + | अप्रत्यक्ष र पोष्ट इंक लोड गर्नुहोस्। | Rd ← (Y), Y ← Y + 1 | कुनै पनि छैन | 2 |
LD | Rd, - Y | अप्रत्यक्ष र पूर्व डिसेम्बर लोड गर्नुहोस्। | Y ← Y – 1, Rd ← (Y) | कुनै पनि छैन | 2 |
LDD | Rd, Y + q | विस्थापनको साथ अप्रत्यक्ष लोड गर्नुहोस् | Rd ← (Y + q) | कुनै पनि छैन | 2 |
LD | आरडी, जेड | अप्रत्यक्ष लोड गर्नुहोस् | Rd ← (Z) | कुनै पनि छैन | 2 |
LD | Rd, Z + | अप्रत्यक्ष र पोष्ट इंक लोड गर्नुहोस्। | Rd ← (Z), Z ← Z+1 | कुनै पनि छैन | 2 |
LD | Rd, -Z | अप्रत्यक्ष र पूर्व डिसेम्बर लोड गर्नुहोस्। | Z ← Z – 1, Rd ← (Z) | कुनै पनि छैन | 2 |
LDD | Rd, Z + q | विस्थापनको साथ अप्रत्यक्ष लोड गर्नुहोस् | Rd ← (Z + q) | कुनै पनि छैन | 2 |
LDS | आरडी, के | SRAM बाट प्रत्यक्ष लोड गर्नुहोस् | Rd ← (k) | कुनै पनि छैन | 2 |
ST | एक्स, आरआर | स्टोर अप्रत्यक्ष | (X) ← आरआर | कुनै पनि छैन | 2 |
ST | X +, Rr | स्टोर अप्रत्यक्ष र पोष्ट इंक। | (X) ← Rr, X ← X + 1 | कुनै पनि छैन | 2 |
ST | - एक्स, आरआर | स्टोर अप्रत्यक्ष र पूर्व-दिसम्बर। | X ← X – 1, (X) ← आरआर | कुनै पनि छैन | 2 |
ST | वाई, आरआर | स्टोर अप्रत्यक्ष | (Y) ← आरआर | कुनै पनि छैन | 2 |
ST | Y +, Rr | स्टोर अप्रत्यक्ष र पोष्ट इंक। | (Y) ← Rr, Y ← Y + 1 | कुनै पनि छैन | 2 |
ST | - Y, Rr | स्टोर अप्रत्यक्ष र पूर्व-दिसम्बर। | Y ← Y – 1, (Y) ← Rr | कुनै पनि छैन | 2 |
STD | Y + q, Rr | विस्थापनको साथ अप्रत्यक्ष स्टोर | (Y + q) ← आरआर | कुनै पनि छैन | 2 |
ST | जेड, आरआर | स्टोर अप्रत्यक्ष | (Z) ← आरआर | कुनै पनि छैन | 2 |
ST | Z +, Rr | स्टोर अप्रत्यक्ष र पोष्ट इंक। | (Z) ← Rr, Z ← Z + 1 | कुनै पनि छैन | 2 |
ST | -जेड, आरआर | स्टोर अप्रत्यक्ष र पूर्व-दिसम्बर। | Z ← Z – 1, (Z) ← Rr | कुनै पनि छैन | 2 |
STD | Z + q, Rr | विस्थापनको साथ अप्रत्यक्ष स्टोर | (Z + q) ← Rr | कुनै पनि छैन | 2 |
STS | के, आरआर | स्टोर SRA मा प्रत्यक्ष | (k) ← आरआर | कुनै पनि छैन | 2 |
LPM | लोड कार्यक्रम मेमोरी | R0 ← (Z) | कुनै पनि छैन | 3 | |
LPM | आरडी, जेड | लोड कार्यक्रम मेमोरी | Rd ← (Z) | कुनै पनि छैन | 3 |
LPM | Rd, Z + | लोड कार्यक्रम मेमोरी र पोस्ट-इंक | Rd ← (Z), Z ← Z+1 | कुनै पनि छैन | 3 |
SPM | स्टोर प्रोग्राम मेमोरी | (z) ← R1:R0 | कुनै पनि छैन | ||
IN | Rd, पी | पोर्ट मा | आरडी ← पी | कुनै पनि छैन | 1 |
बाहिर | पी, आरआर | आउट पोर्ट | P ← आरआर | कुनै पनि छैन | 1 |
पुश | Rr | स्ट्याकमा रजिष्टर पठाउनुहोस् | स्ट्याक ← आरआर | कुनै पनि छैन | 2 |
POP | Rd | स्ट्याकबाट पप रजिष्टर | Rd ← स्ट्याक | कुनै पनि छैन | 2 |
MCU नियन्त्रण निर्देशहरू | |||||
NOP | कुनै अपरेशन छैन | कुनै पनि छैन | 1 | ||
सुत्नुहोस् | सुत्नुहोस् | (निद्रा समारोह को लागी विशिष्ट descr हेर्नुहोस्।) | कुनै पनि छैन | 1 | |
WDR | वाचडग रिसेट | (WDR / टाइमर को लागी विशिष्ट descr हेर्नुहोस्) | कुनै पनि छैन | 1 | |
BREAK | ब्रेक |
स्पीड (मेगाहर्ट्ज) (०३०३२५) | आपूर्ति भोल्युमtagई (V) | तापमान दायरा | प्याकेज (०३०३२५) | अर्डर कोड (०३०३२५) |
10 | ० - ८ | औद्योगिक
(-२° डिग्री सेल्सियस + °० डिग्री सेल्सियस) (०३०३२५) |
8P3 | ATtiny45V-10PU |
8S2 | ATtiny45V-10SU ATtiny45V-10SUR ATtiny45V-10SH ATtiny45V-10SHR | |||
8X | ATtiny45V-10XU ATtiny45V-10XUR | |||
20M1 | ATtiny45V-10MU ATtiny45V-10MUR | |||
20 | ० - ८ | औद्योगिक
(-२° डिग्री सेल्सियस + °० डिग्री सेल्सियस) (०३०३२५) |
8P3 | ATtiny45-20PU |
8S2 | ATtiny45-20SU ATtiny45-20SUR
ATtiny45-20SH ATtiny45-20SHR |
|||
8X | ATtiny45-20XU ATtiny45-20XUR | |||
20M1 | ATtiny45-20MU ATtiny45-20MUR |
नोट: 1. गति बनाम आपूर्ति भोल्युम को लागीtagई, खण्ड हेर्नुहोस् २१..21.3 "स्पीड" पृष्ठ १163 मा.
सबै प्याकेजहरू Pb-free, halide-free र पूर्ण हरियो हुन् र ती खतरनाक पदार्थहरु (RoHS) को प्रतिबन्धको लागि युरोपेली निर्देशको पालना गर्छन्।
कोड संकेतकहरू
H: NiPdAu नेतृत्व समाप्त
U: म्याट टिन
आर: टेप र रील
यी उपकरणहरू वेफरको रूपमा पनि आपूर्ति गर्न सकिन्छ। विस्तृत अर्डरिंग जानकारी र न्यूनतम मात्राको लागि कृपया तपाईंको स्थानीय एटेल बिक्री कार्यालयलाई सम्पर्क गर्नुहोस्।
इरटा
एरटा एटिनी 25
यस सेक्सनको संशोधन पत्रले ATtiny25 उपकरणको संशोधनलाई जनाउँछ।
रेभ डी - एफ
कुनै ईरटा ज्ञात छैन।
रेभ बी - सी
EEPROM पढ्नुहोस् कम आपूर्ति भोल्युम मा असफल हुन सक्छtagई / कम घडी आवृत्ति
EEPROM पढ्नुहोस् कम आपूर्ति भोल्युम मा असफल हुन सक्छtagई / कम घडी आवृत्ति
कम घडी आवृत्ति र/वा कम आपूर्ति भोल मा EEPROM पढ्न को लागी कोशिश गरीरहेको छtagई अवैध डाटा मा परिणाम हुन सक्छ।
समस्या फिक्स / वर्कराउन्ड
EEPROM प्रयोग नगर्नुहोस् जब घडी फ्रिक्वेन्सी १MHz र आपूर्ति भोल्युम तल छtage 2V भन्दा कम छ। यदि अपरेटि fre फ्रीक्वेंसी १ मेगाहर्ट्ज भन्दा माथि उठाउन सकिदैन भने भोल्यु आपूर्ति गर्नुहोस्tage 2V भन्दा बढी हुनु पर्छ। त्यस्तै गरी, यदि आपूर्ति भोल्युमtagई 2V माथि उठाउन सकिँदैन तब सञ्चालन आवृत्ति 1MHz भन्दा बढी हुनुपर्दछ।
यो सुविधा तापक्रम निर्भर हुन ज्ञात छ तर यो विशेषता गरिएको छैन। दिशानिर्देशहरू कोठाको तापक्रमका लागि मात्र दिइन्छ।
रेव ए
हैनampलिड।
एरटा एटिनी 45
यस सेक्सनको संशोधन पत्रले ATtiny45 उपकरणको संशोधनलाई जनाउँछ।
Rev F - G
कुनै ईरटा ज्ञात छैन
रेभ डी - ई
EEPROM पढ्नुहोस् कम आपूर्ति भोल्युम मा असफल हुन सक्छtagई / कम घडी आवृत्ति
EEPROM पढ्नुहोस् कम आपूर्ति भोल्युम मा असफल हुन सक्छtagई / कम घडी आवृत्ति
कम घडी आवृत्ति र/वा कम आपूर्ति भोल मा EEPROM पढ्न को लागी कोशिश गरीरहेको छtagई अवैध डाटा मा परिणाम हुन सक्छ।
समस्या फिक्स / वर्कराउन्ड
EEPROM प्रयोग नगर्नुहोस् जब घडी फ्रिक्वेन्सी १MHz र आपूर्ति भोल्युम तल छtage 2V भन्दा कम छ। यदि अपरेटि fre फ्रीक्वेंसी १ मेगाहर्ट्ज भन्दा माथि उठाउन सकिदैन भने भोल्यु आपूर्ति गर्नुहोस्tage 2V भन्दा बढी हुनु पर्छ। त्यस्तै गरी, यदि आपूर्ति भोल्युमtagई 2V माथि उठाउन सकिँदैन तब सञ्चालन आवृत्ति 1MHz भन्दा बढी हुनुपर्दछ।
यो सुविधा तापक्रम निर्भर हुन ज्ञात छ तर यो विशेषता गरिएको छैन। दिशानिर्देशहरू कोठाको तापक्रमका लागि मात्र दिइन्छ।
रेभ बी - सी
PLL लक छैन
EEPROM अनुप्रयोग कोडबाट पढिएको लक लक बिट मोड 3 मा काम गर्दैन
EEPROM पढ्नुहोस् कम आपूर्ति भोल्युम मा असफल हुन सक्छtagई / कम घडी आवृत्ति
OC1B- XOC1B मा टाइमर काउन्टर १ PWM आउटपुट जेनरेशनले सही ढ work्गले कार्य गर्दैन
PLL लक छैन
जब .6.0.० मेगाहर्ट्ज भन्दा कम फ्रिक्वेन्सीहरूमा हुन्छ, PLL लक हुने छैन
समस्या फिक्स / वर्कराउन्ड
PLL प्रयोग गर्ने बखत, .6.0.० मेगाहर्ट्ज वा सो भन्दा माथि चलाउनुहोस्।
EEPROM अनुप्रयोग कोडबाट पढिएको लक लक बिट मोड 3 मा काम गर्दैन
जब मेमोरी लक बिट्स LB2 र LB1 लाई मोड 3 मा प्रोग्राम गरिएको छ, EEPROM पढ्ने अनुप्रयोग कोडबाट काम गर्दैन।
समस्या फिक्स / वरपर काम
लक Bit सुरक्षा मोड 3 सेट नगर्नुहोस् जब अनुप्रयोग कोड EEPROM बाट पढ्न आवश्यक पर्दछ।
EEPROM पढ्नुहोस् कम आपूर्ति भोल्युम मा असफल हुन सक्छtagई / कम घडी आवृत्ति
कम घडी आवृत्ति र/वा कम आपूर्ति भोल मा EEPROM पढ्न को लागी कोशिश गरीरहेको छtagई अवैध डाटा मा परिणाम हुन सक्छ।
समस्या फिक्स / वर्कराउन्ड
EEPROM प्रयोग नगर्नुहोस् जब घडी फ्रिक्वेन्सी १MHz र आपूर्ति भोल्युम तल छtage 2V भन्दा कम छ। यदि अपरेटि fre फ्रीक्वेंसी १ मेगाहर्ट्ज भन्दा माथि उठाउन सकिदैन भने भोल्यु आपूर्ति गर्नुहोस्tage 2V भन्दा बढी हुनु पर्छ। त्यस्तै गरी, यदि आपूर्ति भोल्युमtagई 2V माथि उठाउन सकिँदैन तब सञ्चालन आवृत्ति 1MHz भन्दा बढी हुनुपर्दछ।
यो सुविधा तापक्रम निर्भर हुन ज्ञात छ तर यो विशेषता गरिएको छैन। दिशानिर्देशहरू कोठाको तापक्रमका लागि मात्र दिइन्छ।
OC1B - XOC1B मा टाइमर काउन्टर १ PWM आउटपुट जेनरेशनले राम्रोसँग कार्य गर्दैन
टाइमर काउन्टर १ PWM आउटपुट OC1B-XOC1B सही ढ not्गले कार्य गर्दैन। केवल केसमा जब नियन्त्रण बिट्स, COM1B1 र COM1B1 क्रमशः COM0A1 र COM1A1 जस्तै मोडमा हुन्छन् OC0B-XOC1B आउट-पुट सहि कार्य गर्दछ।
समस्या फिक्स / वरपर काम
केवल workaround भनेको COM1A [१: ०] र COM1B [१: ०] नियन्त्रण बिट्समा समान नियन्त्रण सेटि use प्रयोग गर्नु हो, डाटा पानामा तालिका १-- 0 हेर्नुहोस्। Tiny1 Rev D का लागि समस्या समाधान गरिएको छ।
रेव ए
धेरै उच्च पावर डाउन बिजुली खपत
डिबगवाइरले संचार गुमाउँछ जब एकल रुकावटमा प्रवेश गर्दछ
PLL लक छैन
EEPROM अनुप्रयोग कोडबाट पढिएको लक लक बिट मोड 3 मा काम गर्दैन
EEPROM पढ्नुहोस् कम आपूर्ति भोल्युम मा असफल हुन सक्छtagई / कम घडी आवृत्ति
धेरै उच्च पावर डाउन बिजुली खपत
तीन अवस्थाहरूले एक धेरै उच्च पावर डाउन विद्युत् खपतमा नेतृत्व गर्दछ। यी हुन्:
बाह्य घडी फ्यूज द्वारा चयन गरिएको छ, तर I / O PORT अझै पनि आउटपुटको रूपमा सक्षम छ।
EEPROM पावर डाउन प्रविष्ट गर्नु अघि पढियो।
VCC 4.5. vol भोल्ट वा बढि छ।
अस्वीकरण: यस कागजातमा जानकारी Atmel उत्पादनहरु को सम्बन्ध मा प्रदान गरिएको छ। कुनै पनि इजाजतपत्र, व्यक्त वा निहित, estoppel वा अन्यथा, कुनै पनि बौद्धिक सम्पत्ति अधिकार यस कागजात वा Atmel उत्पादनहरु को बिक्री को सम्बन्ध मा प्रदान गरिएको छैन। ATMEL मा स्थित बिक्री को शर्तहरु र ATMEL मा सेट गरिएको बाहेक WEBसाइट, ATMEL ले कुनै पनि दायित्व मान्दैन र कुनै पनि अभिव्यक्ति, निहित वा वैधानिक वारेन्टीलाई अस्वीकार गर्दछ जसमा यसको उत्पादनहरूसँग सम्बन्धित छ, तर सीमित छैन, निहित ग्यारेन्टी, विनम्रताको लागि जिम्मेवारी, सुरक्षाको लागि। कुनै पनि हालतमा ATMEL कुनै पनि प्रत्यक्ष, अप्रत्यक्ष, परिणामात्मक, दण्डात्मक, विशेष वा आकस्मिक क्षतिहरूका लागि उत्तरदायी हुनेछैन (सीमा बिना, हानि र नाफाको लागि क्षतिहरू सहित), गैरकानूनी कारोबारको प्रयोगको लागि प्रयोग गर्न प्रयोग गर्न। यो कागजात, ATMEL लाई त्यस्ता क्षतिहरूको सम्भाव्यताको बारेमा सल्लाह दिइएको भए तापनि।
Atmel ले यस कागजातको सामग्रीको शुद्धता वा पूर्णताको सम्बन्धमा कुनै प्रतिनिधित्व वा वारेन्टी गर्दैन र सूचना बिना कुनै पनि समयमा निर्दिष्टीकरण र उत्पादन विवरणहरूमा परिवर्तन गर्ने अधिकार सुरक्षित गर्दछ। Atmel ले यहाँ समावेश जानकारी अद्यावधिक गर्न कुनै प्रतिबद्धता गर्दैन। विशेष रूपमा अन्यथा प्रदान नगरेसम्म, Atmel उत्पादनहरू अटोमोटिभ अनुप्रयोगहरूको लागि उपयुक्त छैनन्, र प्रयोग गरिने छैन। Atmel उत्पादनहरू अभिप्रेरित, अधिकृत, वा जीवनलाई समर्थन गर्न वा टिकाउने उद्देश्यले अनुप्रयोगहरूमा कम्पोनेन्टको रूपमा प्रयोगको लागि वारेन्टेड छैनन्।