Microcontrollers MCS-51: គំរូកម្មវិធី រចនាសម្ព័ន្ធ ពាក្យបញ្ជា។ Microcontrollers MCS – 51. ដ្យាក្រាមប្លុក, ALU, អង្គចងចាំទិន្នន័យ MCS 51 microcontrollers មានស្ថាបត្យកម្មនៃប្រភេទ

  • 06.11.2021

UDC 681.5, 681.325.5 (075.8)

BBK 32.973.202-018.2 i 73

A.N. Shcherbinaម៉ាស៊ីនកុំព្យូទ័រ ប្រព័ន្ធ និងបណ្តាញ។ Microcontrollers និង microprocessors នៅក្នុងប្រព័ន្ធគ្រប់គ្រង៖ចេប ប្រាក់ឧបត្ថម្ភ / A.N. Shcherbina, P.A. Nechaev- SPb ។ : ពីពហុបច្ចេកទេស។ សាកលវិទ្យាល័យ, 2012.-226 ទំ។

ត្រូវគ្នាទៅនឹងខ្លឹមសារនៃស្តង់ដារអប់រំរបស់រដ្ឋសម្រាប់ផ្នែកបណ្តុះបណ្តាល និងជំនាញក្នុងវិស័យគ្រប់គ្រងក្នុងប្រព័ន្ធបច្ចេកទេស ថាមពលអគ្គិសនី និងវិស្វកម្មអគ្គិសនី និងខ្លឹមសារនៃកម្មវិធីសិក្សាគំរូសម្រាប់វិន័យ "ម៉ាស៊ីនកុំព្យូទ័រ ប្រព័ន្ធ និងបណ្តាញ"។

បញ្ហាជាមូលដ្ឋាននៃការរៀបចំឡូជីខលនៃប្រព័ន្ធ microprocessor ត្រូវបានពិចារណាលើឧទាហរណ៍នៃស្ថាបត្យកម្មមូលដ្ឋាននៃគ្រួសារ microcontroller MCS-51 ពី Intel ។ បច្ចេកវិទ្យានៃ microcontrollers សរសេរកម្មវិធីជាភាសា Assembler និង SI ត្រូវបានពិពណ៌នា។

វាអាចមានប្រយោជន៍សម្រាប់សិស្សានុសិស្ស និងគ្រូបង្រៀននៃស្ថាប័នបច្ចេកទេសជាន់ខ្ពស់ អ្នកឯកទេសខាងស្វ័យប្រវត្តិកម្មនៃដំណើរការបច្ចេកវិជ្ជា និងឧបករណ៍ផលិតកម្ម ក៏ដូចជាសម្រាប់វិស្វកររចនានៃប្រព័ន្ធ microprocessor។

វាក៏អនុលោមតាមខ្លឹមសារនៃស្តង់ដារអប់រំរបស់រដ្ឋនៃវិញ្ញាសា "Microcontrollers and microprocessors in control systems" និង "Electronic devices of automation" បរិញ្ញាបត្រ វិស្វកម្ម និងការបណ្តុះបណ្តាលអនុបណ្ឌិតក្នុងទិសដៅ 140400 "វិស្វកម្មថាមពលអគ្គិសនី និងវិស្វកម្មអគ្គិសនី"។

បោះពុម្ពឡើងវិញដោយសេចក្តីសម្រេចរបស់ក្រុមប្រឹក្សាវិចារណកថា និងបោះពុម្ព

សាកលវិទ្យាល័យពហុបច្ចេកទេសរដ្ឋ St. Petersburg ។

© Shcherbina A. N., Nechaev P. A., 2012

© Saint Petersburg State

សាកលវិទ្យាល័យពហុបច្ចេកទេស ឆ្នាំ ២០១២

ISBN 978-5-7422-3553-8


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

ជំពូកទី 1. ស្ថាបត្យកម្មនៃគ្រួសារ MCS51 ។ ១០

១.១ លក្ខណៈទូទៅ ១០

១.២ ដ្យាក្រាមប្លុក ១១



១.៣ គោលបំណងនៃការសន្និដ្ឋានរបស់ microcontroller 8051 ១៥

១.៤ អង្គចងចាំ ១៧

១.៤.១ អង្គចងចាំកម្មវិធី (រ៉ូម) ១៨

១.៤.២ អង្គចងចាំទិន្នន័យ (RAM) ១៩

1.4.3 ការចុះឈ្មោះមុខងារពិសេស។ ម្ភៃ

១.៤.៤ ការចុះឈ្មោះទង់ជាតិ (PSW) ២៣

1.5 ឧបករណ៍ត្រួតពិនិត្យ និងធ្វើសមកាលកម្ម 26

១.៦ ការរៀបចំច្រក I/O ២៧

1.6.1 ព័ត៌មានទូទៅ។ ២៧

1.6.2 មុខងារជំនួស។ ២៧

១.៧. ឧបករណ៍កំណត់ម៉ោង/បញ្ជរសម្រាប់ 8051 microcontrollers.28

១.៧.១. រចនាសម្ព័ន្ធរាប់ម៉ោង។ ២៨

1.7.2 របៀបនៃប្រតិបត្តិការនៃកម្មវិធីកំណត់ម៉ោង។ សាមសិប

១.៨. ច្រកសៀរៀល 32

១.៨.១. រចនាសម្ព័ន្ធច្រកសៀរៀល។ ៣២

១.៨.២. Transceiver control/status register SCON.. ៣៤

១.៨.៣. ការត្រួតពិនិត្យថាមពល PCON .. ៣៦

១.៩. ប្រព័ន្ធរំខាន ៣៧

១.៩.១. រចនាសម្ព័ន្ធប្រព័ន្ធរំខាន។ ៣៧

1.9.2 ការអនុវត្តទម្លាប់រំខាន។ ៤០

ជំពូកទី 2. លក្ខណៈរបស់ microcontroller 80C51GB .. ៤២

២.១ លក្ខណៈ ៤២

២.២ ច្រក I/O P0-P5 ៤៣

2.2.1 មុខងារនៃច្រកបញ្ចូល-ទិន្នផល។ ៤៣

2.2.2 ការសរសេរទៅកាន់ Port .. 46

២.៣ លក្ខណៈពិសេសនៃប្រព័ន្ធរំខាន 8XC51GB .. ៤៩

បើក / បិទការរំខាន។ ៥០

រំខានការគ្រប់គ្រងអាទិភាព។ ៥១

ការរំខានខាងក្រៅ។ ៥៤

២.៣. ថ្នាំង ADC 56

២.៤. Hardware Watchdog ៦១

២.៥. ការរកឃើញកំហុសនាឡិកា ៦៣

២.៦. ម៉ាទ្រីសនៃបញ្ជរដែលអាចសរសេរកម្មវិធីបាន RSA 64

២.៦.១. រចនាសម្ព័ន្ធ PCA .. ៦៤

២.៦.២. ការចុះឈ្មោះរបៀបរាប់ PCA (CMOD) ៦៦

២.៦.៣. PCA counter control register (CON) ៦៧

២.៦.៤. ប្រៀបធៀប / ប្រព្រឹត្តម៉ូឌុល។ ៦៨

២.៧. ច្រកសៀរៀលបន្ថែម 76

២.៨. ឧបករណ៍កំណត់ម៉ោង/បញ្ជរ ៧៩

Pinout of microcontrollers group 8XC51GB .. ៨៦

ជំពូកទី 3. ការសរសេរកម្មវិធី MK 8051GB .. ៨៩

៣.១. គំរូកម្មវិធី 89

៣.២ ប្រភេទទិន្នន័យ ៩៣

3.3 វិធីសាស្រ្តនៃទិន្នន័យអាសយដ្ឋាន 93

៣.៤ ប្រព័ន្ធបញ្ជា ៩៥

3.4.1 លក្ខណៈទូទៅ។ ៩៥

3.4.2 ប្រភេទពាក្យបញ្ជា។ ៩៦

3.4.3 ប្រភេទនៃប្រតិបត្តិការ។ ៩៧

3.4.4 ពាក្យបញ្ជាសម្រាប់ផ្ទេរទិន្នន័យ microcontroller ។ ៩៨

3.4.5 ពាក្យបញ្ជាសម្រាប់ប្រតិបត្តិការនព្វន្ធ 8051.101

3.4.6 ពាក្យបញ្ជានៃប្រតិបត្តិការឡូជីខលរបស់ microcontroller 8051.104

3.4.7 ពាក្យបញ្ជាសម្រាប់ប្រតិបត្តិការជាមួយប៊ីតនៃ microcontroller 8051.106

3.5 កម្មវិធីបំបាត់កំហុស 111

ជំពូកទី 4. ភាសាសរសេរកម្មវិធី ASM-51 ។ ១១២

៤.២ ការសរសេរកម្មវិធីអត្ថបទ ១១៣

4.3 អក្ខរក្រមនៃភាសា។ ១១៤

4.4 អត្តសញ្ញាណ។ ១១៥

៤.៥ លេខ ១១៧

៤.៦ សេចក្តីណែនាំ ១១៨

4.7 ការអនុវត្តទម្រង់បែបបទរងក្នុងភាសា ASM51 122

4.7.1 រចនាសម្ព័ន្ធនៃទម្រង់បែបបទរងក្នុងភាសា ASM51 ។ ១២២

4.7.2 ឆ្លងកាត់ប៉ារ៉ាម៉ែត្រអថេរទៅទម្រង់ការរង។ ១២៣

4.7.3 ការអនុវត្តមុខងាររងជាភាសា ASM51 ។ ១២៣

4.7.4 ការអនុវត្ត​ទម្លាប់​ដោះស្រាយ​ការ​រំខាន​ក្នុង​ភាសា ASM51។ ១២៤

4.8 ការសរសេរកម្មវិធីដែលមានរចនាសម្ព័ន្ធជាភាសាដំឡើង។ ១២៥

៤.៩ លក្ខណៈពិសេសនៃការផ្សាយកម្មវិធីពហុម៉ូឌុល ១២៦

4.10 ការប្រើប្រាស់ផ្នែក 128

៤.១០.១ ការបំបែកអង្គចងចាំ MK ជាចម្រៀក .. ១២៨

4.10.2 ផ្នែកអង្គចងចាំដាច់ខាត។ ១២៩

4.10.2 ផ្នែកអង្គចងចាំដែលអាចផ្លាស់ប្តូរទីតាំងបាន។ ១៣១

ជំពូកទី 5. ភាសាសរសេរកម្មវិធី С-51 ។ ១៣៤

៥.១ លក្ខណៈទូទៅនៃភាសា ១៣៤

5.3 រចនាសម្ព័ន្ធកម្មវិធី С-51 136

៥.៣. ធាតុនៃភាសាសរសេរកម្មវិធី C-51 ១៣៨

៥.៣.១. និមិត្ត.. ១៣៨

៥.៣.២. ឯកតា Lexical សញ្ញាបំបែក និងការប្រើប្រាស់ចន្លោះ។ ១៤១

៥.៣.៣ អត្តសញ្ញាណ.. ១៤២

5.3.4 ពាក្យគន្លឹះ។ ១៤៣

៥.៣.៥ ថេរ.. ១៤៣

៥.៤. កន្សោមក្នុងភាសាប្រតិបត្តិករ ១៤៦

ការសរសេរកម្មវិធី C-51 146

៥.៥. អាទិភាពសម្រាប់ប្រតិបត្តិការ 148

៥.៦. ប្រតិបត្តិករនៃភាសាសរសេរកម្មវិធី C-51 149

៥.៦.១. ប្រតិបត្តិករប្រកាស។ ១៥០

5.6.2 ប្រតិបត្តិករដែលអាចប្រតិបត្តិបាន .. 150

5.6.3 ប្រតិបត្តិករចាត់តាំង។ ១៥១

5.6.4 ប្រតិបត្តិករតាមលក្ខខណ្ឌ។ ១៥១

5.6.5 Structured operator (). ១៥២

5.6.6 ប្រតិបត្តិកររង្វិលជុំសម្រាប់។ ១៥២

5.6.7 ប្រតិបត្តិករនៃរង្វិលជុំជាមួយនឹងការត្រួតពិនិត្យលក្ខខណ្ឌរហូតដល់តួនៃ while loop ។ ១៥៣

5.6.8 ប្រតិបត្តិករនៃរង្វិលជុំជាមួយនឹងការត្រួតពិនិត្យស្ថានភាពបន្ទាប់ពីតួនៃរង្វិលជុំធ្វើខណៈពេលដែល។ ១៥៤

5.6.9 ការបំបែកប្រតិបត្តិករ។ ១៥៥

5.6.10 ប្រតិបត្តិករបន្ត។ ១៥៥

5.6.11 ប្រតិបត្តិករនៃការផ្លាស់ប្តូរជម្រើស។ ១៥៥

5.6.12 ប្រតិបត្តិករនៃសាខាដោយគ្មានលក្ខខណ្ឌ goto ។ ១៥៧

5.6.13 កន្សោមប្រតិបត្តិករ។ ១៥៨

5.6.14 ប្រតិបត្តិករនៃការត្រឡប់មកវិញពីទម្រង់ការត្រឡប់មកវិញ។ ១៥៨

5.6.15 សេចក្តីថ្លែងការណ៍ទទេ។ ១៥៨

៥.៧. ការប្រកាសអថេរនៅក្នុងភាសាសរសេរកម្មវិធី C-51 ។ ១៥៩

៥.៧.១. សេចក្តីប្រកាសអថេរ។ ១៥៩

5.7.3 ប្រភេទទិន្នន័យចំនួនគត់។ ១៦១

5.7.4 លេខចំណុចអណ្តែត។ ១៦២

5.7.5 អថេរនៃប្រភេទដែលបានរាប់បញ្ចូល។ ១៦២

៥.៧.៦. ការប្រកាសអារេនៅក្នុងភាសាសរសេរកម្មវិធី C-51 ។ ១៦៤

៥.៧.៧. រចនាសម្ព័ន្ធ .. 165

៥.៧.៨. បន្សំ (លាយ) ១៦៦

៥.៨. ការប្រើប្រាស់ Pointers ក្នុង C-51 167

៥.៨.១. សេចក្តីថ្លែងការណ៍នៃសូចនាករ។ ១៦៧

៥.៨.២. ទ្រនិច​មិន​បាន​វាយ​អក្សរ។ ១៦៨

៥.៨.៣. ទ្រនិចដែលពឹងផ្អែកលើការចងចាំ។ ១៦៩

៥.៩. ប្រកាសប្រភេទអថេរថ្មី ១៦៩

៥.១០. ការចាប់ផ្តើមទិន្នន័យ 170

៥.១១. ការប្រើទម្រង់បែបបទរងក្នុងភាសាសរសេរកម្មវិធី C-51 ។ ១៧០

៥.១១.១. ការកំណត់ទម្រង់បែបបទរង ១៧១

៥.១១.២. ប៉ារ៉ាម៉ែត្រនៃទម្រង់បែបបទរង 173

៥.១១.៣. បុរេ្រករេ្រករេ្រកឹ ងៃនរង ១៧៤

៥.១១.៤ ហៅទម្រង់ការរង .. ១៧៦

5.11.5 ការហៅឡើងវិញនៃទម្រង់ការរង 176

5.11.6 រំខានដល់ការដោះស្រាយទម្លាប់។ ១៧៧

៥.១១.៧ វិសាលភាពនៃអថេរ និងទម្រង់បែបបទរង ១៧៨

៥.១២. កម្មវិធីចម្រុះ ១៧៩

ជំពូកទី 6. ការរៀបចំកម្មវិធីនៅក្នុងបរិយាកាសអភិវឌ្ឍន៍រួមបញ្ចូលគ្នា Keil μVision2 ។ ១៨២

6.1 ការបង្កើតគម្រោងជាភាសា ASM-51 182

6.2 ឧទាហរណ៍នៃការបង្កើតគម្រោងនៅក្នុង C សម្រាប់ឧបករណ៍បញ្ជាការបណ្តុះបណ្តាលនៅក្នុងបរិយាកាសអភិវឌ្ឍន៍រួមបញ្ចូលគ្នា Keil μVision2 188

ជំពូកទី 7. ការពិពណ៌នាអំពីឧបករណ៍បញ្ជាការបណ្តុះបណ្តាល .. 199

៧.១. រចនាសម្ព័ន្ធឧបករណ៍បញ្ជា 199

៧.២. អាសយដ្ឋាន 200

៧.២.១. ការបែងចែកអង្គចងចាំ។ ២០០

7.2.2 អង្គចងចាំខាងក្រៅ។ ២០១

៧.២.៣. អង្គចងចាំទិន្នន័យខាងក្នុង។ ២០២

៧.៣. ការគូសផែនទីច្រក I/O 202

៧.៤. ច្រកសៀរៀល……………………………….. ២០៣

៧.៥. ធ្វើការជាមួយ LCD 205

៧.៦. ផ្ទាំងបញ្ជា…………………………………………………… ២១៣

ឧបសម្ព័ន្ធ P2រចនាសម្ព័ន្ធនៃរបាយការណ៍មន្ទីរពិសោធន៍ ……..២១៧

ឧបសម្ព័ន្ធ A3 លេខកូដណែនាំម៉ាស៊ីន។ ២១៧

ឯកសារយោង ... 224


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

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

នៅលើពិភពលោកមានការអភិវឌ្ឍន៍ជាបន្តបន្ទាប់ និងការលេចឡើងនៃ microcontrollers និង microprocessors 16- និង 32-bit កាន់តែច្រើនឡើងៗ ប៉ុន្តែចំណែកដ៏ធំបំផុតនៃទីផ្សារ microprocessor ពិភពលោករហូតមកដល់សព្វថ្ងៃនេះនៅតែមានជាមួយនឹងឧបករណ៍ 8-bit។ យោងតាមការព្យាករណ៍ទាំងអស់របស់ក្រុមហ៊ុនវិភាគសម្រាប់អនាគតដ៏ខ្លីខាងមុខ ទីតាំងឈានមុខគេនៃ microcontrollers 8-bit នៅក្នុងទីផ្សារពិភពលោកនឹងនៅតែមាន។

បច្ចុប្បន្ននេះ ក្នុងចំណោម microcontrollers 8-bit ទាំងអស់ គ្រួសារ MCS-51 គឺជាអ្នកដឹកនាំដែលមិនមានការសង្ស័យទាក់ទងនឹងចំនួនពូជ និងចំនួនក្រុមហ៊ុនដែលផលិតការកែប្រែរបស់វា។ វាបានទទួលឈ្មោះរបស់វាពីអ្នកតំណាងដំបូងនៃគ្រួសារនេះ - microcontroller 8051 ។ សំណុំឧបករណ៍គ្រឿងកុំព្យូទ័រជោគជ័យ ជម្រើសដែលអាចបត់បែនបាននៃអង្គចងចាំកម្មវិធីខាងក្រៅ ឬខាងក្នុង និងតម្លៃសមរម្យបានធានានូវភាពជោគជ័យនៃ microcontroller នៅលើទីផ្សារ។

គុណសម្បត្តិនៃគ្រួសារ MCS-51៖

· ស្ថាបត្យកម្ម ដែលជាស្តង់ដារជាក់ស្តែង។

· វិសាលភាពមិនធម្មតានៃគ្រួសារ និងភាពខុសគ្នានៃលទ្ធភាព។

· ភាពអាចរកបាននៃដំណើរការខ្ពស់ និងកំណែបន្ថែមនៃដំណើរការ;

· ចំនួនដ៏សំខាន់នៃការអភិវឌ្ឍន៍កម្មវិធី និងផ្នែករឹងដែលមានដោយសេរី។

· ភាពងាយស្រួលនៃការសរសេរកម្មវិធីផ្នែករឹង រួមទាំងការសរសេរកម្មវិធីក្នុងសៀគ្វី។

· ការចំណាយទាប និងភាពអាចរកបាននៃបន្ទះសៀគ្វីមូលដ្ឋាន;

ភាពអាចរកបាននៃកំណែឯកទេសនៃឧបករណ៍បញ្ជាសម្រាប់លក្ខខណ្ឌពិសេសនៃការប្រើប្រាស់

· ភាពអាចរកបាននៃកំណែនៃឧបករណ៍បញ្ជាជាមួយនឹងកម្រិតកាត់បន្ថយនៃការជ្រៀតជ្រែកអេឡិចត្រូម៉ាញ៉េទិច;

· គេស្គាល់យ៉ាងទូលំទូលាយក្នុងចំណោមអ្នកអភិវឌ្ឍន៍នៃមនុស្សជំនាន់ចាស់ ទាំងនៅក្នុងពិភពលោក និងក្នុងប្រទេស CIS ។

· ការគាំទ្រស្ថាបត្យកម្មដោយស្ថាប័នអប់រំឈានមុខគេរបស់ពិភពលោក។

ហើយជាចុងក្រោយ អត្ថប្រយោជន៍ចម្បង៖ ដោយបានស្ទាត់ជំនាញបន្ទះឈីបមូលដ្ឋានរបស់គ្រួសារ អ្នកអាចចាប់ផ្តើមធ្វើការយ៉ាងងាយស្រួលជាមួយនឹងកុំព្យូទ័រ "បិសាច" ដូចជា microcontrollers Cygnal, Dallas Semiconductor, Analog Devices, Texas Instruments ។

គ្រួសារ MCS-51 រួមមាន microcircuits ជាច្រើនពី microcontrollers សាមញ្ញបំផុត រហូតដល់ស្មុគស្មាញបំផុត។ រហូតមកដល់ពេលនេះមានការកែប្រែជាង 200 នៃ microcontrollers គ្រួសារ 8051 ដែលផលិតដោយក្រុមហ៊ុនជិត 20 ។ ជារៀងរាល់ឆ្នាំអ្នកតំណាងនៃគ្រួសារនេះកាន់តែមានការប្រែប្រួលកាន់តែច្រើនឡើងៗ។

ទិសដៅសំខាន់នៃការអភិវឌ្ឍន៍គឺ៖

· បង្កើនការអនុវត្ត (បង្កើនប្រេកង់នាឡិកា និងការរចនាឡើងវិញនៃស្ថាបត្យកម្ម);

ការកាត់បន្ថយវ៉ុលផ្គត់ផ្គង់និងការប្រើប្រាស់ថាមពល;

· ការកើនឡើងនៃចំនួន RAM និងអង្គចងចាំ FLASH នៅលើបន្ទះឈីបជាមួយនឹងលទ្ធភាពនៃការសរសេរកម្មវិធីនៅក្នុងសៀគ្វី។

· ការណែនាំអំពីឧបករណ៍ស្មុគ្រស្មាញ ដូចជាប្រព័ន្ធគ្រប់គ្រងដ្រាយ ចំណុចប្រទាក់ CAN និង USB ជាដើម។ ទៅក្នុងបរិមាត្រ microcontroller ។

ឧបករណ៍បញ្ជាមីក្រូនៃគ្រួសារ MCS-51 អនុញ្ញាតឱ្យអ្នកអនុវត្តភារកិច្ចត្រួតពិនិត្យទាំងពីរសម្រាប់ឧបករណ៍ផ្សេងៗ និងអនុវត្តថ្នាំងនីមួយៗនៃសៀគ្វីអាណាឡូក។ microcircuits ទាំងអស់នៃគ្រួសារនេះដំណើរការជាមួយសំណុំការណែនាំដូចគ្នា។ ភាគច្រើននៃពួកវាត្រូវបានធ្វើឡើងនៅក្នុងករណីដូចគ្នាជាមួយនឹង pinout ដូចគ្នា (លេខនៃជើងសម្រាប់ករណីនេះ) ។ នេះអនុញ្ញាតឱ្យប្រើ microcircuits ពីក្រុមហ៊ុនផលិតផ្សេងៗគ្នាសម្រាប់ឧបករណ៍ដែលបានបង្កើតដោយមិនផ្លាស់ប្តូរដ្យាក្រាមសៀគ្វីនៃឧបករណ៍និងកម្មវិធី។

ក្រុមហ៊ុនផលិតសំខាន់ៗនៃពូជនៃគ្រួសារទី 51 នៅលើពិភពលោកគឺ Philips, Siemens, Intel, Atmel, Dallas, Temic, Oki, AMD, MHS, Gold Star, Winbond, Silicon Systems និងមួយចំនួនទៀត។

លក្ខណៈនៃអាណាឡូកនៃ microcontrollers នៃគ្រួសារ MCS-51 (Intel 8XC51FA, 8XC51GB, 80C152) ដែលមានសមត្ថភាពបន្ថែមត្រូវបានបង្ហាញក្នុងតារាង។ ក្នុង ១.

តារាង B.1

អង្គ​ចងចាំ រ៉ូម PCA ADC WDT T/C ក្រោយកំណើត។ ឆានែល លក្ខណៈពិសេស
អាសយដ្ឋាន៖ AT89C2051
- - - - UART ពន្លឺ 2 Kb
AT89C4051 - - - - UART ពន្លឺ 4Kb
AT89S4D12 128K - - - UART, SPI ពន្លឺ 4Kb
DALLAS Semiconductor: DS5000FP
- - - + UART ឧបករណ៍ផ្ទុក Bootstrap
DS5001FP - - - + UART ឧបករណ៍ផ្ទុក Bootstrap
DS8xC520 ១៦ គ - - + 2xUART 2 DPTR
SIEMENS: C505C
១៦ គ - + + UART, CAN 8 DPTR
C515C 64K - + + UART + SSC + CAN 4 PWM, 8 DPTR
Philips: * 89C51RA +
- + - + UART 2 DPTR, 4 lv ។ រំខាន, នាឡិកាចេញ, Flash 8K
P51XAG1x 8K - - + 2 UART
ក្រុមហ៊ុន Intel: 8xC51RA
8K - + + UART 4 កម្រិត IRQ, នាឡិកាចេញ
8XC196KC 64K ១៦ គ - + - UART 3 PWM
80C196KB 64K 8K - + - UART PWM

ជំពូកទី 1. ស្ថាបត្យកម្មនៃគ្រួសារ MCS51

MCS-51 8-bit single-chip microcontrollers បានក្លាយជាការពេញនិយមយ៉ាងខ្លាំងក្នុងចំណោមអ្នករចនាប្រព័ន្ធគ្រប់គ្រង microprocessor ដោយសារតែស្ថាបត្យកម្មដែលបានរចនាយ៉ាងល្អរបស់ពួកគេ។ ស្ថាបត្យកម្ម Microcontroller គឺជាបណ្តុំនៃធនធានផ្នែករឹង និងប្រព័ន្ធណែនាំដែលអាចចូលប្រើផ្នែកទន់ខាងក្នុង និងខាងក្រៅ។ ស្ថាបត្យកម្មនៃគ្រួសារ MCS-51 ត្រូវបានកំណត់ទុកជាមុនដោយគោលបំណងរបស់វា - ការសាងសង់ឧបករណ៍ឌីជីថលតូចនិងថោក។ Microcontrollers ដែលអនុវត្តមុខងារទាំងអស់របស់ microcomputer ដោយប្រើ microcircuit តែមួយត្រូវបានគេហៅថា single-chip computer (OEVM)។

ក្រុមហ៊ុន Intel បានបញ្ចេញម៉ូដែលប្រហែល 50 ដោយផ្អែកលើស្នូលប្រតិបត្តិការរបស់ Intel 8051 microcontroller ។ ក្នុងពេលជាមួយគ្នានេះដែរ ក្រុមហ៊ុនជាច្រើនទៀតដូចជា Atmel, Philips បានចាប់ផ្តើមផលិត microcontrollers ផ្ទាល់ខ្លួនរបស់ពួកគេដែលត្រូវបានបង្កើតឡើងដោយស្តង់ដារ MCS-51 ។

លក្ខណៈទូទៅ

លក្ខណៈសំខាន់ៗនៃគ្រួសារ៖

· 8-bit Central Processing Unit (CPU) ផ្តោតលើការគ្រប់គ្រងឧបករណ៍ប្រតិបត្តិ។

· ស៊ីភីយូមានសៀគ្វីភ្ជាប់មកជាមួយសម្រាប់ការគុណផ្នែករឹង 8 ប៊ីត និងការបែងចែកលេខ។

· វត្តមាននៅក្នុងសំណុំសេចក្តីណែនាំនៃប្រតិបត្តិការមួយចំនួនធំសម្រាប់ធ្វើការជាមួយប៊ីតដែលអាចដោះស្រាយដោយផ្ទាល់បានធ្វើឱ្យវាអាចនិយាយអំពីខួរក្បាលសម្រាប់ធ្វើការជាមួយទិន្នន័យប៊ីត (ដំណើរការប៊ូលីន);

· អង្គចងចាំកម្មវិធីខាងក្នុង (ដែលមានទីតាំងនៅលើបន្ទះឈីប) នៃប្រភេទបិទបាំង ឬរៀបចំឡើងវិញ ដែលសម្រាប់គ្រីស្តាល់ផ្សេងៗមានបរិមាណពី 4 ទៅ 32 Kb ក្នុងកំណែខ្លះវាអវត្តមាន។

· RAM ទិន្នន័យអ្នករស់នៅមិនតិចជាង 128 បៃ ដែលត្រូវបានប្រើសម្រាប់អង្គការ ចុះឈ្មោះធនាគារ ជង់ និងការផ្ទុកទិន្នន័យអ្នកប្រើប្រាស់។

· យ៉ាងហោចណាស់ 32 បន្ទាត់ចំណុចប្រទាក់ទ្វេទិស (ច្រក) ដែលត្រូវបានកំណត់រចនាសម្ព័ន្ធជាលក្ខណៈបុគ្គលសម្រាប់ការបញ្ចូល ឬលទ្ធផលនៃព័ត៌មាន។

· បញ្ជរពហុរបៀប 16 ប៊ីតពីរដែលប្រើដើម្បីរាប់ព្រឹត្តិការណ៍ខាងក្រៅ រៀបចំការពន្យាពេល និងនាឡិកាច្រកទំនាក់ទំនង។

· ឧបករណ៍បញ្ជូនទិន្នន័យអសមកាលទ្វេទិស (UART) ដែលត្រូវបានរចនាឡើងដើម្បីរៀបចំបណ្តាញទំនាក់ទំនងរវាងឧបករណ៍បញ្ជាមីក្រូ និងឧបករណ៍ខាងក្រៅជាមួយនឹងជួរដ៏ធំទូលាយនៃអត្រាផ្ទេរទិន្នន័យ។ មានឧបករណ៍សម្រាប់ការរួមបញ្ចូលផ្នែករឹង និងផ្នែកទន់នៃ microcontrollers ទៅក្នុងប្រព័ន្ធដែលបានតភ្ជាប់។

· ប្រព័ន្ធរំខានអាទិភាពពីរកម្រិត ដែលគាំទ្រយ៉ាងហោចណាស់ 5 វ៉ិចទ័រនៃការរំខានពីប្រភព 4 ខាងក្នុង និង 2 ខាងក្រៅនៃព្រឹត្តិការណ៍។

· ម៉ាស៊ីនភ្លើងនាឡិកាដែលភ្ជាប់មកជាមួយ។

គ្រោងការណ៍រចនាសម្ព័ន្ធ

ដ្យាក្រាមប្លុករបស់ឧបករណ៍បញ្ជាត្រូវបានបង្ហាញក្នុងរូប 1.1 ហើយមានឯកតាមុខងារសំខាន់ៗដូចខាងក្រោមៈ អង្គភាពបញ្ជា ឧបករណ៍តក្កវិជ្ជានព្វន្ធ ឯកតាកំណត់ម៉ោង/រាប់ ចំណុចប្រទាក់សៀរៀល និងឯកតារំខាន បញ្ជរកម្មវិធី អង្គចងចាំទិន្នន័យ និងអង្គចងចាំកម្មវិធី។ ការផ្លាស់ប្តូរទ្វេទិសត្រូវបានអនុវត្តដោយប្រើផ្លូវហាយវេទិន្នន័យ 8 ប៊ីតខាងក្នុង។ អ្នកតំណាងស្ទើរតែទាំងអស់នៃគ្រួសារ MCS-51 ត្រូវបានសាងសង់តាមគ្រោងការណ៍នេះ។ microcircuits ផ្សេងៗនៃគ្រួសារនេះខុសគ្នាតែនៅក្នុងការចុះឈ្មោះដែលមានគោលបំណងពិសេស (រួមទាំងចំនួនច្រក)។

អង្គភាពគ្រប់គ្រង និងពេលវេលា- បានរចនាឡើងដើម្បីបង្កើតការធ្វើសមកាលកម្ម និងសញ្ញាត្រួតពិនិត្យដែលធានានូវការសម្របសម្រួលនៃប្រតិបត្តិការរួមគ្នានៃអង្គភាព OEVM នៅក្នុងគ្រប់ទម្រង់ដែលអាចអនុញ្ញាតបាននៃប្រតិបត្តិការរបស់វា។ អង្គភាពត្រួតពិនិត្យរួមមាន:

ឧបករណ៍សម្រាប់បង្កើតចន្លោះពេល;

តក្កវិជ្ជា I/O;

ការចុះឈ្មោះពាក្យបញ្ជា;

បញ្ជីត្រួតពិនិត្យការប្រើប្រាស់អគ្គិសនី;

ឌិកូដនៃពាក្យបញ្ជា តក្កវិជ្ជាគ្រប់គ្រងកុំព្យូទ័រ។

អង្ករ។ ១.១. ដ្យាក្រាមប្លុកនៃឧបករណ៍បញ្ជា I8051 ។

ឧបករណ៍កំណត់ពេលវេលាត្រូវបានបម្រុងទុកសម្រាប់ការបង្កើត និងការចេញសញ្ញាសមកាលកម្មផ្ទៃក្នុងនៃដំណាក់កាល នាឡិកា និងវដ្ត។ ចំនួននៃវដ្តម៉ាស៊ីនកំណត់រយៈពេលនៃការប្រតិបត្តិការណែនាំ។ ពាក្យបញ្ជា OEVM ស្ទើរតែទាំងអស់ត្រូវបានប្រតិបត្តិក្នុងវដ្តម៉ាស៊ីនមួយ ឬពីរ លើកលែងតែពាក្យបញ្ជាគុណ និងការបែងចែក រយៈពេលដែលជាវដ្តម៉ាស៊ីនចំនួនបួន។ អនុញ្ញាតឱ្យយើងកំណត់ប្រេកង់នៃលំយោលមេដោយ F g ។ រយៈពេលនៃវដ្តម៉ាស៊ីនគឺ 12 / F g ឬ 12 រយៈពេលនៃសញ្ញានៃលំយោលមេ។ តក្កវិជ្ជាបញ្ចូល-ទិន្នផលត្រូវបានរចនាឡើងដើម្បីទទួល និងចេញសញ្ញាដែលផ្តល់ការផ្លាស់ប្តូរព័ត៌មានជាមួយឧបករណ៍ខាងក្រៅតាមរយៈច្រកបញ្ចូល/ទិន្នផល P0-P3 ។

ចុះឈ្មោះពាក្យបញ្ជាត្រូវបានបម្រុងទុកសម្រាប់ការកត់ត្រា និងរក្សាទុកកូដប្រតិបត្តិការ 8 ប៊ីតនៃពាក្យបញ្ជាដែលកំពុងដំណើរការ។ កូដប្រតិបត្តិការ ដោយមានជំនួយពីឧបករណ៍ឌិកូដពាក្យបញ្ជា និងតក្កវិជ្ជាគ្រប់គ្រងកុំព្យូទ័រត្រូវបានបំប្លែងទៅជាមីក្រូកម្មវិធីសម្រាប់ប្រតិបត្តិពាក្យបញ្ជា។

ការចុះឈ្មោះត្រួតពិនិត្យការប្រើប្រាស់ (PCON)អនុញ្ញាតឱ្យអ្នកបញ្ឈប់ microcontroller ដើម្បីកាត់បន្ថយការប្រើប្រាស់ថាមពល និងកាត់បន្ថយកម្រិតនៃសំលេងរំខានពី microcontroller ។ ការកាត់បន្ថយការប្រើប្រាស់ថាមពល និងការកាត់បន្ថយសំលេងរំខានបន្ថែមទៀតអាចសម្រេចបានដោយការបញ្ឈប់មេនៃលំយោលនៃ microcontroller ។ នេះអាចត្រូវបានសម្រេចដោយការត្រឡប់បន្តិចនៅក្នុងការត្រួតពិនិត្យការចុះឈ្មោះ PCON ។ សម្រាប់ n-MOS (ស៊េរី 1816 ឬ microcircuits បរទេសដែលមិនមាន "c" នៅកណ្តាល) ការចុះឈ្មោះគ្រប់គ្រងការប្រើប្រាស់ PCON មានប៊ីតតែមួយគត់ដែលគ្រប់គ្រងអត្រា baud ច្រកសៀរៀល SMOD ហើយមិនមានប៊ីតគ្រប់គ្រងថាមពលទេ។

ឯកតាតក្កវិជ្ជានព្វន្ធ (ALU)គឺជាឧបករណ៍ប្រាំបីប៊ីតប៉ារ៉ាឡែលដែលដំណើរការនព្វន្ធ និងតក្កវិជ្ជា។ ALU រួមមានៈ

ការចុះឈ្មោះ accumulator, ការចុះឈ្មោះ TMP1 និង TMP2;

ROM នៃថេរ;

អ្នកបន្ថែម;

ការចុះឈ្មោះបន្ថែម (ចុះឈ្មោះ B);

ថ្ម (ACC);

ការចុះឈ្មោះស្ថានភាពកម្មវិធី (PSW) ។

ចុះឈ្មោះ បញ្ជី​អ្នក​ប្រមូល​និង​រក្សា​ទុក- ការចុះឈ្មោះប្រាំបីប៊ីតដែលមានបំណងសម្រាប់ការទទួល និងរក្សាទុក operands សម្រាប់រយៈពេលនៃប្រតិបត្តិការលើពួកវា។ ការចុះឈ្មោះទាំងនេះមិនអាចចូលប្រើតាមកម្មវិធីបានទេ។

ថេរ ROMផ្តល់នូវការបង្កើតលេខកូដកែតម្រូវសម្រាប់ការតំណាងទិន្នន័យគោលពីរ - ទសភាគ កូដរបាំងសម្រាប់ប្រតិបត្តិការប៊ីត និងកូដថេរ។

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

ចុះឈ្មោះ ខ- ការចុះឈ្មោះប្រាំបីប៊ីតដែលប្រើកំឡុងប្រតិបត្តិការគុណ និងចែក។ សម្រាប់ការណែនាំផ្សេងទៀត វាអាចត្រូវបានមើលថាជាការចុះបញ្ជីប្រតិបត្តិការទំនើបបន្ថែម។

ថ្ម- ការចុះឈ្មោះប្រាំបីប៊ីតត្រូវបានរចនាឡើងដើម្បីទទួល និងរក្សាទុកលទ្ធផលដែលទទួលបាននៅពេលអនុវត្តប្រតិបត្តិការនព្វន្ធ-ឡូជីខល ឬប្រតិបត្តិការផ្លាស់ប្តូរ

ចំណុចប្រទាក់សៀរៀល និងអង្គភាពរំខាន (PIP)ត្រូវបានបម្រុងទុកសម្រាប់ការរៀបចំការបញ្ចូល - លទ្ធផលនៃស្ទ្រីមព័ត៌មានជាបន្តបន្ទាប់ និងការរៀបចំប្រព័ន្ធសម្រាប់រំខានកម្មវិធី។ ប្លុករួមមាន:

សតិបណ្ដោះអាសន្ន PIP;

តក្កវិជ្ជាគ្រប់គ្រង;

ការចុះឈ្មោះត្រួតពិនិត្យ;

សតិបណ្ដោះអាសន្នបញ្ជូន;

សតិបណ្ដោះអាសន្នអ្នកទទួល;

ឧបករណ៍បញ្ជូនតាមច្រកសៀរៀល;

រំខានការចុះឈ្មោះអាទិភាព;

រំខាន បើកការចុះឈ្មោះ;

រំខានដំណើរការតក្កវិជ្ជាទង់ និងសៀគ្វីបង្កើតវ៉ិចទ័រ។

កម្មវិធីរាប់ត្រូវបានរចនាឡើងដើម្បីបង្កើតអាសយដ្ឋាន 16 ប៊ីតបច្ចុប្បន្ននៃអង្គចងចាំកម្មវិធីខាងក្នុង និងអាសយដ្ឋាន 8/16 ប៊ីតនៃអង្គចងចាំកម្មវិធីខាងក្រៅ។ បញ្ជរការណែនាំរួមមានសតិបណ្ដោះអាសន្នកុំព្យូទ័រ 16 ប៊ីត ការចុះឈ្មោះកុំព្យូទ័រ និងសៀគ្វីបន្ថែម (បង្កើនមាតិកាដោយ 1) ។

អង្គចងចាំទិន្នន័យ (RAM)ត្រូវបានបម្រុងទុកសម្រាប់ការរក្សាទុកព័ត៌មានបណ្តោះអាសន្នដែលប្រើក្នុងដំណើរការនៃការប្រតិបត្តិកម្មវិធី។

ច្រក P0, P1, P2, P3គឺជាច្រកបញ្ចូល-ទិន្នផល quasi-bidirectional inputs និងត្រូវបានរចនាឡើងដើម្បីធានាឱ្យមានការផ្លាស់ប្តូរព័ត៌មានរវាងកុំព្យូទ័រ និងឧបករណ៍ខាងក្រៅ បង្កើតជា 32 input-output line។

ការចុះឈ្មោះស្ថានភាពកម្មវិធី (PSW)មានបំណងសម្រាប់រក្សាទុកព័ត៌មានអំពីស្ថានភាពនៃ ALU កំឡុងពេលប្រតិបត្តិកម្មវិធី។

អង្គចងចាំកម្មវិធី (EPROM)ត្រូវបានបម្រុងទុកសម្រាប់រក្សាទុកកម្មវិធី និងជាអង្គចងចាំបានតែអាន (រ៉ូម)។ microcircuits ផ្សេងគ្នាប្រើរបាំង UV អាចលុបបាន ឬ FLASH ROM ។

ការចុះឈ្មោះអ្នកចង្អុលបង្ហាញទិន្នន័យ (DPTR)ត្រូវបានរចនាឡើងដើម្បីរក្សាទុកអាសយដ្ឋាន 16 ប៊ីតនៃអង្គចងចាំទិន្នន័យខាងក្រៅ។

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

1.3 គោលបំណងនៃការសន្និដ្ឋានរបស់ microcontroller 8051(រូប ១.២)

· U ss - សក្តានុពលនៃខ្សែទូទៅ ("ដី");

· U cc - វ៉ុលផ្គត់ផ្គង់ចម្បង +5 V;

· X1, X2 - នាំមុខសម្រាប់ភ្ជាប់ឧបករណ៍ចាប់សញ្ញារ៉ែថ្មខៀវ;

RST - microcontroller ទូទៅ reset input;

PSEN - ការអនុញ្ញាតនៃអង្គចងចាំកម្មវិធីខាងក្រៅដែលចេញតែនៅពេលចូលប្រើរ៉ូមខាងក្រៅ។

· ALE - strobe នៃអាសយដ្ឋានអង្គចងចាំខាងក្រៅ;

· ЕА - បិទអង្គចងចាំកម្មវិធីខាងក្នុង; កម្រិត 0 នៅការបញ្ចូលនេះបង្ខំឱ្យ microcontroller ប្រតិបត្តិកម្មវិធីតែពី ROM ខាងក្រៅប៉ុណ្ណោះ។ មិនអើពើផ្ទៃក្នុង (ប្រសិនបើក្រោយគឺអាចរកបាន);

អង្ករ។ ១.២. ការ​កំណត់​លេខ 8051 ។

· P1 - ច្រកបញ្ចូល / ទិន្នផល 8-bit quasi-bidirectional input, bit នីមួយៗនៃ port អាចត្រូវបានកម្មវិធីទាំង input and output of information ដោយមិនគិតពីស្ថានភាពនៃ bits ផ្សេងទៀត;

· P2 - ច្រក quasi-bidirectional ប្រាំបីប៊ីត ស្រដៀងនឹង P1 ម្ជុលនៃច្រកនេះត្រូវបានប្រើដើម្បីចេញព័ត៌មានអាសយដ្ឋាននៅពេលចូលប្រើកម្មវិធីខាងក្រៅ ឬអង្គចងចាំទិន្នន័យ (ប្រសិនបើចុងក្រោយគឺអាសយដ្ឋាន 16 ប៊ីត) ។ លើសពីនេះទៀតម្ជុលនៃច្រកត្រូវបានប្រើកំឡុងពេលសរសេរកម្មវិធីដើម្បីបញ្ចូលប៊ីតលំដាប់ខ្ពស់នៃអាសយដ្ឋានទៅក្នុង microcontroller;

РЗ - ច្រកទ្វេទិសប្រាំបីប៊ីត ស្រដៀងទៅនឹង P1 ម្ជុលនៃច្រកនេះអាចអនុវត្តមុខងារជំនួសមួយចំនួនដែលត្រូវបានប្រើនៅពេលដំណើរការកម្មវិធីកំណត់ម៉ោង ច្រកបញ្ចូល-ទិន្នផលសៀរៀល ឧបករណ៍បញ្ជារំខាន និងកម្មវិធី និងទិន្នន័យខាងក្រៅ។ ការចងចាំ;

· P0 - ច្រកបញ្ចូលព័ត៌មានទ្វេទិសប្រាំបីប៊ីតដែលពហុគុណតាមរយៈច្រកនេះនៅពេលផ្សេងគ្នាដែលបៃទាបនៃអាសយដ្ឋាននិងទិន្នន័យត្រូវបានបញ្ចេញ។

អង្គការនៃការចងចាំ

ស៊េរី MCS-51 ទាំងមូលមានស្ថាបត្យកម្ម Harvard ពោលគឺចន្លោះអាសយដ្ឋានដាច់ដោយឡែកសម្រាប់អង្គចងចាំកម្មវិធី និងទិន្នន័យ។ រចនាសម្ព័ន្ធអង្គចងចាំត្រូវបានបង្ហាញនៅក្នុងរូបភព។ ១.៣.

ចំនួននៃអង្គចងចាំកម្មវិធីខាងក្នុង (អ្នករស់នៅ) (រ៉ូម EPROM ឬ OTP ROM) ដែលមានទីតាំងនៅលើបន្ទះឈីប អាស្រ័យលើប្រភេទមីក្រូសៀគ្វី អាចជា 0 (រ៉ូមគ្មាន) 4K (គ្រីស្តាល់មូលដ្ឋាន) 8K 16K ឬ 32K។ បើចាំបាច់ អ្នកប្រើប្រាស់អាចពង្រីកអង្គចងចាំកម្មវិធីដោយដំឡើង ROM ខាងក្រៅ។ ការចូលទៅកាន់ ROM ខាងក្នុង ឬខាងក្រៅត្រូវបានកំណត់ដោយតម្លៃនៃសញ្ញានៅ EA pin (External Access)៖

EA = V cc (វ៉ុលផ្គត់ផ្គង់) - ការចូលទៅកាន់រ៉ូមខាងក្នុង;

EA = V ss (សក្តានុពលដី) - ការចូលប្រើរ៉ូមខាងក្រៅ។

សម្រាប់គ្រីស្តាល់ដែលគ្មាន ROM (ROMless) ម្ជុល EA ត្រូវតែភ្ជាប់ជាអចិន្ត្រៃយ៍ទៅ V ss ។

អង្ករ។ ១.៣. អង្គការចងចាំនៃគ្រួសារ MCS-51

External ROM read strobe - (Program Store Enable) ត្រូវបានបង្កើតនៅពេលចូលប្រើអង្គចងចាំកម្មវិធីខាងក្រៅ ហើយអសកម្មកំឡុងពេលចូលប្រើ ROM ដែលមានទីតាំងនៅលើបន្ទះឈីប។ តំបន់នៃអាសយដ្ឋានខាងក្រោមនៃអង្គចងចាំកម្មវិធីត្រូវបានប្រើប្រាស់ដោយប្រព័ន្ធរំខាន។ ស្ថាបត្យកម្មនៃបន្ទះឈីបមូលដ្ឋាន 8051 ផ្តល់នូវការគាំទ្រសម្រាប់ប្រភពរំខានចំនួនប្រាំ៖

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

· ការរំខានពីរពីកម្មវិធីកំណត់ម៉ោង;

·រំខានពីច្រកសៀរៀល។

នៅក្នុងរូបភព។ 1.4 បង្ហាញផែនទីនៃតំបន់ទាបនៃការចងចាំកម្មវិធី។

អង្ករ។ ១.៤. ផែនទីអង្គចងចាំកម្មវិធីទាប

អង្គចងចាំកម្មវិធី (រ៉ូម)

នៅក្នុង microcontrollers នៃគ្រួសារ 8051 អង្គចងចាំកម្មវិធី និងអង្គចងចាំទិន្នន័យគឺជាឧបករណ៍ឯករាជ្យ និងឯករាជ្យ ដែលត្រូវបានដោះស្រាយដោយពាក្យបញ្ជាផ្សេងៗ និងសញ្ញាបញ្ជា។

អង្គចងចាំកម្មវិធីដែលភ្ជាប់មកជាមួយដែលមានទីតាំងនៅលើបន្ទះឈីបរបស់ 8051 microcontroller គឺ 4 KB (ក្នុងគ្រួសាររហូតដល់ 32) ។ នៅពេលចូលប្រើអង្គចងចាំកម្មវិធីខាងក្រៅ គ្រប់ microcontroller នៃគ្រួសារ 8051 តែងតែប្រើអាសយដ្ឋាន 16-bit ដែលផ្តល់ឱ្យពួកគេនូវការចូលប្រើ ROM 64 KB ។ microcontroller ចូលប្រើអង្គចងចាំកម្មវិធីនៅពេលអាន opcode និង operands (ដោយប្រើកុំព្យូទ័រ PC instruction counter) ក៏ដូចជានៅពេលប្រតិបត្តិសេចក្តីណែនាំដើម្បីចម្លង byte ពី memory program ទៅថ្ម។ នៅពេលដែលការចម្លងពាក្យបញ្ជាទិន្នន័យត្រូវបានប្រតិបត្តិ អាសយដ្ឋាននៃក្រឡាអង្គចងចាំរបស់កម្មវិធីដែលទិន្នន័យនឹងត្រូវបានអានអាចត្រូវបានអនុវត្តដោយប្រើទាំងកុំព្យូទ័ររាប់ PC និងការចុះឈ្មោះទ្រនិចទិន្នន័យ DPTR ពីរបៃពិសេស។

អង្គចងចាំទិន្នន័យ (RAM)

ចំនួនអង្គចងចាំទិន្នន័យនៅលើបន្ទះឈីបគឺ 128 បៃ។ អង្គចងចាំទិន្នន័យខាងក្រៅអាចមានរហូតដល់ 64KB ។ 32 បៃដំបូងត្រូវបានរៀបចំជាធនាគារចំនួនបួននៃការចុះបញ្ជីគោលបំណងទូទៅដែលកំណត់រៀងគ្នាធនាគារ 0 - ធនាគារ 3 ។ ពួកវានីមួយៗមានប្រាំបីចុះឈ្មោះ R0 - R7 ។ នៅពេលណាមួយ កម្មវិធីនេះអាចប្រើបាន ដោយមានអាសយដ្ឋានចុះឈ្មោះ មានតែធនាគារមួយនៃការចុះឈ្មោះ ចំនួនដែលមាននៅក្នុងប៊ីតទីបី និងទីបួននៃពាក្យស្ថានភាពនៃកម្មវិធី PSW ។

8051 microcontroller memory area addresses

តារាង 1.1

អាសយដ្ឋានបៃ (Hex) អាសយដ្ឋានប៊ីតដោយប៊ីត
ឃ៧ ឃ៦ ឃ៥ ឃ៤ ឃ៣ ឃ២ ឃ១ ឃ0
2F 7F ៧ អ៊ី 7D ៧ គ ៧ ប ៧ ក
2 អ៊ី
2D 6F 6 អ៊ី 6D 6 ស៊ី 6 ខ 6A
2 ស៊ី
2 ប 5F 5 អ៊ី 5D 5 ស៊ី 5 ខ 5A
2 ក
4F 4 អ៊ី 4D 4C 4 ខ ៤ ក
3F 3 អ៊ី 3D 3C 3B 3A
2F 2 អ៊ី 2D 2 ស៊ី 2 ប 2 ក
1F 1 អ៊ី 1D 1C 1 ខ 1A
0F 0 អ៊ី 0D 0 ស៊ី 0 ខ 0 ក
20 ម៉ោង។

ចន្លោះអាសយដ្ឋានដែលនៅសល់អាចត្រូវបានកំណត់រចនាសម្ព័ន្ធដោយអ្នកអភិវឌ្ឍន៍តាមការសំរេចចិត្តរបស់គាត់៖ វាអាចផ្ទុកតំបន់ជង់ ប្រព័ន្ធ និងទិន្នន័យអ្នកប្រើប្រាស់។ កោសិកាអង្គចងចាំទិន្នន័យអាចចូលប្រើបានតាមពីរវិធី។ វិធីទីមួយគឺការអាសយដ្ឋានដោយផ្ទាល់នៃកោសិកាអង្គចងចាំ។ ក្នុងករណីនេះ អាសយដ្ឋានក្រឡាគឺជាដំណើរការនៃការណែនាំដែលត្រូវគ្នា។ វិធីសាស្រ្តទីពីរគឺអាសយដ្ឋានដោយប្រយោលដោយប្រើការចុះឈ្មោះទ្រនិច R0 ឬ R1៖ មុនពេលប្រតិបត្តិពាក្យបញ្ជាដែលត្រូវគ្នា អាសយដ្ឋានក្រឡាដែលត្រូវដោះស្រាយត្រូវតែបញ្ចូលទៅក្នុងមួយក្នុងចំណោមពួកវា។

ដើម្បីចូលប្រើអង្គចងចាំទិន្នន័យខាងក្រៅ មានតែអាសយដ្ឋានប្រយោលប៉ុណ្ណោះដែលត្រូវបានប្រើដោយប្រើការចុះឈ្មោះ R0 និង R1 ឬប្រើការចុះឈ្មោះទ្រនិច DPTR 16 ប៊ីត។

ផ្នែកនៃអង្គចងចាំទិន្នន័យគឺជាតំបន់ប៊ីត ដែលវាអាចទៅរួច ដោយមានជំនួយពីការណែនាំពិសេសៗ ដើម្បីដោះស្រាយកោសិកាអង្គចងចាំនីមួយៗ។ អាសយដ្ឋាននៃប៊ីតដែលអាចអាសយដ្ឋានដោយផ្ទាល់ក៏អាចសរសេរជា (ByteAddress)។ (ប៊ីត) ។ ការឆ្លើយឆ្លងនៃវិធីសាស្រ្តអាសយដ្ឋានទាំងពីរនេះអាចត្រូវបានកំណត់ពីតារាង។ ១.១.

បច្ចុប្បន្ននេះ ក្រុមហ៊ុនផ្សេងៗផលិតការកែប្រែ និង analogues ជាច្រើននៃគ្រួសារនេះ ទាំងដោយ Intel និងក្រុមហ៊ុនផលិតផ្សេងទៀត ប្រេកង់នាឡិកា និងសមត្ថភាពចងចាំបានកើនឡើងដប់ដង និងបន្តកើនឡើង។ សំណុំនៃម៉ូឌុលដែលបានបង្កើតឡើងនៅក្នុង LSI ក៏កំពុងត្រូវបានបំពេញបន្ថែមផងដែរ ម៉ូដែលទំនើបមួយចំនួនធំត្រូវបានបំពាក់ដោយ ADC ល្បឿនខ្ពស់ដែលមានរហូតដល់ 12 ហើយឥឡូវនេះអាចមានខ្ទង់បន្ថែមទៀត។ ប៉ុន្តែនៅក្នុងបេះដូងនៃគ្រួសារ MCS51 គឺ BIS 8051, 80C51, 8751, 87C51, 8031, 80C31 ពី Intel ដែលជាគំរូដំបូងដែលត្រូវបានចេញផ្សាយនៅឆ្នាំ 1980 ។

Microcontrollers នៃគ្រួសារ MCS51 ត្រូវបានផលិតឡើងតាមបច្ចេកវិទ្យា n-MOS ដែលមានគុណភាពខ្ពស់ (ស៊េរី 8XXX, analogue - series 1816 in Russia and Belarus) និង k-MOS technology (series 8ХСХХ, analogue - series 1830) ។ តួអក្សរទីពីរដូចខាងក្រោម 8 មានន័យថា: 0 - មិនមាននៅលើបន្ទះឈីប EPROM, 7 - 4K EPROM ជាមួយការលុបបំបាត់កាំរស្មីអ៊ុលត្រាវីយូឡេ។ និមិត្តសញ្ញាទីបី៖ 3 - រ៉ូមនឹងក្លាយទៅជាគ្រីស្តាល់ 5 - ប្រសិនបើមិនមាន EPROM នោះរបាំងមុខនឹងនៅលើបន្ទះឈីប។

ដូច្នេះហើយ 80S51 - LSI យោងតាមបច្ចេកវិទ្យា k-MOS ជាមួយនឹងរបាំង ROM នៅលើបន្ទះឈីប 8031 ​​​​- LSI n-MOS ដោយគ្មានអង្គចងចាំកម្មវិធី (ROM, EPROM) នៅលើបន្ទះឈីប, 8751 - LSI n-MOS ជាមួយអ្នករស់នៅ (មានទីតាំងនៅលើ បន្ទះឈីប) EPROM ជាមួយនឹងការលុបបំបាត់កាំរស្មីអ៊ុលត្រាវីយូឡេ។ យើងនឹងពិចារណាបន្ថែមទៀតអំពី LSI 8751 ប្រសិនបើចាំបាច់ ការកក់ទុកអំពីភាពខុសគ្នានៅក្នុងសៀគ្វីផ្សេងទៀត ដោយផ្តល់នូវប៉ារ៉ាម៉ែត្រទាំងនោះដែលត្រូវបានបោះពុម្ពសម្រាប់ LSI សៀរៀលដំបូង។ បើចាំបាច់ អ្នកអាចស្វែងរកព័ត៌មានបន្ថែមអំពីការកែប្រែទំនើបទាំងអស់នៅក្នុងសៀវភៅណែនាំរបស់ក្រុមហ៊ុន និងឯកសារបច្ចេកទេស។

A. លក្ខណៈទូទៅ និងការកំណត់ម្ជុល

គ្រួសារ MCS51 គឺផ្អែកលើការកែប្រែចំនួនប្រាំនៃ MK (មានលក្ខណៈមូលដ្ឋានដូចគ្នាបេះបិទ) ភាពខុសគ្នាសំខាន់រវាងការប្រតិបត្តិនៃអង្គចងចាំកម្មវិធី និងការប្រើប្រាស់ថាមពល (សូមមើលតារាង 3.1)។ microcontoller គឺប្រាំបីប៊ីត, i.e. មានពាក្យបញ្ជាសម្រាប់ដំណើរការពាក្យប្រាំបីប៊ីត មានស្ថាបត្យកម្មហាវ៉ាដ ប្រេកង់នាឡិកានៃគំរូមូលដ្ឋាននៃគ្រួសារគឺ 12 MHz ។

តារាង 3.1 ។

មីក្រូសៀគ្វី

អង្គចងចាំកម្មវិធីខាងក្នុង, បៃ

ប្រភេទអង្គចងចាំកម្មវិធី

អង្គចងចាំទិន្នន័យខាងក្នុង, បៃ

ប្រេកង់នាឡិកា, MHz

ការប្រើប្រាស់បច្ចុប្បន្ន, mA

MK 8051 និង 80C51 មានរ៉ូមដែលអាចសរសេរកម្មវិធីបានរបាំងមុខនៃអង្គចងចាំកម្មវិធីដែលមានសមត្ថភាព 4096 បៃកំឡុងពេលផលិតគ្រីស្តាល់ ហើយត្រូវបានរចនាឡើងសម្រាប់ប្រើប្រាស់ក្នុងផលិតកម្មដ៏ធំ។ MK 8751 មាន EPROM ដែលមានសមត្ថភាព 4096 បៃជាមួយនឹងការលុបបំបាត់កាំរស្មីអ៊ុលត្រាវីយូឡេ និងងាយស្រួលនៅដំណាក់កាលនៃការអភិវឌ្ឍន៍ប្រព័ន្ធនៅពេលកម្មវិធីបំបាត់កំហុស ក៏ដូចជានៅពេលផលិតជាបណ្តុំតូចៗ ឬនៅពេលបង្កើតប្រព័ន្ធដែលត្រូវការឡើងវិញ។

ការកែតម្រូវតាមកាលកំណត់។

MK 8031 ​​​​និង 80C31 មិនមានអង្គចងចាំកម្មវិធីដែលភ្ជាប់មកជាមួយទេ។ ពួកវាដូចជាការកែប្រែដែលបានពិពណ៌នាពីមុន អាចប្រើប្រាស់អង្គចងចាំកម្មវិធីខាងក្រៅបានរហូតដល់ 64 Kbytes ហើយអាចប្រើប្រាស់យ៉ាងមានប្រសិទ្ធភាពក្នុងប្រព័ន្ធដែលទាមទារទំហំធំជាង (ជាង 4 Kbytes នៅលើបន្ទះឈីប) នៃអង្គចងចាំកម្មវិធី។

MC នីមួយៗនៃគ្រួសារមានអង្គចងចាំទិន្នន័យស្នាក់នៅដែលមានសមត្ថភាព 128 បៃ ជាមួយនឹងលទ្ធភាពនៃការពង្រីកទិន្នន័យ RAM សរុបរហូតដល់ 64 Kbytes តាមរយៈការប្រើប្រាស់ IC RAM ខាងក្រៅ។

    ខួរក្បាលប្រាំបីប៊ីតកណ្តាល;

    អង្គចងចាំកម្មវិធី 4 KB (8751 និង 87C51 តែប៉ុណ្ណោះ);

    អង្គចងចាំទិន្នន័យ 128 បៃ;

    ច្រក I / O ដែលអាចសរសេរកម្មវិធីបានប្រាំបីប៊ីត;

    កម្មវិធីកំណត់ម៉ោង / បញ្ជរពហុមុខងារ ១៦ ប៊ីតពីរ;

    ប្រព័ន្ធនៃវ៉ិចទ័រស្វ័យប្រវត្តិរំខានជាមួយវ៉ិចទ័រប្រាំ និងកម្រិតអាទិភាពដែលគ្រប់គ្រងដោយកម្មវិធីពីរ។

    ចំណុចប្រទាក់សៀរៀលរួមទាំងឧបករណ៍បញ្ជូនសញ្ញាទ្វេជាសកលដែលមានសមត្ថភាពដំណើរការក្នុងរបៀបបួន។

    ម៉ាស៊ីនភ្លើងនាឡិកា។

ប្រព័ន្ធបញ្ជា MK មានពាក្យបញ្ជាមូលដ្ឋានចំនួន 111 ដែលមានទម្រង់ 1, 2, ឬ 3 បៃ។ microcontroller មាន៖

    ការចុះឈ្មោះក្នុងគោលបំណងទូទៅចំនួន 32 RON ដែលរៀបចំជាធនាគារចំនួន 4 នៃការចុះឈ្មោះចំនួន 8 ដែលនីមួយៗមានឈ្មោះ R0 ... R7 ជម្រើសនៃធនាគារមួយឬផ្សេងទៀតត្រូវបានកំណត់ដោយកម្មវិធីដោយកំណត់ប៊ីតដែលត្រូវគ្នាក្នុងការចុះឈ្មោះស្ថានភាពកម្មវិធី PSW;

    128 ទង់ដែលគ្រប់គ្រងដោយកម្មវិធី (ប្រព័ន្ធដំណើរការប៊ីត សូមមើលខាងក្រោម);

    សំណុំនៃមុខងារពិសេសចុះឈ្មោះដែលគ្រប់គ្រងធាតុ MK ។ មានរបៀបប្រតិបត្តិការដូចខាងក្រោមនៃ microcontroller:

មួយ) កំណត់ឡើងវិញទូទៅ។ 2) ដំណើរការធម្មតា។ 3) របៀបថាមពលទាប និងរបៀបទំនេរ។ ៤). របៀបសរសេរកម្មវិធីរបស់ Resident EPROM ប្រសិនបើមាន។

នៅទីនេះយើងនឹងផ្តោតលើរបៀបប្រតិបត្តិការពីរដំបូង ការពិពណ៌នាលម្អិតនៃសមាសភាព និងប្រតិបត្តិការរបស់ MC នៅក្នុងគ្រប់ទម្រង់ទាំងអស់ត្រូវបានផ្តល់ឱ្យនៅក្នុងឧបសម្ព័ន្ធ A1 ។

RON និងតំបន់ដំណើរការប៊ីតមានទីតាំងនៅចន្លោះអាសយដ្ឋាននៃ RAM ដែលមានអាសយដ្ឋានពី 0 ទៅ 80 ម៉ោង។

នៅតំបន់ខាងលើនៃអាស័យដ្ឋាននៃអង្គចងចាំចូលប្រើដោយចៃដន្យមានអ្នករស់នៅមានការចុះឈ្មោះមុខងារពិសេស (SFR, Special Function Registers)។ គោលបំណងរបស់ពួកគេត្រូវបានផ្តល់ឱ្យក្នុងតារាង។ ៣.២.

តារាង 3.2 ។

ការកំណត់

ឈ្មោះ

ថ្ម

ចុះឈ្មោះ ខ

ការចុះឈ្មោះស្ថានភាពកម្មវិធី

ទ្រនិចជង់

ទ្រនិចទិន្នន័យ។ 2 បៃ៖

បៃដែលសំខាន់តិចបំផុត។

បៃខ្ពស់។

រំខានការចុះឈ្មោះអាទិភាព

រំខានការចុះឈ្មោះ

កម្មវិធីកំណត់ម៉ោង / របៀបរាប់ចុះឈ្មោះ

កម្មវិធីកំណត់ម៉ោង / ការត្រួតពិនិត្យការចុះឈ្មោះ

កម្មវិធីកំណត់ម៉ោង / Counter 0. បៃខ្ពស់។

កម្មវិធីកំណត់ម៉ោង / Counter 0. បៃទាប

កម្មវិធីកំណត់ម៉ោង / Counter 1. បៃខ្ពស់។

កម្មវិធីកំណត់ម៉ោង/បញ្ជរ 1. បៃបៃទាប

ការត្រួតពិនិត្យច្រកសៀរៀល

សៀរៀលច្រកសតិបណ្ដោះអាសន្ន

ការគ្រប់គ្រងការប្រើប្រាស់

* - ចុះឈ្មោះ, ទទួលស្គាល់ បន្តិច អាសយដ្ឋាន

សូមក្រឡេកមើលមុខងារនៃការចុះឈ្មោះ SFR ដែលបង្ហាញក្នុងតារាង 3.2 ។

ថ្ម ACC - ការចុះឈ្មោះថ្ម។ ពាក្យបញ្ជាដែលបានរចនាឡើងដើម្បីដំណើរការ

អ្នកដែលមានថ្ម សូមប្រើ mnemonic "A" ឧទាហរណ៍ ម៉ូវ P2 ... ឧទាហរណ៍ "ACC" mnemonic ត្រូវបានប្រើសម្រាប់ការកំណត់អាសយដ្ឋានថ្ម។ ដូច្នេះឈ្មោះនិមិត្តសញ្ញានៃប៊ីតទីប្រាំនៃ accumulator នៅពេលប្រើឧបករណ៍ដំឡើង A5M51 នឹងមានដូចខាងក្រោម: ACC ។ ៥..

ចុះឈ្មោះ ... ប្រើក្នុងអំឡុងពេលប្រតិបត្តិការគុណ និងចែក។ សម្រាប់ការណែនាំផ្សេងទៀត ចុះឈ្មោះ B អាចត្រូវបានចាត់ទុកថាជាការចុះឈ្មោះប្រតិបត្តិការទំនើបបន្ថែម។

ចុះឈ្មោះ សំណាង កម្មវិធី PSW មានព័ត៌មានអំពីស្ថានភាពនៃកម្មវិធី ហើយត្រូវបានដំឡើងដោយផ្នែកដោយស្វ័យប្រវត្តិដោយផ្អែកលើលទ្ធផលនៃប្រតិបត្តិការដែលបានអនុវត្តដោយផ្នែកដោយអ្នកប្រើប្រាស់។ ការកំណត់ និងគោលបំណងនៃប៊ីតចុះឈ្មោះត្រូវបានផ្តល់ឱ្យក្នុងតារាង 3.3 និង 3.4 រៀងគ្នា។

តារាង 3.3 ។

ការកំណត់

តារាង 3.4 ។

ការកំណត់

កិច្ចការប៊ីត

ការចូលទៅកាន់ប៊ីត

កាន់ទង់ជាតិ។ ការផ្លាស់ប្តូរកំឡុងពេលប្រតិបត្តិនៃស៊េរីនៃការណែនាំនព្វន្ធ និងឡូជីខល។

ផ្នែករឹង ឬផ្នែកទន់

ទង់កាន់បន្ថែម។ សំណុំផ្នែករឹង / ជម្រះកំឡុងពេលការណែនាំបន្ថែម ឬដក ដើម្បីបង្ហាញពីការយក ឬខ្ចីក្នុងប៊ីតទី 3 នៅពេលដែលការញញួរសំខាន់តិចបំផុតនៃលទ្ធផល (D0-D3) ត្រូវបានបង្កើត។

ផ្នែករឹង ឬផ្នែកទន់

ទង់ 0. ទង់កំណត់ដោយអ្នកប្រើប្រាស់។

តាមកម្មវិធី

តាមកម្មវិធី

ទ្រនិចធនាគារចុះឈ្មោះការងារ

តាមកម្មវិធី

ធនាគារ 0 ដែលមានអាសយដ្ឋាន (00Н - 07Н) ធនាគារ 1 ដែលមានអាសយដ្ឋាន (08Н - 0FН) ធនាគារ 2 ដែលមានអាសយដ្ឋាន (10Н - 17Н) ធនាគារ 3 ដែលមានអាសយដ្ឋាន (18Н - 1FН)

ទង់ជាតិលើស។ Hardware ត្រូវបានកំណត់ ឬជម្រះកំឡុងពេលប្រតិបត្តិសេចក្តីណែនាំលេខនព្វន្ធ ដើម្បីបង្ហាញពីលក្ខខណ្ឌលើសចំណុះ

ផ្នែករឹង ឬផ្នែកទន់

គ្រឿងបន្លាស់។ មានគន្លឹះអាន/សរសេរដែលអាចប្រើបាន

ភាពស្មើគ្នាបន្តិច។ ហាដវែរត្រូវបានសម្អាត ឬកំណត់នៅក្នុងគ្រប់វដ្តនៃការណែនាំ ដើម្បីបង្ហាញពីចំនួនគូ ឬសេសនៃថ្មនៅក្នុងស្ថានភាព "1" ។

ផ្នែករឹង ឬផ្នែកទន់

ទ្រនិច ជង់ SP - ការចុះឈ្មោះ 8 ប៊ីត មាតិកាដែលត្រូវបានបង្កើនមុនពេលសរសេរទិន្នន័យទៅជង់នៅពេលប្រតិបត្តិពាក្យបញ្ជា PUSH និង CALL ។ នៅពេលកំណត់ឡើងវិញដំបូង ទ្រនិចជង់ត្រូវបានកំណត់ទៅ 07H ហើយផ្ទៃជង់ក្នុង RAM ទិន្នន័យចាប់ផ្តើមនៅ 08H ។ ប្រសិនបើចាំបាច់ ដោយកំណត់ឡើងវិញនូវទ្រនិចជង់ ផ្ទៃជង់អាចមានទីតាំងនៅគ្រប់ទីកន្លែងក្នុង RAM ទិន្នន័យខាងក្នុងរបស់ microcontrollers ។

ទ្រនិច ទិន្នន័យ DPTR មានបៃតខ្ពស់ (DPH) និងបៃតទាប

(DPL) ។ មានអាសយដ្ឋាន 16 ប៊ីត នៅពេលចូលប្រើអង្គចងចាំខាងក្រៅ។ អាចប្រើបាន

ត្រូវបានសរសេរជាការចុះឈ្មោះ 16 ប៊ីត ឬជាការចុះឈ្មោះប្រាំបីប៊ីតឯករាជ្យពីរ។

ច្រក0 - PortZ ប៊ីតដាច់ដោយឡែកនៃការចុះឈ្មោះនៃមុខងារពិសេស P0, P1, P2, P3 គឺជាប៊ីត - "បន្ទះ" នៃលទ្ធផលនៃច្រក P0, P1, P2, P3 ។

សតិបណ្ដោះអាសន្ន ស្រប ច្រក SBUF មានការចុះឈ្មោះពីរដាច់ដោយឡែកពីគ្នា៖ សតិបណ្ដោះអាសន្នបញ្ជូន និងសតិបណ្ដោះអាសន្នអ្នកទទួល។ នៅពេលដែលទិន្នន័យត្រូវបានសរសេរទៅ SBUF វាចូលទៅក្នុងសតិបណ្ដោះអាសន្នបញ្ជូន ហើយការសរសេរបៃទៅ SBUF ចាប់ផ្តើមការបញ្ជូនរបស់វាដោយស្វ័យប្រវត្តិនៅលើច្រកសៀរៀល។ នៅពេលដែលទិន្នន័យត្រូវបានអានពី SBUF វាត្រូវបានទាញយកពីសតិបណ្ដោះអាសន្នអ្នកទទួល។

ចុះឈ្មោះ កម្មវិធីកំណត់ម៉ោង។ ចុះឈ្មោះគូ (TH0, TL0) និង (TH1, TL1) ទម្រង់ 16-

ការចុះឈ្មោះរាប់ប៊ីតសម្រាប់កម្មវិធីកំណត់ម៉ោង/បញ្ជរ 0 និងកម្មវិធីកំណត់ម៉ោង/បញ្ជរ 1 រៀងគ្នា។

ចុះឈ្មោះ ការគ្រប់គ្រង។ ការចុះឈ្មោះមុខងារពិសេស IP, IE, TMOD, TCON, SCON និង PCON មានប៊ីតត្រួតពិនិត្យ និងប៊ីតស្ថានភាពនៃប្រព័ន្ធរំខាន។

ម៉ែត្រ / បញ្ជរនិងច្រកសៀរៀល។ ពួកគេនឹងត្រូវបានពិភាក្សាលម្អិតដូចខាងក្រោម។

RxD TxD INT0 INT1 T0 T1 WR

P1.2 P1.3 P1.4 P1.5 P1.6 P1.7

RST BQ2 ប៊ីឃ្យូ 1 អ៊ី

P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7

P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7

P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7

នៅពេលដំណើរការ MK ផ្តល់ជូន៖

    ពេលវេលាអប្បបរមាសម្រាប់ការប្រតិបត្តិពាក្យបញ្ជាបន្ថែមគឺ 1 μs;

    ការគុណនិងការបែងចែកផ្នែករឹងជាមួយនឹងពេលវេលាប្រតិបត្តិអប្បបរមា 4 μs។

MK ផ្តល់នូវសមត្ថភាពក្នុងការកំណត់ប្រេកង់នៃលំយោលខាងក្នុងដោយប្រើ quartz, LC-chain ឬ oscillator ខាងក្រៅ។

ប្រព័ន្ធណែនាំដែលបានពង្រីកផ្តល់នូវអាសយដ្ឋានបៃ និងប៊ីត នព្វន្ធគោលពីរ និងគោលពីរ - ទសភាគ សូចនាករលើសចំណុះ និងគូ/សេស និងលទ្ធភាពនៃការអនុវត្តប្រព័ន្ធដំណើរការឡូជីខល។

លក្ខណៈពិសេសសំខាន់បំផុត និងប្លែកនៃស្ថាបត្យកម្មនៃគ្រួសារ MCS51 គឺថា ALU អាចរៀបចំទិន្នន័យតែមួយប៊ីត បន្ថែមពីលើប្រតិបត្តិការលើប្រភេទទិន្នន័យ 8 ប៊ីត។ ប៊ីតដែលអាចចូលប្រើកម្មវិធីបុគ្គលអាចត្រូវបានកំណត់ ជម្រះ ឬជំនួសដោយការបំពេញបន្ថែមរបស់ពួកគេ អាចត្រូវបានផ្ញើ ពិនិត្យ និង

រូបភាព 3.2 ។ ការសន្និដ្ឋានខាងក្រៅ

ឧបករណ៍បញ្ជាមីក្រូ

ប្រើក្នុងការគណនាឡូជីខល។ ខណៈពេលដែលការគាំទ្រសម្រាប់ប្រភេទទិន្នន័យសាមញ្ញ (ប្រសិនបើមាន

និន្នាការឆ្ពោះទៅរកការបង្កើនប្រវែងពាក្យ) អាចហាក់ដូចជាថយក្រោយនៅ glance ដំបូង គុណភាពនេះធ្វើឱ្យ microcontrollers MCS51 ជាពិសេសសាកសមសម្រាប់កម្មវិធីដែលប្រើឧបករណ៍បញ្ជា។ ក្បួនដោះស្រាយនៃចុងក្រោយនេះ តាមវិធីផ្ទាល់ខ្លួនរបស់ពួកគេ សន្មតថាវត្តមាននៃការបញ្ចូល និងទិន្នផលអថេរ Boolean ដែលពិបាកក្នុងការអនុវត្តដោយប្រើ microprocessors ស្តង់ដារ។ លក្ខណៈសម្បត្តិទាំងអស់នេះត្រូវបានសំដៅជារួមថាជាគ្រួសារដំណើរការ MCS51 Boolean ។ ALU ដ៏មានអានុភាពនេះធ្វើឱ្យ microcontrollers គ្រួសារ MCS51 ជាសំណុំការណែនាំដែលសមស្របដូចគ្នាសម្រាប់កម្មវិធីគ្រប់គ្រងពេលវេលាជាក់ស្តែង ក៏ដូចជាក្បួនដោះស្រាយដែលពឹងផ្អែកលើទិន្នន័យផងដែរ។

ដ្យាក្រាមគ្រោងការណ៍នៃ microcontroller ត្រូវបានបង្ហាញនៅក្នុងរូបភព។ ៣.២. នៅក្នុងកំណែមូលដ្ឋាន វាត្រូវបានខ្ចប់ក្នុងកញ្ចប់ 40-pin DIP ។ ចូរយើងពិចារណាអំពីគោលបំណងនៃការសន្និដ្ឋាន។

ចូរចាប់ផ្តើមជាមួយម្ជុលថាមពល «0 វី" និង » ៥ វី" ដែលគាត់ទទួលបានអាហារសំខាន់។ ចរន្តប្រើប្រាស់ត្រូវបានផ្តល់ឱ្យក្នុងតារាង។ ៣.១.

សេចក្តីសន្និដ្ឋាន "RST" - កំណត់ microcontroller ឡើងវិញ។ នៅពេលដែលកម្រិតខ្ពស់សកម្មត្រូវបានអនុវត្តទៅម្ជុលនេះ របៀប ទូទៅ ការបោះចោល ហើយ MK អនុវត្តសកម្មភាពដូចខាងក្រោមៈ

កំណត់ការរាប់ពាក្យបញ្ជាកុំព្យូទ័រ និងការចុះឈ្មោះមុខងារពិសេសទាំងអស់ លើកលែងតែឧបករណ៍ភ្ជាប់ច្រក P0-P3 ទ្រនិចជង់ SP និងការចុះឈ្មោះ SBUF ដល់សូន្យ។

    ទ្រនិចជង់ត្រូវបានកំណត់ទៅ 07H;

    បិទប្រភពរំខានទាំងអស់ កម្មវិធីកំណត់ម៉ោង និងសៀរៀល

    ជ្រើសរើស BANK 0 RAM រៀបចំច្រក P0-P3 សម្រាប់ទទួលទិន្នន័យ និងកំណត់

បំបែកម្ជុល ALE និង PME ជាធាតុបញ្ចូលសម្រាប់ការធ្វើសមកាលកម្មខាងក្រៅ។

      នៅក្នុងមុខងារពិសេសចុះឈ្មោះ PCON, IP និង IE ប៊ីតទំនេរត្រូវបានកំណត់ជាតម្លៃចៃដន្យ ហើយប៊ីតផ្សេងទៀតទាំងអស់ត្រូវបានកំណត់ទៅសូន្យ។

      ការចុះឈ្មោះ SBUF ត្រូវបានកំណត់ជាតម្លៃចៃដន្យ។

      កំណត់ latches-latches នៃច្រក P0-P3 ទៅ "1" ។

ស្ថានភាពនៃ microcontroller ចុះឈ្មោះបន្ទាប់ពីកំណត់ឡើងវិញត្រូវបានបង្ហាញក្នុងតារាង 3.5 ។

តារាង 3.5 ។

ព័ត៌មាន

មិនកំណត់

0ХХХ0000В សម្រាប់ k-MOS 0XXXXXXXB សម្រាប់ n-MOS

ម្ជុល RST ក៏មានមុខងារជំនួសផងដែរ។ តាមរយៈវា ថាមពលបម្រុងទុកត្រូវបានផ្គត់ផ្គង់ដើម្បីរក្សាមាតិកានៃ RAM របស់ microcontroller មិនផ្លាស់ប្តូរនៅពេលដែលមេត្រូវបានដកចេញ។

ការសន្និដ្ឋាន BQ1, BQ2 រចនាឡើងដើម្បីភ្ជាប់ឧបករណ៍បំពងសំឡេងរ៉ែថ្មខៀវ ដែលកំណត់ប្រេកង់នាឡិការបស់ MK ។

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

សេចក្តីសន្និដ្ឋាន PME (ទំ រ៉ូក្រាម អេម៉ូរី អ៊ី nable ការអនុញ្ញាត ការចងចាំ កម្មវិធី) - ត្រូវបានរចនាឡើងដើម្បីគ្រប់គ្រងវដ្តនៃការអានពីអង្គចងចាំកម្មវិធី ហើយត្រូវបានដំណើរការដោយស្វ័យប្រវត្តិដោយ MC នៅក្នុងវដ្តម៉ាស៊ីននីមួយៗ។

សេចក្តីសន្និដ្ឋាន អាល ( រ៉ូប អិល ភាសា អ៊ី nable ការអនុញ្ញាត សិស្ស​ប្អូន អាសយដ្ឋាន) វាយលុកលទ្ធផលនៃផ្នែកខាងក្រោមនៃអាសយដ្ឋាននៅលើច្រក P0 ។ លទ្ធផលក៏ត្រូវបានប្រើនៅពេលសរសេរកម្មវិធី EPROM ខណៈពេលដែលជីពចរ strobe ត្រូវបានផ្គត់ផ្គង់ទៅវា។

MK មានច្រកបួនក្រុម៖ P0, P1, P2, និង P3 ។ ទាំងនេះគឺនៅសល់នៃ 40 pins នៃ microcontroller ។ ច្រកទាំងនេះអាចបម្រើសម្រាប់ព័ត៌មាន I/O ប៊ីតដោយប៊ីត ប៉ុន្តែក្រៅពីនេះ ពួកវានីមួយៗមានឯកទេសរៀងៗខ្លួន។ ដ្យាក្រាមមុខងារទូទៅនៃច្រកត្រូវបានបង្ហាញក្នុងរូប។ ៣.៣. ច្រកនេះមានកុងតាក់ FET ទិន្នផលដែលភ្ជាប់ទៅម្ជុល កុងតាក់មុខងារ បន្ទះបិទនៅលើ D-flip-flop និងតក្កវិជ្ជាគ្រប់គ្រង។ បន្ទះនៅលើឡានក្រុង MK ខាងក្នុងអាចត្រូវបានសរសេរមួយឬសូន្យ។ ព័ត៌មាននេះឆ្លងកាត់មុខងារប្តូរទៅគ្រាប់ចុចលទ្ធផល និងម្ជុល MK ។ នៅក្នុងស្ថានភាពមួយ ត្រង់ស៊ីស្ទ័រ N និង N1 បិទ ប៉ុន្តែ N2 បើក។ នៅក្នុងស្ថានភាពសូន្យ N បើក

Xia និង N2 បិទ។ នៅពេលច្រកដំណើរការមុខងារជំនួសដែលវាត្រូវបានឯកទេស ស្ថានភាពម្ជុលត្រូវបានបញ្ចេញ។ microcontroller អាចអានស្ថានភាពនៃ port latch និងស្ថានភាពទិន្នផលរបស់វាដោយឡែកពីគ្នា ដោយកំណត់ដោយសញ្ញាខាងក្រៅ។ សម្រាប់រឿងនេះនៅក្នុងឧបករណ៍ដំឡើង MK មានពាក្យបញ្ជាពិសេសដែលធ្វើឱ្យបន្ទាត់ដែលត្រូវគ្នា។ ដើម្បីអានស្ថានភាពម្ជុល រន្ធដោតច្រកដែលត្រូវគ្នាត្រូវតែ

ត្រូវបានកត់ត្រាទុកជាមុន

ពីខាងក្នុង

ការគ្រប់គ្រងសោ

ឧបករណ៍ជ្រើសរើសមុខងារ

វីស៊ីស៊ី

ចុងសប្តាហ៍

ឯកតា។ នៅពេលដែលបន្ទាត់ "អាន latch" ត្រូវបានធ្វើឱ្យសកម្មនៅលទ្ធផលនៃក្រឡា "AND" ដែលខ្សែនេះត្រូវបានតភ្ជាប់

សំបកកង់ MK D Q

Latch សរសេរ C Q

ការអានសោ

ម្ជុលច្រក

ស្ថានភាព​នៃ​បន្ទះ​ដែល​ត្រូវ​បាន​ផ្គត់ផ្គង់​ទៅ​ឱ្យ​រថយន្តក្រុង MC ខាងក្នុង​នៅពេល​បើកដំណើរការ

"អានលទ្ធផល" - ស្ថានភាពនៃទិន្នផលខាងក្រៅនៃច្រក។

ច្រក P0 - ច្រកទ្វេទិសជាសកល

បញ្ចូល-ទិន្នផល។ លើសពីច្រកនេះ។

មុខងារនៃការរៀបចំឡានក្រុងអាសយដ្ឋានខាងក្រៅ និង

អង្ករ។ ៣.៣. ដ្យាក្រាមមុខងារនៃច្រក microcontroller

ទិន្នន័យសម្រាប់ពង្រីកអង្គចងចាំកម្មវិធី និងអង្គចងចាំទិន្នន័យ

ឧបករណ៍បញ្ជាមីក្រូ។ នៅពេលមានការចូលប្រើអង្គចងចាំកម្មវិធីខាងក្រៅ ឬពាក្យបញ្ជាដើម្បីចូលប្រើអង្គចងចាំទិន្នន័យខាងក្រៅត្រូវបានប្រតិបត្តិ ផ្នែកដែលមានលំដាប់ទាបនៃអាសយដ្ឋាន (A0 ... A7) ត្រូវបានកំណត់នៅលើម្ជុលច្រកដែលត្រូវបានបិទភ្ជាប់ខ្ពស់នៅលើម្ជុល ALE . បន្ទាប់មក នៅពេលសរសេរទៅកាន់អង្គចងចាំទិន្នន័យ ព័ត៌មានដែលបានកត់ត្រាពីឡានក្រុងខាងក្នុងរបស់ MK មកដល់ម្ជុលនៃច្រក P0 ។ នៅក្នុងប្រតិបត្តិការអាន ផ្ទុយទៅវិញ ព័ត៌មានពីច្រកច្រកទៅឡានក្រុងខាងក្នុង។ លក្ខណៈពិសេសមួយនៃច្រក P0 គឺអវត្តមាននៃត្រង់ស៊ីស្ទ័រ "ទាញឡើង" N2 ដែលផ្តល់ថាមពលដល់ទិន្នផល។ ការសរសេរទៅកាន់ latch នៃ port unit គ្រាន់តែដាក់វានៅក្នុងស្ថានភាព impedance ខ្ពស់ ដែលចាំបាច់សម្រាប់ប្រតិបត្តិការ data bus ធម្មតា។ ប្រសិនបើចាំបាច់ត្រូវផ្តល់ថាមពលដល់ឧបករណ៍ខាងក្រៅតាមរយៈទិន្នផល អ្នកគួរតែផ្តល់ឧបករណ៍ទប់ទល់ខាងក្រៅពីសៀគ្វីផ្គត់ផ្គង់ថាមពលទៅកាន់ទិន្នផលច្រក។

ច្រក Р1 - ច្រក I/O ទ្វេទិសជាសកលដោយគ្មានមុខងារជំនួស។

ច្រក P2 - ច្រក I/O ទ្វេទិសជាសកល ជាមុខងារជំនួស អនុវត្តការចេញផ្នែកជាន់ខ្ពស់នៃអាសយដ្ឋាន (A8 ... A15) នៅពេលចូលប្រើអង្គចងចាំខាងក្រៅ។

ច្រក P3 - ច្រកបញ្ចូលទិន្នផលទ្វេទិសជាសកល ដែលប៊ីតនីមួយៗផ្តល់សម្រាប់ការអនុវត្តមុខងារជំនួសផ្សេងៗ។ ក្នុងករណីនេះ មុខងារជំនួសត្រូវបានអនុវត្តលុះត្រាតែវាត្រូវបានសរសេរទៅកាន់ latches pin ច្រក បើមិនដូច្នោះទេ ការប្រតិបត្តិមុខងារជំនួសត្រូវបានរារាំង។ ចូររាយបញ្ជីពួកវាដាច់ដោយឡែកសម្រាប់ប៊ីតនីមួយៗ៖

P3.0 RxD (អ៊ីដ អ៊ី Xផ្ទៃក្នុង បរិភោគ អានទិន្នន័យខាងក្រៅ) - ការបញ្ចូលឧបករណ៍បញ្ជូនសៀរៀលដែលភ្ជាប់មកជាមួយ។

P3.1 TxD (បាទ អ៊ី Xផ្ទៃក្នុង បរិភោគ, បញ្ជូនទិន្នន័យខាងក្រៅ) - លទ្ធផលនៃឧបករណ៍បញ្ជូនសៀរៀលដែលភ្ជាប់មកជាមួយ។

P3.2 INT0` (អាយធី errupt, interrupt) - ការបញ្ចូលរំខានខាងក្រៅ 0 ។

P3.3 INT1` - ការបញ្ចូលរំខានខាងក្រៅ ១.

P3.4 C/T0 - ធាតុបញ្ចូលនៃកម្មវិធីកំណត់ម៉ោង/បញ្ជរដែលភ្ជាប់មកជាមួយសូន្យ។

P3.5 C/T1 - ការបញ្ចូលកម្មវិធីកំណត់ម៉ោង/បញ្ជរដែលភ្ជាប់មកជាមួយដំបូង។

P3.6 WR` ( rite, សរសេរ) - គ្រប់គ្រងលទ្ធផលនៃវដ្តសរសេរនៅក្នុងអង្គចងចាំទិន្នន័យ។

P3.7 RD` ( ead, អាន) - គ្រប់គ្រងលទ្ធផលនៃវដ្តនៃការអានពីអង្គចងចាំទិន្នន័យ។

ម្ជុលនៃច្រក P1, P2 និង P3 មានសមត្ថភាពបញ្ជូនចរន្តប្រហែល 0.2 mA ក្នុងមួយឯកតា និងទទួលបានចរន្ត 3 mA នៅសូន្យ ម្ជុលនៃច្រក P0 មានថាមពលខ្លាំងជាង និងអាចផ្តល់ចរន្តប្រហែល 0.8 mA ក្នុងមួយឯកតា។ និងទទួលបានចរន្ត 5 mA នៅសូន្យ។ ព័ត៌មានសង្ខេបអំពីគោលបំណងនៃម្ជុល microcontroller ត្រូវបានផ្តល់ឱ្យក្នុងតារាង 3.6 ។

តារាង 3.6 ។

ការកំណត់

ខ្ទាស់កិច្ចការ

ច្រកទ្វេទិស ៨ ប៊ីត P1 ។ បញ្ចូលអាសយដ្ឋាន A0-A7 នៅពេលពិនិត្យមើលរ៉ូមខាងក្នុង (EPROM)

ចូលច្រកចេញ

សញ្ញាកំណត់ឡើងវិញទូទៅ។ ទិន្នផលនៃថាមពល RAM បម្រុងទុកពីប្រភពខាងក្រៅ (សម្រាប់ 1816)

ច្រក P3 ទ្វេទិស 8 ប៊ីត ជាមួយនឹងមុខងារបន្ថែម

ចូលច្រកចេញ

ទិន្នន័យសៀរៀលអ្នកទទួល - RxD

ឧបករណ៍បញ្ជូនទិន្នន័យសៀរៀល - TxD

ការបញ្ចូលរំខានខាងក្រៅ 0- INT0`

ការបញ្ចូលរំខានខាងក្រៅ 1-INT1`

កម្មវិធីកំណត់ម៉ោង / Counter 0 បញ្ចូល: - T0

កម្មវិធីកំណត់ម៉ោង / Counter 1 បញ្ចូល: - T1

លទ្ធផលសញ្ញា Strobe នៅពេលសរសេរទៅអង្គចងចាំទិន្នន័យខាងក្រៅ៖ - WR`

លទ្ធផលសញ្ញា Strobe នៅពេលអានពីអង្គចងចាំទិន្នន័យខាងក្រៅ - RD`

នាំមុខសម្រាប់ភ្ជាប់ឧបករណ៍ចាប់សញ្ញារ៉ែថ្មខៀវ។

ច្រកចេញចូល

ការសន្និដ្ឋានទូទៅ

ច្រក P2 ទ្វេទិស 8 ប៊ីត។ អាសយដ្ឋានលទ្ធផល A8-A15 នៅក្នុងរបៀបប្រតិបត្តិការជាមួយអង្គចងចាំខាងក្រៅ។ នៅក្នុងរបៀបពិនិត្យ ROM ខាងក្នុង ម្ជុល P2.0 - P2.6 ត្រូវបានប្រើជាការបញ្ចូលអាសយដ្ឋាន A8-A14។ សេចក្តីសន្និដ្ឋាន P2.7 - ការអនុញ្ញាតឱ្យអានរ៉ូម។

ចូលច្រកចេញ

ដំណោះស្រាយអង្គចងចាំកម្មវិធី

សញ្ញាលទ្ធផលនៃការបិទភ្ជាប់អាសយដ្ឋានបើកដំណើរការ។ នៅពេលសរសេរកម្មវិធី EPROM signal: PROG

ចូលច្រកចេញ

ការទប់ស្កាត់ការងារជាមួយអង្គចងចាំខាងក្នុង។ នៅពេលសរសេរកម្មវិធី EPROM សញ្ញា UPR ត្រូវបានផ្តល់ឱ្យ

ចូលច្រកចេញ

ច្រក P0 ទ្វេទិស 8 ប៊ីត។ អាស័យដ្ឋាន / ឡានក្រុងទិន្នន័យ r ធ្វើការជាមួយអង្គចងចាំខាងក្រៅ។ ទិន្នផលទិន្នន័យ D7-D0 នៅក្នុងរបៀបពិនិត្យមើលរ៉ូមខាងក្នុង (EPROM) ។

ចូលច្រកចេញ

ទិន្នផលថាមពលពីប្រភពវ៉ុល + 5V

មូលដ្ឋាននៃ microcontroller (សូមមើលរូបទី 1) គឺជា 8-bit Arithmetic-Logic Unit (ALU)។ អង្គចងចាំ MK មានស្ថាបត្យកម្ម Harvard, i.e. បែងចែកជាឡូជីខល៖ ចូលទៅក្នុងអង្គចងចាំកម្មវិធី - PP (ខាងក្នុងឬខាងក្រៅ) ដោះស្រាយដោយបញ្ជរបញ្ជា 16 ប៊ីត (SC) និងអង្គចងចាំទិន្នន័យ - ខាងក្នុង (អង្គចងចាំទិន្នន័យអ្នករស់នៅ - RPD) 128 (ឬ 256) បៃក៏ដូចជាខាងក្រៅ (ខាងក្រៅ។ អង្គចងចាំទិន្នន័យ - VPD) រហូតដល់ 64 KB ។ ជាក់ស្តែង អង្គចងចាំកម្មវិធីត្រូវបានអនុវត្តនៅលើ ROM (បានតែអាន) ហើយអង្គចងចាំទិន្នន័យ - នៅលើ RAM (ទិន្នន័យអាចត្រូវបានសរសេរ និងអាន) ។

ការទទួលនិងការផ្តល់សញ្ញាខាងក្រៅត្រូវបានអនុវត្តតាមរយៈច្រកប្រាំបីប៊ីត P0..P3 ។ នៅពេលចូលប្រើអង្គចងចាំកម្មវិធីខាងក្រៅ (EPM) ឬអង្គចងចាំទិន្នន័យ (EPM) ច្រក P0 និង P2 ត្រូវបានប្រើជាអាសយដ្ឋានខាងក្រៅ / ឡានទិន្នន័យពហុគុណ។ ខ្សែច្រក P3 ក៏អាចអនុវត្តមុខងារជំនួសបានដែរ (សូមមើលតារាងទី 1)។

ការចុះឈ្មោះ DPTR 16 ប៊ីតបង្កើតអាសយដ្ឋាន VFD ឬអាសយដ្ឋានមូលដ្ឋាននៃអង្គចងចាំកម្មវិធីនៅក្នុងពាក្យបញ្ជាការបំប្លែង Accumulator ។ ការចុះឈ្មោះ DPTR ក៏អាចត្រូវបានប្រើជាការចុះឈ្មោះ 8 ប៊ីតឯករាជ្យពីរ (DPL និង DPH) សម្រាប់រក្សាទុក operands ។

ការចុះឈ្មោះពាក្យបញ្ជាខាងក្នុង 8 ប៊ីត (RK) ទទួលបានកូដនៃពាក្យបញ្ជាដែលកំពុងដំណើរការ។ កូដនេះត្រូវបានឌិកូដដោយសៀគ្វីត្រួតពិនិត្យ ដែលបង្កើតសញ្ញាបញ្ជា (សូមមើលរូបទី 1)។

យោងទៅការចុះឈ្មោះនៃមុខងារពិសេស - RSF (SFR - នៅក្នុងរូបភាពទី 1 ពួកគេត្រូវបានគូសរង្វង់ដោយបន្ទាត់ចំនុច) គឺអាចធ្វើទៅបានលុះត្រាតែការប្រើប្រាស់បៃបៃដោយផ្ទាល់នៅក្នុងជួរអាសយដ្ឋានចាប់ពី 128 (80h) និងច្រើនទៀត។


អង្គចងចាំទិន្នន័យស្នាក់នៅ (RPM) នៅក្នុងម៉ូដែលដំបូងនៃឧបករណ៍បញ្ជាមីក្រូហ្វូន MCS-51 មានបរិមាណ 128 បៃ។ 32 បៃទាបបំផុតនៃ RPD ក៏ជាការចុះបញ្ជីគោលបំណងទូទៅផងដែរ - RON (4 ធនាគារនៃ 8 RONs) ។ កម្មវិធីអាចដោះស្រាយមួយក្នុងចំណោម 8 RON របស់ធនាគារសកម្ម។ ការជ្រើសរើសធនាគារ RON សកម្មត្រូវបានអនុវត្តដោយការសរសេរកម្មវិធីពីរប៊ីតក្នុងការចុះឈ្មោះស្ថានភាពដំណើរការ - PSW ។


តារាងទី 1 - គោលបំណងនៃម្ជុល MCS-51

លេខសម្ងាត់ ការកំណត់ ការណាត់ជួប
1..8 Р1 ច្រកបញ្ចូល/ទិន្នផល 8-bit quasi-bidirectional port
9 RST

កំណត់ឡើងវិញនូវសញ្ញា (កម្រិតសកម្ម - ខ្ពស់);

សញ្ញា RST ច្បាស់៖ កុំព្យូទ័រ និងមុខងារពិសេសភាគច្រើន (SFRs) បិទរាល់ការរំខាន និងប្រតិបត្តិការកំណត់ម៉ោង។ ជ្រើសរើសធនាគារ RONs 0; សរសេរ "ទាំងអស់" ទៅច្រក P0_P3 រៀបចំពួកវាសម្រាប់ការបញ្ចូល។ សរសេរកូដ 07H ទៅទ្រនិចជង់ (SP);

10..17

ច្រកបញ្ចូល / ទិន្នផល 8 ប៊ីត quasi-bidirectional; បន្ទាប់ពីសរសេរទៅប្រភេទដែលត្រូវគ្នា "1" - អនុវត្តមុខងារបន្ថែម (ជំនួស)៖

ការបញ្ចូលច្រកសៀរៀល - RxD;

ទិន្នផលច្រកសៀរៀល - TxD;

ការបញ្ចូលរំខានខាងក្រៅ 0 - ~ INT0;

ការបញ្ចូលរំខានខាងក្រៅ 1 - ~ INT1;

កម្មវិធីកំណត់ម៉ោង / រាប់បញ្ចូល 0 - T0;

កម្មវិធីកំណត់ម៉ោង / រាប់បញ្ចូល 1 - T1;

ទិន្នផល Strobe ។ សញ្ញានៅពេលសរសេរទៅ VPD - ~ WR;

ទិន្នផល Strobe ។ សញ្ញានៅពេលអានពី VPD - ~ RD;

18, 19 X1, X2 នាំមុខសម្រាប់ការភ្ជាប់ resonator រ៉ែថ្មខៀវឬ LC-circuit;
20 GND ការសន្និដ្ឋានទូទៅ;
21..28 P2 ច្រកបញ្ចូល / ទិន្នផល 8 ប៊ីត quasi-bidirectional; ឬលទ្ធផលនៃអាសយដ្ឋាន A នៅក្នុងរបៀបប្រតិបត្តិការជាមួយអង្គចងចាំខាងក្រៅ (VFP ឬ VFD);
29 PME strobe នៃការអានអង្គចងចាំកម្មវិធីខាងក្រៅ, ត្រូវបានចេញតែនៅពេលចូលប្រើរ៉ូមខាងក្រៅ;
30 អាល អាសយដ្ឋានអង្គចងចាំខាងក្រៅ strobe (VPP ឬ VPD);
31 អេ ការបិទ RPP កម្រិត "0" នៅការបញ្ចូលនេះផ្ទេរ MC ទៅជម្រើសនៃពាក្យបញ្ជា តែពីផ្លូវរត់ ;
39..32 P0 ច្រកបញ្ចូល / ទិន្នផលទ្វេទិស 8 ប៊ីត; នៅពេលចូលប្រើអង្គចងចាំខាងក្រៅ វាចេញអាសយដ្ឋាន A (ដែលត្រូវបានសរសេរទៅការចុះឈ្មោះខាងក្រៅដោយសញ្ញា ALE) ហើយបន្ទាប់មកផ្លាស់ប្តូរបៃដោយសមកាលកម្មជាមួយសញ្ញា ~ PME (សម្រាប់ពាក្យបញ្ជា) ឬ ~ WR, ~ RD (សម្រាប់ទិន្នន័យនៅក្នុង VFD ) នៅពេលចូលប្រើអង្គចងចាំខាងក្រៅ ឯកតាទាំងអស់ត្រូវបានសរសេរទៅកាន់ច្រក P0 បំផ្លាញព័ត៌មានដែលរក្សាទុកនៅទីនោះ។
40 Ucc ទិន្នផលវ៉ុលផ្គត់ផ្គង់

ការប្តូរធនាគារ RON ជួយសម្រួលដល់ការប្រតិបត្តិនៃទម្រង់ការរង និងការគ្រប់គ្រងការរំខាន ចាប់តាំងពី វាមិនចាំបាច់រុញមាតិកានៃ RON នៃកម្មវិធីសំខាន់ទៅលើជង់នៅពេលហៅទម្រង់ការរង (វាគ្រប់គ្រាន់ដើម្បីផ្លាស់ទីទៅធនាគារសកម្មផ្សេងទៀតនៃ RONs នៅក្នុងទម្រង់រង) ។

ការចូលប្រើ RPD គឺអាចធ្វើទៅបានដោយប្រើអាសយដ្ឋានបៃដោយប្រយោលឬដោយផ្ទាល់ (អាសយដ្ឋានបៃដោយផ្ទាល់អនុញ្ញាតឱ្យចូលប្រើតែ 128 បៃដំបូងនៃ RPD) ។

តំបន់ RPD ដែលបានពង្រីក (សម្រាប់ microcontrollers នៃគ្រួសារ MCS-52 និងគ្រួសារបន្តបន្ទាប់) ពីអាសយដ្ឋាន 128 (80h) ដល់ 255 (FFh) អាចត្រូវបានដោះស្រាយដោយប្រើវិធីអាសយដ្ឋានប្រយោលប៉ុណ្ណោះ។

តារាងទី 2 - ប្លុកនៃការចុះឈ្មោះនៃមុខងារពិសេស (s f r)

លេខកូដ Mnemo ឈ្មោះ
0E0 ម៉ោង។ * ACC ថ្ម
0F0 ម៉ោង។ * ខ ការចុះឈ្មោះឧបករណ៍ពង្រីកថ្ម
0D0 ម៉ោង។ * PSW ពាក្យស្ថានភាពរបស់ដំណើរការ
0B0 ម៉ោង។ * P3 ច្រក 3
0A0 ម៉ោង។ * P2 ច្រក 2
90 ម៉ោង។ * P1 ច្រក 1
80 ម៉ោង។ * P0 ច្រក 0
0B8 ម៉ោង។ * អាយភី រំខានការចុះឈ្មោះអាទិភាព
0A8 ម៉ោង។ * អ៊ី រំខានការចុះឈ្មោះរបាំង
99 ម៉ោង។ SBUF សតិបណ្ដោះអាសន្នឧបករណ៍បញ្ជូន
៩៨ ម៉ោង។ * SCON ការត្រួតពិនិត្យច្រកសៀរៀល / ចុះឈ្មោះស្ថានភាព
៨៩ ម៉ោង។ TMOD កម្មវិធីកំណត់ម៉ោង / របៀបរាប់ចុះឈ្មោះ
៨៨ ម៉ោង។ * TCON កម្មវិធីកំណត់ម៉ោង / ការត្រួតពិនិត្យការរាប់ / ការចុះឈ្មោះស្ថានភាព
៨ ឌី TH1 កម្មវិធីកំណត់ម៉ោង 1 (បៃខ្ពស់)
៨ ប៊ី TL1 កម្មវិធីកំណត់ម៉ោង 1 (បៃទាប)
៨ ឆ TH0 កម្មវិធីកំណត់ម៉ោង 0 (បៃខ្ពស់)
៨ អា TL0 កម្មវិធីកំណត់ម៉ោង 0 (បៃទាប)
៨៣ ម៉ោង។ DPH ការចុះឈ្មោះអ្នកចង្អុលបង្ហាញទិន្នន័យ (DPTR) (បៃខ្ពស់)
៨២ ម៉ោង។ DPL ការចុះឈ្មោះអ្នកចង្អុលបង្ហាញទិន្នន័យ (DPTR) (បៃទាប)
៨១ ម៉ោង។ SP ការចុះឈ្មោះទ្រនិចជង់
៨៧ ម៉ោង។ PCON ការចុះឈ្មោះគ្រប់គ្រងការប្រើប្រាស់ថាមពល

2. SOFTWARE MODEL MCS – 51


ប្រភេទពាក្យបញ្ជា MCS – 51

ស្ទើរតែពាក់កណ្តាលនៃការណែនាំត្រូវបានប្រតិបត្តិក្នុង 1 វដ្តម៉ាស៊ីន (MC) ។ ជាមួយនឹងប្រេកង់គ្រីស្តាល់លំយោលនៃ 12 MHz ពេលវេលាប្រតិបត្តិនៃពាក្យបញ្ជាបែបនេះគឺ 1 μs។ ពាក្យបញ្ជាដែលនៅសល់ត្រូវបានប្រតិបត្តិក្នុង 2 វដ្តម៉ាស៊ីន ពោលគឺឧ។ សម្រាប់ 2 μs។ មានតែការណែនាំសម្រាប់គុណ (MUL) និងការបែងចែក (DIV) ប៉ុណ្ណោះដែលត្រូវបានប្រតិបត្តិក្នុង 4 វដ្តម៉ាស៊ីន។

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

3. វិធីសាស្រ្ត (វិធីសាស្រ្ត) នៃអាសយដ្ឋាន MCS-51

1. ការចុះឈ្មោះអាសយដ្ឋាន - ប្រតិបត្តិការ 8 ប៊ីតស្ថិតនៅក្នុង RON នៃធនាគារដែលបានជ្រើសរើស (សកម្ម) នៃការចុះឈ្មោះ។

2 អាសយដ្ឋានផ្ទាល់ (តំណាងដោយ - #) - ប្រតិបត្តិករគឺនៅក្នុងទីពីរ (និងសម្រាប់ 16-bit operand និងនៅក្នុងទីបី) byte នៃពាក្យបញ្ជា;

3 អាស័យដ្ឋានដោយប្រយោល (តំណាងដោយ - @) - ប្រតិបត្តិករស្ថិតនៅក្នុងអង្គចងចាំទិន្នន័យ (RPD ឬ VPD) ហើយអាសយដ្ឋាននៃក្រឡាអង្គចងចាំមាននៅក្នុងមួយនៃ RON នៃអាសយដ្ឋានប្រយោល (R0 ឬ R1); នៅក្នុងពាក្យបញ្ជា PUSH និង POP អាសយដ្ឋានមាននៅក្នុងទ្រនិចជង់ SP ។ ការចុះឈ្មោះ DPTR អាចមានអាសយដ្ឋាន IPT រហូតដល់ 64K ។

4 DIRECT BYTE ADDRESSING - (dir) - ត្រូវបានប្រើដើម្បីចូលប្រើក្រឡានៃ RPD (អាសយដ្ឋាន 00h… 7Fh) និងសម្រាប់ការចុះឈ្មោះមុខងារពិសេស SFR (អាសយដ្ឋាន 80h… 0FFh);

5 DIRECT BIT ADDRESSING - (ប៊ីត) - ត្រូវបានប្រើដើម្បីយោងទៅលើ 128 ប៊ីតដែលអាចដោះស្រាយបានដោយឡែកពីគ្នា ដែលមានទីតាំងនៅក្នុងកោសិកា RPD នៅអាសយដ្ឋាន 20H ... 2FH និងដើម្បីបំបែកអាស័យដ្ឋាននៃអនុគមន៍ពិសេស (សូមមើលតារាងទី 3 និងគំរូកម្មវិធី);

6 អាសយដ្ឋាន INDIRECT INDEX ADDRESSING (តំណាងដោយ -@) - សម្រួលតារាងមើលក្នុងអង្គចងចាំកម្មវិធី អាសយដ្ឋាន PP ត្រូវបានកំណត់ដោយផលបូកនៃការចុះឈ្មោះមូលដ្ឋាន (PC ឬ DPTR) និងការចុះឈ្មោះសន្ទស្សន៍ (Accumulator);

7 ImpACT (BUILT-IN) អាស័យដ្ឋាន - កូដបញ្ជាមានសេចក្តីយោងជាក់ស្តែង (តាមលំនាំដើម) ទៅកាន់ប្រតិបត្តិករមួយ (ជាញឹកញាប់បំផុតចំពោះថ្ម)។

4. PROCESSOR STATE WORD FORMAT (PSW)

គ - ទង់កាន់ (CARY) ឬខ្ចីក៏បម្រើជា "Boolean Accumulator" នៅក្នុងការណែនាំដែលដំណើរការលើប៊ីត។

AC - ជំនួយ (បន្ថែម) ទង់កាន់ - កំណត់ទៅ "1" ប្រសិនបើនៅក្នុងពាក្យបញ្ជាបន្ថែម (ADD, ADDC) មានការផ្ទេរពី nibble ទាបទៅខ្ពស់ជាង (នោះគឺពីប៊ីតទី 3 ទៅប៊ីតទី 4);

F0 - ទង់អ្នកប្រើប្រាស់ - កំណត់ ជម្រះ និងពិនិត្យតាមកម្មវិធី។

RS1 RS0 ធនាគារ អាស័យដ្ឋាន (dir)
0 0 0 00h..07h
0 1 1 08h..0Fh
1 0 2 10h..17h
1 1 3 18h..1Fh

RS1, RS0 - ជ្រើសរើសធនាគារចុះឈ្មោះ៖

OV - ទង់ជាតិលើសនព្វន្ធ; តម្លៃរបស់វាត្រូវបានកំណត់ដោយប្រតិបត្តិការ "ផ្តាច់មុខ OR" នៃសញ្ញានៃការបញ្ចូលនិងទិន្នផលដែលផ្ទុកនូវប៊ីតដ៏សំខាន់បំផុតនៃ ALU ។ តម្លៃតែមួយនៃទង់នេះបង្ហាញថាលទ្ធផលនៃប្រតិបត្តិការនព្វន្ធនៅក្នុងកូដបំពេញបន្ថែមរបស់ទាំងពីរគឺនៅក្រៅជួរ: -128 ... + 127; នៅពេលអនុវត្តប្រតិបត្តិការផ្នែក ទង់ OV ត្រូវបានជម្រះ ហើយក្នុងករណីនៃការបែងចែកដោយសូន្យ វាត្រូវបានកំណត់។ នៅពេលគុណ ទង់ OV ត្រូវបានកំណត់ប្រសិនបើលទ្ធផលធំជាង 255 (0FFH);

ប៊ីត PSW - បម្រុងទុក, មានក្រដាសបិទ, មានសម្រាប់ការសរសេរ ឬអាន។

P - parity flag - គឺជាការបំពេញបន្ថែមនៃចំនួនប៊ីតតែមួយនៅក្នុង accumulator ទៅសូម្បីតែ; បង្កើតឡើងដោយសៀគ្វីរួមបញ្ចូលគ្នា (កម្មវិធីដែលអាចប្រើបានដោយការអានតែប៉ុណ្ណោះ) ។

មិនមានទង់ "Z" នៅក្នុង microcontrollers MCS-51 ទេ។ ប៉ុន្តែនៅក្នុងការណែនាំលោតតាមលក្ខខណ្ឌ (JZ, JNZ) មាតិកាបច្ចុប្បន្ន (សូន្យ ឬមិនមែនសូន្យ) នៃ Accumulator ត្រូវបានត្រួតពិនិត្យដោយសៀគ្វីរួមបញ្ចូលគ្នា។

ពាក្យបញ្ជាទាំងអស់សម្រាប់ការផ្ទេរ និងផ្លាស់ប្តូរ operand អាចត្រូវបានអនុវត្តតាមរយៈថ្ម (សូមមើលរូបភាពទី 3) ។ លើសពីនេះទៅទៀត ការផ្ទេរពី/ទៅអង្គចងចាំខាងក្រៅ (អង្គចងចាំកម្មវិធី ឬអង្គចងចាំទិន្នន័យ) អាចត្រូវបានអនុវត្តតែតាមរយៈថ្មប៉ុណ្ណោះ។

ការផ្ទេរភាគច្រើនក៏អាចធ្វើឡើងតាមរយៈអាសយដ្ឋានផ្ទាល់ byte (dir) ផងដែរ។ មានសូម្បីតែ dir-dir forwards (សូមមើលរូបភាពទី 3) ។

ការបាត់ការផ្ទេរពី RON ទៅ RON អាចត្រូវបានអនុវត្តជាការផ្ទេរពី RON ទៅ a addressable byte dir ដោយផ្ទាល់ (ដោយគិតពី RONs មានទីតាំងនៅតំបន់ដំបូងនៃ Resident Data Memory កោសិកាដែលអាចត្រូវបានដោះស្រាយជា dir) ។

ពាក្យបញ្ជាផ្លាស់ប្តូរ XCH អនុញ្ញាតឱ្យផ្ទេរបៃដោយមិនបំផ្លាញ operand ទាំងពីរ។

ពាក្យបញ្ជានព្វន្ធត្រូវបានប្រតិបត្តិតែនៅក្នុង Accumulator ប៉ុណ្ណោះ។ ដូច្នេះ operand ទីមួយត្រូវតែដាក់ក្នុង Accumulator ជាមុនសិន ហើយបន្ទាប់មកបន្ថែម ឬដក operand ទីពីរ។ លទ្ធផលត្រូវបានដាក់ក្នុងថ្ម។


ពាក្យបញ្ជាដក SUBB ត្រូវបានអនុវត្តតែជាមួយការខ្ចី (ឧ. ទង់ Сary ក៏ត្រូវបានដកចេញពីលទ្ធផលដែរ)។ ដូច្នេះ ដើម្បីប្រតិបត្តិពាក្យបញ្ជាដកដោយមិនចាំបាច់ខ្ចី អ្នកត្រូវតែប្រតិបត្តិពាក្យបញ្ជាជាមុនសិន ដើម្បីជម្រះទង់ C (CLRC) ។

សេចក្តីណែនាំសម្រាប់គុណប្រតិបត្តិការមួយបៃ - MULAB - ដាក់លទ្ធផលពីរបៃ (16 ប៊ីត)៖ បៃទាប - ក្នុងថ្ម បៃខ្ពស់ - នៅក្នុងការចុះឈ្មោះ ខ.

លទ្ធផលនៃការប្រតិបត្តិពាក្យបញ្ជាសម្រាប់ការបែងចែក operands មួយបៃ - DIVAB - ត្រូវបានដាក់: quotient - Accumulator មួយដែលនៅសល់ - ចូលទៅក្នុងចុះឈ្មោះ B ។

ការណែនាំនព្វន្ធ INC បន្ថែមមួយទៅ operand ដែលបានជ្រើសរើស។ ការណែនាំនព្វន្ធ DEC ដកមួយចេញពី operand ដែលបានជ្រើសរើស។ ពាក្យបញ្ជាការកែខ្ទង់ទសភាគ (DAA) ជួយអ្នកបន្ថែមលេខគោលពីរ (លេខ BCD) ដោយមិនចាំបាច់បំប្លែងពួកវាទៅជាទម្រង់គោលដប់ប្រាំមួយ (ទម្រង់គោលដប់ប្រាំមួយ)។ ប្រតិបត្តិករដើមត្រូវតែជាទម្រង់ BCD ពោលគឺឧ។ tetrad នីមួយៗនៃមួយបៃមានលេខពី 0 ដល់ 9 (មិនអាចមានលេខគោលដប់ប្រាំមួយទេ៖ A, B, C, D, E, F)។ ដូច្នេះ មួយបៃអាចផ្ទុកលេខពី 00 ដល់ 99 សម្រាប់លេខ BCD ខ្ចប់ ឬលេខពី 0 ទៅ 9 សម្រាប់លេខ BCD ដែលមិនខ្ចប់។

DA A - ពាក្យបញ្ជាកែទសភាគអនុវត្តសកម្មភាពលើមាតិការបស់ Accumulator បន្ទាប់ពីបន្ថែមលេខ BCD នៅក្នុង processor (លេខត្រូវបានបន្ថែមយោងទៅតាមច្បាប់នៃលេខនព្វន្ធគោលដប់ប្រាំមួយ) ដូចខាងក្រោម (សូមមើលឧទាហរណ៍)៖

· ប្រសិនបើខ្លឹមសារនៃខ្ទង់ទាបបំផុតរបស់ Accumulator ធំជាង 9 ឬទង់ជំនួយត្រូវបានកំណត់ (AC = 1) នោះ 6 ត្រូវបានបន្ថែមទៅមាតិការបស់ Accumulator (ពោលគឺលេខប្រាំមួយខ្ទង់ដែលបាត់ក្នុងទម្រង់គោលដប់ប្រាំមួយ);

· ប្រសិនបើបន្ទាប់ពីនោះ ខ្លឹមសារនៃចំនុចខ្ពស់របស់ Accumulator គឺធំជាង 9 ឬទង់ C ត្រូវបានកំណត់ នោះលេខ 6 ត្រូវបានបន្ថែមទៅក្នុង Accumulator's high nibble ។

ពាក្យបញ្ជាកែទសភាគ DA A មិនត្រូវបានអនុវត្តបន្ទាប់ពីពាក្យបញ្ជាបង្កើន (INC) ទេព្រោះពាក្យបញ្ជាបង្កើនមិនប៉ះពាល់ដល់ (ផ្លាស់ប្តូរ) ទង់ C និង AC ។

ពាក្យបញ្ជាឡូជីខល៖

ឡូជីខល "AND" - ANL,

ឡូជីខល "OR" - ORL,

ពាក្យបញ្ជាឡូជីខល "EXCLUSIVE OR" - XRL- ត្រូវបានប្រតិបត្តិក្នុង Accumulator (ក៏ដូចជាលេខនព្វន្ធ) ប៉ុន្តែវាអាចធ្វើទៅបានដើម្បីប្រតិបត្តិពាក្យបញ្ជាឡូជីខលផងដែរនៅក្នុងបៃអាស័យដ្ឋានដោយផ្ទាល់ (dir) ។ ក្នុងករណីនេះ operand ទីពីរអាចជា៖

នៅក្នុងថ្មឬ

ប្រតិបត្តិការភ្លាមៗនៅក្នុងពាក្យបញ្ជា។

ពាក្យបញ្ជាបង្វិល (RR A, RL A) និងពាក្យបញ្ជាបង្វិលតាមរយៈទង់ CARY (RRC A, RLC A) ផ្លាស់ប្តូរមាតិការបស់ Accumulator ដោយ 1 ប៊ីត។ សេចក្តីយោងឧបករណ៍ប៊ីតត្រូវបានអនុវត្តតែតាមរយៈទង់ C ប៉ុណ្ណោះ។

ក្រសួងអប់រំទូទៅ និងវិជ្ជាជីវៈ នៃសហព័ន្ធរុស្ស៊ី សាកលវិទ្យាល័យបច្ចេកទេសរដ្ឋ Novosibirsk V.N. Veprik, V.A. Afanasyev, A.I. Druzhinin, A.A. Zemskov, A.R. Isaev, O.V. Malyavko MICROCONTROLLERS នៃ MCS-51 FAMILY សៀវភៅសិក្សាសម្រាប់វគ្គសិក្សា "Microprocessor systems" និង "Design of microprocessor systems" សម្រាប់និស្សិតជាន់ខ្ពស់នៃមហាវិទ្យាល័យស្វ័យប្រវត្តិកម្ម និងវិស្វកម្មកុំព្យូទ័រគ្រប់ទម្រង់នៃការអប់រំ Novosibirsk 1997 V.N. Veprik, V.A. Afanasyev, A.I. Druzhinin, A.A. Zemskov, A.R. Isaev, O.V. ម៉ាលីយ៉ាវកូ។ Microcontrollers MCS-51 គ្រួសារ៖ ការបង្រៀន។ - Novosibirsk ។ ការបង្រៀននេះមានការពិពណ៌នាទូទៅនៃស្ថាបត្យកម្ម មុខងារ និងសំណុំការណែនាំនៃគ្រួសារ MCS-51 នៃ microcontrollers បន្ទះឈីបតែមួយ (Embedded Microcontrollers) ដែលផលិតដោយ INTEL ។ ផ្នែកទីពីរនៃសៀវភៅណែនាំផ្តល់នូវការពិពណ៌នាអំពីឧបករណ៍បញ្ជាមីក្រូដំណើរការអប់រំ UMPK-51 ដែលផ្តល់ជូនសិស្សានុសិស្សជាវត្ថុនៃការស្រាវជ្រាវនៅពេលអនុវត្តវដ្តនៃការងារមន្ទីរពិសោធន៍។ សម្ភារៈនៃសៀវភៅដៃអាចត្រូវបានប្រើនៅក្នុងវគ្គសិក្សានិងការរចនាសញ្ញាប័ត្រហើយក៏អាចមានប្រយោជន៍សម្រាប់វិស្វករសៀគ្វីដែលចូលរួមក្នុងការអភិវឌ្ឍន៍និងប្រតិបត្តិការឧបករណ៍អេឡិចត្រូនិក។ អ្នកនិពន្ធសូមថ្លែងអំណរគុណយ៉ាងជ្រាលជ្រៅចំពោះ AOZT "New Technologies" ដែលជាអ្នកចែកចាយផ្លូវការរបស់ INTEL សម្រាប់ការផ្តល់សម្ភារៈដោយផ្អែកលើការងារនេះត្រូវបានអនុវត្ត។ តារាងទី 15 រូបភព 25 បញ្ជីអក្សរ។ 12 ចំណងជើង អ្នកវាយតម្លៃ៖ E.D. Baran, G.G. Matushkin ។ ការងារត្រូវបានរៀបចំនៅនាយកដ្ឋានវិទ្យាសាស្ត្រកុំព្យូទ័ររដ្ឋ Novosibirsk © សាកលវិទ្យាល័យបច្ចេកទេស 2 សេចក្តីផ្តើម។ គ្រួសារ MCS-51 នៃ 8-bit single-chip microcontrollers បានបង្ហាញខ្លួននៅលើទីផ្សារពិភពលោកនៅដើមទសវត្សរ៍ទី 80 ។ ការកែប្រែដំបូងនៃគ្រីស្តាល់ (ប្រហែល 7) ត្រូវបានធ្វើឡើងដោយប្រើបច្ចេកវិជ្ជា n-MOS (HMOS) ដែលមានគុណភាពខ្ពស់ ហើយមានមុខងារពេញលេញនូវមីក្រូកុំព្យូទ័របន្ទះឈីបតែមួយនៃស្ថាបត្យកម្មហាវ៉ាដ ដែលជាគោលការណ៍សំខាន់មួយនៃការបំបែកអាសយដ្ឋាន។ ចន្លោះនៃអង្គចងចាំកម្មវិធី និងទិន្នន័យ។ ជាមួយនឹងការអភិវឌ្ឍនៃបច្ចេកវិទ្យា semiconductor កំណែជាបន្តបន្ទាប់នៃ microcircuits MCS-51 បានចាប់ផ្តើមផលិតដោយប្រើបច្ចេកវិទ្យា CMOS (CHMOS) កម្រិតខ្ពស់ និងថាមពលទាប (នៅក្នុងរបៀបសកម្ម ការប្រើប្រាស់គ្រីស្តាល់ត្រូវបាននាំយកទៅ 10-50 mA) ។ ប្រព័ន្ធពាក្យបញ្ជា MCS-51 ដែលផ្តោតលើការអនុវត្តក្បួនដោះស្រាយការគ្រប់គ្រងឌីជីថលផ្សេងៗ ខណៈពេលដែលរក្សាភាពស្រដៀងគ្នាខាងក្រៅមួយចំនួនជាមួយនឹងប្រព័ន្ធបញ្ជានៃគ្រួសារ MCS-48 ពីមុនបានពង្រីកលក្ខណៈគុណភាព ការច្នៃប្រឌិតជាមូលដ្ឋានបានបង្ហាញខ្លួននៅក្នុងវា៖ ប្រតិបត្តិការតម្រង់ទិស និង វាលប៊ីតដែលអាចដោះស្រាយបាននៅក្នុងអង្គចងចាំទិន្នន័យ ដែលធ្វើឱ្យវាអាចនិយាយអំពីការអនុវត្តប្រព័ន្ធដំណើរការប៊ីតនៅលើបន្ទះឈីប។ អនុវត្តការប្រតិបត្តិនៃពាក្យបញ្ជាគុណ, ចែកនិងដក; ការងារប្រសើរឡើងជាមួយជង់; ក្រុមនៃពាក្យបញ្ជាផ្ទេរវត្ថុបញ្ជាត្រូវបានពង្រីក។ ប្រព័ន្ធបញ្ជាចាប់ផ្តើមមើលទៅស៊ីមេទ្រីជាងមុន ពោលគឺមិនសូវពឹងផ្អែកលើការផ្ទេរទិន្នន័យតាមរយៈថ្ម។ មុខងារនៃគ្រឿងកុំព្យូទ័រនៅលើយន្តហោះក៏ត្រូវបានពង្រីកផងដែរជាមួយនឹងការណែនាំអំពី: ឧបករណ៍កំណត់ម៉ោង 16 ប៊ីតចំនួនពីរ។ ច្រក duplex សៀរៀលផ្នែករឹង; ប្រព័ន្ធរំខានពីរកម្រិត; ច្រក I/O ចំនួន 8 ប៊ីតចំនួនបួន។ ការផ្លាស់ប្តូរជាមូលដ្ឋាននៅក្នុងរចនាសម្ព័ន្ធនៃវដ្តពេលវេលានៃខួរក្បាលបាននាំឱ្យមានការបង្កើនល្បឿននៃការងារជាមួយនឹងអង្គចងចាំខាងក្រៅនៃកម្មវិធីនិងទិន្នន័យក៏ដូចជាប្រតិកម្មទៅនឹងការរំខានខាងក្រៅនិងខាងក្នុង។ ទំហំសរុបនៃទំហំអាសយដ្ឋាននៃកម្មវិធីខាងក្រៅ និងអង្គចងចាំទិន្នន័យបានកើនឡើងដល់ 128 KB ។ ការចុះឈ្មោះកម្មវិធីរាប់ចំនួន 16 ប៊ីត និងឧបករណ៍ចង្អុលទិន្នន័យបានអនុញ្ញាតឱ្យចូលដំណើរការដោយផ្ទាល់ទៅកាន់ជួរអាសយដ្ឋានទាំងមូល ដែលផ្តល់ឱ្យអ្នកអភិវឌ្ឍន៍នូវសមត្ថភាពក្នុងការអនុវត្តក្បួនដោះស្រាយសម្រាប់ដំណើរការលឿននៃអារេទិន្នន័យធំ។ ថ្នាំងដែលអាចចូលប្រើកម្មវិធីបានទាំងអស់នៃ microcontroller ត្រូវបានប្រមូលផ្តុំគ្នានៅក្នុងតំបន់ពិសេសនៃអង្គចងចាំទិន្នន័យ (Special Function Register) ដែលធ្វើឱ្យវាអាចចូលប្រើពួកវាបានស្ទើរតែដូចគ្នាទៅនឹងកោសិកាធម្មតានៃ RAM ដែលមានស្រាប់។ នៅក្នុងការកែប្រែគ្រីស្តាល់នៅពេលក្រោយ ការកែលម្អបានដើរតាមផ្លូវនៃការបង្កើនមុខងារបន្ថែម ខណៈពេលដែលរក្សាបាននូវភាពឆបគ្នានៃកម្មវិធីពេញលេញជាមួយនឹងកំណែមុននេះ។ លក្ខណៈពិសេសនៃការកែប្រែចុងក្រោយបំផុតនៃ microcontrollers MCS-51 គឺ: ការរចនាឋិតិវន្តទាំងស្រុង; កំណែគ្រីស្តាល់ 3 និង 5 វ៉ុល; ជួរធំទូលាយនៃគ្រឿងកុំព្យូទ័រដែលភ្ជាប់មកជាមួយ; ប្រេកង់នាឡិកាអតិបរមា - 24 MHz; សម្រាប់ក្រុមនីមួយៗនៃគ្រីស្តាល់ - 33 MHz ។ បច្ចុប្បន្ននេះ MCS-51 រួមបញ្ចូលគ្រីស្តាល់ប្រហែល 60 កំណែ លើសពីនេះទៅទៀតមាន និងអាចរកបាននូវឯកសារកម្មសិទ្ធិលម្អិត (ជាអកុសល រហូតមកដល់ពេលនេះមានការបកប្រែជាភាសារុស្សីតិចតួច)។ ដើម្បីរៀបចំកម្មវិធីសម្រាប់ microcontrollers MCS-51 ភាសា "ASM-51", "C" ត្រូវបានប្រើជាចម្បង ដែលក្នុងនោះមានកម្មវិធីចងក្រងដែលបានបញ្ជាក់យ៉ាងល្អ បណ្ណាល័យនៃទម្រង់ការរងស្តង់ដារ និងកម្មវិធីត្រាប់តាមកម្មវិធីដែលផលិតដោយបរទេសផ្សេងៗ។ និងក្រុមហ៊ុនក្នុងស្រុក។ 3 ទោះបីជាមាន "វត្ថុបុរាណ" គ្រប់គ្រាន់នៃគ្រួសារ (ច្រើនជាង 15 ឆ្នាំ) និងការបង្ហាញខ្លួននៅលើទីផ្សារពិភពលោកក្នុងប៉ុន្មានឆ្នាំថ្មីៗនេះនៃ microcontrollers បន្ទះឈីបតែមួយនៃដំណើរការខ្ពស់និងស្ថាបត្យកម្មដែលប្រសើរឡើង - MCS-51, MCS-251, MCS-96, ឧបករណ៍បញ្ជា MCS-51 នឹងត្រូវបានប្រើយ៉ាងទូលំទូលាយនៅក្នុងប្រព័ន្ធត្រួតពិនិត្យដែលបានបង្កប់សាមញ្ញ។ 4 1. ប្រព័ន្ធរចនានៃសមាសធាតុដោយក្រុមហ៊ុន Intel និងសមាសធាតុមុខងារនៃគ្រួសារ MCS-51 សម្រាប់ការសម្គាល់មីក្រូសៀគ្វីដោយ INTEL ប្រព័ន្ធកំណត់នៃវាលជាច្រើនត្រូវបានប្រើ៖ 1 2 3 4 ХХ ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ រថយន្ត៖ កំណែរថយន្តសម្រាប់ជួរសីតុណ្ហភាពបន្ថែម (-40 / + 125 C) M (យោធា) កំណែតាមស្តង់ដារយោធា (-55 / + 125 C) Q ឬ C (ពាណិជ្ជកម្ម) ជួរសីតុណ្ហភាព "ពាណិជ្ជកម្ម" (0 / + 70 C) ) s (160 8) - ការហ្វឹកហាត់កំដៅថាមវន្តមួយម៉ោង; L ឬ E (ពង្រីក) ជួរសីតុណ្ហភាព "ពង្រីក" (-40 / + 85 C) ជាមួយ (160 8) - ម៉ោងហ្វឹកហាត់កម្ដៅថាមវន្ត; Т (ពង្រីក), ជួរសីតុណ្ហភាព "ពង្រីក" (-40 / + 85 С) ដោយគ្មានការហ្វឹកហាត់កម្ដៅ; I (ឧស្សាហកម្ម) ការប្រតិបត្តិតាមស្តង់ដារឧស្សាហកម្ម។ វាលទីពីរមានបុព្វបទមួយ ឬពីរអក្សរដែលបង្ហាញពីប្រភេទកញ្ចប់នៃ microcircuit (Package Type)។ មានកញ្ចប់ microcircuit ជាច្រើនប្រភេទផ្សេងៗគ្នានាពេលបច្ចុប្បន្ននេះ ដូច្នេះហើយ ជាឧទាហរណ៍ យើងនឹងផ្តល់តែការរចនាមួយចំនួនប៉ុណ្ណោះ៖ A Ceramic Pin Grid Array, (PGA); កញ្ចប់ Ceramic Dual In-Line, (CDIP); កញ្ចប់ K Ceramic Quad Flatpack, (QFP); កញ្ចប់ KD ផ្លាស្ទិច Quad Flatpack, Fine Pitch, Die Down, (PQFP); កញ្ចប់ KU Plastic Quad Flatpack, Fine Pitch, Die Up, (PQFP); N Plastic Leaded Chip Carrier, (PLCC); កញ្ចប់ Plastic Dual In-Line, (PDIP); SM Single In-Line Leadless Memory Module, (SIMM); U Plastic Dual In-Line Package, Shrink Dip, (PDIPS); កញ្ចប់​ក្នុង​បន្ទាត់ Z Zigzag, (ZIP) ។ វាលទីបីអាចមានរហូតដល់ 15 តួអក្សរជាលេខ និងអក្ខរក្រមដែលបង្ហាញពីប្រភេទនៃឧបករណ៍ជាក់លាក់ដែលមាននៅលើបន្ទះឈីប។ វាលទីបួនអាចរួមបញ្ចូលតួអក្សរជាលេខ និងអក្ខរក្រមរហូតដល់ប្រាំមួយ ដែលឆ្លុះបញ្ចាំងពីលក្ខណៈពិសេស និងកំណែផ្សេងៗនៃ microcircuits ។ ព័ត៌មានបន្ថែមអំពីប្រភេទនៃកញ្ចប់ និងការរចនារបស់វាអាចរកបាននៅក្នុងសៀវភៅ៖ លេខលំដាប់វេចខ្ចប់ 240800។ ទាក់ទងទៅនឹង microcontrollers ដែលបានពិពណ៌នានៃគ្រួសារ MCS-51 តួអក្សរទីមួយនៃវាលទីបីគឺតាមប្រពៃណី (សម្រាប់ Intel) ស្មើនឹង "8" ។ តួអក្សរទីពីរនៃវាលទី 3 ជាធម្មតាបង្ហាញពីប្រភេទនៃរ៉ូមដែលភ្ជាប់មកជាមួយ: 0 masked ROM នៃកម្មវិធី។ គ្រីស្តាល់ដោយគ្មានរ៉ូម (សម្រាប់គ្រីស្តាល់ជំនាន់ក្រោយ); 1 របាំង ROM នៃកម្មវិធី (កូដ ROM ស្តង់ដារ កម្មវិធីបង្កប់); រ៉ូមរបាំង 3 (សម្រាប់កំណែគ្រីស្តាល់ក្រោយ) (កូដរ៉ូមដែលអាចប្ដូរតាមបំណងបាន); 7 UVROM ឬរ៉ូមដែលអាចសរសេរកម្មវិធីបានតែមួយដង (EPROM ឬ OTP ROM); 8 EEPROM (Flash - memory on a chip) លើសពីនេះ សំបុត្រអាចធ្វើតាម ដែលបង្ហាញពីលក្ខណៈបច្ចេកទេសនៃការផលិត៖ គ្មានអក្សរ HMOS technology ការផ្គត់ផ្គង់ថាមពល 5V; ជាមួយនឹងបច្ចេកវិទ្យា CHMOS ការផ្គត់ផ្គង់ថាមពល 5V; បច្ចេកវិទ្យា L CHMOS ការផ្គត់ផ្គង់ថាមពល 3V; 5 តួអក្សរបន្ទាប់នៃវាលទីបីសម្រាប់ microcontrollers MCS-51 គឺជាលេខ (ឧទាហរណ៍ 31,32,51,54,58,152) និងពីមួយទៅបួនអក្សរដែលឆ្លុះបញ្ចាំងពីមុខងារមុខងាររបស់គ្រីស្តាល់ (ឧទាហរណ៍ ទំហំ ROM ជាក់លាក់នៃក្រុមគ្រីស្តាល់ ការការពារភាពអាចរកបាននៃប្រព័ន្ធនៃអង្គចងចាំកម្មវិធីពីការចូលប្រើដោយគ្មានការអនុញ្ញាត លទ្ធភាពប្រើប្រាស់ក្បួនដោះស្រាយកម្មវិធីកម្រិតខ្ពស់ "Quick Pulse" និងផ្សេងទៀត)។ នៅក្នុងឯកសារបច្ចេកទេសដើមរបស់ Intel ឧបករណ៍បញ្ជាមីក្រូ MCS-51 ទាំងអស់ត្រូវបានរៀបចំជាក្រុម ("បន្ទាត់ផលិតផល") ដែលនីមួយៗបង្រួបបង្រួមកំណែគ្រីស្តាល់ដែលនៅជិតបំផុតនៅក្នុងមុខងារ និងប៉ារ៉ាម៉ែត្រអគ្គិសនីរបស់ពួកគេ។ ដោយសារឈ្មោះនៃមីក្រូសៀគ្វីនៃក្រុមមួយមានភាពខុសប្លែកគ្នាបន្តិចបន្តួចដើម្បីកំណត់ក្រុមនីមួយៗ និមិត្តសញ្ញាទូទៅមួយត្រូវបានប្រើប្រាស់ដែលបង្កើតឡើងពីការសម្គាល់នៃមីក្រូសៀគ្វីជាក់លាក់ដោយជំនួសតួអក្សរផ្សេងគ្នាដោយអក្សរ "X" ។ ដូច្នេះក្រុម microcontrollers ខាងក្រោមអាចត្រូវបានសម្គាល់។ 1. ក្រុម 8Х5Х (ខ្សែផលិតផល 8051 និងបន្ទាត់ផលិតផល 8052): 8031АН, 8051АН, 8751Н, 8051АНР, 8751Н-8, 8751ВН, 8032А5Н,8. 2. ក្រុម 8ХС51 (ខ្សែផលិតផល 80С51): 80С31ВН, 80С51ВН, 87С51។ 3. ក្រុម 8ХС5Х (8ХС52 / 54/58 បន្ទាត់ផលិតផល): 80С32, 80С52, 87С52, 80С54, 87С54, 80С58, 87С58។ 4. ក្រុម 8XC51FX (8XC51FA / FB / FC បន្ទាត់ផលិតផល): 80C51FA, 83C51FA, 87C51FA, 83C51FB, 87C51FB, 83C51FC, 87C51FC ។ 5. ក្រុម 8ХL5X (8XL52/54/58 បន្ទាត់ផលិតផល): 80L52, 87L52, 80L54, 87L54, 80L58, 87L58។ 6. ក្រុម 8XL51FX (8XL51FA / FB / FC បន្ទាត់ផលិតផល): 80L51FA, 83L51FA, 87L51FA, 83L51FB, 87L51FB, 83L51FC, 87L51FC ។ 7. ក្រុម 8XC51RX (8XC51RA / RB / RC បន្ទាត់ផលិតផល): 80C51RA, 83C51RA, 87C51RA, 83C51RB, 87C51RB, 83C51RC, 87C51RC ។ 8. ក្រុម 8XC51GB (ខ្សែផលិតផល 8XC51GX): 80C51GB, 83C51GB, 87C51GB ។ 9. ក្រុម 8XC152JX (ខ្សែផលិតផល 8XC152): 80C152JA, 83C152JA, 80C152JB, 80C152JC, 83C152JC, 80C152JD ។ 10.Group 8XC51SL (បន្ទាត់ផលិតផល 8XC51SL): 80C51SL-BG, 81C51SL-BG, 83C51SL-BG, 80C51-AH, 81C51SL-AH, 83C51SL-AH, 87C151SL-8ALC, 87C51SL-5,87C51SL-8,87C51SL-AH, . ក្រុមទី 1 នៃ microcontrollers រួមមានម៉ូដែលតូចៗនៃគ្រួសារដែលផលិតដោយប្រើបច្ចេកវិទ្យា n-MOS និងមិនត្រូវបានណែនាំសម្រាប់ប្រើក្នុងការរចនាថ្មី ក្រុមផ្សេងទៀតទាំងអស់ត្រូវបានផលិតដោយប្រើបច្ចេកវិទ្យា CMOS ទំនើប។ Microcircuits នៃក្រុមទី 2 ទី 3 និងទី 4 គឺជាអ្នកតំណាងបុរាណនៃគ្រួសារ MCS-51 ។ ក្រុមទី 5 និងទី 6 រួមមានកំណែ 3 វ៉ុលនៃគ្រីស្តាល់ (វ៉ុលទាប) ។ គ្រីស្តាល់នៃក្រុមទីប្រាំពីរត្រូវបានបំពាក់ជាមួយ RAM ពង្រីក (ពង្រីក RAM) ដែលមានទំហំ 512 បៃ។ Microcircuits នៃក្រុមទីប្រាំបី ទីប្រាំបួន និងទីដប់ គឺជា microcontrollers ជាក់លាក់នៃកម្មវិធី (Application Specific)។ កម្មវិធីទំនើបៗជាច្រើនទាមទារ MCU ដែលមានប្រសិទ្ធភាពខ្ពស់ដែលប្រើសមត្ថភាពអាសយដ្ឋានកម្រិតខ្ពស់ ចុះឈ្មោះស្ថាបត្យកម្ម បរិមាណ RAM និងជង់ខាងក្នុងដ៏ធំ និងគាំទ្រការសរសេរកម្មវិធីកម្រិតខ្ពស់ប្រកបដោយប្រសិទ្ធភាព។ microcontrollers ទាំងនេះរួមមាន New Architecture MCS-5 និង MCS-251 microcontrollers ដែល Intel បានចាប់ផ្តើមផលិតក្នុងឆ្នាំ 1995។ សមាសភាពមុខងារ និងលក្ខណៈសំខាន់ៗរបស់ឧបករណ៍បញ្ជា microcontroller MCS-51/MCS-251 ត្រូវបានផ្តល់ឱ្យនៅក្នុងឧបសម្ព័ន្ធ។ 6 2. លក្ខណៈមូលដ្ឋាននៃគំរូមូលដ្ឋាននៃគ្រួសារនៃមីក្រូត្រួតពិនិត្យ MCS-51 ។ គំរូមូលដ្ឋាននៃ microcontrollers គ្រួសារ MCS-51 និងមូលដ្ឋានសម្រាប់ការកែប្រែជាបន្តបន្ទាប់ទាំងអស់គឺ microcontroller I-8051 ។ លក្ខណៈពិសេសចម្បងរបស់វាមានដូចខាងក្រោម: ស៊ីភីយូប្រាំបីប៊ីតដែលត្រូវបានធ្វើឱ្យប្រសើរឡើងសម្រាប់មុខងារបញ្ជា។ ម៉ាស៊ីនភ្លើងនាឡិកាដែលភ្ជាប់មកជាមួយ; ទំហំអាសយដ្ឋាននៃអង្គចងចាំកម្មវិធី - 64 K; ទំហំអាសយដ្ឋានអង្គចងចាំទិន្នន័យ - 64 K; អង្គចងចាំកម្មវិធីខាងក្នុង - 4K; អង្គចងចាំទិន្នន័យខាងក្នុង - 128 បៃ; លទ្ធភាពបន្ថែមសម្រាប់ប្រតិបត្តិការពិជគណិតប៊ូលីន (ប្រតិបត្តិការប៊ីត); 32 បន្ទាត់ I/O ទ្វេទិស និងជាបុគ្គលដែលអាចដោះស្រាយបាន; 2 កម្មវិធីកំណត់ម៉ោងពហុមុខងារ ដប់ប្រាំមួយប៊ីត / បញ្ជរ; ឧបករណ៍បញ្ជូនអសមកាលពេញលេញ duplex; ប្រព័ន្ធរំខានវ៉ិចទ័រដែលមានកម្រិតអាទិភាពពីរ និងប្រភពព្រឹត្តិការណ៍ចំនួនប្រាំមួយ។ ដ្យាក្រាមប្លុកនៃ I-8051 ត្រូវបានបង្ហាញក្នុងរូបភាពទី 1 ការកំណត់ម្ជុលរបស់ microcircuit ត្រូវបានបង្ហាញក្នុងរូបភាពទី 2 ។ ការរំខានខាងក្រៅរំខាន 128 bytes T/C 0 counter 4K ROM control RAM T/C 1 inputs CPU BUS 4 I/O Serial OSC control Ports Port P0 P1 P2 P3 T D R D អាស័យដ្ឋាន/ទិន្នន័យ រូបភាពទី 1 ។ ដ្យាក្រាមប្លុក I-8051 ស៊េរី MCS-51 ទាំងមូលមានស្ថាបត្យកម្ម Harvard ពោលគឺចន្លោះអាសយដ្ឋានដាច់ដោយឡែកសម្រាប់អង្គចងចាំកម្មវិធី និងទិន្នន័យ។ អង្គចងចាំត្រូវបានបង្ហាញក្នុងរូបភាពទី 3 ។ ចំនួននៃអង្គចងចាំកម្មវិធីខាងក្នុង (អ្នករស់នៅ) (រ៉ូម EPROM ឬ OTP ROM) ដែលមានទីតាំងនៅលើបន្ទះឈីប អាស្រ័យលើប្រភេទមីក្រូសៀគ្វី អាចជា 0 (រ៉ូមគ្មាន) 4K (គ្រីស្តាល់មូលដ្ឋាន) 8K 16K ឬ 32K។ បើចាំបាច់ អ្នកប្រើប្រាស់អាចពង្រីកអង្គចងចាំកម្មវិធីដោយដំឡើង ROM ខាងក្រៅ។ ការចូលប្រើរ៉ូមខាងក្នុងឬខាងក្រៅត្រូវបានកំណត់ដោយតម្លៃនៃសញ្ញានៅម្ជុល EA (ការចូលប្រើខាងក្រៅ): EA = Vcc (វ៉ុលផ្គត់ផ្គង់) - ការចូលប្រើរ៉ូមខាងក្នុង; EA = Vss (សក្តានុពលដី) - ការចូលប្រើរ៉ូមខាងក្រៅ។ សម្រាប់គ្រីស្តាល់ដែលគ្មានរ៉ូម (រ៉ូមគ្មាន) ម្ជុល EA ត្រូវតែភ្ជាប់ជាអចិន្ត្រៃយ៍ទៅ Vss ។ ROM ខាងក្រៅអាន strobe - PS EN (Program Store Enable) ត្រូវបានបង្កើតនៅពេលចូលប្រើអង្គចងចាំកម្មវិធីខាងក្រៅ ហើយអសកម្មនៅពេលចូលប្រើ ROM ដែលមានទីតាំងនៅលើបន្ទះឈីប។ 7 តំបន់នៃអាសយដ្ឋានខាងក្រោមនៃអង្គចងចាំកម្មវិធីត្រូវបានប្រើដោយប្រព័ន្ធរំខាន ស្ថាបត្យកម្មនៃ microcircuit 8051 ផ្តល់ការគាំទ្រសម្រាប់ប្រភពនៃការរំខានចំនួនប្រាំ: ការរំខានខាងក្រៅពីរ; ការរំខានពីរពីកម្មវិធីកំណត់ម៉ោង; រំខានពីច្រកសៀរៀល។ P1.0 1 40 Vcc P1.1 2 39 P0 . 0 (AD0) P1.2 3 38 P0.1 (AD1) P1.3 4 37 P0.2 (AD2) P1.4 5 36 P0.3 (AD3) P1.5 6 35 P0.4 (AD4) P1. 6 7 34 P0.5 (AD5) P1.7 8 33 P0.6 (AD6) RESET 9 32 P0.7 (AD7) (RD) P3.0 10 31 EA/Vpp (TD) P3.1 11 30 ALE / PROG (INT0) P3.2 12 29 PSEN (INT1) P3.3 13 28 P2.7 (A15) (T0) P3.4 14 27 P2.6 (A14) (T1) P3.5 15 26 P2.5 ( A13) (WR) P3.6 16 25 P2.4 (A12) (RD) P3.7 17 24 P2.3 (A11) XTAL2 18 23 P2.2 (A10) XTAL1 19 22 P2.1 (A9) Vss 20 ២១ P2.0 (A8) រូប ២. កំណត់ការខ្ទាស់នៃអង្គចងចាំកម្មវិធី I-8051 (អាន) អង្គចងចាំទិន្នន័យ (អាន/សរសេរ) FFFFH រ៉ូមខាងក្រៅ FFFFH អង្គចងចាំខាងក្រៅ @DPTR RD ទិន្នន័យ PSEN WR @PC MOVC EA = 0 អង្គចងចាំខាងក្នុង @DPTR ទិន្នន័យ @PC ខាងក្នុងខាងក្រៅ FFH ខាងលើ 128 SFR MOVX ROM ROM 80H EA = 0 0000H EA = 1 ទាប 128 00H 0000H PSEN រូបភាពទី 3 ។ MCS-51 Family Memory Organization 8 រូបភាពទី 4 បង្ហាញផែនទីនៃផ្ទៃអង្គចងចាំកម្មវិធីទាប។ អង្គចងចាំកម្មវិធី ROM 0033H 002BH Serial Port 0023H Vector Timer1 001BH រំខាន EINT1 0013H Timer0 000BH EINT0 0003H អាសយដ្ឋានចាប់ផ្តើម 0000H (កំណត់ឡើងវិញ) រូបភាពទី 4 ។ សតិកម្មវិធី អាស័យដ្ឋាននៃវ៉ិចទ័ររំខានមានទីតាំងនៅចន្លោះ 8 បៃ៖ - 0003H រំខានខាងក្រៅ 0 (ការរំខានខាងក្រៅ 0) - ម្ជុល IN T 0; - 000BH រំខានពីកម្មវិធីកំណត់ម៉ោង 0 (ដោយទង់ជាតិកំណត់ម៉ោង - T F 0); - 0013H រំខានខាងក្រៅ 1 - IN T 1 pin; - 001BH រំខានពីកម្មវិធីកំណត់ម៉ោង 1 (ដោយទង់ជាតិកំណត់ម៉ោង - T F 1); - 0023H រំខានពីច្រកសៀរៀល (Serial Interrupt = ទទួល Interrupt ឬ Transmit Interrupt); ល។ អង្គចងចាំទិន្នន័យគឺដាច់ដោយឡែកពីអង្គចងចាំកម្មវិធី។ អាសយដ្ឋាន RAM ខាងក្រៅ 64K គឺអាចធ្វើទៅបាននៅក្នុងតំបន់នេះ។ នៅពេលចូលប្រើអង្គចងចាំទិន្នន័យខាងក្រៅ CPU របស់ microcontroller បង្កើតសញ្ញាអាន (R D) ឬសរសេរ (W R) ដែលត្រូវគ្នា អន្តរកម្មជាមួយអង្គចងចាំទិន្នន័យខាងក្នុងត្រូវបានអនុវត្តនៅកម្រិតពាក្យបញ្ជា ខណៈពេលដែលសញ្ញា R D និង W R មិនត្រូវបានបង្កើត។ អង្គចងចាំកម្មវិធីខាងក្រៅ និងអង្គចងចាំទិន្នន័យខាងក្រៅអាចត្រូវបានផ្សំដោយ ANDing សញ្ញា R D និង PS EN ដើម្បីផ្តល់អង្គចងចាំខាងក្រៅ (កម្មវិធី/ទិន្នន័យ) strobe ។ អង្គចងចាំទិន្នន័យខាងក្នុង 128 បៃទាប (ទាបជាង 128) មានវត្តមាននៅលើ MCS-51 ទាំងអស់ ហើយត្រូវបានបង្ហាញក្នុងរូបភាពទី 5 ។ 32 បៃដំបូងតំណាងឱ្យ 4 ធនាគារ (Register Bank) ជាមួយនឹងការចុះឈ្មោះចំនួន 8 (R7 ... R0) ។ ការចុះឈ្មោះ R0 និង R1 នៅក្នុងធនាគារណាមួយអាចត្រូវបានប្រើជាការចុះឈ្មោះអាសយដ្ឋានដោយប្រយោល។ 16 បៃបន្ទាប់ពីធនាគារចុះឈ្មោះបង្កើតជាប្លុកនៃទំហំអាស័យដ្ឋានប៊ីត។ សំណុំការណែនាំ MCS-51 មានប្រតិបត្តិការប៊ីតជាច្រើនប្រភេទ ហើយ 128 ប៊ីតនៅក្នុងប្លុកនេះគឺអាចដោះស្រាយដោយផ្ទាល់ ហើយអាសយដ្ឋានមានចាប់ពី 00H ដល់ 7FH ។ បៃទាំងអស់នៅក្នុងពាក់កណ្តាល 128-byte ទាបនៃអង្គចងចាំអាចត្រូវបានដោះស្រាយដោយផ្ទាល់ឬដោយប្រយោល។ ផ្នែកខាងលើ 128 បៃនៃអង្គចងចាំ RAM (ខាងលើ 128) គឺអវត្តមាននៅក្នុងបន្ទះឈីប I-8051 ប៉ុន្តែវាមាននៅក្នុងកំណែរបស់គ្រីស្តាល់ដែលមាន RAM 256 បៃ។ ក្នុងករណីនេះ តំបន់ "ខាងលើ 128" អាចប្រើបានសម្រាប់តែអាសយដ្ឋានប្រយោលប៉ុណ្ណោះ។ តំបន់ SFR (Special Function Register) អាចប្រើបានតែជាមួយអាសយដ្ឋានផ្ទាល់ប៉ុណ្ណោះ។ ការរៀបចំមុខងារពិសេសចុះឈ្មោះក្នុងចន្លោះ SFR ត្រូវបានបង្ហាញក្នុងរូបភាពទី 6 ។ ទាំងនេះរួមមានការចុះឈ្មោះច្រក ឧបករណ៍កំណត់ម៉ោង ការគ្រប់គ្រងគ្រឿងកុំព្យូទ័រ និងអ្វីៗផ្សេងទៀត។ 9 7FH Byte-addressable RAM area 30H (ផ្ទាល់, ដោយប្រយោល) 2FH 7FH 7EH 7DH 7CH 7BH 7AH 79H 78H 2EH 77H 76H 75H 74H 73H 72H 71H 70H RAM 2H0E0H 9H0B0H 9H ដោយផ្ទាល់ 04H 03H 02H 01H 00H 1FH RB3 18H 17H RB2 10H 0FH RB1 08H 07H SP បន្ទាប់ពី RESET 00H RB0 (R7 + R0) រូបភាពទី 5 ។ ខាងក្រោម 128 បៃនៃ RAM ខាងក្នុង។ អាសយដ្ឋានប៊ីត 8 បៃ F8H FFH F0H B F7H E8H EFH E0H ACC E7H D8H DFH D0H PSW D7H C8H CFH C0H C7H B8H IP BFH B0H P3 B7H A8H IE AFH A0H P2 A7H SPH80F8 S 8 1/9 2 / A 3 / B 4 / C 5 / D 6 / E 7 / F រូបភាពទី 6 ។ ការដាក់មុខងារពិសេសចុះឈ្មោះក្នុងចន្លោះ SFR ។ សម្រាប់អាសយដ្ឋាន 16 ក្នុងចន្លោះ SFR ទាំងអាសយដ្ឋានបៃ និងប៊ីតគឺអាចធ្វើទៅបាន។ សម្រាប់ការចុះឈ្មោះអាស័យដ្ឋាន bit-address អាសយដ្ឋានគោលដប់ប្រាំមួយបញ្ចប់ដោយ "0H" ឬ "8H" ។ អាសយដ្ឋានប៊ីតនៅក្នុងតំបន់នេះមានចាប់ពី 80H ដល់ FFH ។ ស៊េរីគ្រីស្តាល់ទាំងមូលនៃគ្រួសារ MCS-51 មានសំណុំមូលដ្ឋាននៃ SFRs ដូចជានៅក្នុង microcircuit I-8051 ដែលមានទីតាំងនៅអាសយដ្ឋានដូចគ្នា។ ទោះយ៉ាងណាក៏ដោយនៅក្នុងគ្រីស្តាល់ដែលជាការអភិវឌ្ឍន៍បន្ថែមទៀតនៃគ្រួសារនៅក្នុងតំបន់ SFR ការចុះឈ្មោះថ្មីត្រូវបានបន្ថែមដើម្បីពង្រីក 10 ។

ប្រព័ន្ធពាក្យបញ្ជា OMEVM ផ្តល់នូវសមត្ថភាពដំណើរការទិន្នន័យដ៏អស្ចារ្យ ផ្តល់នូវការអនុវត្តប្រតិបត្តិការឡូជីខល នព្វន្ធ ក៏ដូចជាការគ្រប់គ្រងពេលវេលាជាក់ស្តែង។ Bitwise, tetrad (4 ប៊ីត), បៃ (8 ប៊ីត) និងដំណើរការទិន្នន័យ 16 ប៊ីតត្រូវបានអនុវត្ត។

គ្រួសារ LSI MCS-51 - 8-bit ОМЭВМ: ROM, RAM, ការចុះឈ្មោះគោលបំណងពិសេស, ALU និងរថយន្តក្រុងខាងក្រៅមានអង្គការបៃ។ ទិន្នន័យពីរបៃត្រូវបានប្រើតែដោយ Pointer Register (DPTR) និង Command Counter (PC) ប៉ុណ្ណោះ។ វាគួរតែត្រូវបានកត់សម្គាល់ថាការចុះឈ្មោះទ្រនិចទិន្នន័យអាចត្រូវបានប្រើជាការចុះឈ្មោះ DPTR ពីរបៃឬជាការចុះឈ្មោះគោលបំណងពិសេសពីរបៃ DPH និង DPL ។ បញ្ជរពាក្យបញ្ជាតែងតែប្រើជាការចុះឈ្មោះពីរបៃ។

សំណុំពាក្យបញ្ជា OMEVM មាន 42 ការរចនា mnemonic នៃពាក្យបញ្ជាដើម្បី concretize 33 មុខងារនៃប្រព័ន្ធនេះ។

វាក្យសម្ពន្ធសម្រាប់ពាក្យបញ្ជាភាសា assembly ភាគច្រើនមានអនុគមន៍ mnemonic អមដោយ operands ដែលបង្ហាញពីវិធីសាស្រ្តអាសយដ្ឋាន និងប្រភេទទិន្នន័យ។ ប្រភេទទិន្នន័យផ្សេងគ្នា ឬរបៀបអាសយដ្ឋានត្រូវបានកំណត់ដោយសំណុំ operand មិនមែនដោយការផ្លាស់ប្តូរនៅក្នុងការរចនា mnemonic ទេ។

ប្រព័ន្ធបញ្ជាអាចបែងចែកតាមលក្ខខណ្ឌជាប្រាំក្រុម៖

ប្រភេទនៃអាសយដ្ឋានខាងក្រោមនៃ operand ប្រភពមាន៖

  • អាសយដ្ឋានចុះឈ្មោះដោយប្រយោលដោយផលបូកនៃមូលដ្ឋាន និងលិបិក្រមចុះឈ្មោះ

តារាងនិមិត្តសញ្ញា និងនិមិត្តសញ្ញាដែលប្រើក្នុងប្រព័ន្ធបញ្ជា

ការ​កំណត់​, និមិត្ត​សញ្ញា​ ការណាត់ជួប
ថ្ម
ការចុះឈ្មោះធនាគារដែលបានជ្រើសរើសបច្ចុប្បន្ន
r ចំនួននៃការចុះឈ្មោះដែលបានផ្ទុកដែលបានបញ្ជាក់នៅក្នុងពាក្យបញ្ជា
ផ្ទាល់ អាសយដ្ឋានក្រឡាទិន្នន័យខាងក្នុង 8 ប៊ីតដែលអាចអាសយដ្ឋានដោយផ្ទាល់ ដែលអាចជាក្រឡាទិន្នន័យខាងក្នុង RAM (0-127) ឬ SFR (128-255)
@Rr ក្រឡា 8 ប៊ីតដែលអាចដោះស្រាយដោយប្រយោលនៃ RAM ទិន្នន័យខាងក្នុង
ទិន្នន័យ ៨ ទិន្នន័យផ្ទាល់ 8 ប៊ីតរួមបញ្ចូលនៅក្នុង CPC
ទិន្នន័យH ប៊ីតដ៏សំខាន់បំផុត (15-8) នៃទិន្នន័យផ្ទាល់ 16 ប៊ីត
ទិន្នន័យអិល ប៊ីតសំខាន់ៗតិចបំផុត (7-0) នៃទិន្នន័យផ្ទាល់ 16 ប៊ីត
addr11 អាសយដ្ឋានគោលដៅ 11 ប៊ីត
addrL ប៊ីតសំខាន់ៗនៃអាសយដ្ឋានគោលដៅ
disp8 បៃអុហ្វសិតដែលបានចុះហត្ថលេខា 8 ប៊ីត
ប៊ីត ប៊ីតអាស័យដ្ឋានដោយផ្ទាល់ដែលអាសយដ្ឋានមាន CPC ដែលស្ថិតនៅក្នុង RAM ទិន្នន័យខាងក្នុង ឬ SFR
a15, a14 ... a0 ប៊ីតអាសយដ្ឋានគោលដៅ
(X) ខ្លឹមសារនៃធាតុ X
((X)) ខ្លឹមសារនៅអាសយដ្ឋានដែលបានរក្សាទុកក្នុងធាតុ X
(X) [M] បញ្ចេញ M នៃធាតុ X

+
-
*
និង

XOR
/ X
ប្រតិបត្តិការ៖
ការបន្ថែម
ដក
គុណ
ការបែងចែក
ការគុណឡូជីខល (AND ប្រតិបត្តិការ)
ការបន្ថែមឡូជីខល (ឬប្រតិបត្តិការ)
បន្ថែម mod 2 (ផ្តាច់មុខ OR)
ការបញ្ច្រាសនៃធាតុ X

មុខងារ mnemonics ត្រូវបានភ្ជាប់ដោយឡែកជាមួយនឹងបន្សំជាក់លាក់នៃវិធីសាស្រ្តអាសយដ្ឋាន និងប្រភេទទិន្នន័យ។ សរុបចំនួន 111 បន្សំបែបនេះអាចធ្វើទៅបាននៅក្នុងប្រព័ន្ធបញ្ជា។ តារាងផ្តល់នូវបញ្ជីពាក្យបញ្ជា តម្រៀបតាមអក្ខរក្រម។

មីនីម៉ូនិក មុខងារ ទង់ជាតិ
ពាក្យបញ្ជា ACALL ការហៅតាមទម្លាប់រងដាច់ខាត
ការបន្ថែម AC, C, OV
អនុវត្តការបត់ AC, C, OV
ក្រុម AJMP ការផ្លាស់ប្តូរដាច់ខាត
ឡូជីខល "AND"
ឡូជីខល "AND" សម្រាប់ប៊ីតអថេរ
ប្រៀបធៀប​ហើយ​លោត​បើ​មិន​ស្មើ
ពាក្យបញ្ជា CLR A កំណត់ថ្មឡើងវិញ
ពាក្យបញ្ជា CLR ជម្រះបន្តិច គ, ប៊ីត
CPL ក្រុម A ការបញ្ច្រាសថ្ម
ក្រុម CPL បញ្ច្រាសប៊ីត គ, ប៊ីត
ក្រុម DA A ការកែតម្រូវទសភាគ Accumulator សម្រាប់បន្ថែម AC, C
ក្រុម DEC<байт> បន្ថយ
ក្រុម DIV AB ការបែងចែក គ, អូ
ក្រុម DJNZ<байт>, <смещение> ការថយចុះ និងការផ្លាស់ប្តូរ ប្រសិនបើមិនមែនសូន្យ
ក្រុម INC<байт> បង្កើន
ក្រុម INC DPTR ការបង្កើនទ្រនិចទិន្នន័យ
ក្រុម JB , លោតប្រសិនបើប៊ីតត្រូវបានកំណត់
ក្រុម JBC , លោតប្រសិនបើប៊ីតត្រូវបានកំណត់ ហើយជម្រះបន្តិចនោះ។
ក្រុម JC លោតប្រសិនបើការដឹកត្រូវបានកំណត់
ពាក្យបញ្ជា JMP @ A + DPTR ការផ្លាស់ប្តូរដោយប្រយោល។
ក្រុម JNB , លោតប្រសិនបើប៊ីតមិនត្រូវបានកំណត់
ក្រុម JNC លោតប្រសិនបើការដឹកមិនត្រូវបានកំណត់
ក្រុម JNZ លោតប្រសិនបើមាតិកាថ្មមិនសូន្យ
ក្រុម JZ លោតប្រសិនបើមាតិកាកកកុញគឺ 0
ពាក្យបញ្ជា LCALL ហៅយូរ
ក្រុម LJMP ឆ្លងកាត់វែង
ផ្ញើអថេរ-បៃ
បញ្ជូនទិន្នន័យប៊ីត
ពាក្យបញ្ជា MOV DPTR, # data16 ផ្ទុកទ្រនិចទិន្នន័យដោយថេរ 16 ប៊ីត
MOVC ពាក្យបញ្ជា A, @ A + ( ) ផ្ញើបៃពីអង្គចងចាំកម្មវិធី
បញ្ជូនទិន្នន័យទៅអង្គចងចាំខាងក្រៅ (ពីអង្គចងចាំខាងក្រៅ)