មាតិកា លាក់

អាតមែល

Atmel 8-bit AVR Microcontroller ជាមួយ 2/4/8K Bytes In-System Programmable Flashបន្ទះសៀគ្វី

 

លក្ខណៈពិសេស

  • ដំណើរការខ្ពស់ ថាមពលទាប AVR® 8-Bit Microcontroller
  • ស្ថាបត្យកម្ម RISC កម្រិតខ្ពស់
  • សេចក្តីណែនាំដ៏មានអានុភាព ១២០ - ការប្រតិបត្តិវដ្តនៃនាឡិកាតែមួយ
  • ចុះបញ្ជីការងារមានគោលបំណងទូទៅ ៣២ គុណ ៨
  • ប្រតិបត្ដិការឋិតិវន្តពេញលេញ
  • កម្មវិធីមិនងាយប្រែប្រួលនិងការចងចាំទិន្នន័យ
  • បាសនៃអង្គចងចាំក្នុងកម្មវិធីប្រព័ន្ធ ២/៤/៨ ៨ ប៊ី
  • ការស៊ូទ្រាំ៖ 10,000 វដ្តសរសេរ/លុប
  • ១២៨/២៥៦/៥១២ បៃក្នុងប្រព័ន្ធដែលអាចសរសេរកម្មវិធីបាន EEPROM
  • ការស៊ូទ្រាំ៖ 100,000 វដ្តសរសេរ/លុប
  • ១២៨/២៥៦/៥១២ បៃ
  • ការចាក់សោរកម្មវិធីសម្រាប់កម្មវិធី Flash កម្មវិធីដោយខ្លួនឯងនិងសន្តិសុខទិន្នន័យ EEPROM

លក្ខណៈពិសេសគ្រឿងកុំព្យូទ័រ

  • ឧបករណ៍កំណត់ពេលវេលា / ប៊ីត ៨ ប៊ីតជាមួយបណ្តាញបន្ថែមនិងឆានែល PWM ពីរ
  • ឧបករណ៍កំណត់ពេលវេលាល្បឿនខ្ពស់ / ប៊ីត ៨ ប៊ីតជាមួយឧបករណ៍បង្កើនល្បឿនដាច់ដោយឡែក
  • ២ ទិន្នផល PWM ប្រេកង់ខ្ពស់ជាមួយនឹងលទ្ធផលប្រៀបធៀបប្រៀបធៀបនឹងបញ្ជីឈ្មោះ
  • កម្មវិធីស្លាប់ពេលវេលាដែលអាចសរសេរកម្មវិធីបាន
  • យូអេសអាយ - ចំណុចប្រទាក់សៀរៀលជាសកលជាមួយឧបករណ៍ចាប់សញ្ញាចាប់ផ្តើម
  • ADC 10 ប៊ីត

ឆានែលដែលបានបញ្ចប់តែមួយ

ការផ្គូផ្គងឆានែល ADC ២ ឌីផេរ៉ង់ស្យែលជាមួយកម្មវិធីទទួលបាន (១ គុណ ២០ គុណ)

ការវាស់វែងសីតុណ្ហភាព

កម្មវិធីឃ្លាំមើលកម្មវិធីអាចប្រើបានជាមួយអូស្ការអេស្ទ័រដាច់ដោយឡែក

ឧបករណ៍ប្រៀបធៀបអាណាឡូកនៅលើឈីប

លក្ខណៈពិសេសនៃឧបករណ៍ត្រួតពិនិត្យខ្នាតតូច

debugWIRE ប្រព័ន្ធបំបាត់កំហុសនៅលើឈីប

កម្មវិធីប្រព័ន្ធអាចចូលបានតាមរយៈ SPI Port

ប្រភពរំខានពីខាងក្រៅនិងខាងក្នុង

ទំនេរថាមពលទាបការកាត់បន្ថយសំលេងរំខាន ADC និងរបៀបធ្លាក់ចុះថាមពល

សៀគ្វីអគ្គីសនីកំណត់ថាមពលឡើងវិញ

សៀគ្វីរកឃើញពណ៌ត្នោតចេញក្រៅកម្មវិធី

ការធ្វើឱ្យប្រសើរខាងក្នុងអូស្ការ

I / O និងកញ្ចប់

បន្ទាត់ I / O មានកម្មវិធីចំនួន ៦

ម្ជុល ៨ ភី។ ភី។ ភី។ ស៊ី។ ៨ ស៊ី។ ស៊ី។ ស៊ី។ អេ។ ភី ២០ អេ។ ភី។ អេ។ អិល។ អេ។ ភីនិង ៨ ស៊ីធីអេសអេស (តែអេធីធីទី ៤៥ / វី)

វ៉ុលប្រតិបត្តិការtage
- 1.8 - 5.5V សម្រាប់អេធីទីនីធី 25V / 45 វ៉ / 85 វ៉
- ២.៧ - ៥.៥ វីសម្រាប់អេធីទី ២៥ / ៤៥ / ៨៥

ល្បឿនថ្នាក់
- ATtiny25V / 45V / 85V: ០ - ៤ MHz @ ១.៨ - ៥.៥ វី, ០ - ១០ មេហ្គាហឺត @ ២.៧ - ៥.៥ វី។
- ATtiny25 / 45/85: 0 - 10 MHz @ 2.7 - 5.5V, 0 - 20 MHz @ 4.5 - 5.5V

ជួរសីតុណ្ហភាពឧស្សាហកម្ម

ការប្រើប្រាស់ថាមពលទាប

របៀបសកម្ម៖

១ មេហ្គាហឺត ១.៨ វី៖ ៣០០ អ

របៀបបិទថាមពល៖

កំណត់រចនាសម្ព័ន្ធម្ជុល

Pinout ATtiny25 / 45/85 ការកំណត់រចនាសម្ព័ន្ធ

ពិនពណ៌នា

VCC: ការផ្គត់ផ្គង់វ៉ុលtage.
GND: ដី។
ច្រក B (PB5:PB0): ច្រក B គឺជាច្រក I/O ទ្វេទិស 6 ប៊ីត ជាមួយនឹងឧបករណ៍ទប់ទាញខាងក្នុង (ត្រូវបានជ្រើសរើសសម្រាប់ប៊ីតនីមួយៗ) ។ សតិបណ្ដោះអាសន្នទិន្នផលរបស់ច្រក B មានលក្ខណៈស៊ីមេទ្រីនៃដ្រាយស៊ីមេទ្រី ជាមួយនឹងសមត្ថភាពលិចខ្ពស់ និងប្រភព។ ក្នុងនាមជាធាតុបញ្ចូល ម្ជុលច្រក B ដែលត្រូវបានទាញពីខាងក្រៅទាបនឹងមានប្រភពចរន្ត ប្រសិនបើឧបករណ៍ទប់ទល់ទាញត្រូវបានធ្វើឱ្យសកម្ម។ ម្ជុលច្រក B ត្រូវបានបញ្ជាក់បីនៅពេលដែលលក្ខខណ្ឌកំណត់ឡើងវិញក្លាយជាសកម្ម ទោះបីជានាឡិកាមិនដំណើរការក៏ដោយ។

ច្រក B ក៏បម្រើមុខងារនៃមុខងារពិសេសផ្សេងៗគ្នានៃអេធីធីទី ២៥ / ៤៥ / ៨៥ ដូចមានចុះក្នុងបញ្ជី
នៅលើ ATtiny25 កំពង់ផែ I / O កំពង់ផែ PB3 និង PB4 (ម្ជុល ២ និង ៣) ត្រូវបានផ្លាស់ប្តូរនៅក្នុង ATtiny2 Compatibility Mode សម្រាប់គាំទ្រដល់ភាពឆបគ្នាថយក្រោយជាមួយ ATtiny3 ។

កំណត់ឡើងវិញ៖ កំណត់ការបញ្ចូលឡើងវិញ។ កម្រិតទាបនៅលើម្ជុលនេះយូរជាងប្រវែងជីពចរអប្បបរមានឹងបង្កើតការកំណត់ឡើងវិញ បើទោះបីជានាឡិកាមិនដំណើរការ ហើយបានផ្តល់ថាម្ជុលកំណត់ឡើងវិញមិនត្រូវបានបិទក៏ដោយ។ ប្រវែងជីពចរអប្បបរមាត្រូវបានផ្តល់ឱ្យ តារាង 21-4 នៅទំព័រ 165។ ជីពចរខ្លីមិនត្រូវបានធានាដើម្បីបង្កើតការកំណត់ឡើងវិញទេ។

លេខកូដកំណត់ឡើងវិញក៏អាចត្រូវបានប្រើជាម្ជុល I / O ខ្សោយ (ខ្សោយ) ។

ជាងview

អេធីធីទី ២៥ / ៤៥ / ៨៥ គឺជាឧបករណ៍ត្រួតពិនិត្យខ្នាតតូចខ្នាតតូច CMOS ៨ ប៊ីតដែលមានថាមពលទាបផ្អែកលើអាដិកអ័រឌីអេសអេសអេសអេស។ តាមរយៈការអនុវត្តសេចក្តីណែនាំដ៏មានអានុភាពនៅក្នុងវដ្តនៃនាឡិកាតែមួយអេធីធីទី ២៥ / ៤៥ / ៨៥ សម្រេចបានតាមរយៈការឈានដល់ជិត ១ មេហ្កាបៃក្នុងមួយ MHz ដែលអនុញ្ញាតឱ្យអ្នករចនាប្រព័ន្ធបង្កើនប្រសិទ្ធភាពការប្រើប្រាស់ថាមពលធៀបនឹងល្បឿនដំណើរការ។

រារាំងដ្យាក្រាម ប្លុកដ្យាក្រាម

ស្នូល AVR រួមបញ្ចូលនូវការណែនាំដ៏សំបូរបែបដែលមានអ្នកចុះឈ្មោះធ្វើការគោលបំណង ៣២ នាក់។ អ្នកចុះឈ្មោះទាំង ៣២ នាក់ត្រូវបានភ្ជាប់ដោយផ្ទាល់ទៅនឹងអង្គភាពតក្កវិទ្យាអាល់ធីម៉ាធីតដែលអនុញ្ញាតឱ្យអ្នកចុះឈ្មោះឯករាជ្យពីរនាក់អាចចូលបានក្នុងការណែនាំតែមួយដែលប្រតិបត្តិក្នុងវដ្តនាឡិកាមួយ។ ស្ថាបត្យកម្មលទ្ធផលគឺមានប្រសិទ្ធិភាពជាងកូដខណៈពេលដែលការសំរេចបានលទ្ធផលលឿនជាងឧបករណ៍ត្រួតពិនិត្យខ្នាតតូចអាយស៊ីអេសស៊ីធម្មតា។

អេធីធីទី ២៥ / ៤៥ / ៨៥ ផ្តល់ជូននូវលក្ខណៈពិសេសដូចខាងក្រោមៈ ២ / ៤ / ៨K បៃនៃប្រព័ន្ធអ៊ីនធ័រណេតភ្លីភ្លីភ្លី ១២៨/២៥៦/៥១២ បៃ EEPROM, ១២៨/២៥៦/២៥៦ បៃអេស។ អេហ្វ, គោលបំណង ៦ អ៊ិចអាយ / អ៊ិច, ៣២ ទូទៅ អ្នកចុះឈ្មោះធ្វើការមានគោលបំណង, អ្នកកំណត់ពេលវេលា / ៨ ប៊ីត / ៨ ប៊ីតដែលមានរបៀបប្រៀបធៀប, ឧបករណ៍កំណត់ពេលវេលារាប់ ៨ ប៊ីត / ៨ ម៉ោង, ចំណុចប្រទាក់សៀរៀលអន្តរជាតិ, អន្តរកម្មផ្ទៃក្នុងនិងខាងក្រៅ, ៤ ឆានែល, ប៊ី។ ស៊ី។ ប៊ី។ ប៊ី, ប៊ី។ ស៊ី។ ប៊ី។ Oscillator និងរបៀបសន្សំថាមពលដែលអាចជ្រើសរើសកម្មវិធីចំនួន ៣ ។ របៀបទំនេរបញ្ឈប់ស៊ីភីយូខណៈពេលដែលអនុញ្ញាតឱ្យអេអេសអេ។ អេ។ អេ។ អេ។ របៀបបិទថាមពលរក្សាទុកកន្លែងចុះឈ្មោះដោយបិទមុខងារបន្ទះឈីបទាំងអស់រហូតដល់ការរំខានឬកំណត់ផ្នែករឹងឡើងវិញ។ របៀបកាត់បន្ថយសម្លេងរំខាន ADC បញ្ឈប់ស៊ីភីយូនិងម៉ូឌុល I / O ទាំងអស់លើកលែងតែអេឌីស៊ីដើម្បីកាត់បន្ថយសំឡេងរំខានក្នុងពេលបំលែង ADC ។

ឧបករណ៍នេះត្រូវបានផលិតឡើងដោយប្រើបច្ចេកវិទ្យាមេម៉ូរីដែលមានដង់ស៊ីតេខ្ពស់មិនងាយប្រែប្រួល។ On-chip ISP Flash អនុញ្ញាតឱ្យអង្គចងចាំកម្មវិធីត្រូវបានរៀបចំកម្មវិធីឡើងវិញនៅក្នុងប្រព័ន្ធតាមរយៈអ៊ីនធឺរសឺរអេសអាយធីដោយអ្នកសរសេរកម្មវិធីមេម៉ូរីដែលមិនងាយនឹងបង្កជាហេតុឬដោយលេខកូដចាប់ផ្ដើម On-chip ដែលដំណើរការលើស្នូល AVR ។

អេធីធីទី ២៥ / ៤៥ / ៨៥ AVR ត្រូវបានគាំទ្រដោយឈុតពេញលេញនៃកម្មវិធីនិងឧបករណ៍អភិវឌ្ឍន៍ប្រព័ន្ធរួមមាន៖ អ្នកធ្វើការគ។

អំពីធនធាន

សំណុំនៃឧបករណ៍អភិវឌ្ឍន៍ដ៏ទូលំទូលាយកំណត់ចំណាំកម្មវិធីនិងសំណុំទិន្នន័យអាចរកបានសំរាប់ទាញយក http://www.atmel.com/avr.

កូដ Examples

ឯកសារនេះមានលេខកូដសាមញ្ញឧamples ដែលបង្ហាញយ៉ាងខ្លីពីរបៀបប្រើផ្នែកផ្សេងៗនៃឧបករណ៍។ កូដទាំងនេះឧamples សន្មតថាផ្នែកបឋមកថាជាក់លាក់ file ត្រូវបានរួមបញ្ចូលមុនពេលចងក្រង។ ត្រូវដឹងថា មិនមែនអ្នកលក់កម្មវិធីចងក្រង C ទាំងអស់រួមបញ្ចូលនិយមន័យប៊ីតនៅក្នុងបឋមកថាទេ។ files និង interrupt handling នៅក្នុង C គឺអាស្រ័យទៅលើ compiler ។ សូមបញ្ជាក់ជាមួយឯកសារចងក្រង C សម្រាប់ព័ត៌មានលម្អិត។

សម្រាប់ការចុះបញ្ជី I / O ដែលមានទីតាំងស្ថិតនៅលើផែនទី I / O ដែលលាតសន្ធឹង“ IN”“ OUT”,“ SBIS”,“ SBIC”,“ CBI” និង“ SBI” ត្រូវតែជំនួសដោយសេចក្តីណែនាំដែលអនុញ្ញាតឱ្យចូលដល់ផ្នែកបន្ថែមខ្ញុំ។ / អូ។ ជាធម្មតាវាមានន័យថា“ អិល។ ឌី។ អេស” និង“ អេស។ អេស” រួមផ្សំជាមួយ“ អេសប៊ីអេស” អេសអេសអេសអេសអេសអេសនិងអេសប៊ី។ ចំណាំថាមិនមែនគ្រប់ឧបករណ៍ AVR ទាំងអស់ទេដែលរួមបញ្ចូលទាំងផែនទី I / O ដែលបានពង្រីក។

Capacitive Touch Sensing

បណ្ណាល័យ Atmel QTouch ផ្តល់នូវដំណោះស្រាយដ៏សាមញ្ញមួយក្នុងការប្រើប្រាស់សម្រាប់ចំណុចប្រទាក់ដែលងាយប៉ះនៅលើម៉ាស៊ីនមីក្រូកុងទ័រ Atmel AVR ។ បណ្ណាល័យ QTouch រួមបញ្ចូលការគាំទ្រសម្រាប់វិធីសាស្រ្តទិញQTouch® និងQMatrix®។

ការស្ទាបដឹងត្រូវបានបន្ថែមយ៉ាងងាយស្រួលទៅកម្មវិធីណាមួយដោយភ្ជាប់បណ្ណាល័យ QTouch និងប្រើអន្តរកម្មវិធីកម្មវិធីនៃបណ្ណាល័យដើម្បីកំណត់បណ្តាញប៉ះនិងឧបករណ៍ចាប់សញ្ញា។ បន្ទាប់មកកម្មវិធីហៅ API ដើម្បីរកព័ត៌មានឆានែលនិងកំណត់ស្ថានភាពឧបករណ៍ចាប់សញ្ញាប៉ះ។

បណ្ណាល័យ QTouch គឺឥតគិតថ្លៃ ហើយអាចទាញយកបានពី Atmel webគេហទំព័រ។ សម្រាប់ព័ត៌មានបន្ថែម និងព័ត៌មានលម្អិតនៃការអនុវត្ត សូមមើលមគ្គុទ្ទេសក៍អ្នកប្រើប្រាស់បណ្ណាល័យ QTouch – ក៏មានពី Atmel ផងដែរ។ webគេហទំព័រ។

ការរក្សាទិន្នន័យ

លទ្ធផលនៃគុណវុឌ្ឍិដែលអាចជឿទុកចិត្តបានបង្ហាញថាអត្រាបរាជ័យនៃការរក្សាទុកទិន្នន័យដែលបានគ្រោងទុកគឺតិចជាង ១ ប៉េប៉េអឹមក្នុងរយៈពេល ២០ ឆ្នាំនៅ ៨៥ អង្សាសេឬ ១០០ ឆ្នាំនៅសីតុណ្ហភាព ២៥ អង្សាសេ។

ស៊ីភីយូ AVR

សេចក្តីផ្តើម

ផ្នែកនេះពិភាក្សាអំពីស្ថាបត្យកម្មស្នូល AVR ជាទូទៅ។ មុខងារសំខាន់នៃស្នូលស៊ីភីយូគឺដើម្បីធានាបាននូវការអនុវត្តកម្មវិធីកែ។ ដូច្នេះស៊ីភីយូត្រូវតែអាចចូលដំណើរការការចងចាំអនុវត្តការគណនាគ្រប់គ្រងគ្រឿងបន្លាស់និងដោះស្រាយការរំខាន។

ស្ថាបត្យកម្មជាងview ស្ថាបត្យកម្ម

ដើម្បីបង្កើនការអនុវត្តនិងភាពស៊ីសង្វាក់គ្នា AVR ប្រើស្ថាបត្យកម្មហាវ៉ាដដោយមានការចងចាំដាច់ដោយឡែកនិងឡានក្រុងសម្រាប់កម្មវិធីនិងទិន្នន័យ។ សេចក្តីណែនាំនៅក្នុងអង្គចងចាំកម្មវិធីត្រូវបានប្រតិបត្តិជាមួយការបញ្ចូលបំពង់តែមួយកម្រិត។ ខណៈពេលដែលការណែនាំមួយកំពុងត្រូវបានប្រតិបត្តិការណែនាំបន្ទាប់ត្រូវបានទាញយកជាមុនពីការចងចាំកម្មវិធី។ គំនិតនេះជួយឱ្យការណែនាំត្រូវបានប្រតិបត្តិនៅរៀងរាល់វដ្តនាឡិកា។ អង្គចងចាំកម្មវិធីគឺអង្គចងចាំក្នុងប្រព័ន្ធប្រព័នធប្រូក្រាម។

ការចុះឈ្មោះចូលដំណើរការរហ័ស File មានការចុះឈ្មោះក្នុងគោលបំណងទូទៅ 32 x 8 ប៊ីត ជាមួយនឹងពេលវេលាចូលប្រើវដ្តនាឡិកាតែមួយ។ នេះអនុញ្ញាតឱ្យដំណើរការឯកតាតក្កវិជ្ជានព្វន្ធ (ALU) វដ្តតែមួយ។ នៅក្នុងប្រតិបត្តិការ ALU ធម្មតា operands ពីរគឺចេញមកពី Register Fileប្រតិបត្តិការត្រូវបានប្រតិបត្តិ ហើយលទ្ធផលត្រូវបានរក្សាទុកក្នុងបញ្ជីឈ្មោះវិញ។ File- ក្នុងវដ្តនាឡិកាមួយ។

អ្នកចុះឈ្មោះ ៦ នាក់ក្នុងចំណោមអ្នកចុះឈ្មោះ ៣២ នាក់អាចត្រូវបានប្រើជាអ្នកចង្អុលបង្ហាញអាស័យដ្ឋានប្រយោល ១៦ ប៊ីតបីសម្រាប់ការដោះស្រាយអាស័យដ្ឋានទិន្នន័យ - ដែលអាចជួយការគណនាអាស័យដ្ឋានប្រកបដោយប្រសិទ្ធភាព។ ឧបករណ៍ចង្អុលអាសយដ្ឋានមួយក្នុងចំណោមអាសយដ្ឋានចង្អុលទាំងនេះអាចត្រូវបានប្រើជាអ្នកចង្អុលអាសយដ្ឋានសម្រាប់រកមើលតារាងនៅក្នុងសតិកម្មវិធីភ្ល។ ការចុះឈ្មោះមុខងារបន្ថែមទាំងនេះគឺជាលេខ X-, Y- និង Z-32 ប៊ីតដែលត្រូវបានពិពណ៌នានៅផ្នែកនេះ។

ALU គាំទ្រដល់ដំណើរការនព្វន្ធនិងតក្ករវាងអ្នកចុះឈ្មោះរឺរវាងបញ្ជីថេរនិងការចុះឈ្មោះ។ ប្រតិបត្តិការចុះបញ្ជីតែមួយក៏អាចត្រូវបានប្រតិបត្តិនៅក្នុង ALU ផងដែរ។ បន្ទាប់ពីប្រតិបត្តិការនព្វន្ធការចុះឈ្មោះស្ថានភាពត្រូវបានធ្វើបច្ចុប្បន្នភាពដើម្បីឆ្លុះបញ្ចាំងព័ត៌មានអំពីលទ្ធផលនៃប្រតិបត្តិការ។

លំហូរកម្មវិធីត្រូវបានផ្តល់ជូនដោយការលោតដែលមានលក្ខខណ្ឌនិងគ្មានលក្ខខណ្ឌនិងការហៅទូរស័ព្ទដែលអាចដោះស្រាយទំហំអាសយដ្ឋានទាំងមូលដោយផ្ទាល់។ ការណែនាំ AVR ភាគច្រើនមានទំរង់ពាក្យ ១៦ ប៊ីតតែមួយប៉ុន្តែក៏មានការណែនាំ ៣២ ប៊ីតផងដែរ។

ក្នុងអំឡុងពេលនៃការរំខាននិងការហៅតាមទម្រង់រងអាស័យដ្ឋានកម្មវិធីត្រឡប់មកវិញ (កម្មវិធីកុំព្យូទ័រ) ត្រូវបានរក្សាទុកនៅលើជង់។ ជង់ត្រូវបានបែងចែកយ៉ាងមានប្រសិទ្ធិភាពនៅក្នុងទិន្ន័យទូទៅអេស។ អ។ មហើយដូច្នេះទំហំជង់ត្រូវបានកំណត់ត្រឹមតែទំហំអេស។ ម។ កសរុបនិងការប្រើប្រាស់អេ។ ម។ ព។ កម្មវិធីអ្នកប្រើទាំងអស់ត្រូវចាប់ផ្តើមអេសភីនៅក្នុងទម្រង់កំណត់ឡើងវិញ (មុនពេលដំណើរការរងឬការរំខានត្រូវបានប្រតិបត្តិ) ។ ទ្រនិចទ្រនិច (អេស) ត្រូវបានអាន / សរសេរដែលអាចចូលដំណើរការបាននៅក្នុងចន្លោះ I / O ។ ទិន្នន័យ SRAM អាចចូលបានយ៉ាងងាយស្រួលតាមរយៈរបៀបដោះស្រាយប្រាំប្រភេទផ្សេងគ្នាដែលគាំទ្រនៅក្នុងស្ថាបត្យកម្ម AVR ។

កន្លែងចងចាំនៅក្នុងស្ថាបត្យកម្ម AVR គឺជាផែនទីសតិទាំងអស់និងជាប្រចាំ។

ម៉ូឌុលការរំខានដែលអាចបត់បែនបានមានអ្នកត្រួតពិនិត្យត្រួតពិនិត្យរបស់វានៅក្នុងចន្លោះ I / O ជាមួយនឹងការរំខានជាសកលបន្ថែមបន្តិចបន្តួចនៅក្នុងការចុះឈ្មោះស្ថានភាព។ រាល់ការរំខានទាំងអស់មានវ៉ិចទ័ររំខានដាច់ដោយឡែកនៅក្នុងតារាងវ៉ិចទ័ររំខាន។ ការរំខានមានអាទិភាពស្របតាមទីតាំងរំខានវ៉ិចទ័ររបស់ពួកគេ។ អាស័យដ្ឋានវ៉ិចទ័រទាបជាងអទិភាពខ្ពស់ជាង។

ទំហំអង្គចងចាំ I/O មានអាសយដ្ឋាន 64 សម្រាប់មុខងារគ្រឿងកុំព្យូទ័រ CPU ដូចជា Control Registers, SPI និងមុខងារ I/O ផ្សេងទៀត។ អង្គចងចាំ I/O អាចចូលប្រើដោយផ្ទាល់ ឬជាទីតាំង Data Space ដែលធ្វើតាមការចុះឈ្មោះ File, 0x20 – 0x5F ។

អាល់យូ - អង្គភាពតក្កវិទ្យានព្វន្ធ

ការបំពេញការងារ AVR ដែលមានដំណើរការខ្ពស់ដំណើរការដោយភ្ជាប់ទំនាក់ទំនងដោយផ្ទាល់ជាមួយអ្នកចុះបញ្ជីការងារដែលមានគោលបំណងទូទៅទាំង ៣២ ។ នៅក្នុងវដ្តនាឡិកាតែមួយប្រតិបត្តិការនព្វន្ធរវាងអ្នកចុះឈ្មោះគោលបំណងទូទៅឬរវាងការចុះឈ្មោះនិងភ្លាមៗត្រូវបានប្រតិបត្តិ។ ប្រតិបត្តិការរបស់ ALU ត្រូវបានបែងចែកជាបីប្រភេទធំ ៗ គឺមុខងារនព្វន្ធឡូជីខលនិងប៊ីត។ ការអនុវត្តន៍ខ្លះនៃស្ថាបត្យកម្មក៏ផ្តល់នូវមេគុណដ៏មានអានុភាពដែលគាំទ្រទាំងទ្រង់ទ្រាយ / គុណលេខដែលមិនបានចុះហត្ថលេខានិងទ្រង់ទ្រាយប្រភាគ។ សូមមើលផ្នែក "សំណុំការណែនាំ" សម្រាប់ការពិពណ៌នាលម្អិត។

ចុះឈ្មោះស្ថានភាព

ការចុះឈ្មោះស្ថានភាពមានព័ត៌មានអំពីលទ្ធផលនៃការណែនាំអំពីនព្វន្ធដែលត្រូវបានប្រតិបត្តិថ្មីៗនេះ។ ព័ត៌មាននេះអាចត្រូវបានប្រើសម្រាប់ការផ្លាស់ប្តូរលំហូរកម្មវិធីដើម្បីធ្វើប្រតិបត្តិការតាមលក្ខខណ្ឌ។ ចំណាំថាការចុះឈ្មោះស្ថានភាពត្រូវបានធ្វើបច្ចុប្បន្នភាពបន្ទាប់ពីប្រតិបត្តិការ ALU ទាំងអស់ដូចដែលបានបញ្ជាក់នៅក្នុងឯកសារយោងសំណុំសេចក្តីណែនាំ។ ក្នុងករណីនេះនឹងដកចេញនូវតម្រូវការសម្រាប់ការប្រើប្រាស់ការណែនាំប្រៀបធៀបដែលបណ្តាលឱ្យលេខកូដលឿននិងបង្រួម។

ការចុះឈ្មោះស្ថានភាពមិនត្រូវបានរក្សាទុកដោយស្វ័យប្រវត្តិនៅពេលចូលក្នុងទម្លាប់រំខាននិងស្តារឡើងវិញនៅពេលត្រលប់ពីការរំខាន។ នេះត្រូវតែត្រូវបានដោះស្រាយដោយសូហ្វវែរ។

SREG - ចុះឈ្មោះស្ថានភាព AVR

ការចុះឈ្មោះស្ថានភាព AVR - SREG - ត្រូវបានកំណត់ជាៈ

ប៊ីត 7 6 5 4 3 2 1 0
0x3F I T H S V N Z C ស្រអែម
អាន/សរសេរ R/W R/W R/W R/W R/W R/W R/W R/W
តម្លៃដំបូង 0 0 0 0 0 0 0 0

ប៊ីត 7 - ខ្ញុំ: អនុញ្ញាតឱ្យមានការរំខានជាសកល

ប៊ីតអន្តរកម្មបើកត្រូវតែត្រូវបានកំណត់សម្រាប់ការរំខានដើម្បីបើកដំណើរការ។ ការគ្រប់គ្រងការរំខានជាលក្ខណៈបុគ្គលត្រូវបានអនុវត្តនៅក្នុងបញ្ជីត្រួតពិនិត្យដាច់ដោយឡែក។ ប្រសិនបើការចុះឈ្មោះអន្តរាគមន៏ជាសកលត្រូវបានសម្អាតនោះគ្មានការរំខានណាមួយត្រូវបានបើកដោយឯករាជ្យនៃការកំណត់បើកដំណើរការរំខាននីមួយៗឡើយ។ អាយប៊ីតត្រូវបានសម្អាតដោយផ្នែករឹងបន្ទាប់ពីការរំខានបានកើតឡើងហើយត្រូវបានកំណត់ដោយការណែនាំរបស់ RETI ដើម្បីអនុញ្ញាតឱ្យមានការរំខានជាបន្តបន្ទាប់។ អ៊ីប៊ីតក៏អាចត្រូវបានកំណត់និងជម្រះដោយការដាក់ពាក្យសុំជាមួយការណែនាំ SEI និង CLI ដូចដែលបានពិពណ៌នានៅក្នុងឯកសារយោងសំណុំសេចក្តីណែនាំ។

ប៊ីតទី ៦ - អិចៈឧបករណ៍ផ្ទុកចម្លងប៊ីត

ការណែនាំអំពីការចម្លងប៊ីត BLD (Bit LoaD) និង BST (Bit STore) ប្រើ T-bit ជាប្រភព ឬទិសដៅសម្រាប់ប៊ីតដំណើរការ។ បន្តិចពីការចុះឈ្មោះនៅក្នុង Register File អាចត្រូវបានចម្លងចូលទៅក្នុង T ដោយការណែនាំ BST ហើយបន្តិចនៅក្នុង T អាចត្រូវបានចម្លងទៅជាប៊ីតនៅក្នុងការចុះឈ្មោះនៅក្នុងចុះឈ្មោះ File តាមការណែនាំរបស់ BLD ។

ប៊ីត 5 - អេច: ទង់ពាក់កណ្តាលដឹក

ទង់ជាតិពាក់កណ្តាល H បង្ហាញពីពាក់កណ្ដាលពាក់កណ្តាលនៅក្នុងប្រតិបត្តិការនព្វន្ធមួយចំនួន។ ពាក់កណ្តាល Carry មានប្រយោជន៍នៅក្នុងនព្វន្ធ BCD ។ សូមមើល“ សេចក្តីពិពណ៌នាសំណុំសេចក្តីណែនាំ” សម្រាប់ព័ត៌មានលម្អិត។

ប៊ីត 4 – S: Sign Bit, S = N ⊕ V

អេសប៊ីប៊ីតែងតែជាលក្ខណៈផ្តាច់មុខឬរវាងទង់អវិជ្ជមាន N និងទង់ជាតិបំពេញបន្ថែមរបស់អ្នកទាំងពីរបំពេញបន្ថែម V. សូមមើល“ សេចក្តីពិពណ៌នាសំណុំសេចក្តីណែនាំ” សម្រាប់ព័ត៌មានលម្អិត។

ប៊ីត ៣ - វី: ទង់ពីរបំពេញបន្ថែម

ទង់ជាតិបំពេញបន្ថែមទាំងពីររបស់ V គាំទ្រដល់លេខនព្វន្ធបំពេញបន្ថែមពីរ។ សូមមើល“ សេចក្តីពិពណ៌នាសំណុំសេចក្តីណែនាំ” សម្រាប់ព័ត៌មានលម្អិត។

ប៊ីត ២ - អិនៈទង់អវិជ្ជមាន

ទង់អវិជ្ជមាន N បង្ហាញពីលទ្ធផលអវិជ្ជមាននៅក្នុងប្រតិបត្តិការនព្វន្ធឬតក្កវិទ្យា។ សូមមើល“ សេចក្តីពិពណ៌នាសំណុំសេចក្តីណែនាំ” សម្រាប់ព័ត៌មានលម្អិត។

ប៊ីត 1 - Z: ទង់សូន្យ

ទង់សូន្យបង្ហាញពីលទ្ធផលសូន្យនៅក្នុងប្រតិបត្តិការនព្វន្ធឬតក្ក។ សូមមើល“ សេចក្តីពិពណ៌នាសំណុំសេចក្តីណែនាំ” សម្រាប់ព័ត៌មានលម្អិត។

ប៊ីត 0 - គ: អនុវត្តទង់

ទង់ Carry C បង្ហាញពីការកាន់នព្វន្តឬតក្កវិជ្ជា។ សូមមើល“ សេចក្តីពិពណ៌នាសំណុំសេចក្តីណែនាំ” សម្រាប់ព័ត៌មានលម្អិត។

ការចុះឈ្មោះគោលបំណងទូទៅ File

ការចុះឈ្មោះ File ត្រូវបានធ្វើឱ្យប្រសើរសម្រាប់សំណុំការណែនាំ RISC ដែលត្រូវបានកែលម្អ AVR ។ ដើម្បីសម្រេចបាននូវដំណើរការដែលត្រូវការ និងភាពបត់បែន គ្រោងការណ៍បញ្ចូល/ទិន្នផលខាងក្រោមត្រូវបានគាំទ្រដោយចុះឈ្មោះ File:

ល្ខោនលទ្ធផល ៨ ប៊ីតនិងលទ្ធផលបញ្ចូល ៨ ប៊ីត

ល្ខោនលទ្ធផល ៨ ប៊ីតពីរនិងលទ្ធផលបញ្ចូល ៨ ប៊ីត

ល្ខោនលទ្ធផល ៨ ប៊ីតពីរនិងលទ្ធផលបញ្ចូល ៨ ប៊ីត

ល្ខោនលទ្ធផល ៨ ប៊ីតនិងលទ្ធផលបញ្ចូល ៨ ប៊ីត

រូបភាព 4-2 បង្ហាញពីរចនាសម្ព័នរបស់អ្នកចុះបញ្ជីការងារដែលមានគោលបំណងទូទៅ ៣២ រូបនៅក្នុងស៊ីភីយូ។ គោលបំណងទូទៅ

ដូចដែលបានបង្ហាញនៅក្នុង រូបភាព 4-2ការចុះឈ្មោះនីមួយៗក៏ត្រូវបានផ្តល់អាសយដ្ឋានអង្គចងចាំទិន្នន័យផងដែរ ដោយគូសវាសដោយផ្ទាល់ទៅក្នុងទីតាំង 32 ដំបូងរបស់អ្នកប្រើប្រាស់ Data Space ។ ទោះបីជាមិនត្រូវបានអនុវត្តជាទីតាំង SRAM ក៏ដោយ អង្គចងចាំនេះផ្តល់នូវភាពបត់បែនដ៏អស្ចារ្យក្នុងការចូលប្រើការចុះឈ្មោះ ព្រោះការចុះឈ្មោះ X-, Y- និង Z-pointer អាចត្រូវបានកំណត់ដើម្បីធ្វើលិបិក្រមការចុះឈ្មោះណាមួយនៅក្នុង file.ភាគច្រើននៃការណែនាំដែលដំណើរការលើការចុះឈ្មោះ File មានសិទ្ធិចូលដំណើរការដោយផ្ទាល់ទៅកាន់ការចុះឈ្មោះទាំងអស់ ហើយភាគច្រើននៃពួកគេគឺជាការណែនាំអំពីវដ្តតែមួយ។

ការចុះឈ្មោះ X, ចុះឈ្មោះ Y និងចុះឈ្មោះ

អ្នកចុះឈ្មោះ R26..R31 មានមុខងារបន្ថែមមួយចំនួនក្នុងការប្រើប្រាស់គោលបំណងទូទៅរបស់ពួកគេ។ ការចុះឈ្មោះទាំងនេះគឺជាអ្នកចង្អុលបង្ហាញអាស័យដ្ឋាន ១៦ ប៊ីតសម្រាប់អាសយដ្ឋានដោយប្រយោលនៃទំហំទិន្នន័យ។ អាស័យដ្ឋានប្រយោលទាំងបីចុះឈ្មោះ X, Y និង Z ត្រូវបានកំណត់ដូចបានពណ៌នាក្នុង រូបភាព 4-3.

ចុះឈ្មោះ

នៅក្នុងរបៀបអាសយដ្ឋានខុសៗគ្នាការចុះឈ្មោះអាសយដ្ឋានទាំងនេះមានមុខងារដូចជាការផ្លាស់ទីលំនៅថេរការកើនឡើងស្វ័យប្រវត្តិកម្មនិងការថយចុះដោយស្វ័យប្រវត្តិ (សូមមើលសេចក្តីណែនាំកំណត់សេចក្តីណែនាំសម្រាប់ព័ត៌មានលម្អិត) ។

ទ្រនិចទ្រនិច

ជង់ត្រូវបានប្រើជាចម្បងសម្រាប់រក្សាទុកទិន្នន័យបណ្តោះអាសន្នសម្រាប់រក្សាទុកអថេរមូលដ្ឋាននិងសម្រាប់រក្សាទុកអាស័យដ្ឋានត្រឡប់ក្រោយការរំខាននិងការហៅចូល។ ចុះឈ្មោះជង់ទ្រនិចចង្អុលបង្ហាញតែងតែចង្អុលទៅកំពូលនៃជង់។ ចំណាំថាជង់ត្រូវបានអនុវត្តនៅពេលដែលរីកលូតលាស់ពីទីតាំងនៃការចងចាំខ្ពស់ទៅទីតាំងចងចាំទាប។ នេះបង្កប់ន័យថាពាក្យបញ្ជា Stack PUSH បន្ថយ Stack Pointer ។

ព្រីនស្តុនចង្អុលទៅតំបន់ទិន្នន័យអេស។ អ។ ម។ ជដែលជាកន្លែងដាក់ជង់រងនិងការរំខាន។ ចន្លោះជង់នៅក្នុងទិន្នន័យអេស។ អឹមត្រូវតែត្រូវបានកំនត់ដោយកម្មវិធីមុនពេលការហៅទូរស័ព្ទទៅក្រៅប្រទេសត្រូវបានប្រតិបត្តិឬអន្តរក្រសួងត្រូវបានបើកដំណើរការ។ ទ្រនិចទ្រនិចត្រូវតែកំណត់ចំណុចខាងលើ ០x៦០ ។ ទ្រនិចទ្រនិចត្រូវបានថយចុះម្តងនៅពេលទិន្នន័យត្រូវបានរុញចូលទៅក្នុងជង់ជាមួយការណែនាំ PUSH ហើយវាត្រូវបានបន្ថយដោយពីរនៅពេលដែលអាសយដ្ឋានត្រឡប់មកវិញត្រូវបានរុញទៅលើជង់ជាមួយនឹងការហៅចេញឬរំខាន។ ទ្រនិចទ្រនិចត្រូវបានបង្កើនមួយនៅពេលទិន្នន័យត្រូវបានផុសចេញពី Stack ជាមួយនឹងការណែនាំ POP ហើយវាត្រូវបានបង្កើនចំនួនពីរនៅពេលទិន្នន័យត្រូវបានផុសចេញពី Stack ជាមួយនឹងការត្រឡប់មកវិញពី subroutine RET ឬត្រឡប់ពី RETI ដែលរំខាន។

ទ្រនិចទ្រនាប់ទ្រនិចទ្រទ្រង់ AVR ត្រូវបានអនុវត្តជាការចុះឈ្មោះ ៨ ប៊ីតពីរនៅក្នុងចន្លោះ I / O ។ ចំនួនប៊ីតដែលត្រូវបានប្រើគឺការអនុវត្តអាស្រ័យ។ ចំណាំថាចន្លោះទិន្នន័យនៅក្នុងការអនុវត្តខ្លះនៃស្ថាបត្យកម្ម AVR គឺតូចណាស់ដូច្នេះមានតែ SPL ប៉ុណ្ណោះដែលត្រូវការ។ ក្នុងករណីនេះការចុះឈ្មោះ SPH នឹងមិនមានទេ។

SPH និង SPL - ចុះឈ្មោះជង់ទ្រនិច

ប៊ីត 15 14 13 12 11 10 9 8
0x3 អ៊ី 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
តម្លៃដំបូង រោទ៍ រោទ៍ រោទ៍ រោទ៍ រោទ៍ រោទ៍ រោទ៍ រោទ៍
តម្លៃដំបូង រោទ៍ រោទ៍ រោទ៍ រោទ៍ រោទ៍ រោទ៍ រោទ៍ រោទ៍

ពេលវេលានៃការប្រតិបត្តិនៃការណែនាំ

ផ្នែកនេះពិពណ៌នាអំពីគោលការណ៍កំណត់ពេលវេលាចូលប្រើទូទៅសម្រាប់ការប្រតិបត្តិការណែនាំ។ ស៊ីភីយូ AVR ត្រូវបានជំរុញដោយនាឡិកាស៊ីភីយូ clkCPU ដែលបង្កើតដោយផ្ទាល់ពីប្រភពនាឡិកាដែលបានជ្រើសរើសសម្រាប់បន្ទះឈីប។ មិនមានការបែងចែកនាឡិកាខាងក្នុងទេ។

រូប ១

រូបភាព 4-4 បង្ហាញការទាញយកការណែនាំស្របគ្នា និងការប្រតិបត្តិការណែនាំដែលបានបើកដោយស្ថាបត្យកម្ម Harvard និងការចុះឈ្មោះចូលដំណើរការរហ័ស File គំនិត។ នេះគឺជាគោលគំនិតនៃការដាក់បំពង់មូលដ្ឋានដើម្បីទទួលបានរហូតដល់ 1 MIPS ក្នុងមួយ MHz ជាមួយនឹងលទ្ធផលតែមួយគត់ដែលត្រូវគ្នាសម្រាប់មុខងារក្នុងមួយថ្លៃ មុខងារក្នុងមួយនាឡិកា និងមុខងារក្នុងមួយឯកតាថាមពល។

រូបភាពទី 4-5 ។ ប្រតិបត្តិការ ALU វដ្តតែមួយ

រូប ១

កំណត់ឡើងវិញនិងផ្អាកការដោះស្រាយ

AVR ផ្តល់នូវប្រភពរំខានផ្សេងៗគ្នា។ ការរំខានទាំងនេះនិងវ៉ិចទ័រកំណត់ឡើងវិញនីមួយៗមានវ៉ិចទ័រកម្មវិធីដាច់ដោយឡែកមួយនៅក្នុងចន្លោះអង្គចងចាំកម្មវិធី។ រាល់ការរំខានទាំងអស់ត្រូវបានកំណត់ជាប៊ីតដែលអាចត្រូវបានសរសេរជាឡូជីខលរួមជាមួយការរំខានជាសកលដែលអាចប្រើបាននៅក្នុងការចុះឈ្មោះស្ថានភាពដើម្បីអាចរំខានបាន។

អាស័យដ្ឋានទាបបំផុតនៅក្នុងទំហំផ្ទុកអង្គចងចាំកម្មវិធីគឺតាមលំនាំដើមដែលបានកំនត់ថា Reset and Interrupt Vectors ។ បញ្ជីវ៉ិចទ័រពេញលេញត្រូវបានបង្ហាញនៅក្នុង “ រំខាន” នៅទំព័រ ៤៨។ បញ្ជីនេះក៏កំណត់កម្រិតអាទិភាពនៃការរំខានផ្សេងៗគ្នាផងដែរ។ អាសយដ្ឋានទាបជាងខ្ពស់ជាងនេះគឺជាកម្រិតអាទិភាព។ RESET មានអាទិភាពខ្ពស់បំផុតហើយបន្ទាប់គឺ INT0 - សំណើរអន្តរាគមន៏ពីខាងក្រៅ ០ ។

នៅពេលការរំខានកើតឡើងការរំខានសកលអាចប្រើអាយប៊ីតត្រូវបានសម្អាតហើយរាល់ការរំខានទាំងអស់ត្រូវបានបិទ។ អ្នកប្រើទន់អាចសរសេរតក្កវិជ្ជាមួយទៅអាយប៊ីតដើម្បីធ្វើឱ្យការរំខានដែលនៅជាប់គ្នា។ រាល់ការរំខានដែលអាចប្រើបានបន្ទាប់មកអាចរំខានដល់ទម្លាប់រំខានបច្ចុប្បន្ន។ អាយប៊ីតត្រូវបានកំណត់ដោយស្វ័យប្រវត្តិនៅពេលការត្រឡប់ពីការណែនាំរំខាន - រេតអាយ - ត្រូវបានប្រតិបត្តិ។

ជាទូទៅមានការរំខានពីរប្រភេទ។ ប្រភេទទីមួយត្រូវបានបង្កឡើងដោយព្រឹត្តិការណ៍ដែលកំណត់ទង់រំខាន។ សម្រាប់ការរំខានទាំងនេះកម្មវិធីប្រឆាំងនឹងកម្មវិធីត្រូវបានកែលម្អទៅវ៉ិចទ័ររំខានដើម្បីអនុវត្តនីតិវិធីដោះស្រាយដែលរំខានហើយផ្នែករឹងលុបទង់រំខានដែលត្រូវគ្នា។ ទង់រំខានអាចត្រូវបានសម្អាតដោយសរសេរតក្កវិជ្ជាមួយទៅកាន់ទីតាំងប៊ីតរបស់ទង់ដែលត្រូវលុប។ ប្រសិនបើស្ថានភាពរំខានកើតឡើងខណៈពេលដែលការបើកដំណើរការរំខានដែលត្រូវគ្នាត្រូវបានសម្អាតទង់អាក់ខាននឹងត្រូវបានកំណត់និងចងចាំរហូតដល់ការរំខានត្រូវបានបើកឬទង់ត្រូវបានលុបចោលដោយកម្មវិធី។ ស្រដៀងគ្នានេះដែរប្រសិនបើលក្ខខណ្ឌរំខានមួយឬច្រើនកើតឡើងខណៈពេលដែលការរំខានជាសកលត្រូវបានសម្អាតទង់អាក់ខនដែលត្រូវគ្នានឹងត្រូវបានកំណត់និងចងចាំរហូតទាល់តែប៊ីតអន្តរកម្មដែលអាចអនុញ្ញាតបានត្រូវបានកំណត់ហើយបន្ទាប់មកនឹងត្រូវប្រតិបត្តិតាមលំដាប់អាទិភាព។

ប្រភេទនៃការរំខានទីពីរនឹងកើតឡើងដរាបណាស្ថានភាពរំខានមាន។ ការរំខានទាំងនេះមិនចាំបាច់មានទង់រំខានទេ។ ប្រសិនបើស្ថានភាពរំខានបាត់មុនពេលការរំខានត្រូវបានបើកការរំខាននឹងមិនត្រូវបានបង្កឡើង។

នៅពេលដែល AVR ចាកចេញពីការរំខានវានឹងត្រលប់ទៅកម្មវិធីមេវិញហើយប្រតិបត្តិម្តងទៀតមុនពេលមានការរំខានណាមួយដែលមិនទាន់សម្រេច។

ចំណាំថាការចុះឈ្មោះស្ថានភាពមិនត្រូវបានរក្សាទុកដោយស្វ័យប្រវត្តិទេនៅពេលចូលក្នុងទម្លាប់រំខានហើយក៏មិនស្តារឡើងវិញនៅពេលត្រឡប់ពីទម្លាប់រំខានវិញ។ នេះត្រូវតែត្រូវបានដោះស្រាយដោយសូហ្វវែរ។

នៅពេលប្រើការណែនាំ CLI ដើម្បីបិទការរំខាន ការរំខាននឹងត្រូវបានបិទភ្លាមៗ។ គ្មានការរំខានណាមួយនឹងត្រូវបានប្រតិបត្តិបន្ទាប់ពីការណែនាំ CLI ទោះបីជាវាកើតឡើងក្នុងពេលដំណាលគ្នាជាមួយនឹងការណែនាំ CLI ក៏ដោយ។ ខាងក្រោមនេះ example បង្ហាញពីរបៀបដែលវាអាចត្រូវបានប្រើដើម្បីជៀសវាងការរំខានក្នុងកំឡុងពេលសរសេរ EEPROM ដែលបានកំណត់ពេល។

កូដសន្និបាត Example
ក្នុង r16, SREG ; រក្សាទុកតម្លៃ SREG

គ្លី; បិទការរំខានកំឡុងពេលកំណត់ពេលវេលាតាមលំដាប់លំដោយ

sbi EECR, EEMPE ; ចាប់ផ្តើមសរសេរ EEPROM

sbi EECR, EEPE

ចេញ SREG, r16 ; ស្ដារតម្លៃ SREG (I-bit)

កូដ C ឧample
តួអក្សរ cSREG;

cSREG = SREG; /* រក្សាទុកតម្លៃ SREG */

/* បិទ​ការ​រំខាន​ក្នុង​អំឡុង​ពេល​លំដាប់​កំណត់​ពេល​វេលា */

_CLI ();

EECR |= (1<

EECR | = (១ <

SREG = cSREG; /* ស្ដារតម្លៃ SREG (I-bit) */

នៅពេលប្រើការណែនាំ SEI ដើម្បីបើកការរំខាន ការណែនាំខាងក្រោម SEI នឹងត្រូវបានប្រតិបត្តិមុនពេលការរំខានណាមួយដែលមិនទាន់សម្រេច ដូចដែលបានបង្ហាញនៅក្នុង ex នេះampលេ

កូដសន្និបាត Example
ស៊ី ; កំណត់ការរំខានជាសកលបើកដំណើរការ

គេង; ចូលគេង រង់ចាំការរំខាន

; ចំណាំៈនឹងចូលគេងមុនពេលរង់ចាំ

; រំខាន

កូដ C ឧample
_SEI(); /* កំណត់ការរំខានជាសកលបើកដំណើរការ */

_SLEEP(); /* ចូលគេង រង់ចាំការរំខាន*/

/ * ចំណាំ៖ នឹងចូលគេងមុនពេលមានការរំខានដែលមិនទាន់សម្រេច * /

ពេលវេលាឆ្លើយតបរំខាន

ការឆ្លើយតបប្រតិបត្តិសម្រាប់ការរំខានដល់ AVR ដែលអាចប្រើបានគឺអប្បបរមានៃវដ្តនាឡិកាចំនួនបួន។ បន្ទាប់ពីវដ្តបួនម៉ោងអាសយដ្ឋានវ៉ិចទ័រកម្មវិធីសម្រាប់ទម្លាប់ដោះស្រាយការរំខានជាបណ្តោះអាសន្នត្រូវបានប្រតិបត្តិ។ ក្នុងអំឡុងពេលនៃវដ្តនាឡិកាទាំងបួននេះកម្មវិធីបញ្ជរកម្មវិធីត្រូវបានរុញចូលក្នុងជង់។ វ៉ិចទ័រជាធម្មតាលោតទៅទម្លាប់រំខានហើយការលោតនេះចំណាយពេល ៣ ម៉ោង។ ប្រសិនបើការរំខានកើតឡើងក្នុងកំឡុងពេលអនុវត្តការណែនាំពហុវដ្តការណែនាំនេះត្រូវបានបញ្ចប់មុនពេលការរំខានត្រូវបានអនុវត្ត។ ប្រសិនបើការរំខានកើតឡើងនៅពេលដែល MCU ស្ថិតនៅក្នុងដំណាក់កាលនៃការគេងពេលវេលាឆ្លើយតបនៃការប្រតិបត្តិត្រូវបានកើនឡើងដោយវដ្តនាឡិកាបួន។ ការកើនឡើងនេះកើតឡើងបន្ថែមលើពេលវេលាចាប់ផ្តើមពីរបៀបគេងដែលបានជ្រើសរើស។

ការវិលត្រឡប់ពីទម្លាប់នៃការដោះស្រាយការរំខានត្រូវចំណាយពេល ៤ ម៉ោង។ ក្នុងអំឡុងពេលវដ្តនៃនាឡិកាទាំងបួននេះកម្មវិធីរាប់បញ្ចូលកម្មវិធី (ពីរបៃ) ត្រូវបានផុសឡើងពីជង់ទ្រនិចទ្រនិចត្រូវបានបង្កើនដោយពីរហើយអាយប៊ីប៊ីនៅក្នុងស៊ីអរហ្គ្រីត្រូវបានកំណត់។

អនុស្សាវរីយ៍ AVR

ផ្នែកនេះពិពណ៌នាអំពីអនុស្សាវរីយ៍ផ្សេងៗគ្នានៅក្នុងអេធីធីទី ២៥ / ៤៥ / ៨៥ ។ ស្ថាបត្យកម្ម AVR មានកន្លែងចងចាំសំខាន់ចំនួនពីរគឺទិន្នន័យមេម៉ូរីទិន្នន័យនិងកន្លែងចងចាំកម្មវិធី។ លើសពីនេះទៀត ATtiny25 / 45/85 មានអង្គចងចាំ EEPROM សម្រាប់ផ្ទុកទិន្នន័យ។ កន្លែងចងចាំទាំងបីគឺលីនេអ៊ែរនិងទៀងទាត់។

អង្គចងចាំក្នុងកម្មវិធីប្រព័ន្ធអាចបង្កើតកម្មវិធីឡើងវិញបាន

អេធីធីទី ២៥ / ៤៥ / ៨៥ មានផ្ទុកអង្គចងចាំភ្លីភ្លីក្នុងប្រព័ន្ធ ២ អ៊ីនធឺណេតប្រូស្តាតភ្លេដសម្រាប់ប្រព័ន្ធកម្មវិធី។ ដោយសារការណែនាំ AVR ទាំងអស់មានទទឹង ១៦ ឬ ៣២ ប៊ីតពន្លឺត្រូវបានរៀបចំជា ១០២៤/២០៤៨ / ៤០៩៦ x ១៦ ។

អង្គចងចាំភ្លសមានភាពអត់ធ្មត់យ៉ាងហោចណាស់ ១០.០០០ សរសេរ / លុបវដ្តរដូវ។ បញ្ជរកម្មវិធីអេធីធីនី ២៥ / ៤៥ / ៨៥ មានទំហំ ១០/១១/២២ ប៊ីតដូច្នេះវានឹងបង្ហាញនៅទីតាំងចងចាំនៃកម្មវិធី ១០២៤ / ២០៤៨ / ៤០៩៦ ។ “ កម្មវិធីចងចាំ - ការបញ្ចូលគ្នានៅទំព័រ ១៤៧ មានការពិពណ៌នាលម្អិតស្តីពីការទាញយកសៀរៀលទិន្នន័យភ្លដោយប្រើម្ជុល SPI ។

តារាងថេរអាចត្រូវបានបម្រុងទុកក្នុងទំហំអាស័យដ្ឋានសតិរបស់កម្មវិធីទាំងមូល (សូមមើល LPM - ការពិពណ៌នាសេចក្តីណែនាំអំពីការចងចាំកម្មវិធី) ។

រូបភាព 5-1 ។ ផែនទីការចងចាំកម្មវិធី ផែនទីចងចាំ

សតិទិន្នន័យ SRAM

រូបភាព 5-2 បង្ហាញពីរបៀបដែលអង្គចងចាំ ATtiny25 / 45/85 SRAM ត្រូវបានរៀបចំឡើង។

ទីតាំងអង្គចងចាំទិន្នន័យ 224/352/607 ទាបជាងអាសយដ្ឋានទាំងពីរ ចុះឈ្មោះ Fileអង្គចងចាំ I/O និង SRAM ទិន្នន័យខាងក្នុង។ ទីតាំងចំនួន 32 កន្លែងដំបូង អាសយដ្ឋានចុះឈ្មោះ File64 ទីតាំងបន្ទាប់នៃអង្គចងចាំ I/O ស្តង់ដារ ហើយទីតាំងចុងក្រោយ 128/256/512 ដោះស្រាយ SRAM ទិន្នន័យខាងក្នុង។

របៀបអាសយដ្ឋានផ្សេងគ្នាចំនួនប្រាំសម្រាប់គម្របអង្គចងចាំទិន្នន័យ៖ ដោយផ្ទាល់, ដោយប្រយោលជាមួយនឹងការផ្លាស់ទីលំនៅ, ដោយប្រយោល, ប្រយោលជាមួយការបន្ថយមុន និងដោយប្រយោលជាមួយការបង្កើនក្រោយ។ នៅក្នុងការចុះឈ្មោះ Fileចុះឈ្មោះ R26 ដល់ R31 មានលក្ខណៈពិសេសការចុះឈ្មោះទ្រនិចអាសយដ្ឋានដោយប្រយោល។

អាស័យដ្ឋានផ្ទាល់ឈានដល់ទំហំទិន្នន័យទាំងមូល។

របៀបប្រយោលជាមួយការផ្លាស់ទីលំនៅបានទៅដល់ទីតាំងអាសយដ្ឋានចំនួន ៦៣ ពីអាស័យដ្ឋានគោលដែលផ្តល់ដោយអ៊ី - រឺហ្ស - ចុះឈ្មោះ។

នៅពេលប្រើរបៀបអាសយដ្ឋានការចុះឈ្មោះដោយប្រយោលជាមួយនឹងការថយចុះមុននិងការកើនឡើងស្វ័យប្រវត្តិកម្មអាស័យដ្ឋានចុះឈ្មោះ X, Y និង Z ត្រូវបានបន្ថយឬកើនឡើង។

ការចុះឈ្មោះការងារដែលមានគោលបំណងទូទៅចំនួន 32, 64 I/O Registers និង 128/256/512 bytes នៃទិន្នន័យខាងក្នុង SRAM នៅក្នុង ATtiny25/45/85 គឺអាចចូលប្រើបានតាមរយៈរបៀបអាសយដ្ឋានទាំងអស់នេះ។ ការចុះឈ្មោះ File ត្រូវបានពិពណ៌នានៅក្នុង “ ឧត្តមសេនីយ៍ - គោលបំណងចុះឈ្មោះ File» នៅទំព័រ១០.

រូបភាព 5-2 ។ ផែនទីអង្គចងចាំទិន្នន័យ ផែនទីចងចាំ ២

ការចូលប្រើអង្គចងចាំទិន្នន័យ ដង

ផ្នែកនេះពិពណ៌នាអំពីគោលការណ៍កំណត់ពេលវេលាចូលប្រើទូទៅសម្រាប់ការចូលប្រើអង្គចងចាំខាងក្នុង។ ការចូលប្រើ SRAM ទិន្នន័យខាងក្នុងត្រូវបានអនុវត្តជាពីរវដ្ត clkCPU ដូចដែលបានពិពណ៌នានៅក្នុង រូបភាព 5-3.

រូបភាព 5-3 ។ វដ្តនៃការចូលប្រើទិន្នន័យ SRAM នៅលើបន្ទះឈីប នៅលើទិន្នន័យបន្ទះឈីប សតិទិន្នន័យ EEPROM

អេធីធីទី ២៥ / ៤៥ / ៨៥ មានអង្គចងចាំទិន្នន័យ EEPROM ទំហំ ១២៨/២៥៦/៥១២ បៃ។ វាត្រូវបានរៀបចំជាកន្លែងទិន្នន័យដាច់ដោយឡែកដែលក្នុងនោះបៃអាចអាននិងសរសេរបាន។ EEPROM មានការស៊ូទ្រាំយ៉ាងហោចណាស់ ១០០.០០០ សរសេរ / លុបបំបាត់វដ្តរដូវ។ ការចូលប្រើរវាង EEPROM និងស៊ីភីយូត្រូវបានពិពណ៌នាដូចខាងក្រោមបញ្ជាក់អំពីបញ្ជីឈ្មោះអាសយដ្ឋាន EEPROM ការចុះឈ្មោះទិន្នន័យ EEPROM និងការចុះឈ្មោះត្រួតពិនិត្យ EEPROM ។ សម្រាប់ព័ត៌មានលម្អិតសូមមើល “ ការទាញយកសៀរៀល” នៅទំព័រ ១៥១.

សិទ្ធិចូលអាន / សរសេរ EEPROM

ប្រព័ន្ធចុះឈ្មោះចូលប្រើ EEPROM អាចចូលបានក្នុងចន្លោះ I / O ។

ពេលវេលាចូលដំណើរការសរសេរសម្រាប់ EEPROM ត្រូវបានផ្តល់ជូន តារាង ៥-១ នៅទំព័រ ២១. ទោះជាយ៉ាងណាក៏ដោយ មុខងារកំណត់ពេលវេលាដោយខ្លួនឯង អនុញ្ញាតឱ្យកម្មវិធីអ្នកប្រើប្រាស់រកឃើញថានៅពេលដែលបៃបន្ទាប់អាចត្រូវបានសរសេរ។ ប្រសិនបើលេខកូដអ្នកប្រើប្រាស់មានការណែនាំដែលសរសេរ EEPROM ការប្រុងប្រយ័ត្នមួយចំនួនត្រូវតែធ្វើឡើង។ នៅក្នុងការផ្គត់ផ្គង់ថាមពលដែលបានត្រងយ៉ាងខ្លាំង VCC ទំនងជាកើនឡើង ឬធ្លាក់ចុះបន្តិចម្តងៗ

ថាមពលឡើង/ចុះ។ នេះបណ្តាលឱ្យឧបករណ៍សម្រាប់រយៈពេលមួយចំនួនដើម្បីដំណើរការនៅវ៉ុលមួយ។tage ទាបជាងបានបញ្ជាក់ជាអប្បបរមាសម្រាប់ប្រេកង់នាឡិកាដែលបានប្រើ។ សូមមើល “ ការការពារអំពើពុករលួយ EEPROM” ទំព័រ ១៩ សម្រាប់ព័ត៌មានលម្អិតអំពីវិធីដើម្បីជៀសវាងបញ្ហាក្នុងស្ថានភាពទាំងនេះ។

ដើម្បីការពារការសរសេរ EEPROM ដោយអចេតនានីតិវិធីសរសេរជាក់លាក់ត្រូវតែអនុវត្តតាម។ យោង “ អាតូមិច ការសរសេរកម្មវិធីបៃនៅទំព័រ ១៧ និង “ បំបែកកម្មវិធីបៃ” នៅទំព័រ ១៧ សម្រាប់ព័ត៌មានលម្អិតអំពីបញ្ហានេះ។

នៅពេលអាន EEPROM ស៊ីភីយូត្រូវបានបញ្ឈប់សម្រាប់វដ្តនាឡិកាចំនួនបួនមុនពេលការណែនាំបន្ទាប់ត្រូវបានប្រតិបត្តិ។ នៅពេល EEPROM ត្រូវបានសរសេរស៊ីភីយូត្រូវបានបញ្ឈប់សម្រាប់វដ្តនាឡិកាពីរមុនពេលការណែនាំបន្ទាប់ត្រូវបានប្រតិបត្តិ។

ការសរសេរកម្មវិធីអាតូមអាតូម

ការប្រើប្រាស់កម្មវិធីអាតូមអាតូមគឺជារបៀបសាមញ្ញបំផុត។ នៅពេលសរសេរបៃទៅកាន់ EEPROM អ្នកប្រើប្រាស់ត្រូវសរសេរអាស័យដ្ឋានចូលក្នុងការចុះឈ្មោះ EEAR ហើយបញ្ចូលទិន្នន័យទៅក្នុងការចុះឈ្មោះ EEDR ។ ប្រសិនបើប៊ីត EEPMn គឺសូន្យការសរសេរ EEPE (ក្នុងរយៈពេលបួនវដ្តបន្ទាប់ពី EEMPE ត្រូវបានសរសេរ) នឹងចាប់ផ្តើមប្រតិបត្តិការលុប / សរសេរ។ វដ្តនៃការលុបបំបាត់និងសរសេរត្រូវបានធ្វើឡើងនៅក្នុងប្រតិបត្តិការតែមួយហើយពេលវេលាសរសេរកម្មវិធីសរុបត្រូវបានផ្តល់ជូន តារាង ៥-១ នៅទំព័រ ២១។ ប៊ីត EEPE នៅតែត្រូវបានកំណត់រហូតដល់ប្រតិបត្តិការលុបនិងសរសេរត្រូវបានបញ្ចប់។ ខណៈពេលដែលឧបករណ៍នេះរវល់នឹងការសរសេរកម្មវិធីវាមិនអាចទៅរួចទេក្នុងការធ្វើប្រតិបត្តិការ EEPROM ផ្សេងទៀត។

បំបែកកម្មវិធីបៃ

វាអាចធ្វើទៅបានដើម្បីបំបែកវដ្តនៃការលុប និងសរសេរក្នុងប្រតិបត្តិការពីរផ្សេងគ្នា។ វាអាចមានប្រយោជន៍ប្រសិនបើប្រព័ន្ធត្រូវការពេលវេលាចូលប្រើខ្លីសម្រាប់រយៈពេលកំណត់មួយចំនួន (ជាធម្មតាប្រសិនបើការផ្គត់ផ្គង់ថាមពលវ៉ុលtagធ្លាក់) ។ ដើម្បីយក Advan- tage នៃវិធីសាស្ត្រនេះ វាត្រូវបានទាមទារថា ទីតាំងដែលត្រូវសរសេរត្រូវបានលុបមុនពេលប្រតិបត្តិការសរសេរ។ ប៉ុន្តែចាប់តាំងពីប្រតិបត្តិការលុប និងសរសេរត្រូវបានបំបែក វាគឺអាចធ្វើទៅបានដើម្បីធ្វើប្រតិបត្តិការលុបនៅពេលដែលប្រព័ន្ធអនុញ្ញាតឱ្យធ្វើប្រតិបត្តិការពេលវេលាដ៏សំខាន់ (ជាធម្មតាបន្ទាប់ពីថាមពលឡើង)។

លុប

ដើម្បីលុបបៃអាស័យដ្ឋានត្រូវសរសេរទៅ EEAR ។ ប្រសិនបើប៊ីត EEPMn គឺ 0b01 ការសរសេរ EEPE (ក្នុងរយៈពេលបួនវដ្តបន្ទាប់ពី EEMPE ត្រូវបានសរសេរ) នឹងចាប់ផ្តើមប្រតិបត្តិការលុបបំបាត់តែប៉ុណ្ណោះ (ពេលវេលាសរសេរកម្មវិធីត្រូវបានផ្តល់ជូននៅក្នុង តារាង ៥-១ នៅលើ ទំព័រ 21) ។ ប៊ីត EEPE នៅតែត្រូវបានកំណត់រហូតដល់ប្រតិបត្តិការលុបបំបាត់បានបញ្ចប់។ ខណៈពេលដែលឧបករណ៍កំពុងមមាញឹកក្នុងការសរសេរកម្មវិធីវាមិនអាចទៅរួចទេក្នុងការធ្វើប្រតិបត្តិការ EEPROM ផ្សេងទៀត។

សរសេរ

ដើម្បីសរសេរទីតាំងអ្នកប្រើប្រាស់ត្រូវសរសេរអាស័យដ្ឋានទៅជា EEAR និងទិន្នន័យចូលទៅក្នុង EEDR ។ ប្រសិនបើប៊ីត EEPMn គឺ 0b10 ការសរសេរ EEPE (ក្នុងរយៈពេលបួនវដ្តបន្ទាប់ពី EEMPE ត្រូវបានសរសេរ) នឹងធ្វើឱ្យមានប្រតិបត្តិការសរសេរតែប៉ុណ្ណោះ (ពេលវេលាកម្មវិធីត្រូវបានផ្តល់ជូននៅក្នុង តារាង ៥-១ នៅទំព័រ ២១) ។ ប៊ីត EEPE នៅតែត្រូវបានកំណត់រហូតដល់ប្រតិបត្តិការសរសេរចប់។ ប្រសិនបើទីតាំងដែលត្រូវសរសេរមិនត្រូវបានលុបចោលមុនពេលសរសេរទិន្នន័យដែលត្រូវបានរក្សាទុកត្រូវតែត្រូវបានចាត់ទុកថាបាត់បង់។ ខណៈពេលដែលឧបករណ៍នេះរវល់នឹងការសរសេរកម្មវិធីវាមិនអាចទៅរួចទេក្នុងការធ្វើប្រតិបត្តិការ EEPROM ផ្សេងទៀត។

Oscillator ដែលបានក្រិតតាមខ្នាតត្រូវបានប្រើសំរាប់ពេលវេលា EEPROM ចូល។ ត្រូវប្រាកដថាប្រេកង់ Oscillator គឺស្ថិតនៅក្នុងតម្រូវការដែលបានពិពណ៌នា ទំព័រស្តីពី“ OSCCAL - ការចុះឈ្មោះក្រិតតាមខ្នាត Oscillator” នៅទំព័រ ៣១.

កូដខាងក្រោម examples បង្ហាញការជួបប្រជុំគ្នាមួយ និងមុខងារ C មួយសម្រាប់លុប សរសេរ ឬសរសេរអាតូមិកនៃ EEPROM ។ អតីតamples សន្មត់ថាការរំខានត្រូវបានគ្រប់គ្រង (ឧ. ដោយការបិទការរំខានជាសកល) ដូច្នេះគ្មានការរំខានណាមួយនឹងកើតឡើងក្នុងអំឡុងពេលប្រតិបត្តិមុខងារទាំងនេះ។

កូដសន្និបាត Example
EEPROM_ សរសេរ៖

; រង់ចាំការបញ្ចប់ការសរសេរមុន

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

; ចាប់ផ្តើមសរសេរ eeprom ដោយកំណត់ EEPE

sbi EECR, EEPE

រ៉េត

កូដ C ឧample
ទុកជាមោឃៈ EEPROM_write(មិនបានចុះហត្ថលេខា char ucAddress, unsigned char ucData)

{

/* រង់ចាំការបញ្ចប់ការសរសេរពីមុន */ while(EECR & (1<

;

/* កំណត់របៀបសរសេរកម្មវិធី */

EECR = (០ <

/ * រៀបចំអាសយដ្ឋាននិងការចុះឈ្មោះទិន្នន័យ * / EEAR = ucAddress;

EEDR = ទិន្នន័យ ucData;

/* សរសេរឡូជីខលទៅ EEMPE */

EECR | = (១ <

/ * ចាប់ផ្តើមសរសេរ eeprom ដោយកំណត់ EEPE * /

EECR | = (១ <

}

លេខកូដបន្ទាប់ ឧamples បង្ហាញការជួបប្រជុំគ្នា និងមុខងារ C សម្រាប់អាន EEPROM ។ អតីតamples សន្មត់ថាការរំខានត្រូវបានគ្រប់គ្រង ដូច្នេះគ្មានការរំខានណាមួយកើតឡើងកំឡុងពេលប្រតិបត្តិមុខងារទាំងនេះ។

កូដសន្និបាត Example
EEPROM_read៖

; រង់ចាំការបញ្ចប់ការសរសេរមុន

sbic EECR, EEPE

rjmp EEPROM_ អាន

; រៀបចំអាសយដ្ឋាន (r18: r17) ក្នុងការចុះឈ្មោះអាសយដ្ឋាន

ចេញ EEARH, r18

ចេញ EEARL, r17

; ចាប់ផ្តើម eeprom អានដោយសរសេរត្រង់នេះ

sbi EECR, EERE

; អានទិន្នន័យពីការចុះឈ្មោះទិន្នន័យ

ក្នុង r16, EEDR

រ៉េត

កូដ C ឧample
unsigned char EEPROM_read(unsigned char ucAddress)

{

/ * រង់ចាំការបញ្ចប់ការសរសេរមុន * /

ខណៈពេល (EECR & (1 <

;

/ * រៀបចំការចុះឈ្មោះអាសយដ្ឋាន * / EEAR = ucAddress;

/* ចាប់ផ្តើម eeprom អានដោយសរសេរ EERE */

EECR | = (១ <

/ * ត្រឡប់ទិន្នន័យពីការចុះឈ្មោះទិន្នន័យ * /

ត្រឡប់ EEDR;

}

ការការពារអំពើពុករលួយ EEPROM

ក្នុងអំឡុងពេលនៃ VCC ទាប ទិន្នន័យ EEPROM អាចខូចដោយសារការផ្គត់ផ្គង់វ៉ុលtage គឺទាបពេកសម្រាប់ CPU និង EEPROM ដើម្បីដំណើរការបានត្រឹមត្រូវ។ បញ្ហាទាំងនេះគឺដូចគ្នាទៅនឹងប្រព័ន្ធកម្រិតក្តារដែលប្រើ EEPROM ហើយដំណោះស្រាយរចនាដូចគ្នាគួរតែត្រូវបានអនុវត្ត។

ការខូចខាតទិន្នន័យ EEPROM អាចបណ្តាលមកពីស្ថានភាពពីរនៅពេលវ៉ុលtage គឺទាបពេក។ ទីមួយ លំដាប់សរសេរធម្មតាទៅកាន់ EEPROM ទាមទារវ៉ុលអប្បបរមាtage ដើម្បីដំណើរការត្រឹមត្រូវ។ ទីពីរ ស៊ីភីយូខ្លួនឯងអាចប្រតិបត្តិការណែនាំមិនត្រឹមត្រូវ ប្រសិនបើវ៉ុលផ្គត់ផ្គង់tage គឺទាបពេក។

អំពើពុករលួយនៃទិន្នន័យ EEPROM អាចត្រូវបានជៀសវាងបានយ៉ាងងាយដោយធ្វើតាមអនុសាសន៍រចនានេះ៖

រក្សា AVR RESET សកម្ម (ទាប) ក្នុងអំឡុងពេលនៃការផ្គត់ផ្គង់ថាមពលមិនគ្រប់គ្រាន់ voltagអ៊ី នេះអាចត្រូវបានធ្វើដោយការបើកឧបករណ៍ចាប់សញ្ញាខាងក្នុងពណ៌ត្នោត (BOD) ។ ប្រសិនបើកម្រិតនៃការរកឃើញនៃ BOD ខាងក្នុងមិនត្រូវគ្នានឹង

កម្រិតរកឃើញដែលត្រូវការ សៀគ្វីការពារកំណត់ឡើងវិញ VCC ទាបខាងក្រៅអាចត្រូវបានប្រើ។ ប្រសិនបើការកំណត់ឡើងវិញកើតឡើងខណៈពេលដែលប្រតិបត្តិការសរសេរកំពុងដំណើរការ ប្រតិបត្តិការសរសេរនឹងត្រូវបានបញ្ចប់ ផ្តល់ថាការផ្គត់ផ្គង់ថាមពលវ៉ុលtage គឺគ្រប់គ្រាន់ហើយ។

I / O ការចងចាំ

និយមន័យចន្លោះ I / O នៃអេទីធីទី ២៥ / ៤៥ / ៨៥ ត្រូវបានបង្ហាញនៅក្នុង “ ចុះឈ្មោះសង្ខេប” នៅទំព័រ ២០០.

រាល់ ATtiny25 / 45/85 I / Os និងគ្រឿងបន្ថែមត្រូវបានដាក់ក្នុងចន្លោះ I / O ។ ទីតាំង I / O ទាំងអស់អាចត្រូវបានចូលប្រើដោយសេចក្តីណែនាំអិល។ ឌី។ អិល។ អេ។ អិល។ អេ។ / អិល។ ឌី។ អិល។ ឌី។ អិល។ អេ។ អិល។ អេស។ អិល។ អេស។ I / O ចុះបញ្ជីនៅក្នុងជួរអាសយដ្ឋាន 32x0 - 00x0F អាចចូលដំណើរការបានដោយផ្ទាល់ដោយប្រើការណែនាំរបស់អេសប៊ីអាយនិងប៊ីប៊ី។ នៅក្នុងការចុះឈ្មោះទាំងនេះតម្លៃនៃប៊ីតតែមួយអាចត្រូវបានត្រួតពិនិត្យដោយប្រើការណែនាំអេសប៊ីអាយនិងអេសប៊ីអាយ។ សូមមើលផ្នែកសំណុំការណែនាំសម្រាប់ព័ត៌មានលម្អិតបន្ថែម។ នៅពេលប្រើពាក្យបញ្ជាជាក់លាក់ I / O IN និង OUT អាសយដ្ឋាន I / O អាសយដ្ឋាន 1x0 - 00x0F ត្រូវតែប្រើ។ នៅពេលដោះស្រាយ I / O Registers ជាកន្លែងផ្ទុកទិន្នន័យដោយប្រើការណែនាំ LD និង ST 3x0 ត្រូវតែបន្ថែមទៅអាសយដ្ឋានទាំងនេះ។

សម្រាប់ភាពឆបគ្នាជាមួយឧបករណ៍នាពេលអនាគតប៊ីតបម្រុងគួរតែត្រូវបានសរសេរទៅសូន្យប្រសិនបើអាចចូលបាន។ អាសយដ្ឋានសតិ I / O ដែលបម្រុងទុកមិនគួរត្រូវបានសរសេរឡើយ។

ទង់ស្ថានភាពខ្លះត្រូវបានជម្រះដោយសរសេរឡូជីខលទៅពួកគេ។ ចំណាំថាការណែនាំរបស់ស៊ីប៊ីអាយនិងអេសប៊ីអាយនឹងដំណើរការតែលើកម្រិតដែលបានបញ្ជាក់ប៉ុណ្ណោះដូច្នេះអាចត្រូវបានប្រើលើការចុះឈ្មោះដែលមានទង់ស្ថានភាពបែបនេះ។ ការណែនាំរបស់ស៊ីប៊ីអាយនិងអេសប៊ីអាយធ្វើការជាមួយអ្នកចុះឈ្មោះ 0x00 ដល់ 0x1F តែប៉ុណ្ណោះ។

ផ្នែកត្រួតពិនិត្យអាយ / អូនិងគ្រឿងកុំព្យូទ័រត្រូវបានពន្យល់នៅផ្នែកក្រោយៗទៀត។

ចុះឈ្មោះការពិពណ៌នា

EEARH - ចុះឈ្មោះអាស័យដ្ឋាន EEPROM

ប៊ីត 7 6 5 4 3 2 1 0
0x1F EEAR ៨ ត្រចៀក
អាន/សរសេរ R R R R R R R R/W
តម្លៃដំបូង 0 0 0 0 0 0 0 X/0

ប៊ីត ៧: ១ - រីសៈប៊ីតបម្រុងទុក

ប៊ីតទាំងនេះត្រូវបានបម្រុងទុកសម្រាប់ការប្រើប្រាស់នាពេលអនាគតហើយនឹងអានជាសូន្យជានិច្ច។

ប៊ីត 0 - EEAR8: អាសយដ្ឋាន EEPROM

នេះគឺជាប៊ីតអាស័យដ្ឋាន EEPROM សំខាន់បំផុតរបស់អេទីធីទី ៨៨ ។ នៅក្នុងឧបករណ៍ដែលមាន EEPROM តិចឧទាហរណ៍ ATtiny85 / ATtiny25 ប៊ីតនេះត្រូវបានបម្រុងទុកហើយនឹងអានសូន្យជានិច្ច។ តម្លៃដំបូងនៃអាសយដ្ឋានអាសយដ្ឋាន EEPROM (EEAR) មិនត្រូវបានកំណត់ហើយដូច្នេះតម្លៃត្រឹមត្រូវត្រូវតែសរសេរមុនពេលចូលដំណើរការ EEPROM ។

EEARL - ចុះឈ្មោះអាស័យដ្ឋាន EEPROM

ប៊ីត

0x1 អ៊ី EEAR ៨ EEAR ៨ EEAR ៨ EEAR ៨ EEAR ៨ EEAR ៨ EEAR ៨ EEAR ៨ ត្រចៀក
ខាងក្រោយ / សរសេរ R/W R/W R/W R/W R/W R/W R/W R/W
តម្លៃដំបូង X X X X X X X X

ប៊ីត 7 - EEAR7: អាសយដ្ឋាន EEPROM

នេះគឺជាប៊ីតអាស័យដ្ឋាន EEPROM សំខាន់បំផុតរបស់អេធីធីទី ៤៥ ។ នៅក្នុងឧបករណ៍ដែលមាន EEPROM តិចពោលគឺ ATtiny45 ប៊ីតនេះត្រូវបានរក្សាទុកហើយនឹងអានជាលេខសូន្យជានិច្ច។ តម្លៃដំបូងនៃការចុះឈ្មោះអាសយដ្ឋាន EEPROM (EEAR) មិនត្រូវបានកំណត់ហើយដូច្នេះតម្លៃដែលត្រឹមត្រូវត្រូវសរសេរមុនពេលចូលដំណើរការ EEPROM ។

ប៊ីត ៦: ០ - EEAR [៦: ០] ៈអាស័យដ្ឋាន EEPROM

ទាំងនេះគឺជាប៊ីត (ទាប) នៃការចុះឈ្មោះអាសយដ្ឋាន EEPROM ។ បៃទិន្នន័យ EEPROM ត្រូវបានដោះស្រាយតាមជួរក្នុងជួរ ០ … (១២៨ / ២៥៦ / ៥១២-១) ។ តម្លៃដំបូងនៃ EEAR មិនត្រូវបានកំណត់ហើយដូច្នេះតម្លៃដែលត្រឹមត្រូវត្រូវតែសរសេរមុនពេល EEPROM អាចចូលបាន។

ការចុះឈ្មោះទិន្នន័យអេឌីអរអរ

ប៊ីត 7 6 5 4 3 2 1 0
0x1D EEDR ៧ EEDR ៧ EEDR ៧ EEDR ៧ EEDR ៧ EEDR ៧ EEDR ៧ 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 មានទិន្នន័យដែលត្រូវសរសេរទៅ EEPROM តាមអាស័យដ្ឋានដែលបានផ្តល់ដោយការចុះឈ្មោះ EEAR ។ សម្រាប់ប្រតិបតិ្តការអាន EEPROM EEDR មានផ្ទុកទិន្នន័យដែលបានអានចេញពីឯកសារអេ

EEPROM តាមអាស័យដ្ឋានរបស់ EEAR ។

 

៥.៥.៤ អ។ ស។ ប។ - ការចុះឈ្មោះត្រួតពិនិត្យអេសអរអរ

ប៊ីត ៧ ៦ ៥ 4 3 2 1 0
០x៤ ស៊ី        – EEPM1 EEPM0 អ៊ីរី អេមភី អេអេអ៊ី នៅទីនេះ EECR
អាន / សរសេរ R អាន R / សរសេរ R/W R/W R/W R/W R/W
តម្លៃដំបូង ០ ០ X X 0 0 X 0

ប៊ីត 7 - បម្រុងទុក: ប៊ីតបម្រុងទុក

ប៊ីតនេះត្រូវបានបម្រុងទុកសម្រាប់ការប្រើប្រាស់នាពេលអនាគតហើយនឹងអានជាលេខ 0 នៅក្នុងអ៊ីធីធីនី ២៥ / ៤៥ / ៨៥ ។ សម្រាប់ភាពឆបគ្នាជាមួយឧបករណ៍ AVR នាពេលអនាគតតែងតែសរសេរប៊ីតនេះទៅសូន្យ។ បន្ទាប់ពីអានសូមបិទម៉ាសបន្តិច។

ប៊ីត 6 - បម្រុងទុក: ប៊ីតបម្រុងទុក

ប៊ីតនេះត្រូវបានរក្សាទុកនៅក្នុងអេធីធីទី ២៥ / ៤៥ / ៨៥ ហើយនឹងអានជាសូន្យជានិច្ច។

ប៊ីត ៥: ៤ - អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ។ អេ

ការកំណត់ប៊ីតនៃរបៀបសរសេរកម្មវិធី EEPROM កំណត់សកម្មភាពកម្មវិធីដែលនឹងត្រូវបានបង្កឡើងនៅពេលសរសេរ EEPE ។ អាចដាក់ទិន្នន័យទិន្នន័យក្នុងប្រតិបតិ្តការអាតូមិចមួយ (លុបតម្លៃចាស់និងដាក់កម្មវិធីតម្លៃថ្មី) ឬបំបែកប្រតិបត្ដិការលុបនិងសរសេរក្នុងប្រតិបត្ដិការពីរផ្សេងគ្នា។ ពេលវេលានៃការសរសេរកម្មវិធីសម្រាប់របៀបផ្សេងៗគ្នាត្រូវបានបង្ហាញ តារាង 5-1។ ខណៈពេលដែល EEPE ត្រូវបានកំណត់ការសរសេរទៅកាន់ EEPMn នឹងមិនត្រូវបានអើពើឡើយ។ ក្នុងអំឡុងពេលកំណត់ឡើងវិញប៊ីតអេអេមមេននឹងត្រូវបានកំណត់ឡើងវិញដល់លេខ 0b00 លុះត្រាតែ EEPROM កំពុងមមាញឹកក្នុងការសរសេរកម្មវិធី។

តារាង 5-1 ។ របៀប EEPROM ប៊ីត

EEPM1 EEPM0 ពេលវេលាសរសេរកម្មវិធី ប្រតិបត្តិការ
0 0 3.4 ms លុបនិងសរសេរក្នុងប្រតិបត្ដិការតែមួយ (ប្រតិបត្តិការអាតូមិក)
0 1 1.8 ms លុបតែប៉ុណ្ណោះ
1 0 1.8 ms សរសេរតែ
1 1 បម្រុងទុកសម្រាប់ការប្រើប្រាស់នាពេលអនាគត

ប៊ីត ៣ - អេរីសឺរៈអេបអររូមត្រៀមខ្លួនជាស្រេចរំខាន

ការសរសេរ EERIE ទៅមួយអាចឱ្យ EEPROM ត្រៀមខ្លួនជាស្រេចរំខានប្រសិនបើ I-bit នៅក្នុង SREG ត្រូវបានកំណត់។ ការសរសេរ EERIE ទៅសូន្យបង្ហាញពីការរំខាន។ EEPROM Ready Interrupt បង្កើតការរំខានថេរនៅពេលដែលការចងចាំដែលមិនងាយនឹងបង្ករឡើងសម្រាប់ការសរសេរកម្មវិធី។

ប៊ីត ២ - អេអេមអាយអេសៈកម្មវិធីមេ EEPROM បើកដំណើរការ

ប៊ីត EEMPE កំណត់ថាតើការសរសេរ EEPE ទៅមួយនឹងមានឥទ្ធិពលឬអត់។

នៅពេល EEMPE ត្រូវបានកំណត់ការកំណត់ EEPE ក្នុងរយៈពេលវដ្តនាឡិកាបួននឹងរៀបចំកម្មវិធី EEPROM នៅអាសយដ្ឋានដែលបានជ្រើសរើស។ ប្រសិនបើ EEMPE គឺសូន្យការកំណត់ EEPE នឹងមិនមានប្រសិទ្ធិភាពទេ។ នៅពេល EEMPE ត្រូវបានសរសេរទៅមួយដោយសូហ្វវែរផ្នែករឹងបោសសំអាតបន្តិចទៅសូន្យបន្ទាប់ពីវដ្តនាឡិកាបួន។

ប៊ីត 1 - អេអេអេអេអេអេអេអេអេអេអេអេអេអេអេអេអេអេអេអេអេមអេមអេសអេមអេសអេមអេសអេសអេសអេអេអេសអេមអេសអេមអេសអេមអេសអេមអេសអេមអេសអេមអេសអេមអេសអេសអេអេសអេមអេសអេមអេសអេមអេសអេមអេស

កម្មវិធី EEPROM បើកដំណើរការសញ្ញា (EEPE) គឺជាកម្មវិធីដែលផ្តល់សញ្ញាដល់ EEPROM ។ នៅពេលដែល EEPE ត្រូវបានសរសេរ EEPROM នឹងត្រូវបានរៀបចំឡើងដោយយោងតាមការកំណត់ប៊ីត EEPMn ។ ប៊ីត EEMPE ត្រូវតែត្រូវបានសរសេរទៅមួយមុនពេលដែលឡូជីខលត្រូវបានសរសេរទៅ EEPE បើមិនដូច្នោះទេគ្មានការសរសេរ EEPROM កើតឡើងទេ។ នៅពេលដែលពេលវេលានៃការសរសេរបានកន្លងផុតទៅប៊ីត EEPE ត្រូវបានសម្អាតដោយផ្នែករឹង។ នៅពេល EEPE ត្រូវបានកំណត់ស៊ីភីយូត្រូវបានបញ្ឈប់សម្រាប់វដ្តពីរមុនពេលការណែនាំបន្ទាប់ត្រូវបានប្រតិបត្តិ។

ប៊ីត 0 - មាន៖ អេបអរអេមអានបើក

EEPROM អានបើកសញ្ញាសំគាល់ - មាន - គឺជាអានដែលអានទៅ EEPROM ។ នៅពេលអាសយដ្ឋានត្រឹមត្រូវត្រូវបានបង្កើតឡើងនៅក្នុងការចុះឈ្មោះ EEAR ប៊ីតត្រូវតែសរសេរទៅមួយដើម្បីបង្កឱ្យមានអាន EEPROM ។ ការចូលអានរបស់ EEPROM ត្រូវការការណែនាំមួយហើយទិន្នន័យដែលបានស្នើសុំអាចរកបានភ្លាមៗ។ នៅពេល EEPROM ត្រូវបានអានស៊ីភីយូត្រូវបានបញ្ឈប់សម្រាប់វដ្តបួនមុនពេលការណែនាំបន្ទាប់ត្រូវបានប្រតិបត្តិ។ អ្នកប្រើប្រាស់គួរធ្វើការស្ទង់មតិ EEPE បន្តិចមុននឹងចាប់ផ្តើមប្រតិបត្តិការអាន។ ប្រសិនបើប្រតិបត្តិការសរសេរកំពុងដំណើរការវាមិនអាចទៅរួចទេក្នុងការអាន EEPROM ហើយក៏មិនផ្លាស់ប្តូរការចុះឈ្មោះ EEAR ដែរ។

ជម្រើសប្រព័ន្ធនាឡិកានិងនាឡិកា

ប្រព័ន្ធនាឡិកានិងការចែកចាយរបស់ពួកគេ

ការចែកចាយនាឡិកា

នាឡិកាស៊ីភីយូ

នាឡិកាស៊ីភីយូត្រូវបានបញ្ជូនទៅកាន់ផ្នែកនៃប្រព័ន្ធទាក់ទងនឹងប្រតិបត្តិការនៃស្នូល AVR ។ ឧamples នៃម៉ូឌុលបែបនេះគឺជាការចុះឈ្មោះគោលបំណងទូទៅ Fileការចុះឈ្មោះស្ថានភាព និងអង្គចងចាំទិន្នន័យដែលកាន់ទ្រនិចជង់។ ការបញ្ឈប់នាឡិកា CPU រារាំងស្នូលពីប្រតិបត្តិការទូទៅ និងការគណនា។

I / O Clock - clkI / O

នាឡិកា I / O ត្រូវបានប្រើដោយម៉ូឌុល I / O ភាគច្រើនដូចជា Timer / Counter ។ នាឡិកា I / O ក៏ត្រូវបានប្រើដោយម៉ូឌុលរំខានអន្តរខាងក្រៅផងដែរប៉ុន្តែត្រូវកត់សម្គាល់ថាការរំខានខាងក្រៅមួយចំនួនត្រូវបានរកឃើញដោយតក្កវិជ្ជាអសមកាលដែលអនុញ្ញាតឱ្យមានការរំខានបែបនេះត្រូវបានរកឃើញទោះបីជានាឡិកា I / O ត្រូវបានបញ្ឈប់ក៏ដោយ។

នាឡិការពន្លឺ - clkFLASH

នាឡិកា Flash គ្រប់គ្រងប្រតិបត្តិការរបស់ Flash ។ នាឡិកា Flash ជាធម្មតាសកម្មក្នុងពេលដំណាលគ្នាជាមួយនាឡិកាស៊ីភីយូ។

នាឡិកាអេឌីស៊ី - clkADC

អេឌីស៊ីត្រូវបានផ្តល់ជូននូវដែនកំណត់នាឡិកា។ នេះអនុញ្ញាតឱ្យបញ្ឈប់ស៊ីភីយូនិងនាឡិកាអាយ / អូដើម្បីកាត់បន្ថយសំលេងរំខានដែលបង្កើតដោយសៀគ្វីឌីជីថល។ នេះផ្តល់នូវលទ្ធផលនៃការបំលែងអេឌីស៊ីកាន់តែត្រឹមត្រូវ។

PLL ផ្ទៃក្នុងសម្រាប់ជំនាន់នាឡិកាគ្រឿងកុំព្យូទ័រលឿន - clkPCK

PLL ខាងក្នុងនៅ ATtiny25 / 45/85 បង្កើតប្រេកង់នាឡិកាមួយដែលគុណនឹង 8 គុណពីការបញ្ចូលប្រភព។ តាមលំនាំដើម PLL ប្រើលទ្ធផលនៃលំយោល RC ៨,០ MHz ដែលជាប្រភព។ ម៉្យាងទៀតប្រសិនបើប៊ីអេសអេសអិលតិចតួចនៃ PLLCSR ត្រូវបានកំណត់ PLL នឹងប្រើលទ្ធផលនៃលំយោល RC ចែកជាពីរ។ ដូច្នេះលទ្ធផលនៃ PLL នាឡិកាគ្រឿងកុំព្យូទ័រដែលមានល្បឿនលឿនគឺ 8.0 MHz ។ នាឡិកាគ្រឿងអេឡិចត្រូនិចដែលមានល្បឿនលឿនឬនាឡិកាដែលបានកំណត់ចេញពីនោះអាចត្រូវបានជ្រើសរើសជាប្រភពនាឡិកាសម្រាប់ឧបករណ៍កំណត់ពេលវេលា / រាប់ ១ ឬជានាឡិកាប្រព័ន្ធ។ សូមមើល រូបភាព 6-2. ប្រេកង់នៃនាឡិកាគ្រឿងកុំព្យូទ័រដែលមានល្បឿនលឿនត្រូវបានបែងចែកដោយពីរនៅពេលដែល LSM នៃ PLLCSR ត្រូវបានកំណត់ដែលបណ្តាលឱ្យមានប្រេកង់នាឡិកា 32 MHz ។ ចំណាំថា LSM មិនអាចត្រូវបានកំណត់ប្រសិនបើ PLLCLK ត្រូវបានប្រើជានាឡិកាប្រព័ន្ធ។

រូបភាព 6-2 ។ ប្រព័ន្ធនាឡិកា PCK ។ នាឡិកា PCK

ភីអេសអិលត្រូវបានចាក់សោរលើយោល RC ហើយការលៃតម្រូវលំយោល RC តាមរយៈការចុះឈ្មោះ OSCCAL នឹងកែតម្រូវនាឡិកាគ្រឿងយ៉ាងលឿនក្នុងពេលតែមួយ។ ទោះយ៉ាងណាក៏ដោយទោះបីលំយោល RC ត្រូវបានគេយកទៅប្រេកង់ខ្ពស់ជាង ៨ មេហ្គាហឺតក៏ដោយប្រេកង់នាឡិកាល្បឿនលឿនមានល្បឿន ៨៥ មេហ្គាហឺត (ករណីអាក្រក់បំផុត) និងនៅតែយោលទៅនឹងល្បឿនអតិបរមា។ គួរកត់សម្គាល់ថា PLL ក្នុងករណីនេះមិនត្រូវបានចាក់សោរទៀតទេជាមួយនឹងនាឡិកាយោល RC ។ ដូច្នេះវាត្រូវបានផ្ដល់អនុសាសន៍មិនឱ្យយកការលៃតម្រូវ OSCCAL ទៅប្រេកង់ខ្ពស់ជាង 8 MHz ដើម្បីរក្សា PLL នៅក្នុងជួរប្រតិបត្តិការត្រឹមត្រូវ។

PLL ខាងក្នុងត្រូវបានបើកដំណើរការនៅពេល៖

ប៊ីត PLLE នៅក្នុងការចុះឈ្មោះ PLLCSR ត្រូវបានកំណត់។

ហ្វុយស៊ីអេស។ អេ។ អេស។ អេ។ អេ។ ត្រូវបានរៀបចំកម្មវិធីទៅជា ០០០១ '។

ហ្វុយស៊ីអេស។ អេ។ អេស។ អេ។ អេ។ ត្រូវបានរៀបចំកម្មវិធីទៅជា ០០០១ '។

PLOCK ប៊ីត PLLCSR ត្រូវបានកំណត់នៅពេលដែល PLL ត្រូវបានចាក់សោ។ ទាំងលំយោល RC ខាងក្នុង និង PLL ត្រូវបានបិទនៅក្នុងរបៀបបិទថាមពល និង Stand-by Sleep ។

PLL ខាងក្នុងនៅក្នុងរបៀបឆបគ្នា ATtiny15

ចាប់តាំងពីអេធីធីទី ២៥ / ៤៥ / ៨៥ ជាឧបករណ៍បំលាស់ទីសំរាប់អ្នកប្រើប្រាស់អាធីធីនី ១៥ មានអាដាប់ធ័រ ATtiny25 សំរាប់ភាពឆបគ្នានៅខាងក្រោយ។ របៀបឆបគ្នា ATtiny45 ត្រូវបានជ្រើសរើសដោយការសរសេរកម្មវិធីហ្វ្រេអឹមអេហ្វអេសទៅជា '០០១១' ។

នៅក្នុងរបៀបឆបគ្នា ATtiny15 ប្រេកង់នៃលំយោល RC ផ្ទៃក្នុងត្រូវបានក្រិតតាមខ្នាតដល់ ៦,៤ មេហ្គាហឺតនិងកត្តាគុណនៃ PLL ត្រូវបានកំណត់ទៅ ៤ ដង។ សូមមើល រូបភាព 6-3។ ជាមួយនឹងការកែសំរួលទាំងនេះប្រព័ន្ធតំរុយនាឡិកាគឺមាន ATtiny15 ដែលត្រូវគ្នាហើយនាឡិកាដែលមានល្បឿនលឿនជាលទ្ធផលមានប្រេកង់ 25.6 MHz (ដូចគ្នានឹង ATtiny15) ។

រូបភាព 6-3 ។ ប្រព័ន្ធនាឡិកា PCK នៅក្នុងរបៀបភាពឆបគ្នា ATtiny15 ។ ប្រព័ន្ធនាឡិកា

ប្រភពនាឡិកា

ឧបករណ៍មានជម្រើសប្រភពនាឡិកាដូចខាងក្រោមដែលអាចជ្រើសរើសបានដោយប៊្លុកហ្វុយហ្សុយប៊ីតដូចបង្ហាញខាងក្រោម។ នាឡិកាពីប្រភពដែលបានជ្រើសរើសត្រូវបានបញ្ចូលទៅក្នុងម៉ាស៊ីនភ្លើងនាឡិកា AVR ហើយបានបញ្ជូនទៅម៉ូឌុលដែលសមស្រប។

តារាង 6-1 ។ ជម្រើសនាឡិកាឧបករណ៍ ជ្រើសរើស

ជម្រើសនាឡិកាឧបករណ៍ CKSEL[3:0](១៦១៦)
នាឡិកាខាងក្រៅ (សូមមើល ទំព័រ 26) 0000
នាឡិកា PLL ប្រេកង់ខ្ពស់ (សូមមើល ទំព័រ 26) 0001
ក្រិតតាមខ្នាតខាងក្នុងអូស្ការ (សូមមើល ទំព័រ 27) 0010(១៦១៦)
ក្រិតតាមខ្នាតខាងក្នុងអូស្ការ (សូមមើល ទំព័រ 27) 0011(១៦១៦)
ផ្ទៃក្នុង ១២៨ kHz Oscillator (សូមមើល ទំព័រ 28) 0100
គ្រីស្តាល់ប្រេកង់ទាបប្រេកង់ (សូមមើល ទំព័រ 29) 0110
Crystal Oscillator / Resonator គ្រីស្តាល់ (សូមមើល ទំព័រ 29) 1000 - 1111
កក់ទុក 0101, 0111

សម្រាប់ហ្វុយហ្ស៊ីបទាំងអស់“ ១” មានន័យថាមិនត្រូវបានចារិកខណៈពេល“ ០” មានន័យថាកម្មវិធី។

ឧបករណ៍ត្រូវបានដឹកជញ្ជូនតាមជម្រើសដែលបានជ្រើសរើស។

នេះនឹងជ្រើសរើសរបៀបស៊ីចង្វាក់គ្នា ATtiny15 ដែលនាឡិការបស់ប្រព័ន្ធត្រូវបានបែងចែកជាបួនដែលជាលទ្ធផលមានល្បឿនទំនេរនាឡិកា 1.6 MHz ។ ចំពោះភាពអសកម្មបន្ថែមសូមមើល “ ការធ្វើឱ្យប្រសើរខាងក្នុងនៃអូឡាំពិក” នៅទំព័រទី ២៧.

ជម្រើសផ្សេងៗគ្នាសម្រាប់ជម្រើសនៃនាឡិកានីមួយៗត្រូវបានផ្តល់ជូននៅក្នុងផ្នែកខាងក្រោម។ នៅពេលដែលស៊ីភីយូភ្ញាក់ពីការធ្លាក់ចុះថាមពលប្រភពពេលវេលាដែលបានជ្រើសរើសត្រូវបានប្រើដើម្បីចាប់ផ្តើមការចាប់ផ្តើមដោយធានានូវប្រតិបត្តិការអូស្ការឡិនថេរមុនពេលការប្រតិបត្តិសេចក្តីណែនាំចាប់ផ្តើម។ នៅពេលស៊ីភីយូចាប់ផ្តើមពីការកំណត់ឡើងវិញមានការពន្យារពេលបន្ថែមទៀតដែលអនុញ្ញាតឱ្យថាមពលឈានដល់កម្រិតស្ថេរភាពមុនពេលចាប់ផ្តើមប្រតិបត្តិការធម្មតា។ នាឡិកាឃ្លាំមើលអូស្ការត្រូវបានប្រើសម្រាប់កំណត់ពេលវេលាជាក់ស្តែងនៃពេលវេលាចាប់ផ្តើម។ ចំនួននៃវដ្ត WDT Oscillator ដែលត្រូវបានប្រើសម្រាប់ពេលទំនេរនីមួយៗត្រូវបានបង្ហាញនៅក្នុង តារាង 6-2.

តារាង 6-2 ។ ចំនួននៃវដ្តនៃការឃ្លាំមើល

វាយពេលចេញ ចំនួននៃវដ្ត
4 ms 512
64 ms 8K (8,192)

នាឡិកាខាងក្រៅ

ដើម្បីជំរុញឧបករណ៍ពីប្រភពនាឡិកាខាងក្រៅ CLKI គួរតែត្រូវបានជំរុញដូចដែលបានបង្ហាញនៅក្នុង រូបភាព 6-4។ ដើម្បីដំណើរការឧបករណ៍នៅលើនាឡិកាខាងក្រៅ CKSEL Fuses ត្រូវតែសរសេរកម្មវិធីទៅ“ ០០” ។

រូបភាព 6-4 ។ ការកំណត់រចនាសម្ព័ន្ធដ្រាយនាឡិកាខាងក្រៅ

រូប ១

នៅពេលប្រភពនាឡិកានេះត្រូវបានជ្រើសរើសពេលវេលាចាប់ផ្តើមត្រូវបានកំណត់ដោយ SUT Fuses ដូចដែលបានបង្ហាញ តារាង 6-3.

តារាង 6-3 ។ ពេលវេលាចាប់ផ្តើមសម្រាប់ការជ្រើសរើសនាឡិកាខាងក្រៅ

ស៊ូត[1:0] ពេលវេលាចាប់ផ្តើមពីថាមពលចុះក្រោម ការពន្យារពេលបន្ថែមពីការកំណត់ឡើងវិញ ការប្រើប្រាស់ដែលបានណែនាំ
00 ២៥៨៦ គ។ ស 14 ស៊ីខេ បានបើកដំណើរការ BOD
01 ២៥៨៦ គ។ ស ១៤ ស៊ីខេ + ៤ ម ថាមពលកើនឡើងលឿន
10 ២៥៨៦ គ។ ស ១៤ ស៊ីខេ + ៤ ម ការកើនឡើងថាមពលយឺត
11 កក់ទុក

នៅពេលអនុវត្តនាឡិកាខាងក្រៅវាចាំបាច់ត្រូវជៀសវាងការផ្លាស់ប្តូរភ្លាមៗនៃប្រេកង់នាឡិកាដែលបានអនុវត្តដើម្បីធានាឱ្យមានស្ថេរភាពនៃប្រតិបត្តិការ MCU ។ បំរែបំរួលប្រេកង់ច្រើនជាង ២% ពីវដ្ដនាឡិកាមួយទៅនាឡិកាមួយទៀតអាចនាំឱ្យមានអាកប្បកិរិយាដែលមិនអាចទាយទុកជាមុនបាន។ វាត្រូវបានទាមទារដើម្បីធានាថា MCU ត្រូវបានរក្សាទុកនៅក្នុងការកំណត់ឡើងវិញក្នុងកំឡុងពេលផ្លាស់ប្តូរបែបនេះនៅក្នុងប្រេកង់នាឡិកា។

ចំណាំថាប្រព័ន្ធនាឡិកា Presale អាចត្រូវបានប្រើដើម្បីអនុវត្តការផ្លាស់ប្តូរពេលវេលារត់នៃប្រេកង់នាឡិកាខាងក្នុងខណៈពេលដែលនៅតែធានាបាននូវប្រតិបត្តិការថេរ។ យោង “ ឧបករណ៍បង្កើនល្បឿនប្រព័ន្ធ” នៅទំព័រ ៣១ សម្រាប់ព័ត៌មានលម្អិត។

នាឡិកា PLL ប្រេកង់ខ្ពស់

មាន PLL ខាងក្នុងដែលផ្តល់នូវអត្រានាឡិកា ៦៤ MHz ដែលត្រូវបានចាក់សោរទៅនឹង RC Oscillator សម្រាប់ការប្រើប្រាស់ឧបករណ៍កំណត់ពេលវេលា / គ្រឿងបន្លាស់ ១ ​​និងសម្រាប់ប្រភពនាឡិកាប្រព័ន្ធ។ នៅពេលជ្រើសរើសជាប្រពន្ធ័នាឡិការប្រព័ន្ធដោយការបញ្ចូលកម្មវិធីស៊ីខេអេសអេសទៅ '64១' វាត្រូវបានបែងចែកជាបួនដូចបង្ហាញនៅក្នុង តារាង 6-4.

តារាង 6-4 ។ របៀបប្រតិបត្តិការនាឡិកាប្រេកង់ខ្ពស់ PLL

CKSEL[3:0] ប្រេកង់នាមករណ៍
0001 16 MHz

នៅពេលប្រភពនាឡិកានេះត្រូវបានជ្រើសរើសពេលវេលាចាប់ផ្តើមត្រូវបានកំណត់ដោយប៊ូល SUT ដូចបង្ហាញក្នុង តារាង 6-5.

តារាង 6-5 ។ ពេលវេលាចាប់ផ្តើមសម្រាប់នាឡិកា PLL ប្រេកង់ខ្ពស់។

ស៊ូត[1:0] ពេលវេលាចាប់ផ្តើមពីថាមពលចុះក្រោម ការពន្យាពេលបន្ថែមពីការកំណត់ថាមពលឡើងវិញ (VCC = 5.0V) ការប្រើប្រាស់ដែលបានណែនាំ
00 ១៤ ស៊ីខេ + ១ ខេ (១០២៤) ស៊ីខេ + ៤ ម 4 ms បានបើកដំណើរការ BOD

តារាង 6-5 ។ ពេលវេលាចាប់ផ្តើមសម្រាប់នាឡិកា PLL ប្រេកង់ខ្ពស់។

ស៊ូត[1:0] ពេលវេលាចាប់ផ្តើមពីថាមពលចុះក្រោម ការពន្យាពេលបន្ថែមពីការកំណត់ថាមពលឡើងវិញ (VCC = 5.0V) ការប្រើប្រាស់ដែលបានណែនាំ
01 ១៤ ស៊ីខេ + ១ ខេ (១០២៤) ស៊ីខេ + ៤ ម 4 ms ថាមពលកើនឡើងលឿន
10 ១៤ ស៊ីខេ + ១ ខេ (១០២៤) ស៊ីខេ + ៤ ម 4 ms ការកើនឡើងថាមពលយឺត
11 ១៤ ស៊ីខេ + ១ ខេ (១០២៤) ស៊ីខេ + ៤ ម 4 ms ការកើនឡើងថាមពលយឺត

ក្រិតតាមខ្នាតខាងក្នុងអូស្ការ

តាមលំនាំដើម Internal RC Oscillator ផ្តល់នូវនាឡិកាប្រហែល 8.0 MHz ។ ទោះបីជា voltage និងសីតុណ្ហភាពអាស្រ័យលើនាឡិកានេះអាចត្រូវបានក្រិតតាមខ្នាតយ៉ាងត្រឹមត្រូវដោយអ្នកប្រើប្រាស់។ សូមមើល ការធ្វើឱ្យប្រសើរឡើងផ្ទៃក្នុង RC Oscillator Accu- ភាពមិនស្មោះត្រង់” នៅទំព័រ ១៦៤ និង “ ល្បឿន Oscillator ខាងក្នុង” នៅលើទំព័រ ១៩២ សម្រាប់ព័ត៌មានលម្អិត ឧបករណ៍នេះត្រូវបានដឹកជញ្ជូនជាមួយកម្មវិធីខេខេឌីវី ៨ ហ្វុសស៊ី។ សូមមើល “ ឧបករណ៍បង្កើនល្បឿនប្រព័ន្ធ” នៅទំព័រ ៣១ សម្រាប់ព័ត៌មានលម្អិតបន្ថែម។

នាឡិកានេះអាចត្រូវបានជ្រើសរើសជានាឡិកាប្រព័ន្ធដោយសរសេរកម្មវិធីស៊ីខេអេសអេហ្វហ្វីសដូចបង្ហាញក្នុង តារាង ៦-៦ នៅលើទំព័រ

27។ ប្រសិនបើត្រូវបានជ្រើសរើសវានឹងដំណើរការដោយគ្មានសមាសធាតុខាងក្រៅ។ ក្នុងកំឡុងពេលកំណត់ឡើងវិញផ្នែករឹងផ្ទុកនូវតម្លៃក្រិតតាមខ្នាតដែលបានរៀបចំទុកមុនទៅក្នុងការចុះឈ្មោះ OSCCAL ហើយដោយហេតុនេះវាបានក្រិតតាម RC Oscillator ដោយស្វ័យប្រវត្តិ។ ភាពត្រឹមត្រូវនៃការក្រិតខ្នាតនេះត្រូវបានបង្ហាញជាការក្រិតតាមខ្នាតរបស់រោងចក្រ តារាង ៥-១ នៅទំព័រ ២១.

តាមរយៈការផ្លាស់ប្តូរការចុះឈ្មោះ OSCCAL ពី SW សូមមើល ទំព័រស្តីពី“ OSCCAL - ការចុះឈ្មោះក្រិតតាមខ្នាត Oscillator” នៅទំព័រ ៣១វាអាចទៅរួចដើម្បីទទួលបានភាពត្រឹមត្រូវនៃការក្រិតតាមខ្នាតខ្ពស់ជាងការប្រើក្រិតតាមរោងចក្រ។ ភាពត្រឹមត្រូវនៃការក្រិតខ្នាតនេះត្រូវបានបង្ហាញជាការក្រិតតាមខ្នាតរបស់អ្នកប្រើប្រាស់នៅក្នុង តារាង ៥-១ នៅទំព័រ ២១.

នៅពេលដែល Oscillator ត្រូវបានប្រើជានាឡិការបន្ទះឈីបនាឡិការឃ្លាំមើលនឹងនៅតែត្រូវបានប្រើសម្រាប់នាឡិការឃ្លាំមើលនិងសម្រាប់កំណត់ពេលវេលាចេញ។ សម្រាប់ព័ត៌មានបន្ថែមអំពីតម្លៃក្រិតតាមខ្នាតដែលបានគ្រោងទុកជាមុនសូមមើលផ្នែក “ កាលី - ទំព័របៃ្រងបៃ្រប” នៅទំព័រ ១៥០.

លំយោលខាងក្នុងក៏អាចត្រូវបានកំណត់ដើម្បីផ្តល់នូវនាឡិកា ៦.៤ មេហ្គាហឺតដោយសរសេរហ្វុកស៊ីអេលទៅលេខ ០០១១ ដូចបានបង្ហាញក្នុង តារាង 6-6 ខាងក្រោម។ ការកំណត់នេះត្រូវបានបង្ហាញជារបៀបឆបគ្នា ATtiny15 ហើយត្រូវបានបម្រុងទុកដើម្បីផ្តល់នូវប្រភពនាឡិកាដែលបានក្រិតតាមខ្នាតនៅ ៦.៤ មេហ្គាហឺតដូចជានៅក្នុងអេធីធីទី ១៥ ។ នៅក្នុង ATtiny6.4 Compatibility Mode PLL ប្រើលំយោលខាងក្នុងរត់ ៦,៤ មេហ្គាហឺតដើម្បីបង្កើតជាសញ្ញានាឡិកាគ្រឿងបរិមាណ ២៥,៦ មេហ្គាហឺតសម្រាប់ឧបករណ៍កំណត់ម៉ោង / រាប់ ១ ។ “ កម្មវិធីកំណត់ពេលវេលា ៨ ប៊ីតក្នុង ១ របៀប ATtiny15” នៅទំព័រ ៩៥) ។ ចំណាំថានៅក្នុងរបៀបនៃប្រតិបត្តិការនេះសញ្ញានាឡិកា 6.4 MHz តែងតែត្រូវបានបែងចែកដោយបួនដែលផ្តល់នូវនាឡិកាប្រព័ន្ធ 1.6 MHz ។

តារាង 6-6 ។ របៀបប្រតិបត្តិការ RC Oscillator ដែលបានក្រិតតាមខ្នាតខាងក្នុង

CKSEL[3:0] ប្រេកង់នាមករណ៍
0010(១៦១៦) 8.0 MHz
0011(១៦១៦) 6.4 MHz

ឧបករណ៍ត្រូវបានដឹកជញ្ជូនតាមជម្រើសដែលបានជ្រើសរើស។

ការកំណត់នេះនឹងជ្រើសរើសរបៀបស៊ីចង្វាក់គ្នា ATtiny15 ដែលនាឡិការបស់ប្រព័ន្ធត្រូវបានបែងចែកជាបួនដែលជាលទ្ធផលមានប្រេកង់នាឡិកា ១,៦ មេហ្គាហឺត។

នៅពេលដែលលំយោលផ្ទៃក្នុង ៨ មេហ្គាហឺតត្រូវបានជ្រើសរើសជាប្រភពនាឡិកាពេលវេលាចាប់ផ្តើមត្រូវបានកំណត់ដោយ SUT Fuses ដូចដែលបានបង្ហាញនៅក្នុង តារាង 6-7 ខាងក្រោម។

តារាង 6-7 ។ ពេលវេលាចាប់ផ្តើមសម្រាប់នាឡិកា RC Oscillator calibrated ខាងក្នុង

ស៊ូត[1:0] ពេលវេលាចាប់ផ្តើមពីថាមពលចុះក្រោម ការពន្យាពេលបន្ថែមពីការកំណត់ឡើងវិញ (VCC = 5.0V) ការប្រើប្រាស់ដែលបានណែនាំ
00 ២៥៨៦ គ។ ស 14 ស៊ីខេ(១៦១៦) បានបើកដំណើរការ BOD
01 ២៥៨៦ គ។ ស ១៤ ស៊ីខេ + ៤ ម ថាមពលកើនឡើងលឿន
10(១៦១៦) ២៥៨៦ គ។ ស ១៤ ស៊ីខេ + ៤ ម ការកើនឡើងថាមពលយឺត
11 កក់ទុក

ប្រសិនបើការបញ្ចូល RSTDISBL ត្រូវបានរៀបចំកម្មវិធីពេលវេលាចាប់ផ្តើមនេះនឹងត្រូវបានបង្កើនដល់ 1CK + 14 ms ដើម្បីធានាថារបៀបបញ្ចូលកម្មវិធីអាចត្រូវបានបញ្ចូល។
2. ឧបករណ៍ត្រូវបានដឹកជញ្ជូនជាមួយជម្រើសដែលបានជ្រើសរើស។

នៅក្នុងពេលវេលាចាប់ផ្តើមឡើងរបៀប ATtiny15 ត្រូវបានកំនត់ដោយ SUT Fuses ដូចបង្ហាញក្នុង តារាង 6-8 ខាងក្រោម។

តារាង 6-8 ។ ពេលវេលាចាប់ផ្តើមសម្រាប់នាឡិកា RC Oscillator calibrated ខាងក្នុង (នៅក្នុងរបៀប ATtiny15)

ស៊ូត[1:0] ពេលវេលាចាប់ផ្តើមពីថាមពលចុះក្រោម ការពន្យាពេលបន្ថែមពីការកំណត់ឡើងវិញ (VCC = 5.0V) ការប្រើប្រាស់ដែលបានណែនាំ
00 ២៥៨៦ គ។ ស ១៤ ស៊ីខេ + ៤ ម
01 ២៥៨៦ គ។ ស ១៤ ស៊ីខេ + ៤ ម
10 ២៥៨៦ គ។ ស ១៤ ស៊ីខេ + ៤ ម
11 ២៥៨៦ គ។ ស 14 ស៊ីខេ(១៦១៦)

ចំណាំ៖ ប្រសិនបើហ្វុយស៊ីប RSTDISBL ត្រូវបានសរសេរកម្មវិធី ពេលវេលាចាប់ផ្តើមនេះនឹងត្រូវបានកើនឡើងដល់ 14CK + 4 ms ដើម្បីធានាថាអាចបញ្ចូលរបៀបសរសេរកម្មវិធីបាន។

សរុបសេចក្ដីមកព័ត៌មានបន្ថែមអំពីរបៀបឆបគ្នា ATtiny15 អាចរកបាននៅក្នុងផ្នែក “ ច្រក B (PB5: PB0)” លើ ទំព័រ 2“ PLL ខាងក្នុងនៅក្នុងរបៀបឆបគ្នា ATtiny15” នៅទំព័រ ២៤“ កម្មវិធីកំណត់ម៉ោង ៨ ដង / ហ្វ្រេន ១ នៅក្នុងរបៀបអេធីធីនី ១៥” ទំព័រ 95“ ដែនកំណត់នៃ debugWIRE” នៅទំព័រ ១៤០បៃក្រិតតាមខ្នាតនៅទំព័រ ១៥០ និងនៅក្នុងតារាង “ នាឡិកាបន្ថែម ជ្រើសរើស” នៅទំព័រ ៣៣.

ផ្ទៃក្នុង ១២៨ kHz Oscillator

Oscillator ខាងក្នុង 128 kHz គឺជា Oscillator ថាមពលទាបដែលផ្តល់នាឡិកា 128 kHz ។ ប្រេកង់គឺបន្ទាប់បន្សំនៅ 3V និង 25 ° C ។ នាឡិកានេះអាចត្រូវបានជ្រើសរើសជានាឡិកាប្រព័ន្ធដោយសរសេរកម្មវិធី CKSEL Fuses ទៅ "0100" ។

នៅពេលប្រភពនាឡិកានេះត្រូវបានជ្រើសរើសពេលវេលាចាប់ផ្តើមត្រូវបានកំណត់ដោយ SUT Fuses ដូចដែលបានបង្ហាញ តារាង 6-9.

តារាង 6-9 ។ ពេលវេលាចាប់ផ្តើមសម្រាប់ Oscillator ខាងក្នុង 128 kHz

ស៊ូត[1:0] ពេលវេលាចាប់ផ្តើមពីថាមពលចុះក្រោម ការពន្យារពេលបន្ថែមពីការកំណត់ឡើងវិញ ការប្រើប្រាស់ដែលបានណែនាំ
00 ២៥៨៦ គ។ ស 14 ស៊ីខេ(១៦១៦) បានបើកដំណើរការ BOD
01 ២៥៨៦ គ។ ស ១៤ ស៊ីខេ + ៤ ម ថាមពលកើនឡើងលឿន
10 ២៥៨៦ គ។ ស ១៤ ស៊ីខេ + ៤ ម ការកើនឡើងថាមពលយឺត
11 កក់ទុក

ចំណាំ៖ ប្រសិនបើហ្វុយស៊ីប RSTDISBL ត្រូវបានសរសេរកម្មវិធី ពេលវេលាចាប់ផ្តើមនេះនឹងត្រូវបានកើនឡើងដល់ 14CK + 4 ms ដើម្បីធានាថាអាចបញ្ចូលរបៀបសរសេរកម្មវិធីបាន។

គ្រីស្តាល់ប្រេកង់ទាបប្រេកង់

ដើម្បីប្រើគ្រីស្តាល់នាឡិកា 32.768 kHz ជាប្រភពនាឡិកាសម្រាប់ឧបករណ៍នេះគ្រីស្តាល់ប្រេកង់ទាបត្រូវតែត្រូវបានជ្រើសរើសដោយកំណត់ហ្វុយស៊ីខេអេសទៅ '0110' ។ គ្រីស្តាល់គួរតែត្រូវបានតភ្ជាប់ដូចដែលបានបង្ហាញនៅក្នុង រូបភាព 6-5។ ដើម្បីស្វែងរកសមត្ថភាពផ្ទុកដែលអាចផ្ទុកបានដល់ទៅ ៣២,៧៦៨ kHz គ្រីស្តាល់សូមពិគ្រោះជាមួយសំណុំទិន្នន័យរបស់អ្នកផលិត។

នៅពេលដែលលំយោលនេះត្រូវបានជ្រើសរើសពេលវេលាចាប់ផ្តើមត្រូវបានកំណត់ដោយ SUT Fuse ដូចដែលបានបង្ហាញនៅក្នុង តារាង 6-10.

តារាង 6-10 ។ ពេលវេលាចាប់ផ្តើមសម្រាប់ការជ្រើសរើសនាឡិកាគ្រីស្តាល់ Oscillator ប្រេកង់ទាប

ស៊ូត[1:0] ពេលវេលាចាប់ផ្តើមពីថាមពលចុះក្រោម ការពន្យាពេលបន្ថែមពីការកំណត់ឡើងវិញ (VCC = 5.0V) ការប្រើប្រាស់ដែលបានណែនាំ
00 1K (1024) ស៊ីខេ(១៦១៦) 4 ms អំណាចកើនឡើងលឿនឬ BOD បានបើកដំណើរការ
01 1K (1024) ស៊ីខេ(១៦១៦) 64 ms ការកើនឡើងថាមពលយឺត
10 32K (32768) ស៊ីខេ 64 ms ប្រេកង់ថេរនៅពេលចាប់ផ្តើម
11 កក់ទុក

ចំណាំ៖ ជម្រើសទាំងនេះគួរតែត្រូវបានប្រើលុះត្រាតែស្ថេរភាពប្រេកង់នៅពេលចាប់ផ្តើមមិនសំខាន់។

គ្រីស្តាល់គ្រីស្តាល់ទាបប្រេកង់ផ្តល់នូវសមត្ថភាពផ្ទុកខាងក្នុងសូមមើល តារាង 6-11 នៅម្ជុល TOSC នីមួយៗ។

តារាង 6-11 ។ សមត្ថភាពនៃគ្រីស្តាល់ Oscillator ប្រេកង់ទាប

ឧបករណ៍ 32 kHz អូស្ការ។ ប្រភេទ Cap (Xtal1 / Tosc1) Cap (Xtal2 / Tosc2)
អេធីទីនី ២៥ / ៤៥ / ៨៥ ប្រព័ន្ធអូស្ការ។ 16 pF 6 pF

Crystal Oscillator / Resonator គ្រីស្តាល់

XTAL1 និង XTAL2 គឺ​ជា​ការ​បញ្ចូល និង​ទិន្នផល​រៀង​គ្នា​នៃ​ការ​ដាក់​បញ្ច្រាស amplifier ដែលអាចត្រូវបានកំណត់រចនាសម្ព័ន្ធសម្រាប់ប្រើជា On-chip Oscillator ដូចដែលបានបង្ហាញនៅក្នុង រូបភាព 6-5។ គេអាចប្រើគ្រីស្តាល់រ៉ែថ្មខៀវឬឧបករណ៍ឆ្លុះសេរ៉ាមិច។

C1 និង C2 គួរតែស្មើគ្នាសម្រាប់ទាំងគ្រីស្តាល់ និង resonators ជានិច្ច។ តម្លៃល្អបំផុតនៃ capacitors អាស្រ័យលើគ្រីស្តាល់ ឬ resonator ដែលកំពុងប្រើប្រាស់ បរិមាណនៃ capacitance stray និងសំលេងរំខានអេឡិចត្រូម៉ាញ៉េទិចនៃបរិស្ថាន។ គោលការណ៍ណែនាំដំបូងមួយចំនួនសម្រាប់ការជ្រើសរើស capacitors សម្រាប់ប្រើជាមួយគ្រីស្តាល់ត្រូវបានផ្តល់ឱ្យ តារាង 6-12 ខាងក្រោម។ សម្រាប់ឧបករណ៍ធ្វើពីសេរ៉ាមិចតម្លៃ capacitor ដែលផ្តល់ឱ្យដោយក្រុមហ៊ុនផលិតគួរតែត្រូវបានប្រើ។

តារាង 6-12 ។ របៀបប្រតិបត្តិការគ្រីស្តាល់ Oscillator

CKSEL[3:1] ជួរប្រេកង់ (MHz) ជួរដែលបានណែនាំសម្រាប់ឧបករណ៍បង្កើនសមត្ថភាព C1 និង C2 សម្រាប់ប្រើជាមួយគ្រីស្តាល់ (pF)
100(១៦១៦) 0.4 - 0.9
101 0.9 - 3.0 12 - 22
110 3.0 - 8.0 12 - 22
111 8.0 – 12 - 22

ចំណាំ៖ ជម្រើសនេះមិនគួរប្រើជាមួយគ្រីស្តាល់ទេ ប្រើតែជាមួយឧបករណ៍បំពងសំឡេងសេរ៉ាមិចប៉ុណ្ណោះ។

Oscillator អាចដំណើរការជាបីរបៀបផ្សេងគ្នាដែលនីមួយៗត្រូវបានបង្កើតសម្រាប់ជួរប្រេកង់ជាក់លាក់។ របៀបប្រតិបត្តិការត្រូវបានជ្រើសរើសដោយហ្វុយស៊ីបស៊ីខេអេស [៣: ១] ដូចបានបង្ហាញក្នុង តារាង 6-12.

CKSEL0 ហ្វុយស៊ីបរួមគ្នាជាមួយ SUT [1: 0] ហ្វុយស៊ីបជ្រើសរើសពេលវេលាចាប់ផ្តើមដូចដែលបានបង្ហាញ តារាង 6-13.

តារាង 6-13 ។ ពេលវេលាចាប់ផ្តើមសម្រាប់ការជ្រើសរើសនាឡិកា Crystal Oscillator

CKSEL0 ស៊ូត[1:0] ពេលវេលាចាប់ផ្តើមពីថាមពលចុះក្រោម ការពន្យារពេលបន្ថែមពីការកំណត់ឡើងវិញ ការប្រើប្រាស់ដែលបានណែនាំ
0 00 ២៥៨៦ គ។ ស(១៦១៦) ១៤ ស៊ីខេ + ៤ ម ឧបករណ៍ឆ្លុះសេរ៉ាមិចថាមពលកើនឡើងលឿន
0 01 ២៥៨៦ គ។ ស(១៦១៦) ១៤ ស៊ីខេ + ៤ ម ឧបករណ៍ធ្វើសេរ៉ាមិច, ថាមពលកើនឡើងយឺត
0 10 1K (1024) ស៊ីខេ(១៦១៦) 14 ស៊ីខេ ឧបករណ៍សំយោគសេរ៉ាមិច, អេអូអេបានបើកដំណើរការ
0 11 1K (1024) ស៊ីខេ(១៦១៦) ១៤ ស៊ីខេ + ៤ ម ឧបករណ៍ឆ្លុះសេរ៉ាមិចថាមពលកើនឡើងលឿន
1 00 1K (1024) ស៊ីខេ(១៦១៦) ១៤ ស៊ីខេ + ៤ ម ឧបករណ៍ធ្វើសេរ៉ាមិច, ថាមពលកើនឡើងយឺត
1 01 16K (16384) ស៊ីខេ 14 ស៊ីខេ Crystal Oscillator, BOD បានបើកដំណើរការ
1 10 16K (16384) ស៊ីខេ ១៤ ស៊ីខេ + ៤ ម គ្រីស្តាល់អូស្ការយ័រ, ថាមពលកើនឡើងលឿន
1 11 16K (16384) ស៊ីខេ ១៤ ស៊ីខេ + ៤ ម គ្រីស្តាល់អូស្ការយ័រ, ថាមពលកើនឡើងយឺត ៗ

កំណត់ចំណាំ

ជម្រើសទាំងនេះគួរតែត្រូវបានប្រើនៅពេលមិនប្រតិបត្តិការជិតប្រេកង់អតិបរមានៃឧបករណ៍ហើយលុះត្រាតែស្ថេរភាពប្រេកង់នៅពេលចាប់ផ្តើមមិនសំខាន់សម្រាប់កម្មវិធី។ ជម្រើសទាំងនេះមិនសមស្របសម្រាប់គ្រីស្តាល់ទេ។

ជម្រើសទាំងនេះត្រូវបានបម្រុងទុកសម្រាប់ប្រើជាមួយឧបករណ៍ធ្វើពីសេរ៉ាមិចហើយនឹងធានាបាននូវស្ថេរភាពប្រេកង់នៅពេលចាប់ផ្តើម។ ពួកវាក៏អាចត្រូវបានប្រើជាមួយគ្រីស្តាល់ផងដែរនៅពេលដែលមិនប្រតិបត្តិការជិតប្រេកង់អតិបរមានៃឧបករណ៍ហើយប្រសិនបើភាពញឹកញាប់នៃប្រេកង់នៅពេលចាប់ផ្តើមមិនសំខាន់សម្រាប់កម្មវិធី។

ប្រភពនាឡិកាលំនាំដើម

ឧបករណ៍នេះត្រូវបានដឹកជញ្ជូនជាមួយ CKSEL = “0010”, SUT = “10” និង CKDIV8 ត្រូវបានសរសេរកម្មវិធី។ ការកំណត់ប្រភពនាឡិកាលំនាំដើមគឺ Internal RC Oscillator ដំណើរការនៅ 8 MHz ជាមួយនឹងពេលវេលាចាប់ផ្តើមយូរបំផុត និងនាឡិកាប្រព័ន្ធដំបូងកំណត់មុន 8 ដែលជាលទ្ធផល 1.0 MHz ប្រព័ន្ធនាឡិកា។ ការកំណត់លំនាំដើមនេះធានាថាអ្នកប្រើប្រាស់ទាំងអស់អាចបង្កើតការកំណត់ប្រភពនាឡិកាដែលពួកគេចង់បានដោយប្រើ In-System ឬ High-voltage Programmer ។

ឧបករណ៍បង្កើនល្បឿនប្រព័ន្ធ

នាឡិកាប្រព័ន្ធ ATtiny25 / 45/85 អាចត្រូវបានបែងចែកដោយការកំណត់ ទំព័រខ .២ ។ ខ។ ខ. លក្ខណៈពិសេសនេះអាចត្រូវបានប្រើដើម្បីកាត់បន្ថយការប្រើប្រាស់ថាមពលនៅពេលដែលតម្រូវការសម្រាប់ថាមពលដំណើរការមានកម្រិតទាប។ វាអាចត្រូវបានប្រើជាមួយជម្រើសប្រភពនាឡិកាទាំងអស់ ហើយវានឹងប៉ះពាល់ដល់ប្រេកង់នាឡិការបស់ CPU និងគ្រឿងកុំព្យូទ័រដែលធ្វើសមកាលកម្មទាំងអស់។ clkI/O, clkADC, clkCPU, និង clkFLASH ត្រូវបានបែងចែកដោយកត្តាដូចបង្ហាញក្នុង តារាង ៥-១ នៅទំព័រ ២១.

ពេលវេលាប្តូរ

នៅពេលផ្លាស់ប្តូររវាងការតំឡើងតាមប្រេកង់អ្នកកំណត់ប្រព័ន្ធនាឡិកាធានាថាមិនមានបញ្ហាកើតឡើងនៅក្នុងប្រព័ន្ធនាឡិកាទេហើយមិនមានប្រេកង់កម្រិតមធ្យមខ្ពស់ជាងទាំងប្រេកង់នាឡិកាដែលត្រូវនឹងការកំណត់ពីមុនទេហើយប្រេកង់នាឡិកាទាក់ទងនឹងការកំណត់ថ្មី។

ការរាប់បញ្ចោញដែលប្រើឧបករណ៍វាស់ចរន្តរត់តាមប្រេកង់នៃនាឡិកាអវិភាគដែលអាចលឿនជាងប្រេកង់នាឡិការបស់ស៊ីភីយូ។ ហេតុដូច្នេះវាមិនអាចទៅរួចទេក្នុងការកំណត់ស្ថានភាពនៃការកើនឡើងនេះទោះបីជាវាអាចអានបានហើយពេលវេលាជាក់លាក់ដែលវាត្រូវប្តូរពីផ្នែកមួយទៅនាឡិកាមួយទៀតមិនអាចត្រូវបានគេប៉ាន់ស្មានបានទេ។

ចាប់ពីពេលដែលតម្លៃ CLKPS ត្រូវបានសរសេរវាត្រូវការចន្លោះពី T1 + T2 និង T1 + 2 * T2 មុនពេលដែលនាឡិកាថ្មីសកម្ម។ ក្នុងចន្លោះពេលនេះគែមនាឡិកាសកម្មចំនួន ២ ត្រូវបានផលិត។ នៅទីនេះ T2 គឺជារយៈពេលនាឡិកាមុនហើយ T1 គឺជារយៈពេលដែលត្រូវគ្នាទៅនឹងការកំណត់ការកើនឡើងថ្មី។

ទិន្នផលសតិបណ្តោះអាសន្ន

ឧបករណ៍អាចបញ្ចេញនាឡិកាប្រព័ន្ធនៅលើម្ជុល CLKO (នៅពេលមិនប្រើជាម្ជុល XTAL2) ។ ដើម្បីបើកដំណើរការលទ្ធផល CKOUT Fuse ត្រូវរៀបចំកម្មវិធី។ របៀបនេះសមស្របនៅពេលនាឡិកាបន្ទះឈីបត្រូវបានប្រើដើម្បីជំរុញសៀគ្វីផ្សេងទៀតនៅលើប្រព័ន្ធ។ ចំណាំថានាឡិកានឹងមិនត្រូវបានផ្តល់លទ្ធផលក្នុងកំឡុងពេលកំណត់ឡើងវិញទេហើយប្រតិបត្តិការធម្មតានៃម្ជុល I / O នឹងត្រូវបានបដិសេធនៅពេលដែលហ្វុយស៊ីត្រូវបានរៀបចំកម្មវិធី។ RC RC Oscillator ខាងក្នុង, WDT Oscillator, PLL និងនាឡិកាខាងក្រៅ (CLKI) អាចត្រូវបានជ្រើសរើសនៅពេលដែលនាឡិកាចេញនៅលើ CLKO ។ លំយោលគ្រីស្តាល់ (XTAL1, XTAL2) មិនអាចត្រូវបានប្រើសម្រាប់ទិន្នផលនាឡិកានៅលើ CLKO ទេ។ ប្រសិនបើប្រព័ន្ធនាឡិកាកំណត់ពេលវេលាត្រូវបានប្រើវាជានាឡិកាប្រព័ន្ធបែងចែកដែលជាលទ្ធផល។

ចុះឈ្មោះការពិពណ៌នា

OSCCAL - ចុះឈ្មោះក្រិតតាម Oscillator

ប៊ីត 7 6 5 4 3 2 1 0
0x31 CAL7 CAL6 CAL5 CAL4 CAL3 CAL2 CAL1 CAL0 អូស្កាល់
អាន/សរសេរ R/W R/W R/W R/W R/W R/W R/W R/W

ប៊ីត ៧: ០ - កាឡៃ [៧: ០]៖ តម្លៃក្រិតតាមខ្នាតអូស្ការ

ការចុះឈ្មោះក្រិតតាមខ្នាត Oscillator ត្រូវបានប្រើដើម្បីកាត់ផ្នែកខាងក្នុងស៊ីឌីដែលបានក្រិតតាមខ្នាតដើម្បីយកបំរែបំរួលដំណើរការចេញពីប្រេកង់យោល។ តម្លៃក្រិតតាមខ្នាតដែលបានគ្រោងទុកជាមុនត្រូវបានសរសេរដោយស្វ័យប្រវត្តិក្នុងការចុះឈ្មោះនេះក្នុងកំឡុងពេលកំណត់បន្ទះឈីបឡើងវិញដោយផ្តល់ឱ្យរោងចក្រនូវប្រេកង់ក្រិតតាមខ្នាតដូចបានបញ្ជាក់នៅក្នុង តារាង ៥-១ នៅទំព័រ ២១។ កម្មវិធីអាចសរសេរការចុះឈ្មោះនេះដើម្បីផ្លាស់ប្តូរប្រេកង់យោល។ លំយោលអាចត្រូវបានក្រិតតាមប្រេកង់ដូចដែលបានបញ្ជាក់នៅក្នុង តារាង ៥-១ នៅទំព័រ ២១។ ការក្រិតតាមខ្នាតនៅខាងក្រៅជួរនោះមិនត្រូវបានធានាទេ។

ចំណាំថាលំយោលនេះត្រូវបានប្រើដើម្បីកំណត់ពេលវេលាចូលប្រើ EEPROM និង Flash ហើយពេលវេលាសរសេរទាំងនេះនឹងត្រូវរងផលប៉ះពាល់។ ប្រសិនបើ EEPROM ឬ Flash ត្រូវបានសរសេរកុំក្រិតតាមខ្នាតលើសពី ៨,៨ MHz ។ បើមិនដូច្នោះទេ EEPROM ឬ Flash សរសេរអាចនឹងបរាជ័យ។

ប៊ីត CAL7 កំណត់ជួរប្រតិបត្តិការសម្រាប់លំយោល។ ការកំណត់ប៊ីតនេះដល់ ០ ផ្តល់នូវប្រេកង់ទាបបំផុតការកំណត់ប៊ីតដល់ ១ ផ្តល់នូវប្រេកង់ខ្ពស់បំផុត។ ជួរប្រេកង់ពីរត្រូវបានត្រួតលើគ្នាបើនិយាយតាមការកំណត់របស់ OSCCAL = 0x1F ផ្តល់ប្រេកង់ខ្ពស់ជាង OSCCAL = 0x7 ។

ប៊ីត CAL [6: 0] ត្រូវបានប្រើដើម្បីលៃតម្រូវប្រេកង់ក្នុងជួរដែលបានជ្រើសរើស។ ការកំណត់នៃ 0x00 ផ្តល់នូវភាពទំនេរទាបបំផុតនៅក្នុងជួរនោះហើយការកំណត់ 0x7F ផ្តល់នូវប្រេកង់ខ្ពស់បំផុតនៅក្នុងជួរ។

ដើម្បីធានាបាននូវប្រតិបត្តិការស្ថេរភាពនៃ MCU តម្លៃក្រិតខ្នាតគួរតែត្រូវបានផ្លាស់ប្តូរជាតូច។ បំរែបំរួលប្រេកង់លើសពី ២% ពីវដ្តមួយទៅវដ្តមួយអាចនាំឱ្យមានអាកប្បកិរិយាដែលមិនអាចពន្យល់បាន។ ការផ្លាស់ប្តូរនៅក្នុង OSCCAL មិនគួរលើសពី 2x0 សម្រាប់ការក្រិតនីមួយៗទេ។ វាត្រូវបានទាមទារដើម្បីធានាថា MCU ត្រូវបានរក្សាទុកនៅក្នុងការកំណត់ឡើងវិញក្នុងកំឡុងពេលផ្លាស់ប្តូរបែបនេះនៅក្នុងប្រេកង់នាឡិកា

តារាង 6-14 ។ ជួរប្រេកង់ RC Oscillator ខាងក្នុង

តម្លៃ OSCCAL ប្រេកង់ទាបបំផុតជាធម្មតាទាក់ទងទៅនឹងប្រេកង់នាមករណ៍ ប្រេកង់ខ្ពស់បំផុតធម្មតាដោយគោរពតាមប្រេកង់នាមករណ៍
0x00 50% 100%
0x3F 75% 150%
0x7F 100% 200%

CLKPR - ការចុះឈ្មោះនាឡិកា Prescale

ប៊ីត 7 6 5 4 3 2 1 0
0x26 CLKPCE CLKPS3 CLKPS2 CLKPS1 CLKPS0 CLKPR
អាន/សរសេរ R/W R R R R/W R/W R/W R/W

តម្លៃដំបូង 0 0 0 0 មើលការពិពណ៌នាប៊ីត

ប៊ីត 7 - ក្លូខេភីអេសៈការផ្លាស់ប្តូរការកើនឡើងនៃនាឡិកាកំណត់

ប៊ីតខេខេភីស៊ីត្រូវតែសរសេរទៅឡូជីខលមួយដើម្បីអាចផ្លាស់ប្តូរប៊ីតខេខេអេសភី។ ប៊ីតឃ្យូខេអេសត្រូវបានធ្វើបច្ចុប្បន្នភាពតែនៅពេលដែលប៊ីតផ្សេងទៀតនៅក្នុង CLKPR ត្រូវបានសរសេរជាលេខសូន្យ។ CLKPCE ត្រូវបានសម្អាតដោយផ្នែករឹងចំនួន ៤ បន្ទាប់ពីវាត្រូវបានសរសេររឺនៅពេលដែល CLKPS ត្រូវបានសរសេរ។ សរសេរប៊ីខេខេស៊ីស៊ីប៊ីតក្នុងរយៈពេលដែលផុតកំណត់នេះមិនពង្រីករយៈពេលផុតកំណត់ទេហើយក៏មិនច្បាស់ពី CLKPCE បន្តិចដែរ។

ប៊ីត ៧: ១ - រីសៈប៊ីតបម្រុងទុក

ប៊ីតទាំងនេះគឺជាប៊ីតដែលបានបម្រុងទុកនៅក្នុងអេធីធីទី ២៥ / ៤៥ / ៨៥ ហើយនឹងអានជាលេខសូន្យជានិច្ច។

ប៊ីត ៣: ០ - ឃ។ ឃ។ ប។ [៣: ០] ៈនាឡិកាកំណត់ជាមុនជ្រើសប៊ីត ៣ - ០

ប៊ីតទាំងនេះកំណត់កត្តាបែងចែករវាងប្រភពនាឡិកាដែលបានជ្រើសរើសនិងនាឡិកាប្រព័ន្ធខាងក្នុង។ ប៊ីតទាំងនេះអាចត្រូវបានសរសេររយៈពេលរត់ដើម្បីផ្លាស់ប្តូរប្រេកង់នាឡិកាដើម្បីឱ្យសមនឹងតម្រូវការកម្មវិធី។ នៅពេលដែលការបែងចែកបែងចែកម៉ាស្ទ័របញ្ចូលទៅនាឡិកា MCU ល្បឿននៃគ្រឿងធ្វើសមកាលកម្មទាំងអស់ត្រូវបានកាត់បន្ថយនៅពេលដែលកត្តាបែងចែកត្រូវបានប្រើ។ កត្តាបែងចែកត្រូវបានផ្តល់ជូន តារាង 6-15.

ដើម្បីជៀសវាងការផ្លាស់ប្តូរប្រេកង់នាឡិកាដោយអចេតនានីតិវិធីសរសេរពិសេសត្រូវតែអនុវត្តដើម្បីផ្លាស់ប្តូរប៊ីតខេខេស៊ីធីៈ

សរសេរនាឡិកាបង្កើនការផ្លាស់ប្តូរនាឡិកា (ប៊ីខេខេភីស៊ី) ប៊ីតទៅប៊ីតមួយនិងប៊ីតផ្សេងទៀតនៅក្នុងស៊ីខេអិម។ ភី។ ទៅសូន្យ។

ក្នុងរយៈពេលបួនវដ្តសូមសរសេរតម្លៃដែលចង់បានទៅ CLKPS ខណៈពេលសរសេរលេខសូន្យទៅ CLKPCE ។

ការរំខានត្រូវតែត្រូវបានបិទនៅពេលផ្លាស់ប្តូរការកំណត់បន្ថែមដើម្បីធានាថានីតិវិធីសរសេរមិនត្រូវបានរំខាន។

Fuse CKDIV8 កំណត់តម្លៃដំបូងនៃប៊ីត CLKPS ។ ប្រសិនបើ CKDIV8 មិន​ត្រូវ​បាន​ដាក់​កម្មវិធី នោះ​ប៊ីត CLKPS នឹង​ត្រូវ​បាន​កំណត់​ឡើង​វិញ​ទៅ "0000"។ ប្រសិនបើ CKDIV8 ត្រូវបានសរសេរកម្មវិធី ប៊ីត CLKPS ត្រូវបានកំណត់ឡើងវិញទៅ "0011" ដោយផ្តល់កត្តាបែងចែកប្រាំបីនៅពេលចាប់ផ្តើម។ លក្ខណៈពិសេសនេះគួរតែត្រូវបានប្រើប្រសិនបើប្រភពនាឡិកាដែលបានជ្រើសរើសមានប្រេកង់ខ្ពស់ជាងប្រេកង់អតិបរមានៃឧបករណ៍នៅក្នុងលក្ខខណ្ឌប្រតិបត្តិការបច្ចុប្បន្ន។ ចំណាំថាតម្លៃណាមួយអាចត្រូវបានសរសេរទៅប៊ីត CLKPS ដោយមិនគិតពីការកំណត់ CKDIV8 Fuse ។ កម្មវិធីកម្មវិធីត្រូវតែធានាថាកត្តាបែងចែកគ្រប់គ្រាន់

ជ្រើសរើសប្រសិនបើប្រភពនាឡិកាដែលបានជ្រើសរើសមានប្រេកង់ខ្ពស់ជាងប្រេកង់អតិបរមានៃឧបករណ៍នៅល័ក្ខខ័ណ្ឌប្រតិបត្តិការបច្ចុប្បន្ន។ ឧបករណ៍នេះត្រូវបានដឹកជញ្ជូនជាមួយកម្មវិធីខេខេឌីវី ៨ ហ្វុសស៊ី។

តារាង 6-15 ។ ជ្រើសរើស Clock Prescaler

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 មានឥទ្ធិពលលើនាឡិកាប្រព័ន្ធ (ដែលតែងតែមាន 1.6 MHz)។

ការគ្រប់គ្រងថាមពលនិងរបៀបគេង

ប្រសិទ្ធិភាពខ្ពស់និងប្រសិទ្ធភាពលេខកូដឈានមុខគេក្នុងវិស័យឧស្សាហកម្មធ្វើឱ្យឧបករណ៍បញ្ជាវ៉ែនតា AVR ជាជម្រើសដ៏ល្អសម្រាប់កម្មវិធីថាមពលទាប។ លើសពីនេះទៀតរបៀបគេងអាចឱ្យកម្មវិធីបិទម៉ូឌុលដែលមិនប្រើនៅក្នុង MCU ដោយសន្សំថាមពល។ AVR ផ្តល់នូវរបៀបគេងផ្សេងៗគ្នាដែលអនុញ្ញាតឱ្យអ្នកប្រើប្រាស់កែតម្រូវការប្រើប្រាស់ថាមពលទៅតាមតំរូវការរបស់កម្មវិធី។

របៀបគេង

រូបភាព ៦-១ នៅទំព័រ ២៣ បង្ហាញប្រព័ន្ធនាឡិកាផ្សេងៗគ្នានិងការចែកចាយរបស់ពួកគេនៅក្នុងអេធីទីនី ២៥ / ៤៥ / ៨៥ ។ តួលេខនេះមានប្រយោជន៍ក្នុងការជ្រើសរើសរបៀបគេងសមស្រប។ តារាង 7-1 បង្ហាញរបៀបគេងខុសៗគ្នានិងប្រភពភ្ញាក់ដឹងខ្លួន។

តារាង 7-1 ។ ដែននាឡិកាសកម្ម និងប្រភពភ្ញាក់នៅក្នុងរបៀបគេងផ្សេងៗគ្នា

ដែននាឡិកាសកម្ម លំយោល។ ប្រភពភ្ញាក់ពីគេង
របៀបគេង clkCPU clkFLASH គ្លីកអូ clkADC clkPCK បានបើកប្រភពនាឡិកាសំខាន់ INT0 និង Pin ប្តូរ អេស។ អ

រួចរាល់

 

លក្ខខណ្ឌចាប់ផ្តើម USI

ADC I/O ផ្សេងទៀត។ អ្នកឃ្លាំមើល រំខាន
ទំនេរ X X X X X X X X X X
ការកាត់បន្ថយសំលេងរំខាន ADC X X X(១៦១៦) X X X X
អំណាចធ្លាក់ចុះ X(១៦១៦) X X

ចំណាំ៖ សម្រាប់ INT0 មានតែការរំខានកម្រិតប៉ុណ្ណោះ។

ដើម្បីចូលទៅក្នុងរបៀបនៃការគេងទាំងបីនោះលេខប៊ីនៅក្នុងអេកស៊ីអេសអរត្រូវសរសេរទៅតក្កវិជ្ជាមួយហើយសេចក្តីណែនាំ SLEEP ត្រូវតែប្រតិបត្តិ។ ប៊ីប៊ីអេស [១: ០] នៅក្នុងការចុះឈ្មោះរបស់ MCUCR ជ្រើសរើសរបៀបគេង (ទំនេរការបន្ថយសំឡេងរំខានឬការបន្ថយថាមពល) នឹងត្រូវបានដំណើរការដោយការណែនាំ SLEEP ។ សូមមើល តារាង 7-2 សម្រាប់សេចក្តីសង្ខេប។

ប្រសិនបើការរំខានដែលបានបើកដំណើរការកើតឡើងខណៈពេលដែល MCU ស្ថិតនៅក្នុងរបៀបគេង នោះ MCU នឹងភ្ញាក់ឡើង។ បន្ទាប់មក MCU ត្រូវបានផ្អាកសម្រាប់វដ្តចំនួនបួន បន្ថែមពីលើពេលវេលាចាប់ផ្តើមដំណើរការ ប្រតិបត្តិទម្លាប់ដែលរំខាន និងបន្តការប្រតិបត្តិពីការណែនាំបន្ទាប់ពី SLEEP ។ ខ្លឹមសារនៃការចុះឈ្មោះ File ហើយ SRAM មិនផ្លាស់ប្តូរនៅពេលដែលឧបករណ៍ភ្ញាក់ពីដំណេក។ ប្រសិនបើការកំណត់ឡើងវិញកើតឡើងកំឡុងពេលគេង នោះ MCU ភ្ញាក់ឡើង ហើយប្រតិបត្តិពីវ៉ិចទ័រកំណត់ឡើងវិញ។

ចំណាំ៖ ប្រសិនបើកម្រិតដែលបង្កឱ្យមានការរំខានត្រូវបានប្រើសម្រាប់ការដាស់ កម្រិតដែលបានផ្លាស់ប្តូរត្រូវតែធ្វើឡើងសម្រាប់ពេលខ្លះដើម្បីដាស់ MCU (និងសម្រាប់ MCU ដើម្បីចូលទៅក្នុងទម្លាប់សេវារំខាន)។ សូមមើល “ ការរំខានពីខាងក្រៅ” នៅទំព័រ ៤៩ សម្រាប់ព័ត៌មានលម្អិត។

របៀបទំនេរ

នៅពេលដែលប៊ីត SM [1:0] ត្រូវបានសរសេរទៅលេខ 00 ការណែនាំអំពី SLEEP ធ្វើឱ្យ MCU ចូលទៅក្នុងរបៀប Idle ដោយបញ្ឈប់ CPU ប៉ុន្តែអនុញ្ញាតឱ្យ Analog Comparator, ADC, USI, Timer/Counter, Watchdog និងប្រព័ន្ធរំខានបន្តដំណើរការ។ កំពុងញ៉ាំ។ របៀបគេងនេះជាមូលដ្ឋានបញ្ឈប់ clkCPU និង clkFLASH ខណៈពេលដែលអនុញ្ញាតឱ្យនាឡិកាផ្សេងទៀតដំណើរការ។

របៀបទំនេរធ្វើឱ្យ MCU ភ្ញាក់ពីការរំខានដែលបណ្តាលមកពីខាងក្រៅក៏ដូចជាផ្នែកខាងក្នុងដូចជា Timer Overflow ។ ប្រសិនបើការភ្ញាក់ពីអាណាឡូកប្រៀបធៀបប្រៀបធៀបមិនត្រូវបានទាមទារអាណាឡូកប្រៀបធៀបអាចត្រូវបានដំណើរការដោយកំណត់ប៊ីតអេឌីអេនៅក្នុង “ អេស៊ីអេសអរ - ការត្រួតពិនិត្យការប្រៀបធៀបអាណាឡូកនិងការចុះឈ្មោះស្ថានភាព” នៅទំព័រ ១២០។ វានឹងកាត់បន្ថយការប្រើប្រាស់ថាមពលក្នុងរបៀបទុកចោល។ ប្រសិនបើអេឌីស៊ីត្រូវបានបើកការផ្លាស់ប្តូរចាប់ផ្តើមដោយស្វ័យប្រវត្តិនៅពេលរបៀបនេះត្រូវបានបញ្ចូល។

របៀបកាត់បន្ថយសម្លេងរំខាន ADC

នៅពេលដែល SM [1:0] ប៊ីតត្រូវបានសរសេរទៅលេខ 01 ការណែនាំអំពី SLEEP ធ្វើឱ្យ MCU ចូលទៅក្នុងរបៀបកាត់បន្ថយសំលេងរំខាន ADC ដោយបញ្ឈប់ CPU ប៉ុន្តែអនុញ្ញាតឱ្យ ADC រំខានខាងក្រៅ និង Watchdog បន្តប្រតិបត្តិការ (ប្រសិនបើបានបើក)។ របៀបគេងនេះបញ្ឈប់ clKI/O, clkCPU និង clkFLASH ខណៈពេលដែលអនុញ្ញាតឱ្យនាឡិកាផ្សេងទៀតដំណើរការ។

នេះធ្វើឱ្យប្រសើរឡើងនូវបរិយាកាសសំលេងរំខានសម្រាប់អេឌីស៊ីដែលជួយឱ្យមានការវាស់វែងគុណភាពបង្ហាញខ្ពស់ជាងមុន។ ប្រសិនបើអេឌីស៊ីត្រូវបានបើកការផ្លាស់ប្តូរចាប់ផ្តើមដោយស្វ័យប្រវត្តិនៅពេលរបៀបនេះត្រូវបានបញ្ចូល។ ក្រៅពីបង្កើតជា ADC Conversion ពេញលេញរំខានតែ Reset Reset, Watchdog Reset, Brown-out Reset, SPM / EEPROM ត្រៀមខ្លួនជាស្រេចការរំខានកម្រិតខាងក្រៅរំខានដល់ INT0 ឬការផ្លាស់ប្តូរការផ្លាស់ប្តូរម្ជុលអាចដាស់ស្មារតី MCU ពីការបន្ថយសំឡេងរំខាន ADC ។ របៀប។

របៀបថាមពលធ្លាក់ចុះ

នៅពេលប៊ីតអេមអេស [1: 0] ត្រូវបានសរសេរទៅលេខ 10 ការណែនាំ SLEEP ធ្វើឱ្យ MCU បញ្ចូលរបៀបបិទថាមពល។ នៅក្នុងរបៀបនេះ Oscillator ត្រូវបានបញ្ឈប់ខណៈពេលដែលការរំខានពីខាងក្រៅ USI ចាប់ផ្តើមការរកឃើញលក្ខខណ្ឌហើយ Watchdog នៅតែបន្តប្រតិបត្តិការ (ប្រសិនបើបើក) ។ មានតែការកំនត់កំនត់ខាងក្រៅការឃ្លាំមើលកំណត់ឡើងវិញការកំណត់ឡើងវិញរបស់ប្រោនយូអាយអេសចាប់ផ្តើមការរំខានកំរិតខាងក្រៅរំខានដល់អ៊ិនធីធី ០ រឺការផ្លាស់ប្តូរការផ្លាស់ប្តូរលេខកូដអាចធ្វើអោយ MCU ។ របៀបគេងនេះបញ្ឈប់រាល់នាឡិកាដែលបានបង្កើតទាំងអស់ដែលអនុញ្ញាតឱ្យប្រតិបត្តិការម៉ូឌុលអសមកាលប៉ុណ្ណោះ។

កម្មវិធីកុំព្យូទ័របិទ

នៅពេលឧបករណ៍រាវរកពណ៌ត្នោត (BOD) ត្រូវបានបើកដំណើរការដោយប៊្លូឌុលហ្វុយ (សូមមើល តារាង ៥-១ នៅទំព័រ ២១) BOD កំពុងតាមដានយ៉ាងសកម្មនូវការផ្គត់ផ្គង់វ៉ុលtage អំឡុងពេលគេង។ នៅក្នុងឧបករណ៍មួយចំនួន វាអាចសន្សំសំចៃថាមពលបានដោយការបិទ BOD ដោយកម្មវិធីនៅក្នុងមុខងារ Power-Down sleep mode។ ការប្រើប្រាស់ថាមពលរបៀបគេងនឹងនៅកម្រិតដូចគ្នានៅពេលដែល BOD ត្រូវបានបិទជាសកលដោយ fuses ។

ប្រសិនបើ BOD ត្រូវបានបិទដោយកម្មវិធី មុខងារ BOD ត្រូវបានបិទភ្លាមៗបន្ទាប់ពីចូលទៅក្នុងរបៀបគេង។ នៅពេលភ្ញាក់ពីដំណេក BOD ត្រូវបានបើកដោយស្វ័យប្រវត្តិម្តងទៀត។ វាធានាបាននូវប្រតិបត្តិការប្រកបដោយសុវត្ថិភាព ក្នុងករណីដែលកម្រិត VCC បានធ្លាក់ចុះអំឡុងពេលគេង។

នៅពេលដែល BOD ត្រូវបានបិទពេលវេលាភ្ញាក់ពីរបៀបគេងនឹងដូចគ្នានឹងការភ្ញាក់ពីរេស៊ីនដែរ។ អ្នកប្រើប្រាស់ត្រូវកំណត់ពេលវេលាភ្ញាក់ដោយដៃដូចជាឯកសារយោងមានពេលវេលាដើម្បីចាប់ផ្តើមហើយ BOD ដំណើរការត្រឹមត្រូវមុនពេល MCU បន្តអនុវត្តលេខកូដ។ មើល SUT [1: 0] និង CKSEL [3: 0] ហ្វុយហ្ស៊ីបប៊ីតនៅក្នុងតារាង “ ហ្វុយហ្សីបបៃ” នៅទំព័រ ១៤៩

ការបិទដំណើរការ BOD ត្រូវបានគ្រប់គ្រងដោយការចុះឈ្មោះរបស់ MCU ត្រួតពិនិត្យប៊ីត (BODS) “ MCUCR - ការគ្រប់គ្រង MCU ចុះឈ្មោះ” នៅទំព័រ ៣៧។ ការសរសេរប៊ីតនេះទៅមួយបិទ BOD នៅក្នុង Power-Down ខណៈពេលដែលការសរសេរសូន្យធ្វើឱ្យ BOD សកម្ម។ ការកំណត់លំនាំដើមគឺសូន្យមានន័យថាសកម្ម។

ការសរសេរទៅប៊ីតអេមអេសអេសត្រូវបានគ្រប់គ្រងដោយលំដាប់ដែលបានកំណត់ពេលវេលាហើយអាចបើកដំណើរការបាន “ MCUCR - អង្គភាពគ្រប់គ្រង MCU- ter” នៅទំព័រ ៣៧.

ដែនកំណត់

មុខងារបិទដំណើរការត្រូវបានអនុវត្តនៅក្នុងឧបករណ៍ខាងក្រោមនេះតែប៉ុណ្ណោះ៖

ATtiny25, ការពិនិត្យឡើងវិញអ៊ីនិងថ្មីជាងនេះ

ATtiny45, ការពិនិត្យឡើងវិញឃ, និងថ្មីជាងនេះ

ATtiny85, ការពិនិត្យឡើងវិញ C, និងថ្មីជាងនេះ

ការពិនិត្យឡើងវិញត្រូវបានសម្គាល់នៅលើកញ្ចប់ឧបករណ៍ហើយអាចមានទីតាំងដូចខាងក្រោម៖

ផ្នែកខាងក្រោមនៃកញ្ចប់ 8P3 និង 8S2

ផ្នែកខាងលើនៃកញ្ចប់ ២០ ម ១

ចុះឈ្មោះកាត់បន្ថយថាមពល

ការចុះឈ្មោះកាត់បន្ថយថាមពល (PRR) សូមមើល “ PRR - ចុះឈ្មោះកាត់បន្ថយថាមពល” នៅទំព័រ ៣៨, ផ្តល់នូវវិធីសាស្រ្តក្នុងការកាត់បន្ថយការប្រើប្រាស់ថាមពលដោយបញ្ឈប់នាឡិកាទៅគ្រឿងគ្រឿងនីមួយៗ។ ស្ថានភាពគ្រឿងកុំព្យូទ័របច្ចុប្បន្នត្រូវបានកកហើយអ្នកចុះឈ្មោះ I / O មិនអាចអានឬសរសេរបានទេ។ ធនធានដែលប្រើដោយគ្រឿងកុំព្យូទ័រនៅពេលបញ្ឈប់នាឡិកានឹងនៅតែកាន់កាប់ដដែលហេតុដូច្នេះគ្រឿងកុំព្យូទ័រគួរតែត្រូវបានបិទក្នុងករណីភាគច្រើនមុនពេលបញ្ឈប់នាឡិកា។ ការភ្ញាក់ពីម៉ូឌុលដែលត្រូវបានធ្វើដោយការបោសសំអាតបន្តិចបន្តួចនៅក្នុង PRR ធ្វើឱ្យម៉ូឌុលនេះស្ថិតក្នុងស្ថានភាពដូចគ្នានឹងមុនពេលបិទ។

ការបិទម៉ូឌុលអាចត្រូវបានប្រើនៅក្នុងរបៀបទំនេរនិងរបៀបសកម្មដើម្បីកាត់បន្ថយការប្រើប្រាស់ថាមពលទាំងមូល។ នៅក្នុងរបៀបគេងផ្សេងទៀតទាំងអស់នាឡិកាត្រូវបានបញ្ឈប់រួចហើយ។ សូមមើល “ ផ្គត់ផ្គង់ចរន្តនៃម៉ូឌុល I / O” នៅទំព័រ ១៧៧ សម្រាប់អតីតamples ។

ការប្រើប្រាស់ថាមពលអប្បបរមា

មានបញ្ហាជាច្រើនដែលត្រូវពិចារណានៅពេលដែលព្យាយាមកាត់បន្ថយការប្រើប្រាស់ថាមពលអប្បបរមានៅក្នុងប្រព័ន្ធគ្រប់គ្រង AVR ។ ជាទូទៅរបៀបនៃការគេងគួរតែត្រូវបានប្រើឱ្យបានច្រើនតាមដែលអាចធ្វើទៅបានហើយរបៀបនៃការគេងគួរតែត្រូវបានជ្រើសរើសដូច្នេះតិចបំផុតតាមដែលអាចធ្វើបាននៃមុខងាររបស់ឧបករណ៍កំពុងដំណើរការ។ មុខងារទាំងអស់ដែលមិនត្រូវការគួរតែត្រូវបានបិទ។ ជាពិសេសម៉ូឌុលខាងក្រោមនេះអាចត្រូវការការពិចារណាពិសេសនៅពេលដែលព្យាយាមទទួលបានការប្រើប្រាស់ថាមពលទាបបំផុត។

អាណាឡូកទៅកម្មវិធីបម្លែងឌីជីថល

ប្រសិនបើបានបើកដំណើរការអេឌីស៊ីនឹងត្រូវបានបើកដំណើរការគ្រប់ទម្រង់នៃការគេង។ ដើម្បីសន្សំសំចៃថាមពលអេឌីស៊ីគួរតែត្រូវបានបិទមុនពេលចូលក្នុងរបៀបគេង។ នៅពេលដែលអេឌីស៊ីត្រូវបានបិទហើយបើកម្តងទៀតការបម្លែងបន្ទាប់នឹងក្លាយជាការបំលែងបន្ថែម។ យោង “ អាណាឡូកទៅឧបករណ៍បំលែងឌីជីថល” នៅទំព័រ ១២២ សម្រាប់ព័ត៌មានលម្អិតស្តីពីប្រតិបត្តិការ ADC ។

ប្រៀបធៀបប្រៀបធៀបអាណាឡូក

នៅពេលចូលទៅក្នុងរបៀបទំនេរ ឧបករណ៍ប្រៀបធៀបអាណាឡូកគួរតែត្រូវបានបិទ ប្រសិនបើមិនប្រើ។ នៅពេលចូលទៅក្នុងរបៀបកាត់បន្ថយសំលេងរំខាន ADC ឧបករណ៍ប្រៀបធៀបអាណាឡូកគួរតែត្រូវបានបិទ។ នៅក្នុងរបៀបគេងផ្សេងទៀត ឧបករណ៍ប្រៀបធៀបអាណាឡូកត្រូវបានបិទដោយស្វ័យប្រវត្តិ។ ទោះយ៉ាងណាក៏ដោយ ប្រសិនបើឧបករណ៍ប្រៀបធៀបអាណាឡូកត្រូវបានបង្កើតឡើងដើម្បីប្រើវ៉ុលខាងក្នុងtage សេចក្តីយោងជាធាតុបញ្ចូល ឧបករណ៍ប្រៀបធៀបអាណាឡូកគួរតែត្រូវបានបិទនៅក្នុងរបៀបគេងទាំងអស់។ បើមិនដូច្នោះទេ Internal Voltage សេចក្តីយោងនឹងត្រូវបានបើក ដោយមិនគិតពីរបៀបគេង។ យោងទៅ “ អ្នកប្រៀបធៀបអាណាឡូក” នៅទំព័រ ១១៩ សម្រាប់ព័ត៌មានលម្អិតអំពីវិធីកំណត់អាណាឡូកប្រៀបធៀប។

ឧបករណ៍រាវរកពណ៌ត្នោត

ប្រសិនបើឧបករណ៍រាវរកពណ៌ត្នោតមិនចាំបាច់នៅក្នុងកម្មវិធីទេម៉ូឌុលនេះគួរតែត្រូវបានបិទ។ ប្រសិនបើឧបករណ៍រាវរកពណ៌ត្នោតត្រូវបានបើកដំណើរការដោយ BODLEVEL Fuses វានឹងត្រូវបានបើកដំណើរការគ្រប់ទម្រង់នៃការគេងហើយហេតុដូច្នេះហើយប្រើប្រាស់ថាមពលជានិច្ច។ នៅក្នុងរបៀបនៃការគេងកាន់តែជ្រៅនេះនឹងរួមចំណែកយ៉ាងសំខាន់ដល់ការប្រើប្រាស់បច្ចុប្បន្នសរុប។ សូមមើល “ ត្នោត - នៅទំព័រទី ៤១ និង “ Software Software បិទ” នៅទំព័រ ៣៥ សម្រាប់ព័ត៌មានលម្អិតអំពីរបៀបកំណត់ឧបករណ៍រាវរកប្រោន។

វ៉ុលខាងក្នុងtage សេចក្តីយោង

វ៉ុលផ្ទៃក្នុងtage សេចក្តីយោងនឹងត្រូវបានបើកនៅពេលដែលត្រូវការដោយ Brown-out Detection, Analog Comparator ឬ ADC ។ ប្រសិនបើម៉ូឌុលទាំងនេះត្រូវបានបិទដូចដែលបានពិពណ៌នានៅក្នុងផ្នែកខាងលើ វ៉ុលខាងក្នុងtage reference នឹងត្រូវបានបិទ ហើយវានឹងមិនប្រើប្រាស់ថាមពលទេ។ នៅពេលបើកម្តងទៀត អ្នកប្រើប្រាស់ត្រូវតែអនុញ្ញាតឱ្យឯកសារយោងចាប់ផ្តើមមុនពេលលទ្ធផលត្រូវបានប្រើប្រាស់។ ប្រសិនបើឯកសារយោងត្រូវបានរក្សាទុកក្នុងរបៀបគេង លទ្ធផលអាចត្រូវបានប្រើប្រាស់ភ្លាមៗ។ យោងទៅ “ វ៉ុលផ្ទៃក្នុងtage ឯកសារយោង” នៅទំព័រ 42 សម្រាប់ព័ត៌មានលម្អិតអំពីពេលវេលាចាប់ផ្តើម។

កម្មវិធីកំណត់ម៉ោងឃ្លាំមើល

ប្រសិនបើកម្មវិធីឃ្លាំមើលមិនចាំបាច់នៅក្នុងកម្មវិធីម៉ូឌុលនេះគួរតែត្រូវបានបិទ។ ប្រសិនបើនាឡិការឃ្លាំមើលត្រូវបានបើកវានឹងត្រូវបានបើកនៅគ្រប់ទម្រង់នៃការគេងហេតុដូចនេះហើយប្រើប្រាស់ថាមពលជានិច្ច។ នៅក្នុងរបៀបនៃការគេងកាន់តែជ្រៅនេះនឹងរួមចំណែកយ៉ាងសំខាន់ដល់ការប្រើប្រាស់បច្ចុប្បន្នសរុប។ យោង “ កម្មវិធីកំណត់ពេលវេលាឃ្លាំមើល” នៅទំព័រ ៤២ សម្រាប់ព័ត៌មានលម្អិតអំពីរបៀបកំណត់កម្មវិធីឃ្លាំមើលនាឡិកា។

ផតផិន

នៅពេលចូលទៅក្នុងរបៀបគេង ម្ជុលច្រកទាំងអស់គួរតែត្រូវបានកំណត់រចនាសម្ព័ន្ធដើម្បីប្រើថាមពលអប្បបរមា។ អ្វី​ដែល​សំខាន់​បំផុត​នោះ​គឺ​ត្រូវ​ប្រាកដ​ថា​គ្មាន​ម្ជុល​ជំរុញ​បន្ទុក​ទប់ទល់។ នៅក្នុងរបៀបដំណេកដែលទាំងនាឡិកា I/O (clkI/O) និងនាឡិកា ADC (clkADC) ត្រូវបានបញ្ឈប់ សតិបណ្ដោះអាសន្នបញ្ចូលរបស់ឧបករណ៍នឹងត្រូវបានបិទ។ នេះធានាថាគ្មានថាមពលប្រើប្រាស់

ដោយតក្កបញ្ចូលពេលមិនត្រូវការ។ ក្នុងករណីខ្លះតក្កវិជ្ជាបញ្ចូលគឺចាំបាច់សម្រាប់ការរកមើលស្ថានភាពភ្ញាក់ហើយ

បន្ទាប់មកវានឹងបើកដំណើរការ។ សូមមើលផ្នែក “ របៀបបញ្ចូលឌីជីថលនិងរបៀបគេង” នៅទំព័រ ៥៧ សម្រាប់ព័ត៌មានលម្អិតអំពីម្ជុលដែលត្រូវបានបើក។ ប្រសិនបើសតិបណ្ដោះអាសន្នបញ្ចូលត្រូវបានបើក ហើយសញ្ញាបញ្ចូលត្រូវបានទុកចោល ឬមានកម្រិតសញ្ញាអាណាឡូកនៅជិត VCC/2 នោះសតិបណ្ដោះអាសន្នបញ្ចូលនឹងប្រើថាមពលលើស។

សម្រាប់ម្ជុលបញ្ចូលអាណាឡូក សតិបណ្ដោះអាសន្នបញ្ចូលឌីជីថលគួរតែត្រូវបានបិទគ្រប់ពេល។ កម្រិតសញ្ញាអាណាឡូកនៅជិត VCC/2 នៅលើម្ជុលបញ្ចូលអាចបណ្តាលឱ្យមានចរន្តសំខាន់ សូម្បីតែនៅក្នុងរបៀបសកម្មក៏ដោយ។ សតិបណ្ដោះអាសន្ននៃការបញ្ចូលឌីជីថលអាចត្រូវបានបិទដោយការសរសេរទៅកាន់ Digital Input Disable Register (DIDR0)។ យោងទៅ “ ឌីឌីអរ ០ - ការបញ្ចូលឌីជីថលបិទការចុះឈ្មោះ ០” នៅទំព័រ ១២១ សម្រាប់ព័ត៌មានលម្អិត។

ចុះឈ្មោះការពិពណ៌នា

MCUCR - ចុះឈ្មោះត្រួតពិនិត្យ MCU

ការចុះឈ្មោះត្រួតពិនិត្យ MCU មានប៊ីតត្រួតពិនិត្យសម្រាប់ការគ្រប់គ្រងថាមពល។

ប៊ីត 7 6 5 4 3 2 1 0
0x35 BODS PUD SE SM1 SM0 បូ 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

ប៊ីត 7 - បូដៈការគេង

មុខងារបិទដំណើរការ BOD មាននៅក្នុងឧបករណ៍មួយចំនួនប៉ុណ្ណោះ។ សូមមើល “ ដែនកំណត់” នៅទំព័រទី ៣៦.

ក្នុងគោលបំណងដើម្បីបិទ BOD ក្នុងអំឡុងពេលគេង (សូមមើល តារាង ៥-១ នៅទំព័រ ២១) ប៊ីតអេសអេសត្រូវតែសរសេរទៅតក្កវិជ្ជាមួយ។ នេះត្រូវបានគ្រប់គ្រងដោយលំដាប់ដែលបានកំណត់ពេលវេលាហើយប៊ីតប៊ីតនៅក្នុង MCUCR ។ ទីមួយទាំង BODS និង BODSE ត្រូវតែកំណត់យកតែមួយ។ ទី ២ ក្នុងរយៈពេលវដ្តនាឡិកា ៤ បូត្រូវតែត្រូវបានកំណត់ទៅមួយហើយបូត្រូវតែត្រូវបានកំណត់ទៅសូន្យ។ ប៊ីតអេសអេសសកម្មបីវដ្តនាឡិកាបន្ទាប់ពីវាត្រូវបានកំណត់។ ការណែនាំអំពីការគេងត្រូវតែត្រូវបានប្រតិបត្តិខណៈពេលដែល BODS សកម្មដើម្បីបិទ BOD សម្រាប់របៀបគេងជាក់ស្តែង។ ប៊ីតអេសអេសត្រូវបានសម្អាតដោយស្វ័យប្រវត្តិបន្ទាប់ពីវដ្តនាឡិកាបីម៉ោង។

នៅក្នុងឧបករណ៍ដែលការគេង BOD មិនត្រូវបានអនុវត្តបន្តិចបន្តួចនេះមិនត្រូវបានប្រើទេហើយនឹងតែងតែអានសូន្យ។

ប៊ីត 5 - អេសៈគេងអាចប្រើបាន

ប៊ីត SE ត្រូវតែសរសេរជាតក្កវិជ្ជាមួយ ដើម្បីធ្វើឱ្យ MCU ចូលទៅក្នុងរបៀបគេង នៅពេលដែលការណែនាំ SLEEP ត្រូវបានប្រតិបត្តិ។ ដើម្បីជៀសវាង MCU ចូលទៅក្នុងរបៀបគេង លុះត្រាតែវាជាគោលបំណងរបស់អ្នកសរសេរកម្មវិធី វាត្រូវបានណែនាំអោយសរសេរ Sleep Enable (SE) bit ទៅមួយនៅមុនការប្រតិបត្តិនៃការណែនាំអំពី SLEEP ហើយដើម្បីជម្រះវាភ្លាមៗបន្ទាប់ពីភ្ញាក់ពីគេង។

ប៊ីត ៤: ៣ - អេសអេស [១: ០]៖ របៀបគេងជ្រើសរើសប៊ីត ១ និង ០

ប៊ីតទាំងនេះជ្រើសរើសរវាងរបៀបគេងបីដែលអាចរកបានដូចដែលបានបង្ហាញ តារាង 7-2.

តារាង 7-2 ។ ជ្រើសរើសរបៀបគេង

SM1 SM0 របៀបគេង
0 0 ទំនេរ
0 1 ការកាត់បន្ថយសំលេងរំខាន ADC
1 0 អំណាចធ្លាក់ចុះ
1 1 កក់ទុក

ប៊ីត 2 - បូដៈការគេងអាចធ្វើទៅបាន

មុខងារបិទដំណើរការ BOD មាននៅក្នុងឧបករណ៍មួយចំនួនប៉ុណ្ណោះ។ សូមមើល “ ដែនកំណត់” នៅទំព័រទី ៣៦.

ប៊ីតឌុអាចជួយកំណត់ប៊ីតអេសអេសប៊ីដូចបានពន្យល់នៅលើការពិពណ៌នាប៊ីតអេស។ ការបិទដំណើរការ BOD ត្រូវបានត្រួតពិនិត្យដោយលំដាប់ពេលវេលា។

ប៊ីតនេះមិនត្រូវបានប្រើនៅក្នុងឧបករណ៍ដែលកម្មវិធីដែលបិទដំណើរការមិនបានអនុវត្តហើយនឹងត្រូវបានអានជាសូន្យនៅក្នុងឧបករណ៍ទាំងនោះ។

PRR - ចុះឈ្មោះកាត់បន្ថយថាមពល

ការចុះឈ្មោះកាត់បន្ថយថាមពលផ្តល់នូវវិធីសាស្រ្តក្នុងការកាត់បន្ថយការប្រើប្រាស់ថាមពលដោយអនុញ្ញាតិឱ្យបិទមុខងារនាឡិកាគ្រឿងកុំព្យូទ័រ។

ប៊ីត 7 6 5 4 3 2 1 0
0x20 PRTIM1 PRTIM0 ព្រុយស៊ី ស។ ប។ ក PRR
អាន/សរសេរ R R R R R/W R/W R/W R/W
តម្លៃដំបូង 0 0 0 0 0 0 0 0

ប៊ីត ៧: ១ - រីសៈប៊ីតបម្រុងទុក

ប៊ីតទាំងនេះគឺជាប៊ីតដែលបានបម្រុងទុកនៅក្នុងអេធីធីទី ២៥ / ៤៥ / ៨៥ ហើយនឹងអានជាលេខសូន្យជានិច្ច។

ប៊ីត ៣ - ភីធីធីម ១: កម្មវិធីកាត់បន្ថយថាមពល / រាប់ ១

ការសរសេរតក្កវិជ្ជាមួយទៅចំនុចនេះនឹងបិទម៉ូឌុលកម្មវិធីកំណត់ពេលវេលា / រាប់ ១ ។ នៅពេលដែលកម្មវិធីកំណត់ពេលវេលា / Counter1 ត្រូវបានបើកប្រតិបត្តិការនឹងបន្តដូចមុនពេលបិទ។

ប៊ីត ៣ - ភីធីធីម ១: កម្មវិធីកាត់បន្ថយថាមពល / រាប់ ១

ការសរសេរតក្កវិជ្ជាមួយទៅចំនុចនេះនឹងបិទម៉ូឌុលកម្មវិធីកំណត់ពេលវេលា / រាប់ ១ ។ នៅពេលដែលកម្មវិធីកំណត់ពេលវេលា / Counter0 ត្រូវបានបើកប្រតិបត្តិការនឹងបន្តដូចមុនពេលបិទ។

ប៊ីតទី ១ - ភី។ អាយ។ អេស៖ ការកាត់បន្ថយថាមពលយូ។ អាយ។ ភី

ការសរសេរតក្កវិជ្ជាមួយទៅចំនុចនេះនឹងបិទ USI ដោយបញ្ឈប់នាឡិកាទៅម៉ូឌុល។ នៅពេលភ្ញាក់ឡើង USI ម្តងទៀត USI គួរតែត្រូវបានចាប់ផ្តើមឡើងវិញដើម្បីធានាបាននូវប្រតិបត្តិការត្រឹមត្រូវ។

ប៊ីត 0 - PRADC: ការកាត់បន្ថយថាមពល ADC

ការសរសេរតក្កវិជ្ជាមួយទៅចំនុចនេះនឹងបិទ ADC ។ ADC ត្រូវតែបិទមុនពេលបិទ។ ចំណាំថានាឡិកាអេឌីស៊ីក៏ត្រូវបានប្រើដោយផ្នែកខ្លះនៃឧបករណ៍ប្រៀបធៀបអាណាឡូកដែលមានន័យថាឧបករណ៍ប្រៀបធៀបអាណាឡូកមិនអាចប្រើបានទេនៅពេលប៊ីតនេះខ្ពស់។

ការត្រួតពិនិត្យនិងកំណត់ប្រព័ន្ធឡើងវិញ

កំណត់ AVR ឡើងវិញ

ក្នុងកំឡុងពេលកំណត់ឡើងវិញ Registry I / O ទាំងអស់ត្រូវបានកំណត់តាមតម្លៃដំបូងរបស់ពួកគេហើយកម្មវិធីចាប់ផ្តើមប្រតិបត្តិពី Reset Vec ។ ការណែនាំដែលបានដាក់នៅវ៉ិចទ័រកំណត់ឡើងវិញត្រូវតែជា RJMP - Relative លោត - ការណែនាំទៅនឹងទម្លាប់នៃការរៀបចំកំណត់ឡើងវិញ។ ប្រសិនបើកម្មវិធីមិនដែលបើកដំណើរការប្រភពរំខាននោះវ៉ាក់សាំងរំខានមិនត្រូវបានប្រើទេហើយលេខកូដកម្មវិធីទៀងទាត់អាចត្រូវបានដាក់នៅទីតាំងទាំងនេះ។ ដ្យាក្រាមសៀគ្វីនៅក្នុង រូបភាព 8-1 បង្ហាញតក្កកំណត់ឡើងវិញ។ អ្នកផ្តល់ថាមពលអគ្គីសនីនៃសៀគ្វីកំណត់ឡើងវិញត្រូវបានផ្តល់ឱ្យ “ ប្រព័ន្ធនិងកំណត់លក្ខណៈឡើងវិញ” នៅទំព័រ ១៦៥.

រូបភាពទី 8-1 កំណត់តក្កវិជ្ជាឡើងវិញ កំណត់តក្កវិជ្ជាឡើងវិញ

ច្រក I / O នៃ AVR ត្រូវបានកំណត់ឡើងវិញភ្លាមៗទៅស្ថានភាពដំបូងនៅពេលប្រភពកំណត់ឡើងវិញសកម្ម។ នេះមិនតម្រូវឱ្យមានប្រភពនាឡិកាណាមួយកំពុងដំណើរការទេ។

បន្ទាប់ពីប្រភពកំណត់ឡើងវិញទាំងអស់បានដំណើរការអសកម្មការពន្យារពេលត្រូវបានហៅពង្រីកការកំណត់ផ្ទៃក្នុងឡើងវិញ។ នេះអនុញ្ញាតឱ្យថាមពលឈានដល់កម្រិតស្ថេរភាពមុនពេលប្រតិបត្តិការធម្មតាចាប់ផ្តើម។ រយៈពេលផុតកំណត់នៃការពន្យារពេលត្រូវបានកំណត់ដោយអ្នកប្រើប្រាស់តាមរយៈ SUT និង CKSEL Fuses ។ ជម្រើសផ្សេងគ្នាសម្រាប់រយៈពេលពន្យាពេលត្រូវបានបង្ហាញ “ នាឡិកា ប្រភព” នៅទំព័រ ២៥.

កំណត់ប្រភពឡើងវិញ

អេធីធីទី ២៥ / ៤៥ / ៨៥ មានប្រភពកំណត់ ៤ យ៉ាង៖

កំណត់ថាមពលឡើងវិញ។ MCU ត្រូវបានកំណត់ឡើងវិញនៅពេលដែលការផ្គត់ផ្គង់វ៉ុលtage គឺនៅខាងក្រោមកម្រិតកំណត់ថាមពលឡើងវិញ (VPOT) ។

កំណត់ឡើងវិញខាងក្រៅ។ MCU ត្រូវបានកំណត់ឡើងវិញនៅពេលកម្រិតទាបមាននៅលើម្ជុល RESET យូរជាងប្រវែងជីពចរអប្បបរមា។

កំណត់ឃ្លាំមើលឡើងវិញ។ MCU ត្រូវបានកំណត់ឡើងវិញនៅពេលដែលរយៈពេលនៃកម្មវិធីឃ្លាំមើលផុតកំណត់ហើយឃ្លាំមើលត្រូវបានបើក។

កំណត់ឡើងវិញពណ៌ត្នោត។ MCU ត្រូវបានកំណត់ឡើងវិញនៅពេលដែលការផ្គត់ផ្គង់វ៉ុលtage VCC ស្ថិតនៅក្រោមកម្រិតកំណត់កំណត់ឡើងវិញពណ៌ត្នោត (VBOT) ហើយឧបករណ៍ចាប់សញ្ញាពណ៌ត្នោតត្រូវបានបើក។

កំណត់ថាមពលឡើងវិញ

ជីពចរថាមពលឡើងវិញ (POR) ត្រូវបានបង្កើតឡើងដោយសៀគ្វីរកឃើញនៅលើឈីប។ កម្រិតនៃការរាវរកត្រូវបានកំណត់នៅក្នុង “ ស៊ី - កំណត់និងកំណត់លក្ខណៈឡើងវិញ” នៅទំព័រ ១៦៥. POR ត្រូវបានធ្វើឱ្យសកម្មនៅពេលណាដែល VCC ស្ថិតនៅក្រោមកម្រិតរកឃើញ។ សៀគ្វី POR អាច​ត្រូវ​បាន​ប្រើ​ដើម្បី​កេះ​ការចាប់ផ្តើម​កំណត់​ឡើង​វិញ ក៏ដូចជា​ដើម្បី​រក​ឃើញ​ការ​បរាជ័យ​ក្នុង​ការផ្គត់ផ្គង់​វ៉ុលtage.

សៀគ្វី Power-on Reset (POR) ធានាថាឧបករណ៍ត្រូវបានកំណត់ឡើងវិញពីការបើកថាមពល។ ឈានដល់កម្រិតកំណត់ថាមពលឡើងវិញ វ៉ុលtage ហៅការពន្យាពេល ដែលកំណត់រយៈពេលដែលឧបករណ៍ត្រូវបានរក្សាទុកក្នុង RESET បន្ទាប់ពី VCC កើនឡើង។ សញ្ញា RESET ត្រូវបានធ្វើឱ្យសកម្មម្តងទៀត ដោយគ្មានការពន្យាពេលណាមួយឡើយ នៅពេលដែល VCC ថយចុះក្រោមកម្រិតរកឃើញ។

រូបភាពទី 8-2 ។ ការចាប់ផ្តើម MCU, កំណត់ឡើងវិញបានភ្ជាប់ទៅ VCC

កំណត់ឡើងវិញខាងក្នុង

រូបភាពទី 8-3 ។ ការចាប់ផ្តើម MCU, កំណត់ឡើងវិញបានពង្រីកខាងក្រៅ

កំណត់ឡើងវិញខាងក្រៅ

កំណត់ឡើងវិញខាងក្រៅត្រូវបានបង្កើតដោយកម្រិតទាបនៅលើម្ជុល RESET ប្រសិនបើអាចប្រើបាន។ កំណត់ជីពចរឱ្យវែងជាងទទឹងជីពចរអប្បបរមា (សូមមើល “ ប្រព័ន្ធនិងកំណត់លក្ខណៈឡើងវិញ” នៅទំព័រ ១៦៥) នឹងបង្កើតការកំណត់ឡើងវិញ ទោះបីជានាឡិកាមិនដំណើរការក៏ដោយ។ ជីពចរខ្លីជាងមិនត្រូវបានធានាដើម្បីបង្កើតការកំណត់ឡើងវិញទេ។ នៅពេលដែលសញ្ញាដែលបានអនុវត្តឈានដល់កម្រិតកំណត់កំណត់ឡើងវិញវ៉ុលtage – VRST – នៅលើគែមវិជ្ជមានរបស់វា បញ្ជរពន្យាពេលចាប់ផ្តើម MCU បន្ទាប់ពីរយៈពេលផុតកំណត់បានផុតកំណត់។

រូបភាពទី 8-4 ។ កំណត់ឡើងវិញខាងក្រៅកំឡុងពេលប្រតិបត្តិការ រូប ១

ការរកឃើញពណ៌ត្នោត

ATtiny25/45/85 មានសៀគ្វី On-chip Brown-out Detection (BOD) សម្រាប់ត្រួតពិនិត្យកម្រិត VCC កំឡុងពេលប្រតិបត្តិការដោយប្រៀបធៀបវាទៅនឹងកម្រិតកេះថេរ។ កម្រិតកេះសម្រាប់ BOD អាចត្រូវបានជ្រើសរើសដោយ BODLEVEL Fuses ។ កម្រិតកេះមាន hysteresis ដើម្បីធានាបាននូវការរកឃើញពណ៌ត្នោតដោយឥតគិតថ្លៃកើនឡើង។ hysteresis នៅលើកម្រិតនៃការរកឃើញគួរតែត្រូវបានបកស្រាយថាជា VBOT + = VBOT + VHYST/2 និង VBOT- = VBOT – VHYST/2 ។

នៅពេលដែល BOD ត្រូវបានបើក ហើយ VCC ថយចុះទៅតម្លៃក្រោមកម្រិតគន្លឹះ (VBOT- in រូបភាព 8-5) Brown-out Reset ត្រូវបានធ្វើឱ្យសកម្មភ្លាមៗ។ នៅពេលដែល VCC កើនឡើងលើសពីកម្រិតកេះ (VBOT+ in រូបភាព 8-5) ការពន្យាពេលចាប់ផ្តើម MCU បន្ទាប់ពីរយៈពេលអស់ពេល tTOUT បានផុតកំណត់។

សៀគ្វី BOD នឹងរកឃើញតែការធ្លាក់ចុះនៅក្នុង VCC ប្រសិនបើវ៉ុលtage ស្ថិតនៅខាងក្រោមកម្រិតកេះយូរជាង tBOD ដែលបានផ្តល់ឱ្យ “ ប្រព័ន្ធនិងកំណត់លក្ខណៈឡើងវិញ” នៅទំព័រ ១៦៥. រូប ១

កំណត់ឃ្លាំមើលឡើងវិញ

នៅពេលដែល Watchdog អស់ វានឹងបង្កើតជីពចរកំណត់ឡើងវិញខ្លីនៃរយៈពេលវដ្ត CK មួយ។ នៅលើគែមធ្លាក់ចុះនៃជីពចរនេះ កម្មវិធីកំណត់ពេលវេលាពន្យាពេលចាប់ផ្តើមរាប់រយៈពេលអស់ពេល tTOUT ។ យោងទៅ “ កម្មវិធីកំណត់ពេលវេលាឃ្លាំមើល” នៅទំព័រ ៤២ សម្រាប់ព័ត៌មានលម្អិតស្តីពីប្រតិបត្តិការនាឡិការឃ្លាំមើល។

វ៉ុលtage សេចក្តីយោង បើកសញ្ញា និងពេលវេលាចាប់ផ្តើម

វ៉ុលtage ឯកសារយោងមានពេលវេលាចាប់ផ្តើមដែលអាចមានឥទ្ធិពលលើរបៀបដែលវាគួរតែត្រូវបានប្រើ។ ពេលវេលាចាប់ផ្តើមត្រូវបានផ្តល់ឱ្យ “ ប្រព័ន្ធនិងកំណត់លក្ខណៈឡើងវិញ” នៅទំព័រ ១៦៥។ ដើម្បីសន្សំសំចៃថាមពលយោងមិនតែងតែត្រូវបានបើកទេ។ ការឆ្លុះបញ្ចាំងគឺស្ថិតនៅក្នុងស្ថានភាពដូចខាងក្រោម៖

នៅពេល BOD ត្រូវបានបើក (ដោយការសរសេរកម្មវិធី BODLEVEL [2: 0] ហ្វុយហ្ស៊ីបប៊ីច) ។

នៅពេលដែលឯកសារយោង bandgap ត្រូវបានភ្ជាប់ទៅនឹងអាណាឡូកប្រៀបធៀប (ដោយកំណត់ប៊ីត ACBG នៅក្នុង ACSR) ។

នៅពេលដែលអេឌីស៊ីត្រូវបានបើក។

ដូច្នេះនៅពេលដែល BOD មិនត្រូវបានបើកបន្ទាប់ពីកំណត់ប៊ីតអេចប៊ីជីឬបើកដំណើរការ ADC អ្នកប្រើត្រូវតែអនុញ្ញាតឱ្យមានឯកសារយោងដើម្បីចាប់ផ្តើមមុនពេលលទ្ធផលពីអាណាឡូកប្រៀបធៀបឬ ADC ត្រូវបានប្រើ។ ដើម្បីកាត់បន្ថយការប្រើប្រាស់ថាមពលនៅក្នុងរបៀបបិទថាមពលអ្នកប្រើអាចជៀសវាងពីលក្ខខណ្ឌទាំងបីខាងលើដើម្បីធានាថាឯកសារយោងត្រូវបានបិទមុនពេលចូលរបៀបថាមពល។

កម្មវិធីកំណត់ម៉ោងឃ្លាំមើល

នាឡិការឃ្លាំមើលត្រូវបានកំណត់ទិសដៅពីអូតូឈីបអូស្ការដែលដំណើរការក្នុងល្បឿន ១២៨ kHz ។ តាមរយៈការត្រួតពិនិត្យនាឡិកាកំណត់ពេលវេលាឃ្លាំមើលការឃ្លាំមើលកំណត់ពេលវេលាឡើងវិញអាចត្រូវបានកែតម្រូវដូចបានបង្ហាញនៅក្នុង តារាង ៥-១ នៅទំព័រ ២១។ WDR - ឃ្លាំមើលកំណត់ឡើងវិញ - ការណែនាំកំណត់កម្មវិធីកំណត់ពេលវេលាឃ្លាំមើលឡើងវិញ។ កម្មវិធីកំណត់ពេលវេលាឃ្លាំមើលត្រូវបានកំណត់ឡើងវិញនៅពេលវាត្រូវបានបិទហើយនៅពេលឈីបកំណត់ឡើងវិញ។ រយៈពេលវដ្តនាឡិកាដប់ផ្សេងគ្នាអាចត្រូវបានជ្រើសរើសដើម្បីកំណត់រយៈពេលកំណត់ឡើងវិញ។ ប្រសិនបើរយៈពេលកំណត់ឡើងវិញផុតកំណត់ដោយគ្មានការឃ្លាំមើលកំណត់ផ្សេងទៀត ATtiny25 / 45/85 កំណត់ឡើងវិញនិងប្រតិបត្តិពីវ៉ិចទ័រកំណត់ឡើងវិញ។ សម្រាប់ព័ត៌មានលម្អិតអំពីពេលវេលាកំណត់នៅលើឃ្លាំមើលកំណត់ឡើងវិញសូមមើល តារាង ៥-១ នៅទំព័រ ២១.

កម្មវិធីកំណត់ពេលវេលាឃ្លាំមើលក៏អាចត្រូវបានតំឡើងដើម្បីបង្កើតការរំខានជំនួសឱ្យការកំណត់ឡើងវិញ។ នេះអាចមានប្រយោជន៍ខ្លាំងណាស់នៅពេលប្រើឃ្លាំមើលដើម្បីភ្ញាក់ពីថាមពលចុះក្រោម។

ដើម្បីបងា្ករការបិទការឃ្លាំមើលដោយអចេតនាឬការផ្លាស់ប្តូររយៈពេលដោយមិនប្រុងប្រយ័ត្នកម្រិតសុវត្ថិភាពពីរត្រូវបានជ្រើសរើសដោយហ្វុយស៊ីន WDTON ដូចដែលបានបង្ហាញនៅក្នុង តារាង 8-1 យោងទៅ “ លំដាប់ពេលវេលាសម្រាប់ការផ្លាស់ប្តូរគោលការណ៍ ការកំណត់ពេលវេលានៃនាឡិការឃ្លាំមើល” នៅទំព័រ ៤៣ សម្រាប់ព័ត៌មានលម្អិត។

តារាង 8-1 ។ ការកំណត់រចនាសម្ព័ន្ធ WDT ជាមុខងារនៃការកំណត់ Fuse នៃ WDTON

WDTON កម្រិតសុវត្ថិភាព រដ្ឋដំបូង WDT វិធីបិទ WDT វិធីផ្លាស់ប្តូរពេលវេលា
មិនបានចុះបញ្ជី 1 ពិការ លំដាប់ពេលវេលា គ្មានដែនកំណត់
កម្មវិធី 2 បានបើក បើកដំណើរការជានិច្ច លំដាប់ពេលវេលា

រូបភាព 8-7 ។ កម្មវិធីកំណត់ម៉ោងឃ្លាំមើល អ្នកឃ្លាំមើល

លំដាប់ពេលវេលាសម្រាប់ការផ្លាស់ប្តូរការកំណត់រចនាសម្ព័ន្ធកម្មវិធីកំណត់ពេលវេលាឃ្លាំមើល

លំដាប់សម្រាប់ការផ្លាស់ប្តូរការកំណត់រចនាសម្ព័ន្ធខុសគ្នាបន្តិចបន្តួចរវាងកម្រិតសុវត្ថិភាពទាំងពីរ។ នីតិវិធីដាច់ដោយឡែកត្រូវបានពិពណ៌នាសម្រាប់កម្រិតនីមួយៗ។

កម្រិតសុវត្ថិភាពទី 1៖ នៅក្នុងរបៀបនេះ កម្មវិធីកំណត់ម៉ោងឃ្លាំមើលត្រូវបានបិទដំបូង ប៉ុន្តែអាចត្រូវបានបើកដោយការសរសេរ WDE ប៊ីតទៅមួយដោយមិនមានការដាក់កម្រិតណាមួយឡើយ។ ត្រូវការ​លំដាប់​តាម​ពេលវេលា​នៅពេល​បិទ​កម្មវិធី​កំណត់​ម៉ោងឃ្លាំមើល​ដែល​បាន​បើក។ ដើម្បីបិទកម្មវិធីកំណត់ម៉ោងឃ្លាំមើលដែលបានបើកដំណើរការ នីតិវិធីខាងក្រោមត្រូវតែអនុវត្តតាម៖

នៅក្នុងប្រតិបត្ដិការតែមួយសរសេរតក្កវិជ្ជាមួយទៅ WDCE និង WDE ។ តក្កវិជ្ជាមួយត្រូវតែសរសេរទៅការគោរព WDE - តិចជាងតម្លៃមុននៃប៊ីត WDE ។

ក្នុងវដ្តនាឡិកាបួនបន្ទាប់ក្នុងប្រតិបត្ដិការតែមួយសរសេរប៊ីតអេហ្វ។ អេ។ អេ។ និងអេ។ ភី។ ដូចអ្វីដែលចង់បានប៉ុន្តែត្រូវលុបចោលប៊ីប៊ីឌីឌី។

កម្រិតសុវត្ថិភាព 2៖ នៅក្នុងរបៀបនេះ កម្មវិធីកំណត់ម៉ោងឃ្លាំមើលតែងតែត្រូវបានបើក ហើយប៊ីត WDE នឹងតែងតែអានជាមួយ។ លំដាប់កំណត់ពេលគឺត្រូវការនៅពេលផ្លាស់ប្តូររយៈពេលអស់ពេលរបស់ Watchdog ។ ដើម្បីផ្លាស់ប្តូរការអស់ពេលនៃ Watchdog នីតិវិធីខាងក្រោមត្រូវតែអនុវត្តតាម៖

នៅក្នុងប្រតិបត្ដិការតែមួយសរសេរឡូជីខលទៅ WDCE និង WDE ។ ទោះបីជា WDE តែងតែត្រូវបានកំណត់ក៏ដោយ WDE ត្រូវតែសរសេរទៅមួយដើម្បីចាប់ផ្តើមលំដាប់ពេលវេលា។

នៅក្នុងវដ្តនាឡិកាបួនបន្ទាប់ក្នុងប្រតិបត្ដិការតែមួយសរសេរប៊ីតភីឌីភីតាមដែលចង់បានប៉ុន្តែជាមួយប៊ីត WDCE ត្រូវបានលុបចោល។ តម្លៃដែលបានសរសេរទៅប៊ីត WDE គឺមិនពាក់ព័ន្ធ។

កូដ Example

កូដខាងក្រោម example បង្ហាញការជួបប្រជុំគ្នាមួយ និងមុខងារ C មួយសម្រាប់បិទ WDT ។ អតីតample សន្មត់ថាការរំខានត្រូវបានគ្រប់គ្រង (ឧ. ដោយការបិទការរំខានជាសកល) ដូច្នេះគ្មានការរំខានណាមួយកើតឡើងកំឡុងពេលប្រតិបត្តិមុខងារទាំងនេះ។

កូដសន្និបាត Example(១៦១៦)
WDT_off៖

wdr

; សម្អាត WDRF ក្នុង MCUSR

ldi r16, (0<

ចេញ MCUSR, r16

; សរសេរឡូជីខលមួយទៅ WDCE និង WDE

; រក្សាការកំណត់កំណត់ជាមុនដើម្បីការពារការឃ្លាំមើលឡើងវិញដោយអចេតនា

នៅក្នុង r16, WDTCR

ឬ r16, (1<

ចេញ WDTCR, r16

; បិទ WDT

ldi r16, (0<

ចេញ WDTCR, r16

រ៉េត

កូដ C ឧample(១៦១៦)
ទុកជាមោឃៈ WDT_off (ចាត់ទុកជាមោឃៈ)

{

_WDR ();

/* ជម្រះ WDRF ក្នុង MCUSR */ MCUSR = 0x00

/* សរសេរឡូជីខលមួយទៅ WDCE និង WDE */ WDTCR |= (1<

/ * បិទ WDT * / WDTCR = 0x00;

}

សម្គាល់ៈ ១. មើល “ កូដ Examples” នៅទំព័រ 6.

ចុះឈ្មោះការពិពណ៌នា

MCUSR - ចុះឈ្មោះស្ថានភាព MCU

ការចុះឈ្មោះស្ថានភាព MCU ផ្តល់ព័ត៌មានអំពីប្រភពកំណត់ឡើងវិញដែលបណ្តាលមកពីការបង្កើត MCU ឡើងវិញ។

ប៊ីត 7 6 5 4 3 2 1 0
0x34 WDRF បូ អេសអ៊ីធី PORF MCUSR
អាន/សរសេរ R R R R R/W R/W R/W R/W

តម្លៃដំបូង 0 0 0 0 មើលការពិពណ៌នាប៊ីត

ប៊ីត ៧: ១ - រីសៈប៊ីតបម្រុងទុក

ប៊ីតទាំងនេះគឺជាប៊ីតដែលបានបម្រុងទុកនៅក្នុងអេធីធីទី ២៥ / ៤៥ / ៨៥ ហើយនឹងអានជាលេខសូន្យជានិច្ច។

ប៊ីត ៣ - WDRF៖ ទង់ឃ្លាំមើលកំណត់ឡើងវិញ

ប៊ីតត្រូវបានកំណត់ប្រសិនបើការឃ្លាំមើលកំណត់ឡើងវិញកើតឡើង។ ប៊ីតត្រូវបានកំណត់ឡើងវិញដោយការតំឡើងថាមពលឡើងវិញឬដោយការសរសេរឡូជីខលទៅទង់។

ប៊ីត ២ - ប៊ររេហ្វៈទង់ជាតិឡើងវិញ

ប៊ីតត្រូវបានកំណត់ប្រសិនបើកំណត់ឡើងវិញប្រោនកើតឡើង។ ប៊ីតត្រូវបានកំណត់ឡើងវិញដោយការតំឡើងថាមពលឡើងវិញឬដោយការសរសេរឡូជីខលទៅទង់។

ប៊ីតទី ១ - អិចស្តារអេហ្វៈទង់ជាតិកំណត់ខាងក្រៅ

ប៊ីតនេះត្រូវបានកំណត់ប្រសិនបើមានការកំណត់ឡើងវិញខាងក្រៅ។ ប៊ីតត្រូវបានកំណត់ឡើងវិញដោយការតំឡើងថាមពលឡើងវិញឬដោយការសរសេរឡូជីខលទៅទង់។

ប៊ីត 0 - ភីអេហ្វអេហ្វ: ទង់ថាមពលកំណត់ឡើងវិញ

ប៊ីតនេះត្រូវបានកំណត់ប្រសិនបើកំណត់ថាមពលឡើងវិញ។ ប៊ីតត្រូវបានកំណត់ឡើងវិញតែដោយសរសេរតក្កវិជ្ជាសូន្យទៅទង់។

ដើម្បីប្រើទង់កំណត់ឡើងវិញដើម្បីកំណត់លក្ខខ័ណ្ឌកំណត់ឡើងវិញអ្នកប្រើគួរតែអានហើយបន្ទាប់មកកំណត់ MCUSR ឱ្យបានឆាប់តាមដែលអាចធ្វើទៅបាននៅក្នុងកម្មវិធី។ ប្រសិនបើការចុះឈ្មោះត្រូវបានជម្រះមុនពេលកំណត់ឡើងវិញកើតឡើងប្រភពនៃការកំណត់ឡើងវិញអាចរកបានដោយពិនិត្យមើលទង់កំណត់ឡើងវិញ។

WDTCR - ចុះឈ្មោះការត្រួតពិនិត្យកម្មវិធីកំណត់ពេលវេលាឃ្លាំមើល

ប៊ីត 7 6 5 4 3 2 1 0
0x21 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

ប៊ីត 7 - WDIF: ឃ្លាំមើលអស់ពេលទង់ជាតិ

ប៊ីតនេះត្រូវបានកំណត់នៅពេលដែលពេលវេលាផុតកំណត់នៅក្នុងឃ្លាំមើលកម្មវិធីកំណត់ពេលហើយនាឡិការឃ្លាំមើលត្រូវបានកំណត់សម្រាប់ការរំខាន។ WDIF ត្រូវបានសម្អាតដោយផ្នែករឹងនៅពេលប្រតិបត្តិវ៉ិចទ័រដោះស្រាយការរំខានដែលត្រូវគ្នា។ ម៉្យាងទៀត WDIF ត្រូវបានជម្រះដោយសរសេរតក្កវិជ្ជាមួយទៅទង់។ នៅពេល I-bit នៅក្នុង SREG និង WDIE ត្រូវបានកំណត់កម្មវិធីឃ្លាំមើលពេលវេលាចេញក្រៅឃ្លាំមើលត្រូវបានប្រតិបត្តិ។

ប៊ីត ៦ - វ៉ូដវីសៈការឃ្លាំមើលអស់ពេលអាចបិទបាន

នៅពេលដែលប៊ីតនេះត្រូវបានសរសេរទៅមួយ WDE ត្រូវបានលុបចោលហើយលេខ I-bit នៅក្នុងការចុះឈ្មោះស្ថានភាពត្រូវបានកំណត់ការឃ្លាំមើលពេលវេលានៃការឃ្លាំមើលត្រូវបានបើក។ នៅក្នុងរបៀបនេះការរំខានដែលត្រូវគ្នាត្រូវបានប្រតិបត្តិជំនួសឱ្យការកំណត់ឡើងវិញប្រសិនបើការអស់ពេលនៅក្នុងឃ្លាំមើលកម្មវិធីកំណត់ពេលកើតឡើង។

ប្រសិនបើ WDE ត្រូវបានកំណត់ WDIE ត្រូវបានសម្អាតដោយផ្នែករឹងដោយស្វ័យប្រវត្តិនៅពេលដែលអស់ពេលកើតឡើង។ វាមានប្រយោជន៍ក្នុងការរក្សាសុវត្ថិភាពឃ្លាំមើលឡើងវិញនៅពេលប្រើការរំខាន។ បន្ទាប់ពីប៊ីត WDIE ត្រូវបានសម្អាតការចេញពេលក្រោយនឹងបង្កើតការកំណត់ឡើងវិញ។ ដើម្បីចៀសវាងការឃ្លាំមើលកំណត់ឡើងវិញ WDIE ត្រូវតែកំណត់បន្ទាប់ពីការរំខាននីមួយៗ។

តារាង 8-2 ។ ការកំណត់កម្មវិធីកំណត់ម៉ោងឃ្លាំមើល

WDE WDIE រដ្ឋកំណត់ពេលវេលាឃ្លាំមើល សកម្មភាពពេលចេញ
0 0 ឈប់ គ្មាន
0 1 កំពុងរត់ រំខាន
1 0 កំពុងរត់ កំណត់ឡើងវិញ
1 1 កំពុងរត់ រំខាន

ប៊ីត ៤ - វីដឌីស៊ីៈការផ្លាស់ប្តូរឃ្លាំមើលបើកដំណើរការ

ប៊ីតត្រូវតែកំណត់នៅពេលប៊ីត WDE ត្រូវបានសរសេរទៅតក្កវិជ្ជាសូន្យ។ បើមិនដូច្នោះទេឃ្លាំមើលនឹងមិនត្រូវបានបិទទេ។ នៅពេលដែលបានសរសេរទៅមួយផ្នែករឹងនឹងជម្រះបន្តិចបន្ទាប់ពីវដ្តនាឡិកាបួន។ សូមមើលការពិពណ៌នាប៊ីត WDE សម្រាប់នីតិវិធីបិទដំណើរការឃ្លាំមើល។ ប៊ីតនេះក៏ត្រូវតែត្រូវបានកំណត់នៅពេលផ្លាស់ប្តូរប៊ីតដែលបានកំណត់ជាមុន។ សូមមើល “ លំដាប់ពេលវេលា សម្រាប់ការផ្លាស់ប្តូរការកំណត់រចនាសម្ព័ន្ធកម្មវិធីកំណត់ពេលវេលាឃ្លាំមើល” នៅទំព័រ ៤៣.

ប៊ីត ៣ - វ៉េឌីអេសៈអង្គការឃ្លាំមើលបើកដំណើរការ

នៅពេលដែល WDE ត្រូវបានសរសេរទៅឡូជីខលមួយកម្មវិធីឃ្លាំមើលកម្មវិធីកំណត់ពេលវេលាត្រូវបានបើកហើយប្រសិនបើ WDE ត្រូវបានសរសេរទៅតក្កវិជ្ជាសូន្យមុខងារឃ្លាំមើលត្រូវបានបិទ។ WDE អាចត្រូវបានជម្រះប្រសិនបើប៊ីត WDCE មានតក្កកម្រិតមួយ។ ដើម្បីបិទកម្មវិធីឃ្លាំមើលឃ្លាំមើលដែលអាចប្រើបាននីតិវិធីខាងក្រោមត្រូវតែអនុវត្តតាម៖

នៅក្នុងប្រតិបត្ដិការតែមួយសរសេរតក្កវិជ្ជាមួយទៅ WDCE និង WDE ។ តក្កវិជ្ជាមួយត្រូវតែសរសេរទៅ WDE ទោះបីជាវាត្រូវបានកំណត់មួយមុនពេលប្រតិបត្តិការបិទដំណើរការចាប់ផ្តើមក៏ដោយ។

ក្នុងវដ្តនាឡិកាបួនបន្ទាប់សរសេរតក្កវិជ្ជាលេខ ០ ទៅ WDE ។ វាបិទដំណើរការឃ្លាំមើល។

នៅក្នុងកម្រិតសុវត្ថិភាពទី ២ វាមិនអាចទៅរួចទេក្នុងការបិទនាឡិកាឃ្លាំមើលទោះបីជាមានក្បួនដោះស្រាយដែលបានពិពណ៌នាខាងលើក៏ដោយ។ សូមមើល "លំដាប់ពេលវេលាសម្រាប់ការផ្លាស់ប្តូរការកំណត់រចនាសម្ព័ន្ធអ្នកកំណត់ពេលវេលាឃ្លាំមើល" នៅទំព័រ ៤៣.

នៅក្នុងកម្រិតសុវត្ថិភាពទី ១ WDE ត្រូវបានបដិសេធដោយ WDRF នៅក្នុង MCUSR ។ សូមមើល “ MCUSR - ការចុះឈ្មោះស្ថានភាព MCU” នៅទំព័រ ៤៤ សម្រាប់ការពិពណ៌នាអំពី WDRF ។ នេះមានន័យថា WDE ត្រូវបានកំណត់ជានិច្ចនៅពេលដែល WDRF ត្រូវបានកំណត់។ ដើម្បីសំអាត WDE, WDRF ត្រូវតែត្រូវបានបោសសំអាតមុនពេលបិទដំណើរការឃ្លាំមើលជាមួយនឹងនីតិវិធីដែលបានពិពណ៌នាខាងលើ។ លក្ខណៈពិសេសនេះធានានូវការកំណត់ឡើងវិញច្រើនដងក្នុងកំឡុងពេលដែលបណ្តាលឱ្យមានការបរាជ័យនិងការចាប់ផ្តើមប្រកបដោយសុវត្ថិភាពបន្ទាប់ពីការបរាជ័យ។

ចំណាំ៖ ប្រសិនបើកម្មវិធីកំណត់ម៉ោងឃ្លាំមើលនឹងមិនត្រូវបានប្រើនៅក្នុងកម្មវិធីទេ វាចាំបាច់ក្នុងការឆ្លងកាត់នីតិវិធីបិទកម្មវិធីឃ្លាំមើលក្នុងការចាប់ផ្តើមឧបករណ៍។ ប្រសិនបើ Watchdog ត្រូវបានបើកដោយចៃដន្យ ឧទាហរណ៍ample ដោយទ្រនិចរត់គេចខ្លួន ឬលក្ខខណ្ឌពណ៌ត្នោត ឧបករណ៍នឹងត្រូវបានកំណត់ឡើងវិញ ដែលវានឹងនាំទៅរកការកំណត់ឡើងវិញនូវឧបករណ៍ឃ្លាំមើលថ្មី។ ដើម្បីជៀសវាងស្ថានភាពនេះ កម្មវិធីកម្មវិធីគួរតែសម្អាតទង់ WDRF និងប៊ីតត្រួតពិនិត្យ WDE ជានិច្ចនៅក្នុងទម្លាប់ចាប់ផ្តើម។

ប៊ីត ៥, ២: ០ - WDP [៣: ០]៖ អ្នកឃ្លាំមើលកម្មវិធីកំណត់ពេលវេលាលេខ ៣ ២ ១ និង ០

ប៊ីត WDP [៣: ០] កំណត់ការឃ្លាំមើលកម្មវិធីកំណត់ពេលវេលាឃ្លាំមើលនៅពេលដែលឃ្លាំមើលកម្មវិធីកំណត់ពេលបើកដំណើរការ។ តម្លៃការពារខុសគ្នានិងរយៈពេលផុតកំណត់ដែលត្រូវគ្នាត្រូវបានបង្ហាញនៅក្នុង តារាង 8-3.

តារាង 8-3 ។ ជ្រើសរើសកម្មវិធីកំណត់ម៉ោងឃ្លាំមើលជាមុន

WDP3 WDP2 WDP1 WDP0 ចំនួនវដ្តអូស្ការឌ័រ ការអស់ពេលធម្មតានៅ VCC = 5.0V
0 0 0 0 វដ្ត 2K (2048) 16 ms
0 0 0 1 វដ្ត 4K (4096) 32 ms
0 0 1 0 វដ្ត 8K (8192) 64 ms
0 0 1 1 វដ្ត 16K (16384) 0.125 វិ
0 1 0 0 វដ្ត 32K (32764) 0.25 វិ
0 1 0 1 វដ្ត 64K (65536) 0.5 វិ
0 1 1 0 វដ្ត 128K (131072) 1.0 វិ
0 1 1 1 វដ្ត 256K (262144) 2.0 វិ
1 0 0 0 វដ្ត 512K (524288) 4.0 វិ
1 0 0 1 វដ្ត 1024K (1048576) 8.0 វិ

តារាង 8-3 ។ Watchdog Timer Prescale Select (ត)

WDP3 WDP2 WDP1 WDP0 ចំនួនវដ្តអូស្ការឌ័រ ការអស់ពេលធម្មតានៅ 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 នឹងត្រូវបានប្រើ។

ការរំខាន

ផ្នែកនេះពិពណ៌នាអំពីលក្ខណៈជាក់លាក់នៃការដោះស្រាយការរំខានដូចដែលបានអនុវត្តនៅក្នុងអេធីធីទី ២៥ / ៤៥ / ៨៥ ។ សំរាប់ការយល់ដឹងទូទៅនៃការដោះស្រាយការរំខាន AVR សូមមើល "កំណត់ឡើងវិញនិងដោះស្រាយអន្តរកម្ម" នៅទំព័រ ១២.

វ៉ាក់សាំងរំខាននៅអេធីទីនី ២៥ / ៤៥ / ៨៥

វ៉ិចទ័ររំខាននៃអេទីធីទី ២៥ / ៤៥ / ៨៥ ត្រូវបានពិពណ៌នានៅក្នុង តារាង 9-1ខាងក្រោម។

តារាង 9-1 ។ កំណត់ឡើងវិញ និងរំខានវ៉ិចទ័រ

លេខវ៉ិចទ័រ អាសយដ្ឋានកម្មវិធី ប្រភព និយមន័យរំខាន
1 0x0000 កំណត់ឡើងវិញ ម្ជុលខាងក្រៅ, កំណត់ថាមពលឡើងវិញ, កំណត់ឡើងវិញពណ៌ត្នោត, កំណត់ឃ្លាំមើលឡើងវិញ
2 0x0001 INT0 សំណើររំខានពីខាងក្រៅ ០
3 0x0002 PCINT0 ពិនការរំខានការផ្លាស់ប្តូរសំណើ ០
4 0x0003 TIMER1_COMPA កំណត់ម៉ោង / រាប់ ១ ប្រៀបធៀបការប្រកួត A
5 0x0004 TIMER1_OVF កម្មវិធីកំណត់ពេលវេលា / រាប់ចំនួន ១ លើស
6 0x0005 TIMER0_OVF កម្មវិធីកំណត់ពេលវេលា / រាប់ចំនួន ១ លើស
7 0x0006 EE_RDY ត្រៀមខ្លួនរួចរាល់ហើយ
8 0x0007 ANA_COMP ប្រៀបធៀបប្រៀបធៀបអាណាឡូក
9 0x0008 ADC ការបំលែង ADC បានបញ្ចប់
10 0x0009 TIMER1_COMPB កំណត់ម៉ោង / រាប់ ១ ប្រៀបធៀបការប្រកួតខ
11 0x000A TIMER0_COMPA កំណត់ម៉ោង / រាប់ ១ ប្រៀបធៀបការប្រកួត A
12 ០x១ ប៊ី TIMER0_COMPB កំណត់ម៉ោង / រាប់ ១ ប្រៀបធៀបការប្រកួតខ
13 ០x៤ ស៊ី WDT ឃ្លាំមើលអស់ពេល
14 0x000D USI_START យូ។ អេស។ អាយ។ ធី
15 0x000 អ៊ី USI_OVF USI ហូរហៀរ

ប្រសិនបើកម្មវិធីមិនដែលបើកដំណើរការប្រភពរំខាននោះវ៉ាក់សាំងរំខានមិនត្រូវបានប្រើទេហើយលេខកូដកម្មវិធីទៀងទាត់អាចត្រូវបានដាក់នៅទីតាំងទាំងនេះ។

ការដំឡើងធម្មតា និងទូទៅសម្រាប់អាសយដ្ឋានវ៉ិចទ័ររំខាននៅក្នុង ATtiny25/45/85 ត្រូវបានបង្ហាញនៅក្នុងកម្មវិធី exampខាងក្រោម។

កូដសន្និបាត Example
.org 0x0000 កំណត់អាសយដ្ឋានបន្ទាប់ សេចក្តីថ្លែងការណ៍
RmpET RESET ; អាសយដ្ឋាន 0x0000
rjmp INT0_ISR ; អាសយដ្ឋាន 0x0001
rjmp PCINT0_ISR ; អាសយដ្ឋាន 0x0002
rjmp TIM1_COMPA_ISR ; អាសយដ្ឋាន 0x0003
rjmp TIM1_OVF_ISR ; អាសយដ្ឋាន 0x0004
rjmp TIM0_OVF_ISR ; អាសយដ្ឋាន 0x0005
rjmp EE_RDY_ISR ; អាសយដ្ឋាន 0x0006
rjmp ANA_COMP_ISR ; អាសយដ្ឋាន 0x0007
rjmp ADC_ISR ; អាសយដ្ឋាន 0x0008
rjmp TIM1_COMPB_ISR ; អាសយដ្ឋាន 0x0009
rjmp TIM0_COMPA_ISR ; អាសយដ្ឋាន 0x000A
rjmp TIM0_COMPB_ISR ; អាសយដ្ឋាន 0x000B
rjmp WDT_ISR ; អាសយដ្ឋាន 0x000C
rjmp USI_START_ISR ; អាសយដ្ឋាន 0x000D
rjmp USI_OVF_ISR ; អាសយដ្ឋាន 0x000E
កំណត់ឡើងវិញ៖ ; កម្មវិធីសំខាន់ចាប់ផ្តើម
; អាសយដ្ឋាន 0x000F

ចំណាំ៖ សូមមើល “ កូដ Examples” នៅទំព័រ 6.

ការរំខានពីខាងក្រៅ

ការរំខានពីខាងក្រៅត្រូវបានបង្កឡើងដោយម្ជុល INT0 ឬម្ជុលណាមួយរបស់ភី។ ស៊ី។ ធី។ [5: 0] ។ សង្កេតថាប្រសិនបើបានបើកដំណើរការនោះការរំខាននឹងកើតឡើងបើទោះបីជាម្ជុល INT0 ឬ PCINT [5: 0] ត្រូវបានតំឡើងជាលទ្ធផលក៏ដោយ។ លក្ខណៈពិសេសនេះផ្តល់នូវវិធីនៃការបង្កើតកម្មវិធីរំខាន។ ការប្តូរកូដសម្ងាត់របស់ភីអាយអាយធីនឹងកេះប្រសិនបើបើកស៊ីនុសធីនធីង [៥: ០] បិទ / បើក។ ការត្រួតពិនិត្យ PCMSK ចុះឈ្មោះដែលម្ជុលជួយដល់ការផ្លាស់ប្តូរការភ្ជាប់ម្ជុល។ ការរំខាននៃការប្តូរលេខកូដសម្ងាត់នៅលើ PCINT [5: 0] ត្រូវបានរកឃើញមិនដំណើរការ។ នេះបញ្ជាក់ថាការរំខានទាំងនេះអាចត្រូវបានប្រើសម្រាប់ការភ្ញាក់ផ្នែកពីរបៀបគេងក្រៅពីរបៀបទុកចោល។

ការជ្រៀតជ្រែក INT0 អាចបណ្តាលមកពីការធ្លាក់ចុះឬការកើនឡើងគែមឬកម្រិតទាប។ នេះត្រូវបានតំឡើងដូចដែលបានចង្អុលបង្ហាញនៅក្នុងការបញ្ជាក់សម្រាប់ការចុះឈ្មោះត្រួតពិនិត្យ MCU - MCUCR ។ នៅពេលការបញ្ចូល INT0 ត្រូវបានបើកដំណើរការនិងត្រូវបានតំឡើងតាមកំរិតកំរិតការរំខាននឹងកេះដរាបណាម្ជុលជាប់។ ចំណាំថាការទទួលស្គាល់នៃការធ្លាក់ចុះឬការកើនឡើងគែមរំខាននៅលើអ៊ីនធីធីតទាមទារឱ្យមានវត្តមាននៃនាឡិកា I / O ដែលបានពិពណ៌នានៅក្នុង “ ប្រព័ន្ធនាឡិកានិងការចែកចាយរបស់ពួកគេ” ទំព័រ 23.

ការរំខានកម្រិតទាប

ការរំខានកម្រិតទាបនៅលើ INT0 ត្រូវបានរកឃើញអសមកាល។ នេះបញ្ជាក់ថាការរំខាននេះអាចត្រូវបានប្រើសម្រាប់ការភ្ញាក់ផ្នែកពីរបៀបគេងក្រៅពីរបៀបទុកចោល។ នាឡិកាអាយ / អូត្រូវបានបញ្ឈប់គ្រប់ទម្រង់នៃការគេងលើកលែងតែរបៀបទុកចោល។

ចំណាំថាប្រសិនបើកម្រិតដែលបង្កឱ្យមានការរំខានត្រូវបានប្រើសម្រាប់ការដាស់ពីថាមពលចុះក្រោម កម្រិតដែលត្រូវការត្រូវតែរក្សាឱ្យបានយូរគ្រប់គ្រាន់សម្រាប់ MCU ដើម្បីបញ្ចប់ការភ្ញាក់ឡើងដើម្បីបង្កឱ្យមានការរំខានដល់កម្រិត។ ប្រសិនបើកម្រិតបាត់មុនចុងបញ្ចប់នៃពេលវេលាចាប់ផ្តើម MCU នឹងនៅតែភ្ញាក់ឡើង ប៉ុន្តែគ្មានការរំខានណាមួយនឹងត្រូវបានបង្កើតទេ។ ពេលវេលាចាប់ផ្តើមត្រូវបានកំណត់ដោយ SUT និង CKSEL Fuses ដូចដែលបានពិពណ៌នានៅក្នុង “ ជម្រើសប្រព័ន្ធនាឡិកានិងនាឡិកា” នៅទំព័រ ២៣.

ប្រសិនបើកម្រិតទាបនៅលើម្ជុលរំខានត្រូវបានដកចេញមុនពេលឧបករណ៍ភ្ញាក់ឡើងបន្ទាប់មកការប្រតិបត្តិកម្មវិធីនឹងមិនត្រូវបានបង្វែរទៅទម្លាប់សេវាកម្មរំខានទេប៉ុន្តែបន្តពីការណែនាំបន្ទាប់ពីពាក្យបញ្ជា SLEEP ។

ពិនការផ្លាស់ប្តូរពេលវេលារំខាន

អតីតមួយampពេលវេលានៃការផ្លាស់ប្តូរម្ជុលត្រូវបានរំខានត្រូវបានបង្ហាញនៅក្នុង រូបភាព 9-1.

ចុះឈ្មោះការពិពណ៌នា

MCUCR - ចុះឈ្មោះត្រួតពិនិត្យ MCU

ការចុះឈ្មោះត្រួតពិនិត្យការរំខានពីខាងក្រៅមានផ្ទុកនូវឧបករណ៍បញ្ជាសម្រាប់ការគ្រប់គ្រងការរំខាន។

ប៊ីត 7 6 5 4 3 2 1 0
0x35 BODS PUD SE SM1 SM0 បូ 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

ប៊ីត ១: ០ - អាយ។ ស៊ី .០០ [១: ០] ៈការត្រួតពិនិត្យអារម្មណ៍រំខាន ០ ប៊ីត ១ និងប៊ីត ០

ការរំខានខាងក្រៅ ០ ត្រូវបានធ្វើឱ្យសកម្មដោយម្ជុលខាងក្រៅ INT0 ប្រសិនបើសញ្ញា SREG I និងរបាំងរំខានដែលត្រូវគ្នាត្រូវបានកំណត់។ កម្រិតនិងគែមនៅលើម្ជុល INT0 ខាងក្រៅដែលធ្វើសកម្មភាពរំខានត្រូវបានកំណត់នៅក្នុង តារាង 9-2. តម្លៃនៅលើម្ជុល INT0 គឺ sampដឹកនាំមុនពេលរកឃើញគែម។ ប្រសិនបើគែម ឬបិទបើកការរំខានត្រូវបានជ្រើសរើស ជីពចរដែលមានរយៈពេលយូរជាងរយៈពេលនាឡិកាមួយនឹងបង្កើតការរំខានមួយ។ ជីពចរខ្លីមិនត្រូវបានធានាដើម្បីបង្កើតការរំខានទេ។ ប្រសិនបើការរំខានកម្រិតទាបត្រូវបានជ្រើសរើស កម្រិតទាបត្រូវតែធ្វើឡើងរហូតដល់ការបញ្ចប់នៃការណែនាំដែលកំពុងដំណើរការបច្ចុប្បន្នដើម្បីបង្កើតការរំខាន។

តារាង 9-2 ។ រំខាន 0 Sense Control

ISC01 ISC00 ការពិពណ៌នា
0 0 កម្រិតទាបនៃ INT0 បង្កើតការស្នើសុំរំខាន។
0 1 រាល់ការផ្លាស់ប្តូរឡូជីខលលើអ៊ិនធីធី ០ បង្កើតនូវសំណើរផ្អាក។
1 0 គែមធ្លាក់ចុះនៃអ៊ិនធីធី ០ បង្កើតការស្នើសុំរំខាន។
1 1 ការកើនឡើងនៃអ៊ីនធីធី ០ បង្កើតនូវសំណើរផ្អាក។

ជីមីអេសខេ - ចុះឈ្មោះរបាំងរបាំងរំខានទូទៅ

ប៊ីត 7 6 5 4 3 2 1 0
០x១ ប៊ី INT0 PCIe ជីអេសស៊ី
អាន/សរសេរ R R/W R/W R R R R R
តម្លៃដំបូង 0 0 0 0 0 0 0 0

ប៊ីត ៧, ៤: ០ - រីកៈប៊ីតបម្រុងទុក

ប៊ីតទាំងនេះគឺជាប៊ីតដែលបានបម្រុងទុកនៅក្នុងអេធីធីទី ២៥ / ៤៥ / ៨៥ ហើយនឹងអានជាលេខសូន្យជានិច្ច។

ប៊ីត ៦ - អ៊ីធីធី ០ៈ សំណើររំខានពីខាងក្រៅ ០ អនុញ្ញាត

នៅពេលអ៊ីនធឺរអ៊ីធី ០ ត្រូវបានកំណត់ (មួយ) ហើយអាយប៊ីប៊ីនៅក្នុងការចុះឈ្មោះស្ថានភាព (អេស។ អេស។ អេ។ ) ត្រូវបានកំណត់ (មួយ) ការរំខានពីម្ជុលខាងក្រៅត្រូវបានបើក។ ប៊ីចេងស្កេនអ៊ិនធឺរស្ទឺរប៊ីត ១/០ (ISC0 និង ISC0) នៅក្នុងបញ្ជីត្រួតពិនិត្យ MCU (MCUCR) កំណត់ថាតើការរំខានពីខាងក្រៅត្រូវបានធ្វើឱ្យសកម្មនៅលើការកើនឡើងនិង / ឬគែមធ្លាក់ចុះនៃម្ជុល INT1 ឬកម្រិតដែលបានដឹង។ សកម្មភាពនៅលើម្ជុលនឹងបណ្តាលឱ្យមានការស្នើសុំរំខានទោះបីជា INT0 ត្រូវបានតំឡើងជាលទ្ធផលក៏ដោយ។ ការរំខានដែលត្រូវគ្នានៃសំណើរផ្អាកអន្តរកាល ០ ត្រូវបានប្រតិបត្តិចេញពីវ៉ិចទ័រអ៊ីនធឺរធីអ៊ីធីធី ០ ។

ប៊ីត 5 - PCIE: ការផ្លាស់ប្តូរការរំខាន Pin ប្តូរអាចប្រើបាន

នៅពេលដែលប៊ីភីអាយអេសត្រូវបានកំណត់ (មួយ) ហើយអាយប៊ីប៊ីនៅក្នុងការចុះឈ្មោះស្ថានភាព (អេសអេស) ត្រូវបានកំណត់ (មួយ) ការរំខានការប្តូរម្ជុលត្រូវបានបើក។ ការផ្លាស់ប្តូរណាមួយនៅលើម្ជុល PCINT ដែលបានបើក [5: 0] នឹងបង្កឱ្យមានការរំខាន។ ការរំខានដែលត្រូវគ្នានៃការស្នើសុំផ្អាកការផ្លាស់ប្តូរ Pin ត្រូវបានប្រតិបត្តិចេញពីវ៉ិចទ័រអន្តរកម្ម PCI ។ ម្ជុល PCINT [5: 0] ម្ជុលត្រូវបានបើកដំណើរការជាលក្ខណៈបុគ្គលដោយការចុះឈ្មោះ PCMSK0 ។

ហ្គីអេហ្វអេ - ការចុះឈ្មោះទង់អន្តរការណ៍ទូទៅ

ប៊ីត 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

ប៊ីត ៧, ៤: ០ - រីកៈប៊ីតបម្រុងទុក

ប៊ីតទាំងនេះគឺជាប៊ីតដែលបានបម្រុងទុកនៅក្នុងអេធីធីទី ២៥ / ៤៥ / ៨៥ ហើយនឹងអានជាលេខសូន្យជានិច្ច។

ប៊ីត ៦ - អិនធីអ៊ីហ្វ ០០៖ ទង់រំខានខាងក្រៅ ០

នៅពេលដែលគែមឬតក្កវិជ្ជាផ្លាស់ប្តូរនៅលើម្ជុល INT0 បង្កឱ្យមានការស្នើសុំរំខាន INTF0 ត្រូវបានកំណត់ (មួយ) ។ ប្រសិនបើ I-bit នៅក្នុង SREG និង INT0 ប៊ីតនៅក្នុង GIMSK ត្រូវបានកំណត់ (មួយ) នោះ MCU នឹងលោតទៅវ៉ិចទ័រដែលត្រូវគ្នា។ ទង់ត្រូវបានសម្អាតនៅពេលដែលការរំខានត្រូវបានប្រតិបត្តិ។ ម៉្យាងទៀតទង់អាចត្រូវបានលុបចោលដោយសរសេរឡូជីខលទៅវា។ ទង់នេះតែងតែត្រូវបានជម្រះនៅពេលដែល INT0 ត្រូវបានតំឡើងជាកម្រិតរំខាន។

ប៊ីត 5 - ភីអេហ្វអាយអេសភី: ប្តូរទង់រំខាន

នៅពេលដែលការផ្លាស់ប្តូរតក្កវិជ្ជានៅលើម្ជុល PCINT ណាមួយ [5: 0] បង្កឱ្យមានសំណើររំខានកុំព្យូទ័រ PCIF នឹងត្រូវបានកំណត់ (មួយ) ។ ប្រសិនបើ I-bit នៅក្នុង SREG និង PCIE ប៊ីតនៅក្នុង GIMSK ត្រូវបានកំណត់ (មួយ) នោះ MCU នឹងលោតទៅវ៉ិចទ័រដែលត្រូវគ្នា។ ទង់ត្រូវបានសម្អាតនៅពេលដែលការរំខានត្រូវបានប្រតិបត្តិ។ ម៉្យាងទៀតទង់អាចត្រូវបានលុបចោលដោយសរសេរឡូជីខលទៅវា។

ភីស៊ីអេសអេសខេ - ចុះឈ្មោះប្តូររបាំងរបាំង

ប៊ីត 7 6 5 4 3 2 1 0
0x15 PCINT5 PCINT4 PCINT3 PCINT2 PCINT1 PCINT0 ភី។ ស៊ី។ អេ។ អ
អាន/សរសេរ R R R/W R/W R/W R/W R/W R/W
តម្លៃដំបូង 0 0 0 0 0 0 0 0

ប៊ីត ៧: ១ - រីសៈប៊ីតបម្រុងទុក

ប៊ីតទាំងនេះគឺជាប៊ីតដែលបានបម្រុងទុកនៅក្នុងអេធីធីទី ២៥ / ៤៥ / ៨៥ ហើយនឹងអានជាលេខសូន្យជានិច្ច។

ប៊ីត ៥: ០ - ភី។ ស៊ី។ ធី។ [៥: ០] ៈការផ្លាស់ប្តូរពិនបើករបាំង ៥: ០

PCINT នីមួយៗ [៥: ០] ជ្រើសរើសថាតើការរំខានការប្តូរ pin ត្រូវបានបើកនៅលើ I / O pin ដែលត្រូវគ្នា។ ប្រសិនបើ PCINT [5: 0] ត្រូវបានកំណត់ហើយប៊ីត PCIE នៅក្នុង GIMSK ត្រូវបានកំណត់ការផ្អាកការផ្លាស់ប្តូរត្រូវបានបើកនៅលើ I / O pin ដែលត្រូវគ្នា។ ប្រសិនបើ PCINT [5: 0] ត្រូវបានជម្រះការផ្លាស់ប្តូរការរំខាននៅលើម្ជុល I / O ដែលត្រូវគ្នាត្រូវបានបិទ។

ច្រក I/O

សេចក្តីផ្តើម

ច្រក AVR ទាំងអស់មានមុខងារ Read-Modify-Write ពិតប្រាកដ នៅពេលប្រើជាច្រក I/O ឌីជីថលទូទៅ។ នេះមានន័យថាទិសដៅនៃច្រកច្រកមួយអាចផ្លាស់ប្តូរបានដោយមិនមានចេតនាផ្លាស់ប្តូរទិសដៅនៃម្ជុលផ្សេងទៀតដោយអចេតនាជាមួយនឹងការណែនាំរបស់ SBI និង CBI ។ អនុវត្តដូចគ្នានៅពេលផ្លាស់ប្តូរតម្លៃដ្រាយ (ប្រសិនបើបានកំណត់រចនាសម្ព័ន្ធជាទិន្នផល) ឬបើក/បិទឧបករណ៍ទប់ទល់ទាញ (ប្រសិនបើកំណត់រចនាសម្ព័ន្ធជាធាតុបញ្ចូល)។ សតិបណ្ដោះអាសន្នទិន្នផលនីមួយៗមានលក្ខណៈស៊ីមេទ្រីនៃដ្រាយស៊ីមេទ្រីជាមួយនឹងសមត្ថភាពលិចខ្ពស់ និងប្រភព។ កម្មវិធីបញ្ជាម្ជុលគឺខ្លាំងគ្រប់គ្រាន់ដើម្បីជំរុញការបង្ហាញ LED ដោយផ្ទាល់។ ម្ជុលច្រកទាំងអស់មានប្រដាប់ទប់ទាញដែលអាចជ្រើសរើសបានដោយឡែកពីគ្នាជាមួយនឹងវ៉ុលផ្គត់ផ្គង់tage ភាពធន់នឹងអថេរ។ ម្ជុល I/O ទាំងអស់មាន diodes ការពារទាំង VCC និង Ground ដូចដែលបានបង្ហាញនៅក្នុង រូបភាព 10-1. យោងទៅ “ លក្ខណៈអគ្គិសនី” នៅទំព័រ ១៦១ សម្រាប់បញ្ជីពេញលេញនៃប៉ារ៉ាម៉ែត្រ។

រូបភាព 10-1 ។ គ្រោងការណ៍សមមូល I/O Pin

រូប ១

រាល់ការចុះឈ្មោះ និងសេចក្តីយោងប៊ីតនៅក្នុងផ្នែកនេះត្រូវបានសរសេរជាទម្រង់ទូទៅ។ អក្សរតូច “x” តំណាងឱ្យអក្សរលេខសម្រាប់ច្រក ហើយអក្សរតូច “n” តំណាងឱ្យលេខប៊ីត។ ទោះយ៉ាងណាក៏ដោយ នៅពេលប្រើការចុះឈ្មោះ ឬកំណត់ប៊ីតក្នុងកម្មវិធី ទម្រង់ច្បាស់លាស់ត្រូវតែប្រើ។ សម្រាប់អតីតample, PORTB3 សម្រាប់លេខប៊ីត។ 3 នៅក្នុងច្រក B នៅទីនេះត្រូវបានចងក្រងជាឯកសារជាទូទៅថាជា PORTxn ។ ការចុះឈ្មោះ I/O ជាក់ស្តែង និងទីតាំងប៊ីតត្រូវបានរាយក្នុង “ ចុះឈ្មោះការពិពណ៌នា” លើ ទំព័រ 64.

ទីតាំងអាសយដ្ឋានសតិ I / O ចំនួនបីត្រូវបានបម្រុងទុកសម្រាប់ច្រកនីមួយៗមួយសម្រាប់ការចុះឈ្មោះទិន្នន័យ - ផេតភីស, ការចុះឈ្មោះទិសដៅទិន្នន័យ - ឌីឌីស៊ីនិងច្រកបញ្ចូលផែ - PINx ។ ទីតាំងច្រកបញ្ចូលកំពង់ផែ I / O ត្រូវបានអានតែប៉ុណ្ណោះខណៈពេលដែលការចុះឈ្មោះទិន្នន័យនិងការចុះឈ្មោះទិសដៅទិន្នន័យត្រូវបានអាន / សរសេរ។ ទោះយ៉ាងណាក៏ដោយការសរសេរតក្កវិជ្ជាមួយទៅបន្តិចនៅក្នុងលេខកូដសម្ងាត់អាយភីស៊ីនឹងបណ្តាលឱ្យមានការបិទបើកនៅក្នុងប៊ីតដែលត្រូវគ្នានៅក្នុងទិន្នន័យចុះឈ្មោះ។ លើសពីនេះទៀត Pull-up Disable - PUD ប៊ីតនៅក្នុង MCUCR បិទមុខងារទាញសម្រាប់ម្ជុលទាំងអស់នៅក្នុងកំពង់ផែទាំងអស់នៅពេលកំណត់។

ការប្រើច្រក I / O ជាឌីជីថលឌីជីថល I / O ត្រូវបានពិពណ៌នានៅក្នុង “ កំពង់ផែជាឌីជីថលឌីជីថល I / O ទូទៅ” នៅទំព័រ ៥៣។ ម្ជុលកំពង់ផែភាគច្រើនត្រូវបានបង្រួមជាមួយមុខងារឆ្លាស់គ្នាសម្រាប់មុខងារគ្រឿងនៅលើឧបករណ៍។ របៀបដែលមុខងារជំនួសនីមួយៗទាក់ទងនឹងច្រកកំពង់ផែត្រូវបានពិពណ៌នានៅក្នុង អនុគមន៍ច្រកជំនួស” នៅទំព័រ ៥៧។ យោងទៅផ្នែកម៉ូឌុលនីមួយៗសម្រាប់ការពិពណ៌នាពេញលេញនៃមុខងារជំនួស។

ចំណាំថាការបើកដំណើរការមុខងារជំនួសនៃច្រកកំពង់ផែខ្លះមិនមានផលប៉ះពាល់ដល់ការប្រើប្រាស់ម្ជុលផ្សេងទៀតនៅក្នុងកំពង់ផែដូចជាឌីជីថលអេចឌី / អូទូទៅទេ។

កំពង់ផែជាឌីជីថលទូទៅ I / O

កំពង់ផែគឺជាកំពង់ផែ I / O ដែលមានទិសដៅទ្វេជាមួយការទាញផ្ទៃក្នុង។ រូបភាព 10-2 បង្ហាញការពិពណ៌នាមុខងារនៃម្ជុល I / O-port មួយនៅទីនេះហៅថា Pxn ។

រូបភាព 10-2 ។ ឌីជីថល I/O ទូទៅ(១៦១៦)

រូប ១

កំណត់រចនាសម្ព័ន្ធភីន

ម្ជុលច្រកនីមួយៗមានប៊ីតចុះឈ្មោះបីគឺឌីដិនភីថិនស៊ីននិងលេខកូដភីច។ ដូចដែលបានបង្ហាញនៅក្នុង “ ចុះឈ្មោះការពិពណ៌នា” លើ ទំព័រ 64, ប៊ីត DDxn ត្រូវបានចូលប្រើនៅអាសយដ្ឋាន DDRx I / O, ច្រក PORTxn នៅអាសយដ្ឋាន PORTx I / O និងលេខកូដ PINxn នៅអាសយដ្ឋានលេខកូដ PINx I / O ។

ប៊ីត DDxn នៅក្នុង DDRx ចុះឈ្មោះជ្រើសរើសទិសដៅនៃម្ជុលនេះ។ ប្រសិនបើ DDxn ត្រូវបានសរសេរតក្កវិជ្ជាមួយ Pxn ត្រូវបានតំឡើងជាម្ជុលលទ្ធផល។ ប្រសិនបើ DDxn ត្រូវបានសរសេរតក្កវិជ្ជាសូន្យ Pxn ត្រូវបានតំឡើងជាកូដបញ្ចូល។

ប្រសិនបើ PORTxn ត្រូវបានសរសេរតក្កវិជ្ជាមួយនៅពេលដែលម្ជុលត្រូវបានតំឡើងជាម្ជុលបញ្ចូលនោះប្រដាប់ទប់ទាញត្រូវបានធ្វើឱ្យសកម្ម។ ដើម្បីបិទឧបករណ៍ចាប់ទាញទាញ PORTxn ត្រូវសរសេរជាឡូជីខលសូន្យឬម្ជុលត្រូវបានតំឡើងជាម្ជុលលទ្ធផល។ ម្ជុលកំពង់ផែត្រូវបានបញ្ជាក់នៅពេលស្ថានភាពកំណត់ឡើងវិញសកម្មបើទោះបីជាគ្មាននាឡិកាកំពុងដំណើរការក៏ដោយ។

ប្រសិនបើ PORTxn ត្រូវបានសរសេរតក្កវិជ្ជាមួយនៅពេលដែលម្ជុលត្រូវបានតំឡើងជាម្ជុលទិន្នផលនោះច្រកកំពង់ផែត្រូវបានជំរុញខ្ពស់ (មួយ) ។ ប្រសិនបើ PORTxn ត្រូវបានសរសេរតក្កវិជ្ជាសូន្យនៅពេលដែលម្ជុលត្រូវបានតំឡើងជាម្ជុលទិន្នផលនោះច្រកកំពង់ផែត្រូវបានជំរុញទាប (សូន្យ) ។

បិទបើកម្ជុល

ការសរសេរតក្កវិជ្ជាមួយទៅលេខកូដ PINxn នឹងបិទតម្លៃរបស់ PORTxn ឯករាជ្យលើតម្លៃរបស់ឌីឌីស៊ី។ ចំណាំថាការណែនាំអេសប៊ីអាយអាចត្រូវបានប្រើដើម្បីបិទបើកតែមួយនៅក្នុងច្រក។

ការផ្លាស់ប្តូររវាងការបញ្ចូលនិងទិន្នផល

នៅពេលប្តូររវាងរដ្ឋ tri-state ({DDxn, PORTxn} = 0b00) និងទិន្នផលខ្ពស់ ({DDxn, PORTxn} = 0b11) ស្ថានភាពអន្តរការសម្រុះសម្រួលជាមួយនឹងការបើកដំណើរការទាញឡើង {DDxn, PORTxn} = 0b01) ឬទិន្នផលទាប ({DDxn, PORTxn} = 0b10) ត្រូវតែកើតឡើង។ ជាធម្មតា ស្ថានភាពដែលបានបើកការទាញឡើងគឺអាចទទួលយកបានទាំងស្រុង ដោយសារបរិយាកាសដែលមានឧបសគ្គខ្ពស់នឹងមិនកត់សម្គាល់ពីភាពខុសគ្នារវាងអ្នកបើកបរខ្ពស់ខ្លាំង និងការទាញឡើងនោះទេ។ ប្រសិនបើនេះមិនមែនជាករណីទេ ប៊ីត PUD នៅក្នុងការចុះឈ្មោះ MCUCR អាចត្រូវបានកំណត់ឱ្យបិទការទាញឡើងទាំងអស់នៅក្នុងច្រកទាំងអស់។

ការផ្លាស់ប្តូររវាងការបញ្ចូលជាមួយនឹងការទាញនិងទិន្នផលទាបបង្កើតបញ្ហាដូចគ្នា។ អ្នកប្រើប្រាស់ត្រូវប្រើទាំងរដ្ឋ ({DDxn, PORTxn = = 0b00) ឬលទ្ធផលខ្ពស់ ({DDxn, PORTxn} = 0b10) ជាជំហានមធ្យម។

តារាង 10-1 សង្ខេបសញ្ញាបញ្ជាសម្រាប់តម្លៃម្ជុល។

តារាង 10-1 ។ ការកំណត់រចនាសម្ព័ន្ធរន្ធដោត

DDxn PORTxn PUD

(ក្នុង MCUCR)

អាយ/អូ ទាញឡើង មតិយោបល់
0 0 X បញ្ចូល ទេ រដ្ឋទ្រី (ហ៊ីហ៊ីហ្ស)
0 1 0 បញ្ចូល បាទ Pxn នឹងប្រភពបច្ចុប្បន្នប្រសិនបើ ext ។ ទាញទាប។
0 1 1 បញ្ចូល ទេ រដ្ឋទ្រី (ហ៊ីហ៊ីហ្ស)
1 0 X ទិន្នផល ទេ ទិន្នផលទាប (លិច)
1 1 X ទិន្នផល ទេ លទ្ធផលខ្ពស់ (ប្រភព)

ការអានតម្លៃម្ជុល

ដោយឯករាជ្យនៃការកំណត់ទិន្នន័យប៊ីតទិសដៅឌីអេចឌីច្រកអាចត្រូវបានអានតាមរយៈលេខកូដ PINxn ចុះឈ្មោះ។ ដូចដែលបានបង្ហាញនៅក្នុង រូបភាព 10-2, លេខកូដ PINxn ចុះឈ្មោះបន្តិចនិងឧបករណ៍ភ្ជាប់មុនបង្កើតបានជាឧបករណ៍ធ្វើសមកាលកម្ម។ នេះចាំបាច់ដើម្បីចៀសវាងការផ្លាស់ប្តូរបានប្រសិនបើម្ជុលរាងកាយផ្លាស់ប្តូរតម្លៃនៅជិតគែមនៃនាឡិកាខាងក្នុងប៉ុន្តែវាក៏ណែនាំពីការពន្យាពេលផងដែរ។ រូបភាព 10-3 បង្ហាញដ្យាក្រាមពេលវេលានៃការធ្វើសមកាលកម្ម នៅពេលអានតម្លៃម្ជុលដែលបានអនុវត្តខាងក្រៅ។ ការពន្យារការបន្តពូជអតិបរិមា និងអប្បរមាត្រូវបានបញ្ជាក់ tpd, max និង tpd, min រៀងគ្នា។

ពិចារណារយៈពេលនាឡិកាចាប់ផ្តើមភ្លាមៗបន្ទាប់ពីគែមធ្លាក់ចុះដំបូងនៃនាឡិការបស់ប្រព័ន្ធ។ អំពូលត្រូវបានបិទនៅពេលដែលនាឡិកាមានកំរិតទាបនិងមានតម្លាភាពនៅពេលដែលនាឡិកាមានកំរិតខ្ពស់ដូចដែលបានចង្អុលបង្ហាញដោយតំបន់ស្រមោលនៃសញ្ញា "SYNC LATCH" ។ តម្លៃសញ្ញាត្រូវបានទុកចោលនៅពេលនាឡិកាប្រព័ន្ធថយចុះ។ វាត្រូវបានបញ្ចូលទៅក្នុងលេខសម្ងាត់ PINxn ចុះឈ្មោះនៅគែមនាឡិកាវិជ្ជមានដែលទទួលបានជោគជ័យ។ ដូចដែលបានចង្អុលបង្ហាញដោយព្រួញពីរ tpd, max និង tpd, នាទីការផ្លាស់ប្តូរសញ្ញាតែមួយនៅលើម្ជុលនឹងត្រូវពន្យាពេលរវាងម៉ោងនាឡិកាប្រព័ន្ធ½និង ១½ អាស្រ័យលើពេលវេលានៃការអះអាង។

នៅពេលអានត្រលប់មកវិញនូវលេខកូដដែលត្រូវបានកំណត់តម្លៃការណែនាំ nop ត្រូវតែបញ្ចូលដូចដែលបានចង្អុលបង្ហាញ រូបភាព 10-4។ ការណែនាំចេញកំណត់សញ្ញា "SYNC LATCH" នៅគែមវិជ្ជមាននៃនាឡិកា។ ក្នុងករណីនេះការពន្យាពេល tpd តាមរយៈឧបករណ៍ធ្វើសមកាលកម្មគឺជារយៈពេលមួយនាឡិកាប្រព័ន្ធ។

កូដខាងក្រោម example បង្ហាញពីរបៀបកំណត់ច្រក B pin 0 និង 1 high, 2 និង 3 low ហើយកំណត់ port pins ពី 4 ទៅ 5 ជាការបញ្ចូលជាមួយនឹងការទាញឡើងដែលបានកំណត់ទៅ port pin 4។ តម្លៃ pin លទ្ធផលត្រូវបានអានម្តងទៀត ប៉ុន្តែ ដូចដែលបានពិភាក្សាពីមុន ការណែនាំ nop ត្រូវបានរួមបញ្ចូល ដើម្បីអាចអានឡើងវិញនូវតម្លៃដែលបានកំណត់នាពេលថ្មីៗនេះចំពោះម្ជុលមួយចំនួន។

កូដសន្និបាត Example(១៦១៦)

; កំណត់ការទាញឡើង និងកំណត់ទិន្នផលខ្ពស់។

; កំណត់ទិសដៅសម្រាប់ម្ជុលច្រក

ldi        r16,(1<<PB4)|(1<<PB1)|(1<<PB0)

ldi        r17,(1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0)

ចេញ PORTB, r16

ចេញ DDRB, r17

; បញ្ចូល nop សម្រាប់ការធ្វើសមកាលកម្ម

ទេ

; អានម្ជុលច្រក

ក្នុង r16, PINB

ចំណាំ៖ សម្រាប់កម្មវិធីជួបប្រជុំ ការចុះឈ្មោះបណ្តោះអាសន្នចំនួនពីរត្រូវបានប្រើដើម្បីកាត់បន្ថយពេលវេលាពីការទាញឡើងត្រូវបានកំណត់នៅលើម្ជុល 0, 1 និង 4 រហូតដល់ប៊ីតទិសដៅត្រូវបានកំណត់ត្រឹមត្រូវ កំណត់ប៊ីត 2 និង 3 ជាកម្រិតទាប និងកំណត់ឡើងវិញនូវប៊ីត 0 និង 1 ជាអ្នកបើកបរខ្លាំង។

កូដ C ឧample
unsigned char i;

/* កំណត់ការទាញឡើង និងកំណត់ទិន្នផលខ្ពស់ */

/* កំណត់ទិសដៅសម្រាប់ច្រកច្រក */ PORTB = (1<

DDRB = (1<<DDB3)|(1<<DDB2)|(1<<DDB1)|(1<<DDB0);

/* បញ្ចូល nop សម្រាប់ការធ្វើសមកាលកម្ម*/

_NOP ();

/* អានច្រកច្រក */ i = PINB;

របៀបបញ្ចូលឌីជីថលនិងរបៀបគេង

ដូចដែលបានបង្ហាញនៅក្នុង រូបភាព 10-2, សញ្ញាបញ្ចូលឌីជីថលអាចជា clamped ទៅដីនៅការបញ្ចូលនៃ schmitt-កេះ។ សញ្ញាបង្ហាញ SLEEP នៅក្នុងរូបភាព ត្រូវបានកំណត់ដោយឧបករណ៍បញ្ជាការគេង MCU នៅក្នុងរបៀបបិទថាមពល ដើម្បីជៀសវាងការប្រើប្រាស់ថាមពលខ្ពស់ ប្រសិនបើសញ្ញាបញ្ចូលមួយចំនួនត្រូវបានទុកចោល ឬមានកម្រិតសញ្ញាអាណាឡូកនៅជិត VCC/2។

SLEEP ត្រូវបានបដិសេធចំពោះម្ជុលកំពង់ផែដែលបានបើកដំណើរការដូចជាព្រួញរំខានខាងក្រៅ។ ប្រសិនបើសំណើរផ្អាកខាងក្រៅមិនត្រូវបានបើក SLEEP ក៏សកម្មសម្រាប់ម្ជុលទាំងនេះដែរ។ SLEEP ក៏ត្រូវបានបដិសេធដោយមុខងារជំនួសផ្សេងៗទៀតដូចដែលបានពិពណ៌នានៅក្នុង អនុគមន៍ច្រកជំនួស” នៅទំព័រ ៥៧.

ប្រសិនបើតក្កវិជ្ជាកម្រិតខ្ពស់ ("មួយ") មានវត្តមាននៅលើម្ជុលរំខានខាងក្រៅអសមកាលដែលបានកំណត់រចនាសម្ព័ន្ធជា "ការរំខាននៅលើគែមកើនឡើង គែមធ្លាក់ ឬការផ្លាស់ប្តូរតក្កវិជ្ជាណាមួយនៅលើម្ជុល" ខណៈពេលដែលការរំខានខាងក្រៅមិនត្រូវបានបើក ទង់ការរំខានខាងក្រៅដែលត្រូវគ្នានឹង ត្រូវបានកំណត់នៅពេលបន្តពីរបៀបគេងដែលបានរៀបរាប់ខាងលើដូច clampនៅក្នុងរបៀបគេងទាំងនេះបង្កើតការផ្លាស់ប្តូរតក្កវិជ្ជាដែលបានស្នើសុំ។

ម្ជុលគ្មានខ្សែ

ប្រសិនបើម្ជុលខ្លះមិនត្រូវបានប្រើវាត្រូវបានណែនាំឱ្យធានាថាម្ជុលទាំងនេះមានកម្រិតដែលបានកំណត់។ ទោះបីជាធាតុឌីជីថលភាគច្រើនត្រូវបានបិទនៅក្នុងរបៀបគេងជ្រៅដូចដែលបានរៀបរាប់ខាងលើក៏ដោយក៏ធាតុបញ្ចូលអណ្តែតគួរតែត្រូវបានជៀសវាងដើម្បីកាត់បន្ថយការប្រើប្រាស់បច្ចុប្បន្ននៅក្នុងរបៀបផ្សេងទៀតទាំងអស់ដែលការបញ្ចូលឌីជីថលត្រូវបានបើក (កំណត់របៀបសកម្មនិងរបៀបទុកចោល) ។

វិធីសាស្រ្តសាមញ្ញបំផុតដើម្បីធានាបាននូវកម្រិតដែលបានកំណត់នៃម្ជុលដែលមិនប្រើគឺដើម្បីបើកការទាញខាងក្នុង។ ក្នុងករណីនេះ ការទាញឡើងនឹងត្រូវបានបិទកំឡុងពេលកំណត់ឡើងវិញ។ ប្រសិនបើការប្រើប្រាស់ថាមពលទាបកំឡុងពេលកំណត់ឡើងវិញមានសារៈសំខាន់ វាត្រូវបានណែនាំឱ្យប្រើការទាញឡើងលើ ឬទាញចុះក្រោមពីខាងក្រៅ។ ការភ្ជាប់ម្ជុលដែលមិនប្រើដោយផ្ទាល់ទៅ VCC ឬ GND មិនត្រូវបានណែនាំទេ ព្រោះវាអាចបណ្តាលឱ្យមានចរន្តលើស ប្រសិនបើម្ជុលត្រូវបានកំណត់រចនាសម្ព័ន្ធដោយចៃដន្យជាលទ្ធផល។

មុខងារច្រកជំនួស

ម្ជុលកំពង់ផែភាគច្រើនមានមុខងារជំនួសបន្ថែមលើឌីជីថលអេអាយ / អូទូទៅ។ រូបភាព 10-5 បង្ហាញពីរបៀបដែលសញ្ញាត្រួតពិនិត្យច្រកមានលក្ខណៈធម្មតា រូបភាព 10-2 អាចត្រូវបានបដិសេធដោយមុខងារជំនួស។ សញ្ញាបដិសេធអាចមិនមាននៅក្នុងច្រកកំពង់ផែទាំងអស់ទេប៉ុន្តែតួលេខនេះបម្រើជាការពិពណ៌នាទូទៅដែលអាចអនុវត្តបានចំពោះសសរកំពង់ផែទាំងអស់នៅក្នុងគ្រួសារអ្នកត្រួតពិនិត្យ microR ។

តារាង 10-2 ។ ការពិពណ៌នាទូទៅនៃសញ្ញាបដិសេធសម្រាប់មុខងារជំនួស

ឈ្មោះសញ្ញា ឈ្មោះពេញ ការពិពណ៌នា
PUOE បើកការបដិសេធបដិសេធ ប្រសិនបើសញ្ញានេះត្រូវបានកំណត់ការទាញទាញត្រូវបានគ្រប់គ្រងដោយសញ្ញា PUOV ។ ប្រសិនបើសញ្ញានេះត្រូវបានសម្អាតការទាញត្រូវបានបើកនៅពេល

{DDxn, PORTxn, PUD} = 0b010 ។

PUOV ទាញយកតម្លៃបដិសេធ ប្រសិនបើ PUOE ត្រូវបានកំណត់ការទាញត្រូវបានបើក / បិទនៅពេលដែល PUOV ត្រូវបានកំណត់ / សម្អាតដោយមិនគិតពីការកំណត់របស់ឌីជីអេសភីផិចស៊ីននិងភីឌីភីចុះឈ្មោះ។
ឌីអូឌី ទិសដៅទិន្នន័យបដិសេធដំណើរការ ប្រសិនបើសញ្ញានេះត្រូវបានកំណត់កម្មវិធីបើកដំណើរការលទ្ធផលត្រូវបានគ្រប់គ្រងដោយសញ្ញា DDOV ។ ប្រសិនបើសញ្ញានេះត្រូវបានជម្រះកម្មវិធីបញ្ជាលទ្ធផលត្រូវបានបើកដោយប៊ីតឌីអេចឌីចុះឈ្មោះ។
ឌី។ ឌី។ វី ទិសដៅទិន្នន័យបដិសេធតម្លៃ ប្រសិនបើ DDOE ត្រូវបានកំណត់កម្មវិធីបញ្ចេញលទ្ធផលត្រូវបានបើក / បិទនៅពេល DDOV ត្រូវបានកំណត់ / សម្អាតដោយមិនគិតពីការកំណត់ប៊ីតចុះឈ្មោះ DDxn ។
PVOE បដិសេធតម្លៃច្រក ប្រសិនបើសញ្ញានេះត្រូវបានកំណត់ហើយកម្មវិធីបញ្ជាលទ្ធផលត្រូវបានបើកតម្លៃច្រកត្រូវបានគ្រប់គ្រងដោយសញ្ញា PVOV ។ ប្រសិនបើ PVOE ត្រូវបានជម្រះហើយកម្មវិធីបញ្ជាលទ្ធផលត្រូវបានបើកតម្លៃច្រកត្រូវបានគ្រប់គ្រងដោយប៊ីតផតថលចុះឈ្មោះ។
PVOV តម្លៃច្រកតម្លៃលើសតម្លៃ ប្រសិនបើ PVOE ត្រូវបានកំណត់តម្លៃច្រកត្រូវបានកំណត់ទៅ PVOV ដោយមិនគិតពីការកំណត់ប៊ីតចុះឈ្មោះ PORTxn ។
ភីតូអ៊ី បិទបើកច្រកបិទដំណើរការ ប្រសិនបើបានកំណត់ PTOE នោះប៊ីត PORTxn ត្រូវបានដាក់បញ្ច្រាស។
ឌីអ៊ីអូអូ ការបញ្ចូលឌីជីថលអាចបើកដំណើរការបដិសេធបាន ប្រសិនបើប៊ីតត្រូវបានកំណត់ឌីជីថលបញ្ចូលត្រូវបានគ្រប់គ្រងដោយសញ្ញា DIEOV ។ ប្រសិនបើសញ្ញានេះត្រូវបានលុបចោលការបញ្ចូលឌីជីថលត្រូវបានកំណត់ដោយរដ្ឋ MCU (របៀបធម្មតារបៀបគេង) ។
ឌីអ៊ីវ ការបញ្ចូលឌីជីថលអនុញ្ញាតឱ្យបដិសេធតម្លៃ ប្រសិនបើ DIEOE ត្រូវបានកំណត់ឌីជីថលបញ្ចូលត្រូវបានបើក / បិទនៅពេលដែល DIEOV ត្រូវបានកំណត់ / សម្អាតដោយមិនគិតពីរដ្ឋ MCU (របៀបធម្មតារបៀបគេង) ។
DI ការបញ្ចូលឌីជីថល នេះគឺជាការបញ្ចូលឌីជីថលទៅមុខងារជំនួស។ នៅក្នុងរូបភាពនេះសញ្ញាត្រូវបានភ្ជាប់ទៅនឹងលទ្ធផលនៃ schmitt-trigger ប៉ុន្តែមុនពេលធ្វើសមកាលកម្ម។ លុះត្រាតែឌីជីថលបញ្ចូលត្រូវបានប្រើជាប្រភពនាឡិកាម៉ូឌុលដែលមានមុខងារជំនួសនឹងប្រើឧបករណ៍ធ្វើសមកាលកម្មដោយខ្លួនឯង។
AIO ការបញ្ចូល / លទ្ធផលអាណាឡូក នេះគឺជាការបញ្ចូល / ទិន្នផលអាណាឡូកទៅ / ពីមុខងារជំនួស។ សញ្ញាត្រូវបានភ្ជាប់ដោយផ្ទាល់ទៅនឹងបន្ទះហើយអាចត្រូវបានប្រើដោយផ្ទាល់។

ផ្នែករងដូចខាងក្រោមពិពណ៌នាអំពីមុខងារជំនួសសម្រាប់កំពង់ផែនីមួយៗហើយទាក់ទងនឹងសញ្ញាបដិសេធទៅនឹងមុខងារជំនួស។ សូមមើលការពិពណ៌នាមុខងារជំនួសសម្រាប់ព័ត៌មានលម្អិតបន្ថែម។

មុខងារជំនួសនៃកំពង់ផែខ

ម្ជុល Port B ដែលមានមុខងារជំនួសត្រូវបានបង្ហាញនៅក្នុង តារាង 10-3.

តារាង 10-3 ។ ច្រក B Pins មុខងារជំនួស

Port Pin មុខងារជំនួស
PB5

RESET: កំណត់ម្ជុលឡើងវិញ

dW: debugWIRE I / O ADC0: បណ្តាញបញ្ចូល ADC ០

PCINT5: ផ្អាកការផ្លាស់ប្តូរ Pin ប្រភព ៥

PB4 XTAL2: ទិន្នផលគ្រីស្តាល់អូស្ការយស្ទ័រអិលខេអូ: លទ្ធផលនៃប្រព័ន្ធប្រព័ន្ធអេចឌី ២: បណ្តាញអេឌីស៊ីបញ្ចូលទី ២

OC1B: ឧបករណ៍កំណត់ពេលវេលា / រាប់ ១ ប្រៀបធៀបលទ្ធផលនៃលទ្ធផលខខ PCINT1: ការផ្លាស់ប្តូរការរំខាន Pin, ប្រភព ៤

PB3 XTAL1: បញ្ចូលគ្រីស្តាល់ Oscillator CLKI: ការបញ្ចូលនាឡិកាខាងក្រៅ ADC3: ADC Input Channel 3

OC1B: កម្មវិធីកំណត់ពេលវេលាបំពេញបន្ថែម / ការរាប់ ១ ប្រៀបធៀបលទ្ធផលនៃការប្រកួតខខុនស៊ីធីធី ៣៖ ការប្តូរខ្ទាស់រំខាន ០ ប្រភព ៣

PB2 អេសខេអេស៖ ការបញ្ចូលនាឡិកាស៊េរីអេស៊ីអេស ១៖ បណ្តាញអេឌីស៊ីបញ្ចូលទី ១

T0: កម្មវិធីកំណត់ពេលវេលា / ម៉ោងរាប់តាមម៉ោងនាឡិកាស។ រ។ អ។ ក។ ក: នាឡិកាស។ រ។ អ។ អ។ អ។

PB1 MISO: ការបញ្ចូលទិន្នន័យអេអាយ។ អាយ។ អិ។ អ៊ីមេ / បញ្ចូលទិន្នន័យទាសករ AIN1: ឧបករណ៍ប្រៀបធៀបអាណាឡូកបញ្ចូលអវិជ្ជមាន OC0B: ឧបករណ៍កំណត់ពេលវេលា / រាប់ ០ ប្រៀបធៀបការផ្គូផ្គង B លទ្ធផល OC0A: ឧបករណ៍កំណត់ពេលវេលា / រាប់ ១ ប្រៀបធៀបការប្រកួតលទ្ធផលលទ្ធផល DO: ទិន្នផលអាយ។ ភី។ អេស។ អេ។ អិន។ ០, ប្រភព ១
PB0 MOSI :: ទិន្នផលទិន្នន័យមេរបស់ភី។ អាយ។ អេ។ អេស។ អេ។ អេស។ អិនៈអ្នកប្រៀបធៀបអាណាឡូកបញ្ចូលវិជ្ជមាន

OC0A៖ កម្មវិធីកំណត់ម៉ោង/Counter0 ប្រៀបធៀបលទ្ធផល Match A

OC1A: កម្មវិធីកំណត់ពេលវេលាបំពេញបន្ថែម / ការរាប់ ១ ប្រៀបធៀបការប្រកួតផ្គូផ្គងលទ្ធផលលទ្ធផលឌីអិនអេៈការបញ្ចូលទិន្នន័យយូអេសអាយ (របៀបខ្សែបី)

អេសឌីអេស៖ ការបញ្ចូលទិន្នន័យយូអេសអាយ (របៀបខ្សែពីរ) អេអេហ្វអេហ្វអេហ្វអេនអេនអេនអេនអេនជីអិនអិនធីអិនៈការផ្លាស់ប្តូរការប្តូរ Pin, ប្រភព ០

កំពង់ផែប៊ីតប៊ីត ៥ - រ៉េអេសអេ / ឌី / អេដស៊ី ០ / ភីស៊ីនធី ៥

RESET ៈការបញ្ចូលកំណត់ឡើងវិញនៅខាងក្រៅគឺសកម្មទាបហើយបើកដំណើរការដោយមិនធ្វើចារកម្ម (“ ១”) RSTDISBL Fuse ។ ការទាញត្រូវបានធ្វើឱ្យសកម្មហើយកម្មវិធីបញ្ជាលទ្ធផលនិងការបញ្ចូលឌីជីថលត្រូវបានធ្វើឱ្យអសកម្មនៅពេលដែលម្ជុលត្រូវបានប្រើជាម្ជុល RESET ។

dW: នៅពេលដែល debugWIRE បើកដំណើរការ (DWEN) ហ្វុយហ្ស៊ីបត្រូវបានរៀបចំកម្មវិធីហើយប៊ីតចាក់សោមិនត្រូវបានគេប្រើប្រព័ន្ធ debugWIRE នៅក្នុងឧបករណ៍គោលដៅត្រូវបានធ្វើឱ្យសកម្ម។ ម្ជុលកំពង់ផែ RESET ត្រូវបានតំឡើងជាលួស I / O ដែលមានទិសដៅទ្វេរខ្សែនិងខ្សែភ្ជាប់ដែលអាចទាញបាននិងក្លាយជាច្រកទំនាក់ទំនងរវាងគោលដៅនិងកម្មវិធីត្រាប់តាម។

ADC0៖ អាណាឡូក​ទៅ​កម្មវិធី​បំប្លែង​ឌីជីថល ប៉ុស្តិ៍ ០។

PCINT5: ប្រភព Pin Change រំខាន ៥ ។

ច្រក B, ប៊ីត 4 - XTAL2 / CLKO / ADC2 / OC1B / PCINT4

XTAL2: កូដ PIN នាឡិកា Oscillator លេខ ២ ប្រើជាម្ជុលនាឡិកាសំរាប់ប្រភពនាឡិកាបន្ទះឈីបទាំងអស់លើកលែងតែស៊ីអេសអេសអ័រស៊ីលីសទ័រនិងនាឡិកាខាងក្រៅ នៅពេលប្រើជាទ្រនាប់នាឡិកាម្ជុលមិនអាចប្រើជាម្ជុលអាយ / អូបានទេ។ នៅពេលប្រើ RC Oscillator ដែលអាចកែខៃផ្ទៃក្នុងឬនាឡិកាខាងក្រៅជាប្រភពនាឡិកាជីបភីភី ៤ ដើរតួជាម្ជុល I / O ធម្មតា។

CLKO: នាឡិកាប្រព័ន្ធដែលមានទិសដៅអាចជាលទ្ធផលនៅលើម្ជុល PB4 ។ នាឡិកាប្រព័ន្ធដែលបានបែងចែកនឹងត្រូវបានផ្តល់ជូនប្រសិនបើ CKOUT Fuse ត្រូវបានរៀបចំឡើងដោយមិនគិតពីការកំណត់ PORTB4 និង DDB4 ។ វាក៏នឹងជាលទ្ធផលកំឡុងពេលកំណត់ឡើងវិញ។

ADC2៖ អាណាឡូក​ទៅ​កម្មវិធី​បំប្លែង​ឌីជីថល ប៉ុស្តិ៍ ០។

OC1B: លទ្ធផលប្រៀបធៀបលទ្ធផលផ្គូរផ្គង: ម្ជុល PB4 អាចដើរតួជាទិន្នផលខាងក្រៅសម្រាប់ឧបករណ៍កំណត់ពេលវេលា / រាប់ ១ ប្រៀបធៀបការផ្គូផ្គង B នៅពេលកំណត់ជាលទ្ធផល (សំណុំ DDB1) ។ ម្ជុល OC4B ក៏ជាម្ជុលលទ្ធផលសម្រាប់មុខងារកម្មវិធីកំណត់ពេលវេលារបៀប PWM ។

PCINT4: ប្រភព Pin Change រំខាន ៥ ។

ច្រក B, ប៊ីត ៣ - XTAL3 / CLKI / ADC1 / OC3B / PCINT1

XTAL1: លេខកូដបន្ទះឈីប Clock Chip Oscillator 1. ត្រូវបានប្រើសម្រាប់ប្រភពនាឡិកាបន្ទះឈីបទាំងអស់លើកលែងតែលំយោល RC ដែលអាចវាស់វែងខាងក្នុងបាន។ នៅពេលប្រើជាទ្រនាប់នាឡិកាម្ជុលមិនអាចប្រើជាម្ជុលអាយ / អូបានទេ។

CLKI: នាឡិកាបញ្ចូលពីប្រភពនាឡិកាខាងក្រៅសូមមើល “ នាឡិកាខាងក្រៅ” នៅទំព័រ ២៦.

ADC3៖ អាណាឡូក​ទៅ​កម្មវិធី​បំប្លែង​ឌីជីថល ប៉ុស្តិ៍ ០។

OC1B: លទ្ធផលដាក់បញ្ច្រាសប្រៀបធៀបលទ្ធផលផ្គូផ្គង៖ ម្ជុល PB3 អាចដើរតួជាទិន្នផលខាងក្រៅសម្រាប់ឧបករណ៍កំណត់ពេលវេលា / រាប់ ១ ប្រៀបធៀបការផ្គូផ្គងខនៅពេលកំណត់ជាលទ្ធផល (សំណុំ DDB1) ។ ម្ជុល OC3B ក៏ជាម្ជុលទិន្នផលបញ្ច្រាសសម្រាប់មុខងារកម្មវិធីកំណត់ពេលវេលារបៀប PWM ។

PCINT3: ប្រភព Pin Change រំខាន ៥ ។

កំពង់ផែប៊ីតប៊ីត ២ - ស៊ី។ ស៊ី។ អេ។ ស៊ី។ អេ .១ / T2 / ស៊ី។ ស៊ី។ ស៊ី។ អេស។ អិល។ / INT1 / PCINT២

អេសខេអេស៖ ទិន្នផលនាឡិកាម៉ាស្ទ័រ, នាឡិកាបញ្ចូលយឺតនាឡិកាសម្រាប់ឆានែលអេសអាយ។ នៅពេលអេសភីអាយត្រូវបានបើកជាទាសភាពម្ជុលនេះត្រូវបានតំឡើងជាធាតុបញ្ចូលដោយមិនគិតពីការកំណត់របស់ឌីអេមប៊ី ២ ។ នៅពេលអេសភីអាយត្រូវបានបើកដំណើរការជាម៉ាស្ទ័រទិសដៅទិន្នន័យនៃម្ជុលនេះត្រូវបានគ្រប់គ្រងដោយឌីឌីភីប៊ី 2 ។ នៅពេលដែលម្ជុលត្រូវបានបង្ខំដោយអេសភីដើម្បីជាការបញ្ចូលការទាញនៅតែអាចត្រូវបានគ្រប់គ្រងដោយ PORTB2 ។

ADC1៖ អាណាឡូក​ទៅ​កម្មវិធី​បំប្លែង​ឌីជីថល ប៉ុស្តិ៍ ០។

T0: ប្រភពរាប់ចំនួនពេលវេលា។

យូស៊ីខេកៈនាឡិការអន្តរកម្មសៀរៀលជាស៊េរី ៣ ខ្សែ។

អេសអិល: នាឡិការសៀរៀលពីរខ្សែសម្រាប់របៀបពីរខ្សែ។

INT0: ប្រភពរំខានខាងក្រៅ ០ ។

PCINT2: ប្រភព Pin Change រំខាន ៥ ។

កំពង់ផែប៊ីតប៊ីត ១ - មីស៊ីអូ / អេនអេ ១ / អូស៊ី ០ ប៊ី / អូស៊ី ១ អេ / ដូ / ភីស៊ីនធី ១

MISO: ការបញ្ចូលទិន្នន័យមេ, ម្ជុលលទ្ធផលទិន្នន័យសម្រាប់ឆានែលអេសអាយ។ នៅពេលអេសអាយអេសត្រូវបានបើកជាម៉ាស្ទ័រម្ជុលនេះត្រូវបានតំឡើងជាធាតុបញ្ចូលដោយមិនគិតពីការកំណត់ DDB1 ។ នៅពេលអេសភីអាយត្រូវបានបើកជាទាសភាពទិសដៅទិន្នន័យនៃម្ជុលនេះត្រូវបានគ្រប់គ្រងដោយ DDB1 ។ នៅពេលដែលម្ជុលត្រូវបានបង្ខំដោយអេសភីអាយដើម្បីជាការបញ្ចូលការទាញនៅតែអាចត្រូវបានគ្រប់គ្រងដោយ PORTB1 ។

AIN1: ការបញ្ចូលអាណាឡូកប្រៀបធៀបប្រៀបធៀបអវិជ្ជមាន។ តំឡើងម្ជុលកំពង់ផែនៅពេលបញ្ចូលជាមួយឧបករណ៍ទាញខាងក្នុងបានបិទដើម្បីចៀសវាងមុខងារកំពង់ផែឌីជីថលពីការរំខានដល់មុខងាររបស់អាណាឡូកប្រៀបធៀប។

OC0B: លទ្ធផលប្រៀបធៀបលទ្ធផលផ្គូផ្គង។ ម្ជុល PB1 អាចដើរតួជាទិន្នផលខាងក្រៅសម្រាប់ឧបករណ៍កំណត់ពេលវេលា / ប្រៀបធៀប ០ ប្រៀបធៀបការប្រកួតខ។ ម្ជុល PB0 ត្រូវតែកំណត់ជាលទ្ធផល (សំណុំ DDB1 (មួយ)) ដើម្បីបម្រើមុខងារនេះ។ ម្ជុល OC1B ក៏ជាម្ជុលលទ្ធផលសម្រាប់មុខងារកម្មវិធីកំណត់ពេលវេលារបៀប PWM ។

OC1A: ទិន្នផលប្រៀបធៀបលទ្ធផលផ្គូរផ្គង: ម្ជុល PB1 អាចដើរតួជាទិន្នផលខាងក្រៅសម្រាប់ឧបករណ៍កំណត់ពេលវេលា / រាប់ ១ ប្រៀបធៀបការប្រកួតខនៅពេលកំណត់រចនាសម្ព័ន្ធជាលទ្ធផល (សំណុំ DDB1) ។ កូដ OC1A ក៏ជាម្ជុលលទ្ធផលសម្រាប់មុខងារកម្មវិធីកំណត់ពេលវេលារបៀប PWM ។

ធ្វើ៖ របៀបទិន្ន័យជាលក្ខណៈខ្សែបីជួរជាសកលលទ្ធផលទិន្ន័យ។ របៀបបីហ្វាលទិន្នផលទិន្នន័យលើសតម្លៃ PORTB1 ហើយវាត្រូវបានជំរុញទៅកំពង់ផែនៅពេលទិន្ន័យទិន្ន័យទិន្នន័យ DDB1 ត្រូវបានកំណត់ (មួយ) PORTB1 នៅតែអាចជួយទាញប្រសិនបើទិសដៅត្រូវបានបញ្ចូលហើយ PORTB1 ត្រូវបានកំណត់ (មួយ) ។

PCINT1: ប្រភព Pin Change រំខាន ៥ ។

កំពង់ផែប៊ីតប៊ីត ០ - មីសស៊ីអេ / អេ ន០០ / អូ ស៊ី០A / អូស៊ី ១A / ឌី / អេសអេអេ / អេហ្វអេហ្វ / ភីស៊ីនធី ០

MOSI៖ លទ្ធផល SPI Master Data, ការបញ្ចូលទិន្នន័យសម្រាប់ឆានែល SPI ។ នៅពេលអេសអាយអេសត្រូវបានបើកជាទាសភាពម្ជុលនេះត្រូវបានតំឡើងជាធាតុបញ្ចូលដោយមិនគិតពីការកំណត់របស់ឌី។ អេ .០០ ។ នៅពេលអេសភីអាយត្រូវបានបើកជាម៉ាស្ទ័រទិសដៅទិន្នន័យនៃម្ជុលនេះត្រូវបានគ្រប់គ្រងដោយឌីអេសប៊ី ០ ។ នៅពេលដែលម្ជុលត្រូវបានបង្ខំដោយអេសភីដើម្បីជាការបញ្ចូលការទាញនៅតែអាចត្រូវបានគ្រប់គ្រងដោយ PORTB0 ។

AIN0: ការបញ្ចូលអាណាឡូកប្រៀបធៀបវិជ្ជមាន។ តំឡើងម្ជុលកំពង់ផែនៅពេលបញ្ចូលជាមួយឧបករណ៍ទាញខាងក្នុងបានបិទដើម្បីចៀសវាងមុខងារកំពង់ផែឌីជីថលពីការរំខានដល់មុខងាររបស់អាណាឡូកប្រៀបធៀប។

OC0A: លទ្ធផលប្រៀបធៀបលទ្ធផលផ្គូផ្គង។ ម្ជុល PB0 អាចដើរតួជាទិន្នផលខាងក្រៅសម្រាប់ឧបករណ៍កំណត់ពេលវេលា / រាប់ ០ ប្រៀបធៀបការប្រកួត A នៅពេលកំណត់រចនាសម្ព័ន្ធជាលទ្ធផល (សំណុំ DDB0 (មួយ)) ។ ម្ជុល OC0A ក៏ជាម្ជុលលទ្ធផលសម្រាប់មុខងារកម្មវិធីកំណត់ពេលវេលារបៀប PWM ។

OC1A: លទ្ធផលដាក់បញ្ច្រាសប្រៀបធៀបលទ្ធផលផ្គូផ្គង៖ ម្ជុល PB0 អាចដើរតួជាទិន្នផលខាងក្រៅសម្រាប់ឧបករណ៍កំណត់ពេលវេលា / រាប់ ១ ប្រៀបធៀបការប្រកួតខនៅពេលកំណត់រចនាសម្ព័ន្ធជាលទ្ធផល (សំណុំ DDB1) ។ ម្ជុល OC0A ក៏ជាម្ជុលទិន្នផលបញ្ច្រាសសម្រាប់មុខងារកម្មវិធីកំណត់ពេលវេលារបៀប PWM ។

អេសអេអេអេសៈទិន្ន័យចំណុចប្រទាក់សៀរៀលពីររបៀប។

AREF៖ សេចក្តីយោងអាណាឡូកខាងក្រៅសម្រាប់ ADC ។ កម្មវិធីបញ្ជាទាញ និងលទ្ធផលត្រូវបានបិទនៅលើ PB0 នៅពេលដែលម្ជុលត្រូវបានប្រើជាឯកសារយោងខាងក្រៅ ឬវ៉ុលខាងក្នុងtage សេចក្តីយោងជាមួយ capacitor ខាងក្រៅនៅ pin AREF ។

ឌីអិលៈការបញ្ចូលទិន្នន័យនៅក្នុងរបៀបបីខ្សែរបស់យូអេសអាយ។ របៀបបីខ្សែរបស់យូអាយអេសមិនបដិសេធមុខងារកំពង់ផែធម្មតាទេដូច្នេះម្ជុលត្រូវតែកំណត់រចនាសម្ព័ន្ធជាធាតុបញ្ចូលសម្រាប់មុខងារឌី។

PCINT0: ប្រភព Pin Change រំខាន ៥ ។

តារាង 10-4 និង តារាង 10-5 ទាក់ទងមុខងារឆ្លាស់គ្នានៃកំពង់ផែខទៅសញ្ញាបដិសេធដែលបង្ហាញក្នុង រូបភាពទី ១០-៥ លើ ទំព័រ 58.

តារាង 10-4 ។ ការបដិសេធសញ្ញាសម្រាប់មុខងារជំនួសនៅក្នុង PB[5:3]

ឈ្មោះសញ្ញា PB5 / RESET / ADC0 / PCINT5 PB4/ADC2/XTAL2/ OC1B/PCINT4 PB3/ADC3/XTAL1/ OC1B/PCINT3
PUOE

RSTDISBL(១៦១៦) •ឌីវ៉េន(១៦១៦)

0 0
PUOV 1 0 0
ឌីអូឌី RSTDISBL(១៦១៦) •ឌីវ៉េន(១៦១៦) 0 0
ឌី។ ឌី។ វី debugWire បញ្ជូន 0 0
PVOE 0 OC1B បើកដំណើរការ

OC1B បើកដំណើរការ

PVOV 0 OC1B OC1B
ភីតូអ៊ី 0 0 0
ឌីអ៊ីអូអូ

RSTDISBL(១៦១៦) + (PCINT5 • PCIE + ADC0D)

PCINT4 • PCIE + ADC2D PCINT3 • PCIE + ADC3D
ឌីអ៊ីវ ADC0D ADC2D ADC3D
DI ការបញ្ចូល PCINT5 ការបញ្ចូល PCINT4 ការបញ្ចូល PCINT3
AIO ការបញ្ចូល RESET, ADC0 បញ្ចូល ការបញ្ចូល ADC2 ការបញ្ចូល ADC3

ចំណាំ៖ នៅពេលដែល Fuse គឺ “0” (កម្មវិធី)។

តារាង 10-5 ។ ការបដិសេធសញ្ញាសម្រាប់មុខងារជំនួសនៅក្នុង PB[2:0]

ឈ្មោះសញ្ញា 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
ឌីអូឌី USI_TWO_WIRE 0 USI_TWO_WIRE
ឌី។ ឌី។ វី (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 + ធ្វើ

OC0A + OC1A

ភីតូអ៊ី USITC 0 0
ឌីអ៊ីអូអូ PCINT2 • PCIE + ADC1D + USISIE PCINT1 • PCIE + AIN1D PCINT0 • PCIE + AIN0D + USISIE
ឌីអ៊ីវ 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
0x35 BODS PUD SE SM1 SM0 បូ 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

ប៊ីតទី ៦ - ផ។ ស។ ព៖ ទាញឡើងបិទ

នៅពេលដែលប៊ីតនេះត្រូវបានសរសេរទៅមួយការទាញនៅក្នុងច្រក I / O ត្រូវបានបិទបើទោះបីជា DDxn និង PORTxn Registers ត្រូវបានតំឡើងដើម្បីបើកដំណើរការទាញ ({DDxn, PORTxn = = 0b01) ។ សូមមើល “ កំណត់រចនាសម្ព័ន្ធម្ជុល” នៅទំព័រ ៥៤ សម្រាប់ព័ត៌មានលម្អិតអំពីលក្ខណៈពិសេសនេះ។

ច្រក - ចុះឈ្មោះទិន្នន័យច្រកកំពង់ផែ

ប៊ីត 7 6 5 4 3 2 1 0
0x18 ផតថល ៥ ផតថល ៥ ផតថល ៥ ផតថល ៥ ផតថល ៥ ផតថល ៥ ផាំងប៊ី
អាន/សរសេរ R R R/W R/W R/W R/W R/W R/W
តម្លៃដំបូង 0 0 0 0 0 0 0 0

ឌីឌីប៊ីប៊ី - ចុះឈ្មោះទិសដៅទិន្នន័យកំពង់ផែ

ប៊ីត 7 6 5 4 3 2 1 0
0x17 DDB ៥ DDB ៥ DDB ៥ DDB ៥ DDB ៥ DDB ៥ DDRB
អាន/សរសេរ R R R/W R/W R/W R/W R/W R/W
តម្លៃដំបូង 0 0 0 0 0 0 0 0

លេខសម្គាល់ប៊ីប៊ីប៊ី - ច្រកដាក់បញ្ចូលកំពង់ផែខ

ប៊ីត 7 6 5 4 3 2 1 0
0x16 លេខកូដ PINB5 លេខកូដ PINB4 លេខកូដ PINB3 លេខកូដ PINB2 លេខកូដ PINB1 លេខកូដ PINB0 ភីប៊ីប៊ី
អាន/សរសេរ R R R/W R/W R/W R/W R/W R/W
តម្លៃដំបូង 0 0 គ្មាន គ្មាន គ្មាន គ្មាន គ្មាន គ្មាន

ឧបករណ៍កំណត់ពេលវេលា / ប៊ីត ៨ ប៊ីតជាមួយភីស៊ីអេស

លក្ខណៈពិសេស

លទ្ធផលឯករាជ្យចំនួនពីរប្រៀបធៀបអង្គភាព

ទិន្នផលទ្វេដងប្រៀបធៀបនឹងបញ្ជីឈ្មោះ

សម្អាតឧបករណ៍កំណត់ពេលវេលាលើការប្រៀបធៀបប្រៀបធៀប (ដំណើរការឡើងវិញដោយស្វ័យប្រវត្តិ)

Glitch Free ដំណាក់កាលកែសំរួលទទឹងជីពចរដំណាក់កាល (PWM)

រយៈពេល PWM អថេរ

ម៉ាស៊ីនបង្កើតប្រេកង់

ប្រភពរំខានឯករាជ្យបី (TOV0, OCF0A, និង OCF0B)

ជាងview

កម្មវិធីកំណត់ពេលវេលា / Counter0 គឺជាម៉ូឌុលទូទៅកម្មវិធីកំណត់ពេលវេលា / រាប់ ៨ ប៊ីតដែលមានគោលបំណងជាអង្គភាពឯករាជ្យប្រៀបធៀបពីរនិងជាមួយ PWM ។ វាអនុញ្ញាតឱ្យមានពេលវេលាអនុវត្តកម្មវិធីត្រឹមត្រូវ (ការគ្រប់គ្រងព្រឹត្តិការណ៍) និងការបង្កើតរលក។

ដ្យាក្រាមប្លុកសាមញ្ញនៃឧបករណ៍កំណត់ពេលវេលា / រាប់ ៨ ប៊ីតត្រូវបានបង្ហាញនៅក្នុង រូបភាព 11-1។ ចំពោះការដាក់ម្ជុល I / O ជាក់ស្តែងសូមយោង “ Pinout ATtiny25 / 45/85” នៅទំព័រទី ២។ ស៊ីភីយូ I / O ដែលអាចចូលដំណើរការបានរួមទាំងប៊ីអាយ / អូនិងម្ជុល I / O ត្រូវបានបង្ហាញជាអក្សរដិត។ ការចុះឈ្មោះ I / O ជាក់លាក់នៃឧបករណ៍និងទីតាំងប៊ីតត្រូវបានរាយនៅក្នុងឯកសារអ៊ីម៉ែល “ ចុះឈ្មោះការពិពណ៌នា” នៅទំព័រ ៧៧.

កម្មវិធីកំណត់ម៉ោង/Counter (TCNT0) និង Output Compare Registers (OCR0A និង OCR0B) គឺជាការចុះឈ្មោះ 8-bit។ សំណើររំខាន (អក្សរកាត់ទៅ Int.Req. ក្នុងរូបភាព) សញ្ញាទាំងអស់អាចមើលឃើញនៅក្នុងកម្មវិធីកំណត់ពេលវេលាផ្អាកការចុះឈ្មោះ (TIFR) ។ ការរំខានទាំងអស់ត្រូវបានបិទបាំងជាលក្ខណៈបុគ្គលជាមួយនឹងការចុះឈ្មោះរបាំងពេលវេលារំខាន (TIMSK) ។ TIFR និង TIMSK មិនត្រូវបានបង្ហាញក្នុងរូបទេ។

កម្មវិធីកំណត់ម៉ោង/បញ្ជរអាចត្រូវបានកំណត់ទ្រនិចនាឡិកាខាងក្នុង តាមរយៈឧបករណ៍កំណត់កម្រិតជាមុន ឬដោយប្រភពនាឡិកាខាងក្រៅនៅលើម្ជុល T0 ។ Clock Select logic block គ្រប់គ្រងប្រភពនាឡិកា និងគែមដែល Timer/Counter ប្រើដើម្បីបង្កើន (ឬបន្ថយ) តម្លៃរបស់វា។ កម្មវិធីកំណត់ម៉ោង/រាប់មិនដំណើរការទេ នៅពេលដែលគ្មានប្រភពនាឡិកាត្រូវបានជ្រើសរើស។ លទ្ធផល​ចេញ​ពី​តក្កវិជ្ជា Clock Select ត្រូវ​បាន​គេ​ហៅ​ថា​ជា​នាឡិកា​កំណត់​ម៉ោង (clkT0)។

ឧបករណ៍តំរឹមបញ្ចូនតង់ស្យុងទ្វេ (OCR0A និង OCR0B) ត្រូវបានប្រៀបធៀបជាមួយតម្លៃកំណត់ពេលវេលា / រាប់នៅគ្រប់ពេល។ លទ្ធផលនៃការប្រៀបធៀបអាចត្រូវបានប្រើដោយម៉ាស៊ីនភ្លើងវ៉េវផាយដើម្បីបង្កើត PWM ឬអថេរភាពអថេរនៅលើទិន្នផលប្រៀបធៀបម្ជុល (OC0A និង OC0B) ។ សូមមើល“ អង្គភាពប្រៀបធៀបលទ្ធផល” នៅទំព័រ ៦៩ ។ សម្រាប់ព័ត៌មានលម្អិត ព្រឹត្តិការណ៍ប្រៀបធៀបការប្រកួតក៏នឹងកំណត់ការប្រៀបធៀបទង់ (OCF0A ឬ OCF0B) ដែលអាចត្រូវបានប្រើដើម្បីបង្កើតលទ្ធផលប្រៀបធៀបសំណើរផ្អាក។

និយមន័យ

ការចុះឈ្មោះនិងឯកសារយោងបន្តិចបន្តួចនៅក្នុងផ្នែកនេះត្រូវបានសរសេរជាទម្រង់ទូទៅ។ អក្សរតូច“ n” ជំនួសលេខ Timer / Counter ក្នុងករណីនេះ ០ ។ អក្សរទាប“ x” ជំនួសអង្គភាពប្រៀបធៀបលទ្ធផលក្នុងករណីនេះប្រៀបធៀបឯកតាកឬប្រៀបធៀបឯកតាខ។ ទោះយ៉ាងណានៅពេលប្រើលេខកំណត់រឺប៊ីត នៅក្នុងកម្មវិធីមួយទំរង់ច្បាស់លាស់ត្រូវប្រើឧទាហរណ៍ TCNT0 សំរាប់ការចូលប្រើតំលៃ Timer / Counter0 ។ ល។

និយមន័យនៅក្នុង តារាង 11-1 ត្រូវបានប្រើយ៉ាងទូលំទូលាយនៅទូទាំងឯកសារ។

តារាង 11-1 ។ និយមន័យ

ថេរ ការពិពណ៌នា
បាត បញ្ជរឈានដល់ BOTTOM នៅពេលដែលវាក្លាយជា 0x00
MAX អ្នកលក់ឈានដល់ MAX អប្បបរមារបស់វានៅពេលដែលវាក្លាយជា 0xFF (ទសភាគ ២៥៥)
កំពូល បញ្ជរឈានដល់កំពូលនៅពេលដែលវាស្មើនឹងតម្លៃខ្ពស់បំផុតនៅក្នុងលំដាប់រាប់។ តម្លៃ TOP អាចត្រូវបានកំណត់ជាតម្លៃថេរ 0xFF (MAX) ឬតម្លៃដែលបានរក្សាទុកនៅក្នុងការចុះឈ្មោះ OCR0A ។ ការចាត់តាំងអាស្រ័យលើរបៀបនៃប្រតិបត្តិការ

ឧបករណ៍កំណត់ពេលវេលា / រាប់ថយក្រោយនិងប្រភពនាឡិកា

ឧបករណ៍កំណត់ពេលវេលា / រាប់អាចត្រូវបានកំណត់ពេលវេលាដោយប្រភពនាឡិកាខាងក្នុងឬខាងក្រៅ។ ប្រភពនាឡិកាត្រូវបានជ្រើសរើសដោយតក្កវិជ្ជាជ្រើសរើសឡូជីខលដែលត្រូវបានគ្រប់គ្រងដោយប៊ីតការជ្រើសរើសនាឡិកា (គ) ដែលមាននៅក្នុងបញ្ជីត្រួតពិនិត្យពេលវេលា (រាប់) ។

ប្រភពនាឡិកាខាងក្នុងជាមួយ Prescaler

កម្មវិធីកំណត់ម៉ោង/Counter0 អាចត្រូវបានកំណត់ដោយផ្ទាល់ដោយនាឡិកាប្រព័ន្ធ (ដោយកំណត់ CS0[2:0] = 1)។ វាផ្តល់នូវប្រតិបត្តិការលឿនបំផុត ជាមួយនឹងប្រេកង់នាឡិការាប់ម៉ោងអតិបរមាដែលស្មើនឹងប្រេកង់នាឡិកាប្រព័ន្ធ (fCLK_I/O)។ ម៉្យាងទៀត ការចុចមួយក្នុងចំនោមបួនដងពីឧបករណ៍វាស់ស្ទង់ជាមុន អាចត្រូវបានប្រើជាប្រភពនាឡិកា។ នាឡិកាដែលបានធ្វើមាត្រដ្ឋានជាមុនមានប្រេកង់ទាំងពីរ

កំណត់ឡើងវិញ

Prescaler គឺដំណើរការដោយឥតគិតថ្លៃ ពោលគឺវាដំណើរការដោយឯករាជ្យនៃ Clock Select logic នៃ Timer/Counter0។ ដោយសារ​ឧបករណ៍កំណត់​ទំហំ​ជាមុន​មិន​ត្រូវ​បាន​ប៉ះពាល់​ដោយ​ការ​ជ្រើសរើស​នាឡិកា​របស់​កម្មវិធីកំណត់​ម៉ោង/បញ្ជរ ស្ថានភាព​របស់​ឧបករណ៍​កំណត់​ទំហំ​ជាមុន​នឹង​មាន​ឥទ្ធិពល​ចំពោះ​ស្ថានភាព​ដែល​នាឡិកា​ដែល​ប្រើ​ខ្នាត​ជាមុន។ អតីតមួយ។ample នៃវត្ថុបុរាណដែលបានកំណត់ទុកជាមុន គឺនៅពេលដែលកម្មវិធីកំណត់ម៉ោង/បញ្ជរត្រូវបានបើក និងកំណត់ដោយឧបករណ៍កំណត់ទំហំជាមុន (6> CS0[2:0] > 1)។ ចំនួននៃវដ្តនាឡិកាប្រព័ន្ធចាប់ពីពេលដែលកម្មវិធីកំណត់ម៉ោងត្រូវបានបើកដល់ការរាប់ដំបូងដែលកើតឡើងអាចមានចាប់ពី 1 ដល់ N+1 វដ្តនាឡិកាប្រព័ន្ធ ដែល N ស្មើនឹងអ្នកបែងចែកជាមុន (8, 64, 256, ឬ 1024) ។

គេអាចប្រើ Prescaler Reset សម្រាប់ធ្វើសមកាលកម្មកម្មវិធីកំណត់ពេលវេលា / រាប់ដល់ការប្រតិបត្តិកម្មវិធី។

ប្រភពនាឡិកាខាងក្រៅ

ប្រភពនាឡិកាខាងក្រៅដែលបានអនុវត្តទៅម្ជុល T0 អាចត្រូវបានប្រើជានាឡិកាកំណត់ម៉ោង/រាប់ (clkT0)។ ម្ជុល T0 គឺ sampដឹកនាំរាល់វដ្តនាឡិកាប្រព័ន្ធដោយតក្កវិជ្ជាធ្វើសមកាលកម្មម្ជុល។ ការធ្វើសមកាលកម្ម (សampled) សញ្ញាត្រូវបានឆ្លងកាត់

តាមរយៈឧបករណ៍ចាប់គែម។ រូបភាព 11-2 បង្ហាញដ្យាក្រាមប្លុកសមមូលមុខងារនៃការធ្វើសមកាលកម្ម T0 និងតក្កវិជ្ជាឧបករណ៍ចាប់គែម។ ការចុះឈ្មោះត្រូវបានកំណត់នៅគែមវិជ្ជមាននៃនាឡិកាប្រព័ន្ធខាងក្នុង (clkI/O) ។ បន្ទះមានតម្លាភាពក្នុងរយៈពេលខ្ពស់នៃនាឡិកាប្រព័ន្ធខាងក្នុង។

ឧបករណ៍ចាប់គែមបង្កើតជីពចរមួយ clkT0 សម្រាប់វិជ្ជមាននីមួយៗ (CS0[2:0] = 7) ឬអវិជ្ជមាន (CS0[2:0] = 6) គែមដែលវារកឃើញ។

OCR0x Registers ត្រូវបានរារាំងទ្វេដងនៅពេលប្រើម៉ូឌុលជីពចរទទឹង (PWM) ណាមួយ។ សម្រាប់របៀបប្រតិបត្ដិការធម្មតានិងច្បាស់នៅលើការប្រៀបធៀប (ស៊ីធីស៊ីធី) ប្រតិបត្តិការបណ្តោះអាសន្នទ្វេដងត្រូវបានបិទ។ ការធ្វើសមកាលកម្មទ្វេដងធ្វើសមកាលកម្មការធ្វើបច្ចុប្បន្នភាពនៃការចុះបញ្ជី OCR0x ទៅផ្នែកខាងលើឬខាងក្រោមនៃលំដាប់រាប់។ ការធ្វើសមកាលកម្មរារាំងការកើតឡើងនៃជីពចរ PWM ដែលមិនមានប្រវែងស៊ីមេទ្រីដែលធ្វើឱ្យទិន្នផលមិនមានពន្លឺ។

ការចូលប្រើការចុះឈ្មោះ OCR0x អាចមើលទៅស្មុគស្មាញប៉ុន្តែនេះមិនមែនជាករណីទេ។ នៅពេលដែលការបើកសតិបណ្តោះអាសន្នទ្វេត្រូវបានបើកស៊ីភីយូអាចចូលប្រើការចុះឈ្មោះសឺវឺរ OCR0x ហើយប្រសិនបើការបិទហ្វ្រាំងទ្វេត្រូវបានបិទស៊ីភីយូនឹងចូលប្រើ OCR0x ដោយផ្ទាល់។

បង្ខំលទ្ធផលប្រៀបធៀប

នៅក្នុងរបៀបបង្កើតរលកគ្មានទម្រង់ PWM លទ្ធផលផ្គូផ្គងរបស់ឧបករណ៍ប្រៀបធៀបអាចត្រូវបានបង្ខំដោយការសរសេរមួយទៅកម្លាំងទិន្នផលប្រៀបធៀប (FOC0x) បន្តិច។ ការបង្ខំប្រៀបធៀបការប្រកួតនឹងមិនកំណត់ទង់ OCF0x ឬបញ្ចូល / កំណត់ពេលវេលាទេប៉ុន្តែម្ជុល OC0x នឹងត្រូវបានធ្វើបច្ចុប្បន្នភាពប្រសិនបើការប្រៀបធៀបការផ្គូផ្គងបានកើតឡើង (ការកំណត់ប៊ីត [១: ០] កំណត់ថាតើកូដ OC0x ត្រូវបានកំណត់ឬអត់។ ឬបិទបើក) ។

ប្រៀបធៀបការទប់ស្កាត់ការផ្គូផ្គងដោយស៊ីធីអិលធី0សរសេរ

ប្រតិបត្ដិការសរសេរស៊ីភីយូទាំងអស់ទៅក្នុងការចុះឈ្មោះរបស់ធី។ ស៊ី។ អិល .០ នឹងរារាំងរាល់ការប្រៀបធៀបប្រៀបធៀបដែលកើតឡើងក្នុងវដ្តនាឡិកាពេលវេលាបន្ទាប់សូម្បីតែពេលកម្មវិធីកំណត់ពេលត្រូវបានបញ្ឈប់ក៏ដោយ។ លក្ខណៈពិសេសនេះអនុញ្ញាតឱ្យ OCR0x ចាប់ផ្តើមមានតម្លៃដូចគ្នានឹង TCNT0 ដោយមិនបង្កឱ្យមានការរំខាននៅពេលដែលកម្មវិធីកំណត់ពេលវេលា / រាប់បានបើក។

ការប្រើប្រាស់អង្គភាពប្រៀបធៀបលទ្ធផល

ចាប់តាំងពីការសរសេរ TCNT0 នៅក្នុងរបៀបប្រតិបត្តិការណាមួយនឹងរារាំងការប្រៀបធៀបទាំងអស់សម្រាប់វដ្តនាឡិកាកំណត់ពេលវេលាមួយមានហានិភ័យដែលទាក់ទងនៅពេលផ្លាស់ប្តូរ TCNT0 នៅពេលប្រើអង្គភាពប្រៀបធៀបលទ្ធផលដោយឯករាជ្យថាតើកម្មវិធីកំណត់ពេលវេលា / ម៉ោងកំពុងដំណើរការឬអត់។ ប្រសិនបើតម្លៃដែលបានសរសេរទៅ TCNT0 ស្មើនឹងតម្លៃ OCR0x នោះការប្រៀបធៀបការផ្គូផ្គងនឹងត្រូវបានខកខានដែលជាលទ្ធផលបង្កើតជំនាន់រលកមិនត្រឹមត្រូវ។ ស្រដៀងគ្នានេះដែរសូមកុំសរសេរតម្លៃ TCNT0 ស្មើនឹង BOTTOM ពេលរាប់ត្រូវបានរាប់ថយក្រោយ។

ការរៀបចំ OC0x គួរតែត្រូវបានអនុវត្តមុនពេលកំណត់ការចុះឈ្មោះទិន្ន័យទិន្ន័យសម្រាប់ច្រកផតផល។ វិធីងាយស្រួលបំផុតក្នុងការកំណត់តម្លៃ OC0x គឺត្រូវប្រើប៊ីតវ៉ែនតាកម្លាំងប្រៀបធៀប (FOC0x) ស្ទ្រីមប៊ីតនៅក្នុងរបៀបធម្មតា។ ការចុះឈ្មោះ OC0x រក្សាតម្លៃរបស់ពួកគេសូម្បីតែនៅពេលផ្លាស់ប្តូររវាងរបៀបរលកជំនាន់។

ត្រូវដឹងថាប៊ីត COM0x [១: ០] មិនត្រូវបានបង្រួមទ្វេដងរួមគ្នាជាមួយនឹងតម្លៃប្រៀបធៀបឡើយ។ ការផ្លាស់ប្តូរប៊ីត COM1x [0: 0] នឹងមានប្រសិទ្ធិភាពភ្លាមៗ។

ប្រៀបធៀបឯកតាលទ្ធផលផ្គូផ្គង

របៀបប្រៀបធៀបលទ្ធផល (COM0x [1: 0]) ប៊ីតមានមុខងារពីរ។ ម៉ាស៊ីនភ្លើងវ៉េវផ្លេយប្រើប៊ីត COM0x [1: 0] សម្រាប់កំណត់ស្ថានភាពប្រៀបធៀបលទ្ធផល (OC0x) នៅការប្រៀបធៀបបន្ទាប់។ ដូចគ្នានេះផងដែរប៊ីខនអេស ០x [១: ០] គ្រប់គ្រងប្រភពទិន្នផលម្ជុលអូស៊ីស៊ីស ៦ ។ រូបភាព 11-6 បង្ហាញគ្រោងការណ៍សាមញ្ញនៃគ្រោងការណ៍ដែលជះឥទ្ធិពលដោយការកំណត់ប៊ីត COM0x [១: ០] ។ អង្កាំ I / O ប៊ីត I / O ប៊ីតនិងម្ជុល I / O នៅក្នុងតួលេខត្រូវបានបង្ហាញជាអក្សរដិត។ មានតែផ្នែកខ្លះនៃបញ្ជាការត្រួតពិនិត្យកំពង់ផែ I / O ទូទៅទេ (ឌីឌីនិងភីធឺ) ដែលរងផលប៉ះពាល់ដោយប៊ីខមអេសអ៊ីច [១: ០] ត្រូវបានបង្ហាញ។ នៅពេលនិយាយអំពីស្ថានភាព OC1x សេចក្តីយោងគឺសម្រាប់ការចុះឈ្មោះ OC0x ខាងក្នុងមិនមែនម្ជុល OC0x ទេ។ ប្រសិនបើការកំណត់ប្រព័ន្ធឡើងវិញកើតឡើង OC1x ត្រូវបានកំណត់ទៅ“ 0” ។

នៅពេល OC0A / OC0B ត្រូវបានភ្ជាប់ទៅនឹងម្ជុល I / O មុខងារនៃអ៊ីស៊ីធី 0 [1: 0] / អ៊ីស៊ីប៊ែល [0: 1] ប៊ីតពឹងផ្អែកលើការកំណត់ប៊ីត WGM0 [0: 2] ។ តារាង 11-2 បង្ហាញមុខងារប៊ីត COM0x [1: 0] នៅពេលប៊ីត WGM0 [2: 0] ត្រូវបានកំណត់ទៅជារបៀបធម្មតាឬស៊ីធីធីស៊ី (មិនមែនភីឌីស៊ី) ។

តារាង 11-2 ។ ប្រៀបធៀប​របៀប​ទិន្នផល​, របៀប​មិនមែន PWM

COM0A1 COM0B1 COM0A0 COM0B0 ការពិពណ៌នា
0 0 ប្រតិបត្តិការកំពង់ផែធម្មតា OC0A / OC0B បានផ្តាច់។
0 1 បិទបើក OC0A / OC0B លើប្រៀបធៀបការប្រកួត
1 0 ជម្រះ OC0A / OC0B លើការប្រៀបធៀបប្រៀបធៀប
1 1 កំណត់ OC0A / OC0B លើការប្រៀបធៀបប្រៀបធៀប

តារាង 11-3 បង្ហាញមុខងារប៊ីត COM0x [1: 0] នៅពេលប៊ីត WGM0 [2: 0] ត្រូវបានកំណត់ទៅជារបៀប PWM លឿន។

តារាង 11-3 ។ ប្រៀបធៀបរបៀបទិន្នផល, របៀប PWM លឿន(១៦១៦)

COM0A1 COM0B1 COM0A0 COM0B0 ការពិពណ៌នា
0 0 ប្រតិបត្តិការកំពង់ផែធម្មតា OC0A / OC0B បានផ្តាច់។
0 1 កក់ទុក
1 0 ជម្រះ OC0A / OC0B លើការប្រៀបធៀបប្រៀបធៀបកំណត់ OC0A / OC0B នៅ BOTTOM (របៀបមិនបញ្ច្រាស់)
1 1 កំណត់ OC0A / OC0B លើការប្រៀបធៀបប្រៀបធៀបជម្រះ OC0A / OC0B នៅ BOTTOM (របៀបបញ្ច្រាស)

ចំណាំ៖ ករណីពិសេសកើតឡើងនៅពេលដែល OCR0A ឬ OCR0B ស្មើនឹង TOP ហើយ COM0A1/COM0B1 ត្រូវបានកំណត់។ ក្នុង​ករណី​នេះ ការ​ផ្គូផ្គង​ការ​ផ្គូផ្គង​ត្រូវ​បាន​គេ​មិន​អើពើ ប៉ុន្តែ​ការ​កំណត់​ឬ​ច្បាស់​គឺ​ត្រូវ​បាន​ធ្វើ​នៅ BOTTOM ។ សូមមើល “ របៀប PWM លឿន” នៅទំព័រ ៧៣ សម្រាប់ព័ត៌មានលម្អិតបន្ថែម។

តារាង 11-4 បង្ហាញមុខងារប៊ីត COM0x [1: 0] នៅពេលប៊ីត WGM0 [2: 0] ត្រូវបានកំណត់ជាដំណាក់កាល PWM របៀបត្រឹមត្រូវ។

តារាង 11-4 ។ ប្រៀបធៀបរបៀបទិន្នផល ដំណាក់កាលត្រឹមត្រូវ 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 ត្រូវបានកំណត់។ ក្នុងករណីនេះ ការប្រកួត Com-pare Match មិនត្រូវបានអើពើ ប៉ុន្តែការកំណត់ ឬច្បាស់លាស់គឺធ្វើឡើងនៅ TOP។ សូមមើល “ PWM របៀបត្រឹមត្រូវ” ដំណាក់កាលទី ៧៤ សម្រាប់ព័ត៌មានលម្អិតបន្ថែម។

ប៊ីត ៧: ១ - រីសៈប៊ីតបម្រុងទុក

ប៊ីតទាំងនេះគឺជាប៊ីតដែលបានបម្រុងទុកនៅក្នុងអេធីធីទី ២៥ / ៤៥ / ៨៥ ហើយនឹងអានជាលេខសូន្យជានិច្ច។

ប៊ីត ១: ០ - WGM1 [១: ០]៖ របៀបបង្កើតរលកពន្លឺ

គួបផ្សំជាមួយ WGM02 ប៊ីតត្រូវបានរកឃើញនៅក្នុងការចុះឈ្មោះ TCCR0B ប៊ីតទាំងនេះគ្រប់គ្រងលំដាប់រាប់នៃរាប់រាប់ប្រភពសម្រាប់តម្លៃតបអតិបរមា (TOP) និងប្រភេទនៃរលកបង្កើតប្រភេទណាដែលត្រូវប្រើសូមមើល។ តារាង 11-5។ គំរូនៃប្រតិបត្តិការដែលគាំទ្រដោយអង្គភាពកំណត់ពេលវេលា / រាប់គឺមានៈរបៀបធម្មតា (រាប់ថយក្រោយ) ជម្រះឧបករណ៍កំណត់ពេលវេលាលើរបៀបប្រៀបធៀបការផ្គូផ្គង (ស៊ីធីស៊ីធី) និងម៉ូឌែលជីពចរម៉ូឌែល (PWM) ពីរប្រភេទ (សូមមើល) “ គំរូនៃប្រតិបត្តិការ” នៅទំព័រ 71).

តារាង 11-5 ។ របៀបបង្កើត Waveform ការពិពណ៌នាប៊ីត

របៀប WGM ០២ WGM ០២ WGM ០២ របៀបកំណត់ពេលវេលា / ប្រតិបត្ដិការ កំពូល បច្ចុប្បន្នភាពនៃ OCRx នៅ កំណត់ទង់ TOV
0 0 0 0 ធម្មតា។ 0xFF ភ្លាមៗ MAX(១៦១៦)
1 0 0 1 PWM, ដំណាក់កាលត្រឹមត្រូវ 0xFF កំពូល បាត(១៦១៦)
2 0 1 0 CTC OCRA ភ្លាមៗ MAX(១៦១៦)
3 0 1 1 PWM លឿន 0xFF បាត(១៦១៦) MAX(១៦១៦)
4 1 0 0 កក់ទុក
5 1 0 1 PWM, ដំណាក់កាលត្រឹមត្រូវ OCRA កំពូល បាត(១៦១៦)
6 1 1 0 កក់ទុក
7 1 1 1 PWM លឿន OCRA បាត(១៦១៦) កំពូល

ប៊ីត 7 - FOC0A: លទ្ធផលប្រៀបធៀបប្រៀបធៀប A

ប៊ីត FOC0A សកម្មតែនៅពេលប៊ីត WGM បញ្ជាក់របៀបមិនមែន PWM ។

ទោះយ៉ាងណាក៏ដោយដើម្បីធានាបាននូវភាពឆបគ្នាជាមួយឧបករណ៍នាពេលអនាគតប៊ីតត្រូវតែកំណត់ទៅជាសូន្យនៅពេលដែល TCCR0B ត្រូវបានសរសេរនៅពេលដំណើរការនៅក្នុងរបៀប PWM ។ នៅពេលសរសេរឡូជីខលមួយទៅ FOC0A បន្តិចប្រៀបធៀបការផ្គូផ្គងភ្លាមៗត្រូវបានបង្ខំលើអង្គភាពវ៉ាយហ្វាយអេស។ ទិន្នផល OC0A ត្រូវបានផ្លាស់ប្តូរយោងទៅតាមការកំណត់ប៊ីតរបស់វា COM0A [1: 0] ។ ចំណាំថាប៊ីត FOC0A ត្រូវបានអនុវត្តជា strobe ។ ដូច្ន្រះវាជាតម្ល្រដ្រលមាននៅក្នុងខ្រមខ្រមខ្រសុក (0: 1) ដ្រលកំណត់ពីផលប៉ះពាល់ន្រការប្រៀបធៀបដោយបង្ខំ។

stroze FOC0A នឹងមិនបង្កើតការរំខានណាមួយហើយក៏មិនបញ្ជាក់ពីកម្មវិធីកំណត់ម៉ោងនៅក្នុងរបៀបស៊ីធីស៊ីដោយប្រើអូស៊ីអេសអេអេ។ ប៊ីត FOC0A តែងតែត្រូវបានអានជាសូន្យ។

ប៊ីត 6 - FOC0B: កម្លាំងប្រៀបធៀបប្រៀបធៀបខ

ប៊ីត FOC0B គឺសកម្មតែនៅពេលប៊ីត WGM បញ្ជាក់របៀបមិនមែន PWM ។

ទោះយ៉ាងណាក៏ដោយដើម្បីធានាបាននូវភាពឆបគ្នាជាមួយឧបករណ៍នាពេលអនាគតប៊ីតត្រូវតែកំណត់ទៅជាសូន្យនៅពេលដែល TCCR0B ត្រូវបានសរសេរនៅពេលដំណើរការនៅក្នុងរបៀប PWM ។ នៅពេលសរសេរឡូជីខលទៅ FOC0B បន្តិចប្រៀបធៀបការផ្គូផ្គងភ្លាមៗត្រូវបានបង្ខំលើអង្គភាពវ៉ាយហ្វាយអេស។ ទិន្នផល OC0B ត្រូវបានផ្លាស់ប្តូរយោងទៅតាមការកំណត់ប៊ីតរបស់វា [0: 1] ។ ចំណាំថាប៊ីត FOC0B ត្រូវបានអនុវត្តជា strobe ។ ដូច្ន្រះវាជាតម្ល្រដ្រលមាននៅក្នុងខ្រមខ្រមខ្រមខ្រសុក0 [0: 1] ដ្រលកំណត់ឥទ្ធិពលន្រការប្រៀបធៀបដ្រលបង្ខំ។

stroze FOC0B នឹងមិនបង្កើតការរំខានណាមួយហើយក៏មិនបញ្ជាក់ពីកម្មវិធីកំណត់ម៉ោងនៅក្នុងរបៀបស៊ីធីស៊ីដោយប្រើអូអេស ០ ប៊ីជា TOP ។

ប៊ីត FOC0B តែងតែត្រូវបានអានជាសូន្យ។

ប៊ីត ៧: ១ - រីសៈប៊ីតបម្រុងទុក

ប៊ីតទាំងនេះគឺជាប៊ីតដែលបានបម្រុងទុកនៅក្នុងអេធីធីទី ២៥ / ៤៥ / ៨៥ ហើយនឹងអានជាលេខសូន្យជានិច្ច។

ប៊ីត 3 - WGM02: របៀបបង្កើតរលកពន្លឺ

សូមមើលការពិពណ៌នានៅក្នុងឯកសារ “ ការចុះឈ្មោះ TCCR0A - ការត្រួតពិនិត្យពេលវេលាកំណត់ / បញ្ជរបញ្ជរអេបផល” នៅទំព័រ ៧៧.

ប៊ីត ២: ០ - ស៊ី .០០ [២: ០]៖ ជ្រើសរើសនាឡិកា

ប៊ីតការជ្រើសរើសនាឡិកាទាំងបីជ្រើសប្រភពពេលវេលាដែលត្រូវប្រើដោយកម្មវិធីកំណត់ម៉ោង / រាប់។

តារាង 11-6 ។ នាឡិកាជ្រើសរើសការពិពណ៌នាប៊ីត

CS02 CS01 CS00 ការពិពណ៌នា
0 0 0 គ្មានប្រភពនាឡិកា (កម្មវិធីកំណត់ពេលវេលា / រាប់បញ្ឈប់)
0 0 1 clkI/O/(មិន​មាន​ការ​កំណត់)
0 1 0 clkI/O/8 (ពីកម្មវិធីកំណត់ជាមុន)
0 1 1 clkI/O/64 (ពីកម្មវិធីកំណត់ជាមុន)
1 0 0 clkI/O/256 (ពីកម្មវិធីកំណត់ជាមុន)
1 0 1 clkI/O/1024 (ពីកម្មវិធីកំណត់ជាមុន)
1 1 0 ប្រភពនាឡិកាខាងក្រៅនៅលើម្ជុល T0 ។ នាឡិកានៅលើគែមធ្លាក់ចុះ។
1 1 1 ប្រភពនាឡិកាខាងក្រៅនៅលើម្ជុល T0 ។ នាឡិកានៅលើគែមកើនឡើង។

ប្រសិនបើរបៀបម្ជុលខាងក្រៅត្រូវបានប្រើសម្រាប់ឧបករណ៍កំណត់ពេលវេលា / រាប់ ០ ការផ្លាស់ប្តូរនៅលើម្ជុល T0 នឹងធ្វើនាឡិការាប់ទោះបីជាម្ជុលត្រូវបានកំណត់ជាលទ្ធផលក៏ដោយ។ មុខងារនេះអនុញ្ញាតឱ្យត្រួតពិនិត្យកម្មវិធីរាប់។

រាប់និងប្រៀបធៀបអង្គភាព

ប្រតិបត្តិការទូទៅរបស់ឧបករណ៍កំណត់ពេលវេលា / រាប់ ១ ត្រូវបានពិពណ៌នានៅក្នុងរបៀបអសមកាលហើយប្រតិបត្តិការនៅក្នុងរបៀបសមកាលត្រូវបានលើកឡើងលុះត្រាតែមានភាពខុសគ្នារវាងរបៀបទាំងពីរនេះ។ រូបភាព 12-2 បង្ហាញកម្មវិធីកំណត់ពេលវេលាធ្វើសមកាលកម្មនិងការចុះឈ្មោះធ្វើសមកាលកម្មការពន្យារពេលរវាងការចុះឈ្មោះ។ សូមកត់សម្គាល់ថាព័ត៌មានលំអិតអំពីនាឡិកាទាំងអស់មិនត្រូវបានបង្ហាញនៅក្នុងរូបភាពទេ។ តម្លៃចុះឈ្មោះ Timer / Counter1 ឆ្លងកាត់ការចុះឈ្មោះធ្វើសមកាលកម្មផ្ទៃក្នុងដែលបណ្តាលឱ្យមានការពន្យាពេលនៃការធ្វើសមកាលកម្មបញ្ចូលមុនពេលប៉ះពាល់ដល់ប្រតិបត្តិការរាប់។ អ្នកចុះឈ្មោះ TCCR1, GTCCR, OCR1A, OCR1B, និង OCR1C អាចអានបានភ្លាមៗបន្ទាប់ពីសរសេរការចុះឈ្មោះ។ គុណតម្លៃនៃការអានត្រូវបានពន្យារពេលសម្រាប់ការចុះឈ្មោះនិងការកំណត់ពេលវេលារបស់ Timer / Counter1 (TCNT1) និងទង់ (OCF1A, OCF1B, និង TOV1) ដោយសារតែការធ្វើសមកាលកម្មបញ្ចូលនិងលទ្ធផល។

ឧបករណ៍កំណត់ពេលវេលា / រាប់ ១ មានគុណភាពបង្ហាញខ្ពស់និងការប្រើប្រាស់ត្រឹមត្រូវខ្ពស់ជាមួយឱកាសបញ្ចោញទាបជាង។ វាក៏អាចទ្រទ្រង់ម៉ូឌែលជីពចរទទឹង ៨ ប៊ីតដែលមានភាពត្រឹមត្រូវល្បឿនលឿន ៨ ប៊ីតដោយប្រើល្បឿននាឡិការហូតដល់ ៦៤ មេហ្គាហឺត (ឬ ៣២ មេហ្គាហឺតនៅក្នុងរបៀបល្បឿនទាប) ។ នៅក្នុងរបៀបនេះកម្មវិធីកំណត់ពេលវេលា / រាប់ ១ និងលទ្ធផលប្រៀបធៀបការចុះឈ្មោះបម្រើជា PWM ដែលឈរតែពីរជាមួយនឹងលទ្ធផលដែលមិនបញ្ច្រាស់និងច្រាសគ្នា។ យោង ទំព័រ 86 សម្រាប់ការពិពណ៌នាលំអិតលើមុខងារនេះ។ ស្រដៀងគ្នានេះដែរឱកាសបញ្ចោញខ្ពស់ធ្វើឱ្យអង្គភាពនេះមានប្រយោជន៍សម្រាប់មុខងារល្បឿនទាបឬមុខងារកំណត់ពេលវេលាពិតប្រាកដជាមួយនឹងសកម្មភាពដែលមិនសមរម្យ។

រូបភាព 12-2 ។ កម្មវិធីកំណត់ម៉ោង/បញ្ជរ 1 ធ្វើសមកាលកម្មចុះឈ្មោះប្លុកដ្យាក្រាម។

ឧបករណ៍កំណត់ពេលវេលា / រាប់ ១ និងឧបករណ៍កំណត់ជាមុនអនុញ្ញាតឱ្យដំណើរការស៊ីភីយូពីប្រភពនាឡិកាណាមួយខណៈពេលដែលឧបករណ៍កំណត់ចរន្តកំពុងដំណើរការលើល្បឿនលឿន ៦៤ MHz (ឬ ៣២ MHz នៅក្នុងរបៀបល្បឿនទាប) PCK នៅក្នុងរបៀបអសមកាល។

ចំណាំថាប្រេកង់នាឡិកាប្រព័ន្ធត្រូវតែទាបជាងមួយភាគបីនៃប្រេកង់ PCK ។ យន្ដការធ្វើសមកាលកម្មនៃឧបករណ៍កំណត់ពេលវេលា / អាន់ឌ័រ ១ ត្រូវការយ៉ាងហោចណាស់គែមពីររបស់ភីខេខេនៅពេលនាឡិការបស់ប្រព័ន្ធខ្ពស់។ ប្រសិនបើភាពញឹកញាប់នៃនាឡិកាប្រព័ន្ធខ្ពស់ពេកវាជាហានិភ័យដែលទិន្នន័យឬតម្លៃវត្ថុបញ្ជាត្រូវបានបាត់បង់។

ខាងក្រោមនេះ រូបភាព 12-3 បង្ហាញដ្យាក្រាមប្លុកសម្រាប់ឧបករណ៍កំណត់ពេលវេលា / រាប់ ១ ។

តារាង 12-1 ។ ប្រៀបធៀបរបៀបជ្រើសរើសនៅក្នុងរបៀប PWM

COM1x1 COM1x0 ផលប៉ះពាល់លើទិន្នផលប្រៀបធៀបម្ជុល
0 0 OC1x មិនបានភ្ជាប់ទេ។ OC1x មិនបានភ្ជាប់ទេ។
0 1 OC1x ត្រូវបានជម្រះនៅលើការប្រកួតប្រៀបធៀប។ កំណត់ពេលធី។ ស៊ី។ ធី។ អិន .១ = $ ០០ ។ OC1x កំណត់លើការប្រកួតប្រៀបធៀប។ បានសម្អាតនៅពេលធី។ ស៊ី។ ធី។ អិន .១ = ០០ ដុល្លារ។
1 0 OC1x ត្រូវបានជម្រះនៅលើការប្រកួតប្រៀបធៀប។ កំណត់នៅពេល TCNT1 = $ 00 ។ OC1x មិនបានភ្ជាប់ទេ។
1 1 OC1x កំណត់លើការប្រកួតប្រៀបធៀប។ បានសម្អាតនៅពេលធី។ ស៊ី។ ធី។ អិ។ ១ = ០០ ដុល្លារ OC1x មិនបានភ្ជាប់ទេ។

លក្ខណៈ ADC

តារាង 21-8 ។ លក្ខណៈ ADC, ឆានែលបញ្ចប់តែមួយ។ TA = -40 °C ដល់ +85 °C

និមិត្តសញ្ញា ប៉ារ៉ាម៉ែត្រ លក្ខខណ្ឌ នាទី វាយ អតិបរមា ឯកតា
ដំណោះស្រាយ 10 ប៊ីត
ភាពត្រឹមត្រូវដាច់ខាត (រួមទាំង INL, DNL, ​​និងការគណនាបរិមាណ, ចំណេញនិងកំហុសអុហ្វសិត) VREF = 4V, VCC = 4V,

នាឡិកា ADC = ២០០ kHz

2 អិលអេសប៊ី
VREF = 4V, VCC = 4V,

នាឡិកា ADC = 1 MHz

3 អិលអេសប៊ី
VREF = 4V, VCC = 4V,

នាឡិកា ADC = ២០០ kHz

របៀបកាត់បន្ថយសម្លេងរំខាន

1.5 អិលអេសប៊ី
VREF = 4V, VCC = 4V,

នាឡិកា ADC = 1 MHz

របៀបកាត់បន្ថយសម្លេងរំខាន

2.5 អិលអេសប៊ី
អាំងតេក្រាលមិនមែនត្រង់ (INL) (ភាពត្រឹមត្រូវបន្ទាប់ពីទូទាត់និងទទួលបានការក្រិតតាមខ្នាត) VREF = 4V, VCC = 4V,

នាឡិកា ADC = ២០០ kHz

1 អិលអេសប៊ី
ឌីផេរ៉ង់ស្យែលមិនត្រង់លីនេអ៊ែរ (DNL) VREF = 4V, VCC = 4V,

នាឡិកា ADC = ២០០ kHz

0.5 អិលអេសប៊ី
ទទួលបានកំហុស VREF = 4V, VCC = 4V,

នាឡិកា ADC = ២០០ kHz

2.5 អិលអេសប៊ី
កំហុសអុហ្វសិត VREF = 4V, VCC = 4V,

នាឡិកា ADC = ២០០ kHz

1.5 អិលអេសប៊ី
ពេលវេលាប្រែចិត្តជឿ ការបម្លែងការរត់ដោយឥតគិតថ្លៃ 14 280 .s
ភាពញឹកញាប់នៃនាឡិកា 50 1000 kHz
វីន បញ្ចូលវ៉ុលtage GND VREF V
កម្រិតបញ្ជូនបញ្ចូល 38.4 kHz
AREF ឯកសារយោងខាងក្រៅ Voltage 2.0 វី.ស៊ី.ស៊ី V
វីនធី វ៉ុលខាងក្នុងtage សេចក្តីយោង 1.0 1.1 1.2 V
ផ្នែកខាងក្នុង 2.56V យោង (១៦១៦) VCC > 3.0V 2.3 2.56 2.8 V
RREF 32
ភ្លៀង ភាពធន់នឹងការបញ្ចូលអាណាឡូក 100
លទ្ធផល ADC 0 1023 អិលអេសប៊ី

ចំណាំ៖ 1. តម្លៃគ្រាន់តែជាការណែនាំប៉ុណ្ណោះ។

តារាង 21-9 ។ លក្ខណៈ ADC, ឆានែលឌីផេរ៉ង់ស្យែល (របៀប Unipolar) ។ TA = -40 °C ដល់ +85 °C

និមិត្តសញ្ញា ប៉ារ៉ាម៉ែត្រ លក្ខខណ្ឌ នាទី វាយ អតិបរមា ឯកតា
ដំណោះស្រាយ ចំណេញ = ១ គុណ 10 ប៊ីត
ចំណេញ = ១ គុណ 10 ប៊ីត
ភាពត្រឹមត្រូវដាច់ខាត (រួមទាំង INL, DNL, ​​និង

បរិមាណផលចំណេញនិងកំហុសអុហ្វសិត)

ចំណេញ = ១ គុណ

VREF = 4V, VCC = 5V

នាឡិកា ADC = 50 - 200 kHz

10.0 អិលអេសប៊ី
ចំណេញ = ១ គុណ

VREF = 4V, VCC = 5V

នាឡិកា ADC = 50 - 200 kHz

20.0 អិលអេសប៊ី
អាំងតេក្រាលមិនមែនត្រង់ (INL) (ភាពត្រឹមត្រូវបន្ទាប់ពីអុហ្វសិតនិងទទួលបានការក្រិតតាមខ្នាត) ចំណេញ = ១ គុណ

VREF = 4V, VCC = 5V

នាឡិកា ADC = 50 - 200 kHz

4.0 អិលអេសប៊ី
ចំណេញ = ១ គុណ

VREF = 4V, VCC = 5V

នាឡិកា ADC = 50 - 200 kHz

10.0 អិលអេសប៊ី
ទទួលបានកំហុស ចំណេញ = ១ គុណ 10.0 អិលអេសប៊ី
ចំណេញ = ១ គុណ 15.0 អិលអេសប៊ី
កំហុសអុហ្វសិត ចំណេញ = ១ គុណ

VREF = 4V, VCC = 5V

នាឡិកា ADC = 50 - 200 kHz

3.0 អិលអេសប៊ី
ចំណេញ = ១ គុណ

VREF = 4V, VCC = 5V

នាឡិកា ADC = 50 - 200 kHz

4.0 អិលអេសប៊ី
ពេលវេលាប្រែចិត្តជឿ ការបម្លែងការរត់ដោយឥតគិតថ្លៃ 70 280 .s
ភាពញឹកញាប់នៃនាឡិកា 50 200 kHz
វីន បញ្ចូលវ៉ុលtage GND វី.ស៊ី.ស៊ី V
វីឌីអេហ្វ បញ្ចូលឌីផេរ៉ង់ស្យែល Voltage VREF/ទទួលបាន V
កម្រិតបញ្ជូនបញ្ចូល 4 kHz
AREF ឯកសារយោងខាងក្រៅ Voltage 2.0 VCC - 1.0 V
វីនធី វ៉ុលខាងក្នុងtage សេចក្តីយោង 1.0 1.1 1.2 V
ផ្នែកខាងក្នុង 2.56V យោង (១៦១៦) VCC > 3.0V 2.3 2.56 2.8 V
RREF ភាពធន់ទ្រាំនៃការបញ្ចូលសេចក្តីយោង 32
ភ្លៀង ភាពធន់នឹងការបញ្ចូលអាណាឡូក 100
លទ្ធផលនៃការបំលែងអេឌីស៊ី 0 1023 អិលអេសប៊ី

ចំណាំ៖ តម្លៃគ្រាន់តែជាការណែនាំប៉ុណ្ណោះ។

តារាង 21-10 ។ លក្ខណៈ ADC, ឆានែលឌីផេរ៉ង់ស្យែល (របៀប Bipolar) ។ TA = -40 °C ដល់ +85 °C

និមិត្តសញ្ញា ប៉ារ៉ាម៉ែត្រ លក្ខខណ្ឌ នាទី វាយ អតិបរមា ឯកតា
ដំណោះស្រាយ ចំណេញ = ១ គុណ 10 ប៊ីត
ចំណេញ = ១ គុណ 10 ប៊ីត
ភាពត្រឹមត្រូវដាច់ខាត (រួមទាំង INL, DNL, ​​និង

បរិមាណផលចំណេញនិងកំហុសអុហ្វសិត)

ចំណេញ = ១ គុណ

VREF = 4V, VCC = 5V

នាឡិកា ADC = 50 - 200 kHz

8.0 អិលអេសប៊ី
ចំណេញ = ១ គុណ

VREF = 4V, VCC = 5V

នាឡិកា ADC = 50 - 200 kHz

8.0 អិលអេសប៊ី
អាំងតេក្រាលមិនមែនត្រង់ (INL) (ភាពត្រឹមត្រូវបន្ទាប់ពីអុហ្វសិតនិងទទួលបានការក្រិតតាមខ្នាត) ចំណេញ = ១ គុណ

VREF = 4V, VCC = 5V

នាឡិកា ADC = 50 - 200 kHz

4.0 អិលអេសប៊ី
ចំណេញ = ១ គុណ

VREF = 4V, VCC = 5V

នាឡិកា ADC = 50 - 200 kHz

5.0 អិលអេសប៊ី
ទទួលបានកំហុស ចំណេញ = ១ គុណ 4.0 អិលអេសប៊ី
ចំណេញ = ១ គុណ 5.0 អិលអេសប៊ី
កំហុសអុហ្វសិត ចំណេញ = ១ គុណ

VREF = 4V, VCC = 5V

នាឡិកា ADC = 50 - 200 kHz

3.0 អិលអេសប៊ី
ចំណេញ = ១ គុណ

VREF = 4V, VCC = 5V

នាឡិកា ADC = 50 - 200 kHz

4.0 អិលអេសប៊ី
ពេលវេលាប្រែចិត្តជឿ ការបម្លែងការរត់ដោយឥតគិតថ្លៃ 70 280 .s
ភាពញឹកញាប់នៃនាឡិកា 50 200 kHz
វីន បញ្ចូលវ៉ុលtage GND វី.ស៊ី.ស៊ី V
វីឌីអេហ្វ បញ្ចូលឌីផេរ៉ង់ស្យែល Voltage VREF/ទទួលបាន V
កម្រិតបញ្ជូនបញ្ចូល 4 kHz
AREF ឯកសារយោងខាងក្រៅ Voltage 2.0 VCC - 1.0 V
វីនធី វ៉ុលខាងក្នុងtage សេចក្តីយោង 1.0 1.1 1.2 V
ផ្នែកខាងក្នុង 2.56V យោង (១៦១៦) VCC > 3.0V 2.3 2.56 2.8 V
RREF ភាពធន់ទ្រាំនៃការបញ្ចូលសេចក្តីយោង 32
ភ្លៀង ភាពធន់នឹងការបញ្ចូលអាណាឡូក 100
លទ្ធផលនៃការបំលែងអេឌីស៊ី -៤០ 511 អិលអេសប៊ី

សេចក្តីសង្ខេបសំណុំសេចក្តីណែនាំ

មីនីម៉ូនិក ប្រតិបត្តិការ ការពិពណ៌នា ប្រតិបត្តិការ ទង់ជាតិ # ខ្ទម
សេចក្តីណែនាំអំពីជំនឿនិងលិខិ
បន្ថែម ទី, អរ បន្ថែមចុះបញ្ជីពីរ Rd ← Rd + Rr Z, C, N, V, H 1
ADC ទី, អរ បន្ថែមជាមួយយករីសពីរ Rd ← Rd + Rr + C Z, C, N, V, H 1
អេអាយឌីវ Rdl, K បន្ថែមភ្លាមៗទៅពាក្យ Rdh:Rdl ← Rdh:Rdl + K Z, C, N, V, S 2
SUB ទី, អរ ដកចុះបញ្ជីពីរ Rd ← Rd – Rr Z, C, N, V, H 1
ស៊ូប៊ី ទី, ខេ ដកថេរពីការចុះឈ្មោះ Rd ← Rd – K Z, C, N, V, H 1
អេសប៊ីស៊ី ទី, អរ ដកជាមួយអនុផ្នែកពីរ Rd ← Rd – Rr – C Z, C, N, V, H 1
SBCI ទី, ខេ ដកជាមួយ Carry ថេរពី Reg ។ Rd ← Rd – K – C Z, C, N, V, H 1
អេសប៊ីអាយ 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
អូរី ទី, ខេ ឡូជីខលឬចុះឈ្មោះនិងថេរ Rd ← Rd v K Z, N, V 1
EOR ទី, អរ បញ្ចូលរឺចុះឈ្មោះ Rd ← Rd ⊕ Rr Z, N, V 1
COM Rd បំពេញបន្ថែមមួយ Rd ← 0xFF − ផ្លូវ Z, C, N, V 1
NEG Rd ការបំពេញបន្ថែមពីរ ផ្លូវ ← 0x00 − ផ្លូវ Z, C, N, V, H 1
SBR ទី, ខេ កំណត់ប៊ីតក្នុងការចុះឈ្មោះ Rd ← Rd v K Z, N, V 1
CBR ទី, ខេ លុបប៊ីតក្នុងការចុះឈ្មោះ Rd ← Rd ∙ (0xFF – K) Z, N, V 1
INC Rd បង្កើន Rd ← Rd + 1 Z, N, V 1
ធ្នូ Rd ការថយចុះ Rd ← ផ្លូវ − ១ Z, N, V 1
ធី។ អេស។ ធី Rd សាកល្បងសូន្យឬដក Rd ← Rd ∙ Rd Z, N, V 1
CLR Rd ជម្រះការចុះឈ្មោះ Rd ← Rd ⊕ Rd Z, N, V 1
SER Rd កំណត់ការចុះឈ្មោះ ផ្លូវ ← 0xFF គ្មាន 1
ការណែនាំសាខា
RJMP k លោតទាក់ទង កុំព្យូទ័រ ← PC+k+1 គ្មាន 2
អាយ។ ជី។ ភី លោតដោយប្រយោលទៅ (ហ្ស) កុំព្យូទ័រ ← Z គ្មាន 2
ហៅ k ការហៅតាមទំនាក់ទំនងរង កុំព្យូទ័រ ← PC+k+1 គ្មាន 3
ហៅ ហៅដោយប្រយោលទៅ (Z) កុំព្យូទ័រ ← Z គ្មាន 3
រ៉េត ការបញ្ជូន Subroutine កុំព្យូទ័រ ← ជង់ គ្មាន 4
រ៉េតធី ការរំខានត្រឡប់មកវិញ កុំព្យូទ័រ ← ជង់ I 4
CPSE ទី, អរ ប្រៀបធៀបរំលងបើស្មើ ប្រសិនបើ (Rd = Rr) PC ← PC + 2 ឬ 3 គ្មាន ១០/១០/២០២៣
CP ទី, អរ ប្រៀបធៀប Rd - Rr Z, N, V, C, H 1
CPC ទី, អរ ប្រៀបធៀបជាមួយខារី ស − រ − គ Z, N, V, C, H 1
CPI ទី, ខេ ប្រៀបធៀបចុះឈ្មោះជាមួយបន្ទាន់ ផ្លូវ - ខេ Z, N, V, C, H 1
SBRC រី, ខ រំលងប្រសិនបើប៊ីតក្នុងការចុះឈ្មោះត្រូវបានសម្អាត ប្រសិនបើ (Rr(b)=0) PC ← PC + 2 ឬ 3 គ្មាន ១០/១០/២០២៣
អេសប៊ីអេស រី, ខ រំលងប្រសិនបើប៊ីតក្នុងការចុះឈ្មោះត្រូវបានកំណត់ ប្រសិនបើ (Rr(b)=1) PC ← PC + 2 ឬ 3 គ្មាន ១០/១០/២០២៣
អេសប៊ីស៊ី ទំ, ខ រំលងប្រសិនបើប៊ីតនៅក្នុង I / O ចុះឈ្មោះបានសម្អាត ប្រសិនបើ (P(b)=0) PC ← PC + 2 ឬ 3 គ្មាន ១០/១០/២០២៣
អេសប៊ីអាយ ទំ, ខ រំលងប្រសិនបើប៊ីតនៅក្នុងការចុះឈ្មោះ I / O ត្រូវបានកំណត់ ប្រសិនបើ (P(b)=1) PC ← PC + 2 ឬ 3 គ្មាន ១០/១០/២០២៣
ប៊ី។ ប៊ី។ អេស s, ខេ សាខាប្រសិនបើស្ថានភាពទង់កំណត់ ប្រសិនបើ (SREG(s) = 1) បន្ទាប់មក PC←PC+k+1 គ្មាន ៥/៥
ប៊ីប៊ីប៊ីស៊ី s, ខេ សាខាប្រសិនបើទង់ស្ថានភាពត្រូវបានសម្អាត ប្រសិនបើ (SREG(s) = 0) បន្ទាប់មក PC←PC+k+1 គ្មាន ៥/៥
ប៊ីខេអេស 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 គ្មាន ៥/៥
ប៊ីអេសអេស k សាខាប្រសិនបើដូចគ្នាឬខ្ពស់ជាងនេះ ប្រសិនបើ (C = 0) បន្ទាប់មក PC ← PC + k + 1 គ្មាន ៥/៥
BRLO k សាខាបើទាបជាង ប្រសិនបើ (C = 1) បន្ទាប់មក PC ← PC + k + 1 គ្មាន ៥/៥
BRMI k សាខាប្រសិនបើដក ប្រសិនបើ (N = 1) បន្ទាប់មក PC ← PC + k + 1 គ្មាន ៥/៥
ប៊ី។ អរ។ ភី k សាខាបើបូក ប្រសិនបើ (N = 0) បន្ទាប់មក PC ← PC + k + 1 គ្មាន ៥/៥
BRGE k សាខាប្រសិនបើធំជាងឬស្មើបានចុះហត្ថលេខា ប្រសិនបើ (N ⊕ V= 0) បន្ទាប់មក PC ← PC + k + 1 គ្មាន ៥/៥
ប៊ីសធី 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 = 1) បន្ទាប់មក PC ← PC + k + 1 គ្មាន ៥/៥
BRTC k សាខាប្រសិនបើទង់ធីបានសម្អាត ប្រសិនបើ (T = 0) បន្ទាប់មក PC ← PC + k + 1 គ្មាន ៥/៥
BRVS k សាខាប្រសិនបើទង់ត្រូវបានកំណត់ ប្រសិនបើ (V = 1) បន្ទាប់មក PC ← PC + k + 1 គ្មាន ៥/៥
BRVC k សាខាប្រសិនបើទង់លើសត្រូវបានសម្អាត ប្រសិនបើ (V = 0) បន្ទាប់មក PC ← PC + k + 1 គ្មាន ៥/៥
ប៊ី។ អេ k សាខាប្រសិនបើរំខានដល់ដំណើរការ ប្រសិនបើ ( I = 1) បន្ទាប់មក PC ← PC + k + 1 គ្មាន ៥/៥
បាក់ k សាខាប្រសិនបើរំខានដល់ជនពិការ ប្រសិនបើ ( I = 0) បន្ទាប់មក PC ← PC + k + 1 គ្មាន ៥/៥
ការណែនាំប៊ីតនិងប៊ីធី - សាកល្បង
អេសប៊ីអាយ ទំ, ខ កំណត់ប៊ីតក្នុងការចុះឈ្មោះ I / O I/O(P,b) ← ១ គ្មាន 2
CBI ទំ, ខ លុបប៊ីតក្នុងការចុះឈ្មោះ I / O I/O(P,b) ← ១ គ្មាន 2
អិលអេសអិល Rd Logical Shift ឆ្វេង Rd(n+1) ← Rd(n), Rd(0) ← 0 Z, C, N, V 1
LSR Rd ការផ្លាស់ប្តូរឡូជីខលស្តាំ Rd(n) ← Rd(n+1), Rd(7) ← 0 Z, C, N, V 1
អរ Rd បង្វិលខាងឆ្វេងឆ្លងកាត់ដឹក Rd(0)←C,Rd(n+1)← Rd(n),C←Rd(7) Z, C, N, V 1
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
មីនីម៉ូនិក ប្រតិបត្តិការ ការពិពណ៌នា ប្រតិបត្តិការ ទង់ជាតិ # ខ្ទម
SWAP Rd ប្តូរ Nibbles Rd(3..0)←Rd(7..4),Rd(7..4)←Rd(3..0) គ្មាន 1
BSET s កំណត់ទង់ SREG(s) ← ១ SREG (s) 1
BCLR s សម្គាល់ច្បាស់ SREG(s) ← ១ SREG (s) 1
BST រី, ខ ហាងប៊ីតពីចុះឈ្មោះទៅធី T ← RR(b) T 1
BLD ទី, ខ ផ្ទុកប៊ីតពីធីដើម្បីចុះឈ្មោះ Rd(b) ← T គ្មាន 1
SEC កំណត់អនុវត្ត គ ← ១ C 1
CLC ជម្រះ Carry គ ← ១ C 1
សេន កំណត់ទង់អវិជ្ជមាន N ← ១ N 1
CLN ជម្រះទង់អវិជ្ជមាន N ← ១ N 1
តំបន់សេដ្ឋកិច្ចពិសេស កំណត់ទង់សូន្យ Z ← ១ Z 1
CLZ ជម្រះទង់សូន្យ Z ← ១ Z 1
បើកដំណើរការការរំខានជាសកល ខ្ញុំ ← ១ I 1
CLI ការរំខានជាសកលត្រូវបានបិទ ខ្ញុំ ← ១ I 1
អេសអេស កំណត់ទង់តេស្តដែលបានចុះហត្ថលេខា ស ← ១ S 1
CLS សម្អាតទង់តេស្តដែលបានចុះហត្ថលេខា ស ← ១ S 1
SEV កំណត់អតិផរណាបំពេញលើស។ V ← ១ V 1
CLV ជម្រះលើសចំណុះបំពេញលើស V ← ១ V 1
SET កំណត់ T នៅក្នុង SREG T ← ១ T 1
CLT ជម្រះ T នៅក្នុង SREG T ← ១ T 1
ស។ ស កំណត់ទង់ជាតិពាក់កណ្តាលនៅក្នុង SREG H ← ១ H 1
CLH សម្អាតទង់ជាតិពាក់កណ្តាលនៅអេសអេស H ← ១ H 1
សេចក្តីណែនាំផ្ទេរទិន្នន័យដាតា
ម៉ូវ ទី, អរ ផ្លាស់ទីរវាងចុះបញ្ជី Rd ← Rr គ្មាន 1
ម៉ូវ ទី, អរ ចម្លងពាក្យចុះឈ្មោះ Rd+1:Rd ← Rr+1:Rr គ្មាន 1
LDI ទី, ខេ ផ្ទុកបន្ទាន់ Rd ← K គ្មាន 1
LD ទី, X ផ្ទុកប្រយោល ផ្លូវ ← (X) គ្មាន 2
LD ទី, X + ផ្ទុកប្រយោលនិងក្រោយអ៊ិន។ Rd ← (X), X ← X + 1 គ្មាន 2
LD ទី, - X ផ្ទុកប្រយោលនិងមុនធ្នូ។ X ← X–1, Rd ← (X) គ្មាន 2
LD ទី, អ៊ី ផ្ទុកប្រយោល ផ្លូវ ← (Y) គ្មាន 2
LD ទី, អ៊ី + ផ្ទុកប្រយោលនិងក្រោយអ៊ិន។ Rd ← (Y), Y ← Y + 1 គ្មាន 2
LD ទី, - អ៊ី ផ្ទុកប្រយោលនិងមុនធ្នូ។ Y ← Y – 1, Rd ← (Y) គ្មាន 2
អិលឌី.ឌី R, Y + q ផ្ទុកប្រយោលជាមួយការផ្លាស់ទីលំនៅ Rd ← (Y + q) គ្មាន 2
LD ទី, Z ផ្ទុកប្រយោល ផ្លូវ ← (Z) គ្មាន 2
LD ទី, Z + ផ្ទុកប្រយោលនិងក្រោយអ៊ិន។ Rd ← (Z), Z ← Z+1 គ្មាន 2
LD ទី, -Z ផ្ទុកប្រយោលនិងមុនធ្នូ។ Z ← Z – 1, Rd ← (Z) គ្មាន 2
អិលឌី.ឌី ទី, Z + q ផ្ទុកប្រយោលជាមួយការផ្លាស់ទីលំនៅ Rd ← (Z + q) គ្មាន 2
LDS ទី, ក ផ្ទុកផ្ទាល់ពីអេស។ អេ Rd ← (k) គ្មាន 2
ST X, RR រក្សាទុកដោយប្រយោល (X) ← Rr គ្មាន 2
ST X +, Rr រក្សាទុកប្រយោលនិងក្រោយអ៊ីន។ (X) ← Rr, X ← X+1 គ្មាន 2
ST - X, RR រក្សាទុកប្រយោលនិងមុនធ្នូ។ X ← X–1, (X) ← Rr គ្មាន 2
ST អ៊ី, អរ រក្សាទុកដោយប្រយោល (Y) ← Rr គ្មាន 2
ST Y +, Rr រក្សាទុកប្រយោលនិងក្រោយអ៊ីន។ (Y) ← Rr, Y ← Y+1 គ្មាន 2
ST - អ៊ី, អរ រក្សាទុកប្រយោលនិងមុនធ្នូ។ Y ← Y – 1, (Y) ← Rr គ្មាន 2
ជំងឺកាមរោគ Y + q, Rr រក្សាទុកប្រយោលជាមួយការផ្លាស់ទីលំនៅ (Y+q) ← Rr គ្មាន 2
ST ហ្ស, អរ រក្សាទុកដោយប្រយោល (Z) ← Rr គ្មាន 2
ST Z +, Rr រក្សាទុកប្រយោលនិងក្រោយអ៊ីន។ (Z) ← Rr, Z ← Z+1 គ្មាន 2
ST -Z, រ៉េ រក្សាទុកប្រយោលនិងមុនធ្នូ។ Z ← Z–1, (Z) ← Rr គ្មាន 2
ជំងឺកាមរោគ Z + q, Rr រក្សាទុកប្រយោលជាមួយការផ្លាស់ទីលំនៅ (Z+q) ← Rr គ្មាន 2
អេសធីអេស k, Rr រក្សាទុកដោយផ្ទាល់ទៅអេស។ អេ (k) ← Rr គ្មាន 2
LPM ផ្ទុកអង្គចងចាំកម្មវិធី R0 ← (Z) គ្មាន 3
LPM ទី, Z ផ្ទុកអង្គចងចាំកម្មវិធី ផ្លូវ ← (Z) គ្មាន 3
LPM ទី, Z + ផ្ទុកអង្គចងចាំកម្មវិធីនិងក្រោយអ៊ីន Rd ← (Z), Z ← Z+1 គ្មាន 3
SPM ផ្ទុកអង្គចងចាំកម្មវិធី (z) ← R1:R0 គ្មាន
IN ទី, ភី នៅកំពង់ផែ Rd ← ទំ គ្មាន 1
ចេញ ភី, អរ កំពង់ផែចេញ P ← Rr គ្មាន 1
ជំរុញ Rr ជំរុញចុះឈ្មោះនៅលើជង់ STACK ← Rr គ្មាន 2
POP Rd ប៉ុបចុះឈ្មោះពីជង់ ផ្លូវ ← ជង់ គ្មាន 2
ការណែនាំអំពី MCU
ណុប គ្មានប្រតិបត្តិការ គ្មាន 1
គេង គេង (សូមមើល descr ជាក់លាក់សម្រាប់មុខងារគេង) គ្មាន 1
WDR កំណត់ឃ្លាំមើលឡើងវិញ (សូមមើល descr ជាក់លាក់សម្រាប់ WDR / Timer) គ្មាន 1
BREAK សម្រាក
ល្បឿន (MHz) (១៦១៦) វ៉ុលផ្គត់ផ្គង់tagអ៊ី (វី) ជួរសីតុណ្ហភាព កញ្ចប់ (១៦១៦) លេខកូដបញ្ជាទិញ (១៦១៦)
10 1.8 - 5.5 ឧស្សាហកម្ម

(-២៥ អង្សាសេដល់ ៥០ អង្សាសេ) (១៦១៦)

8P3 អេធីធីនី ៤៥ វី -១០ ភី
៣២ ស ៣៣៤ ATtiny45V-10SU ATtiny45V-10SUR ATtiny45V-10SH ATtiny45V-10SHR
8X ATtiny45V-10 ផ្លូវភេទ ATtiny45V-10XUR
20M1 ATtiny45V-10MU ATtiny45V-10MUR
20 2.7 - 5.5 ឧស្សាហកម្ម

(-២៥ អង្សាសេដល់ ៥០ អង្សាសេ) (១៦១៦)

8P3 ATtiny45-20PU
៣២ ស ៣៣៤ អេធីធីនី ៤៥-២០ ស៊ូយូអេធីធីនី ៤៥-២០ ស៊ូ

អេធីធីនី ៤៥-២០ អេសអេធីធីទី ៤៥-២០ អេសអេចអរ

8X អាធីទីន ៤៥-២០ អាធីធីអាធីធី ៤៥-២០XUR
20M1 ATtiny45-20MU ATtiny45-20MUR

កំណត់សម្គាល់៖ 1. សម្រាប់ល្បឿនធៀបនឹងការផ្គត់ផ្គង់វ៉ុលtage សូមមើលផ្នែក ២១.៣“ ល្បឿន” នៅទំព័រ ១៦៣.

កញ្ចប់ទាំងអស់គឺមិនគិតថ្លៃ Pb គ្មានពាក់កណ្តាលនិងពណ៌បៃតងពេញលេញហើយពួកគេគោរពតាមសេចក្តីណែនាំរបស់អឺរ៉ុបសម្រាប់ការរឹតត្បិតសារធាតុគ្រោះថ្នាក់ (RoHS) ។

សូចនាករកូដ

ក្រុមហ៊ុន H: បញ្ចប់ការនាំមុខ NiPdAu

យូ: សំណប៉ាហាំងម៉ាត់

R: កាសែតនិង reel

ឧបករណ៍ទាំងនេះក៏អាចត្រូវបានផ្គត់ផ្គង់ក្នុងទំរង់ wafer ផងដែរ។ សូមទាក់ទងការិយាល័យលក់អាតូមៀក្នុងតំបន់របស់អ្នកសម្រាប់ព័ត៌មានលំអិតអំពីការបញ្ជាទិញនិងបរិមាណអប្បបរមា។

អេរិតាតា

អេរ៉ាតាតាអេធីទី ២៥

លិខិតកែសំរួលក្នុងផ្នែកនេះសំដៅទៅលើការកែសំរួលឧបករណ៍អេធីធីទី ២៥ ។

Rev D - F

មិនមានកំហុសឆេវឆាវដែលគេស្គាល់។

បបខ - គ

ការអាន EEPROM អាចបរាជ័យនៅវ៉ុលផ្គត់ផ្គង់ទាបtage / ប្រេកង់នាឡិកាទាប

ការអាន EEPROM អាចបរាជ័យនៅវ៉ុលផ្គត់ផ្គង់ទាបtage / ប្រេកង់នាឡិកាទាប

ព្យាយាមអាន EEPROM នៅប្រេកង់នាឡិកាទាប និង/ឬវ៉ុលផ្គត់ផ្គង់ទាបtage អាចបណ្តាលឱ្យមានទិន្នន័យមិនត្រឹមត្រូវ។

ដោះស្រាយបញ្ហា / ដំណោះស្រាយការងារ

កុំប្រើ EEPROM នៅពេលដែលប្រេកង់នាឡិកាទាបជាង 1MHz និងផ្គត់ផ្គង់វ៉ុលtage ទាបជាង 2V ។ ប្រសិនបើប្រេកង់ប្រតិបត្តិការមិនអាចត្រូវបានលើកឡើងលើសពី 1MHz បន្ទាប់មកផ្គត់ផ្គង់វ៉ុលtage គួរតែមានច្រើនជាង 2V ។ ដូចគ្នានេះដែរប្រសិនបើការផ្គត់ផ្គង់ voltage មិនអាចត្រូវបានលើកឡើងលើសពី 2V ទេ ប្រេកង់ប្រតិបត្តិការគួរតែមានច្រើនជាង 1MHz ។

លក្ខណៈពិសេសនេះត្រូវបានគេដឹងថាពឹងផ្អែកលើសីតុណ្ហភាពប៉ុន្តែវាមិនត្រូវបានកំណត់។ ការណែនាំត្រូវបានផ្តល់សម្រាប់សីតុណ្ហភាពបន្ទប់តែប៉ុណ្ណោះ។

វិ។ អេ

មិនមែន សampដឹកនាំ។

អេរ៉ាតាតាអេធីទី ២៥

លិខិតកែសំរួលក្នុងផ្នែកនេះសំដៅទៅលើការកែសំរួលឧបករណ៍អេធីធីទី ២៥ ។

Rev F - G

មិនមានកំហុសឆេវឆាវដែលគេស្គាល់

Rev D - E

ការអាន EEPROM អាចបរាជ័យនៅវ៉ុលផ្គត់ផ្គង់ទាបtage / ប្រេកង់នាឡិកាទាប

ការអាន EEPROM អាចបរាជ័យនៅវ៉ុលផ្គត់ផ្គង់ទាបtage / ប្រេកង់នាឡិកាទាប

ព្យាយាមអាន EEPROM នៅប្រេកង់នាឡិកាទាប និង/ឬវ៉ុលផ្គត់ផ្គង់ទាបtage អាចបណ្តាលឱ្យមានទិន្នន័យមិនត្រឹមត្រូវ។

ដោះស្រាយបញ្ហា / ដំណោះស្រាយការងារ

កុំប្រើ EEPROM នៅពេលដែលប្រេកង់នាឡិកាទាបជាង 1MHz និងផ្គត់ផ្គង់វ៉ុលtage ទាបជាង 2V ។ ប្រសិនបើប្រេកង់ប្រតិបត្តិការមិនអាចត្រូវបានលើកឡើងលើសពី 1MHz បន្ទាប់មកផ្គត់ផ្គង់វ៉ុលtage គួរតែមានច្រើនជាង 2V ។ ដូចគ្នានេះដែរប្រសិនបើការផ្គត់ផ្គង់ voltage មិនអាចត្រូវបានលើកឡើងលើសពី 2V ទេ ប្រេកង់ប្រតិបត្តិការគួរតែមានច្រើនជាង 1MHz ។

លក្ខណៈពិសេសនេះត្រូវបានគេដឹងថាពឹងផ្អែកលើសីតុណ្ហភាពប៉ុន្តែវាមិនត្រូវបានកំណត់។ ការណែនាំត្រូវបានផ្តល់សម្រាប់សីតុណ្ហភាពបន្ទប់តែប៉ុណ្ណោះ។

បបខ - គ

PLL មិនចាក់សោ

EEPROM អានពីលេខកូដកម្មវិធីមិនដំណើរការនៅក្នុង Lock Bit Mode 3 ទេ

ការអាន EEPROM អាចបរាជ័យនៅវ៉ុលផ្គត់ផ្គង់ទាបtage / ប្រេកង់នាឡិកាទាប

ការបង្កើតឧបករណ៍កំណត់ពេលវេលារាប់ PWM នៅលើ OC1B-XOC1B មិនដំណើរការត្រឹមត្រូវទេ

PLL មិនចាក់សោ

នៅពេលដែលនៅប្រេកង់ទាបជាង ៦.០ មេហ្គាហឺតអេចភីនឹងមិនចាក់សោឡើយ

ដោះស្រាយបញ្ហា / ដំណោះស្រាយការងារ

នៅពេលប្រើ PLL ដំណើរការនៅល្បឿន 6.0 MHz ឬខ្ពស់ជាងនេះ។

EEPROM អានពីលេខកូដកម្មវិធីមិនដំណើរការនៅក្នុង Lock Bit Mode 3 ទេ

នៅពេលដែលអង្គចងចាំចាក់សោរ LB2 និង LB1 ត្រូវបានសរសេរទៅរបៀបទី ៣ អាន EEPROM មិនដំណើរការពីលេខកូដកម្មវិធីទេ។

ដោះស្រាយបញ្ហា / ធ្វើការនៅជុំវិញ

កុំកំណត់របៀបចាក់សោរការពារប៊ីត ៣ ពេលលេខកូដកម្មវិធីត្រូវការអានពី EEPROM ។

ការអាន EEPROM អាចបរាជ័យនៅវ៉ុលផ្គត់ផ្គង់ទាបtage / ប្រេកង់នាឡិកាទាប

ព្យាយាមអាន EEPROM នៅប្រេកង់នាឡិកាទាប និង/ឬវ៉ុលផ្គត់ផ្គង់ទាបtage អាចបណ្តាលឱ្យមានទិន្នន័យមិនត្រឹមត្រូវ។

ដោះស្រាយបញ្ហា / ដំណោះស្រាយការងារ

កុំប្រើ EEPROM នៅពេលដែលប្រេកង់នាឡិកាទាបជាង 1MHz និងផ្គត់ផ្គង់វ៉ុលtage ទាបជាង 2V ។ ប្រសិនបើប្រេកង់ប្រតិបត្តិការមិនអាចត្រូវបានលើកឡើងលើសពី 1MHz បន្ទាប់មកផ្គត់ផ្គង់វ៉ុលtage គួរតែមានច្រើនជាង 2V ។ ដូចគ្នានេះដែរប្រសិនបើការផ្គត់ផ្គង់ voltage មិនអាចត្រូវបានលើកឡើងលើសពី 2V ទេ ប្រេកង់ប្រតិបត្តិការគួរតែមានច្រើនជាង 1MHz ។

លក្ខណៈពិសេសនេះត្រូវបានគេដឹងថាពឹងផ្អែកលើសីតុណ្ហភាពប៉ុន្តែវាមិនត្រូវបានកំណត់។ ការណែនាំត្រូវបានផ្តល់សម្រាប់សីតុណ្ហភាពបន្ទប់តែប៉ុណ្ណោះ។

ការបង្កើតឧបករណ៍កំណត់ពេលវេលារាប់ PWM នៅលើ OC1B - XOC1B មិនដំណើរការត្រឹមត្រូវទេ

លទ្ធផលកម្មវិធីកំណត់ពេលរាប់ ១ PWM OC1B-XOC1B មិនដំណើរការត្រឹមត្រូវទេ។ មានតែក្នុងករណីដែលប៊ីតវត្ថុបញ្ជា, COM1B1 និង COM1B1 ស្ថិតនៅក្នុងរបៀបដូចគ្នានឹង COM0A1 និង COM1A1 រៀងៗខ្លួន OC0B-XOC1B នៅខាងក្រៅដំណើរការត្រឹមត្រូវ។

ដោះស្រាយបញ្ហា / ធ្វើការនៅជុំវិញ

ដំណោះស្រាយតែមួយគត់គឺត្រូវប្រើការកំណត់កំនត់ដូចគ្នានៅលើឧបករណ៍ត្រួតពិនិត្យអេមអេសអាអេ [១: ០] និងស៊ីអ៊ី ១ [១: ០] សូមមើលតារាង ១៤-៤ នៅក្នុងសន្លឹកទិន្នន័យ បញ្ហាត្រូវបានជួសជុលសម្រាប់ Tiny1 rev D ។

វិ។ អេ

ការប្រើប្រាស់ថាមពលធ្លាក់ចុះទាបពេក

DebugWIRE ធ្វើអោយមានការប្រាស្រ័យទាក់ទងនៅពេលដែលការឈានជើងចូលតែមួយ

PLL មិនចាក់សោ

EEPROM អានពីលេខកូដកម្មវិធីមិនដំណើរការនៅក្នុង Lock Bit Mode 3 ទេ

ការអាន EEPROM អាចបរាជ័យនៅវ៉ុលផ្គត់ផ្គង់ទាបtage / ប្រេកង់នាឡិកាទាប

ការប្រើប្រាស់ថាមពលធ្លាក់ចុះទាបពេក

ស្ថានភាពបីនឹងនាំឱ្យមានការប្រើប្រាស់ថាមពលទាបពេក។ ទាំងនេះ​គឺជា:

នាឡិកាខាងក្រៅត្រូវបានជ្រើសរើសដោយហ្វុយហ្ស៊ីសប៉ុន្តែ I / O PORT នៅតែត្រូវបានបើកជាលទ្ធផល។

EEPROM ត្រូវបានអានមុននឹងបញ្ចូលថាមពល។

VCC គឺ ៤.៥ វ៉ុលឬខ្ពស់ជាងនេះ។

ការបដិសេធ៖ ព័ត៌មាននៅក្នុងឯកសារនេះត្រូវបានផ្តល់ជូនទាក់ទងនឹងផលិតផល Atmel ។ គ្មានអាជ្ញាប័ណ្ណ ការបង្ហាញ ឬបង្កប់ន័យដោយការបិទបាំង ឬបើមិនដូច្នេះទេ ចំពោះសិទ្ធិកម្មសិទ្ធិបញ្ញាណាមួយត្រូវបានផ្តល់ដោយឯកសារនេះ ឬពាក់ព័ន្ធនឹងការលក់ផលិតផល Atmel ។ លើក​លែង​តែ​មាន​ចែង​ក្នុង​លក្ខខណ្ឌ​នៃ​ការ​លក់​ដែល​មាន​នៅ​លើ ATMEL WEBគេហទំព័រ អេធីអឹមអិល សន្មត់ថាមិនមានទំនួលខុសត្រូវអ្វីទាំងអស់ និងបដិសេធការធានាណាមួយដែលបញ្ជាក់ដោយបញ្ជាក់ ឬតាមលក្ខន្តិកៈដែលទាក់ទងនឹងផលិតផលរបស់វា រួមទាំង ប៉ុន្តែមិនកំណត់ចំពោះ ការធានាដោយអត្ថិភាពនៃក្រុមហ៊ុន អាជីវករ សេវាកម្មផ្គត់ផ្គង់ទំនិញ។ ក្នុងករណីណាក៏ដោយ ATMEL នឹងត្រូវទទួលខុសត្រូវចំពោះការខូចខាតដោយផ្ទាល់ ប្រយោល ផលវិបាក ការដាក់ទណ្ឌកម្ម ពិសេស ឬដោយចៃដន្យ (រួមទាំង ដោយគ្មានដែនកំណត់ ការខូចខាតសម្រាប់ការខាតបង់ និងប្រាក់ចំណេញ ការប្រើប្រាស់អាជីវកម្ម ឧស្សាហកម្ម ឯកសារនេះ ទោះបីជា ATMEL ត្រូវបានណែនាំអំពីលទ្ធភាពនៃការខូចខាតបែបនេះក៏ដោយ។

Atmel មិនធ្វើតំណាង ឬការធានាទាក់ទងនឹងភាពត្រឹមត្រូវ ឬភាពពេញលេញនៃខ្លឹមសារនៃឯកសារនេះ ហើយរក្សាសិទ្ធិក្នុងការផ្លាស់ប្តូរលក្ខណៈជាក់លាក់ និងការពិពណ៌នាអំពីផលិតផលនៅពេលណាមួយដោយមិនមានការជូនដំណឹងជាមុន។ Atmel មិនធ្វើការប្តេជ្ញាចិត្តណាមួយដើម្បីធ្វើបច្ចុប្បន្នភាពព័ត៌មានដែលមាននៅទីនេះទេ។ លុះត្រាតែមានផ្តល់ជូនជាពិសេសនោះ ផលិតផល Atmel មិនស័ក្តិសមសម្រាប់ និងមិនត្រូវប្រើក្នុងកម្មវិធីរថយន្តឡើយ។ ផលិតផល Atmel មិនត្រូវបានបម្រុងទុក អនុញ្ញាត ឬធានាសម្រាប់ការប្រើប្រាស់ជាសមាសធាតុនៅក្នុងកម្មវិធីដែលមានបំណងគាំទ្រ ឬទ្រទ្រង់ជីវិត។

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *