Pengawal mikro keluarga mcs51. Pengawal mikro MCS – 51. Gambar rajah blok, ALU, memori data Pengaturcaraan mcs 51

  • 06.11.2021

UDC 681.5, 681.325.5 (075.8)

BBK 32.973.202-018.2 i 73

A. N. ShcherbinaMesin pengkomputeran, sistem dan rangkaian. Pengawal mikro dan mikropemproses dalam sistem kawalan: cheb. elaun / A.N. Shcherbina, P.A. Nechaev- SPb .: Dari Politeknik. Universiti, 2012.-226 p.

Sepadan dengan kandungan standard pendidikan negeri untuk bidang latihan dan kepakaran dalam bidang pengurusan dalam sistem teknikal, kuasa elektrik dan kejuruteraan elektrik dan kandungan kurikulum teladan untuk disiplin "Mesin pengkomputeran, sistem dan rangkaian."

Isu asas organisasi logik sistem mikropemproses dipertimbangkan pada contoh seni bina asas keluarga mikropengawal MCS-51 dari Intel. Teknologi pengaturcaraan mikropengawal dalam bahasa Assembler dan SI diterangkan.

Ia boleh berguna untuk pelajar dan guru institusi teknikal yang lebih tinggi, pakar dalam automasi proses teknologi dan peralatan pengeluaran, serta untuk jurutera reka bentuk sistem mikropemproses.

Ia juga mematuhi kandungan standard pendidikan negeri disiplin "Mikropengawal dan mikropemproses dalam sistem kawalan" dan "Peranti elektronik automasi" sarjana muda, kejuruteraan dan latihan sarjana dalam arah 140400 "Kejuruteraan kuasa elektrik dan kejuruteraan elektrik".

Dicetak semula oleh keputusan Majlis Pengarang dan Penerbitan

Universiti Politeknik Negeri St. Petersburg.

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

© Negeri Saint Petersburg

Universiti Politeknik, 2012

ISBN 978-5-7422-3553-8


Pengenalan.. 7

Bab 1. Seni bina keluarga MCS51. sepuluh

1.1 Ciri-ciri umum 10

1.2 Gambar rajah blok 11



1.3 Tujuan kesimpulan mikropengawal 8051 15

1.4 Organisasi ingatan 17

1.4.1 Memori atur cara (ROM) 18

1.4.2 Memori data (RAM) 19

1.4.3 Daftar fungsi khas. dua puluh

1.4.4 Daftar Bendera (PSW) 23

1.5 Kawalan dan peranti penyegerakan 26

1.6 Susunan Pelabuhan I / O 27

1.6.1 Maklumat am. 27

1.6.2 Fungsi alternatif. 27

1.7. Pemasa / Kaunter untuk 8051 mikropengawal.28

1.7.1. Struktur pembilang pemasa. 28

1.7.2 Mod operasi pembilang pemasa. tiga puluh

1.8. Port bersiri 32

1.8.1. Struktur port bersiri. 32

1.8.2. Kawalan pemancar / daftar status SCON .. 34

1.8.3. Daftar kawalan kuasa PCON .. 36

1.9. Sistem gangguan 37

1.9.1. Mengganggu struktur sistem. 37

1.9.2 Pelaksanaan rutin gangguan. 40

Bab 2. Ciri-ciri pengawal mikro 80C51GB .. 42

2.1 Ciri-ciri 42

2.2 Port I / O P0-P5 43

2.2.1 Fungsi port input-output. 43

2.2.2 Menulis ke Pelabuhan .. 46

2.3 Ciri-ciri sistem gangguan 8XC51GB .. 49

Dayakan / lumpuhkan gangguan. 50

Mengganggu pengurusan keutamaan. 51

Gangguan luaran. 54

2.3. Nod ADC 56

2.4. Badan Pengawas Perkakasan 61

2.5. Pengesanan Kegagalan Jam 63

2.6. Matriks pembilang boleh atur cara RSA 64

2.6.1. Struktur PCA .. 64

2.6.2. Daftar mod kaunter PCA (CMOD) 66

2.6.3. Daftar kawalan kaunter PCA (CON) 67

2.6.4. Bandingkan / komit modul. 68

2.7. Port Bersiri Dilanjutkan 76

2.8. Pemasa / Pembilang 79

Pinout kumpulan mikropengawal 8XC51GB .. 86

Bab 3. Pengaturcaraan MK 8051GB .. 89

3.1. Model Pengaturcaraan 89

3.2 Jenis Data 93

3.3 Kaedah menangani data 93

3.4 Sistem Perintah 95

3.4.1 Ciri-ciri am. 95

3.4.2 Jenis arahan. 96

3.4.3 Jenis-jenis operan. 97

3.4.4 Perintah untuk memindahkan data mikropengawal. 98

3.4.5 Perintah untuk operasi aritmetik 8051.101

3.4.6 Arahan operasi logik mikropengawal 8051.104

3.4.7 Perintah untuk operasi dengan bit mikropengawal 8051.106

3.5 Program Nyahpepijat 111

Bab 4. Bahasa pengaturcaraan ASM-51. 112

4.2 Menulis Teks Program 113

4.3 Abjad bahasa. 114

4.4 Pengecam. 115

4.5 Nombor 117

4.6 Arahan 118

4.7 Pelaksanaan subrutin dalam bahasa ASM51 122

4.7.1 Struktur prosedur subrutin dalam bahasa ASM51. 122

4.7.2 Menghantar parameter pembolehubah kepada subrutin. 123

4.7.3 Pelaksanaan fungsi subrutin dalam bahasa ASM51. 123

4.7.4 Pelaksanaan rutin pengendalian gangguan dalam bahasa ASM51. 124

4.8 Pengaturcaraan berstruktur dalam bahasa himpunan. 125

4.9 Ciri-ciri penyiaran program berbilang modul. 126

4.10 Menggunakan segmen 128

4.10.1 Membahagikan memori MK kepada segmen .. 128

4.10.2 Segmen ingatan mutlak. 129

4.10.2 Segmen ingatan boleh dipindahkan. 131

Bab 5. Bahasa pengaturcaraan С-51. 134

5.1 Ciri-ciri umum bahasa 134

5.3 Struktur program С-51 136

5.3. Elemen bahasa pengaturcaraan C-51 138

5.3.1. Simbol .. 138

5.3.2. Unit leksikal, pemisah dan penggunaan ruang. 141

5.3.3 Pengecam .. 142

5.3.4 Kata kunci. 143

5.3.5 Pemalar .. 143

5.4. Ungkapan dalam Operator Bahasa 146

pengaturcaraan C-51 146

5.5. Keutamaan untuk Operasi 148

5.6. Pengendali bahasa pengaturcaraan C-51 149

5.6.1. Pengendali pengisytiharan. 150

5.6.2 Operator Boleh Laku .. 150

5.6.3 Pengendali tugasan. 151

5.6.4 Operator bersyarat. 151

5.6.5 Operator berstruktur (). 152

5.6.6 Operator gelung untuk. 152

5.6.7 Pengendali gelung dengan memeriksa keadaan sehingga badan gelung while. 153

5.6.8 Pengendali gelung dengan pemeriksaan keadaan selepas badan gelung melakukan sambil. 154

5.6.9 Rehat operator. 155

5.6.10 Operator teruskan. 155

5.6.11 Suis pengendali pilihan. 155

5.6.12 Pengendali goto cawangan tanpa syarat. 157

5.6.13 Ungkapan operator. 158

5.6.14 Pengendali pulangan daripada pulangan subrutin. 158

5.6.15 Penyata kosong. 158

5.7. Mengisytiharkan pembolehubah dalam bahasa pengaturcaraan C-51. 159

5.7.1. Pengisytiharan berubah-ubah. 159

5.7.3 Jenis data integer. 161

5.7.4 Nombor titik terapung. 162

5.7.5 Pembolehubah daripada jenis terbilang. 162

5.7.6. Mengisytiharkan tatasusunan dalam bahasa pengaturcaraan C-51. 164

5.7.7. Struktur .. 165

5.7.8. Gabungan (campuran) 166

5.8. Menggunakan Penunjuk dalam C-51 167

5.8.1. Pengisytiharan petunjuk. 167

5.8.2. Penunjuk tidak ditaip. 168

5.8.3. Penunjuk bergantung pada ingatan. 169

5.9. Mengisytiharkan Jenis Pembolehubah Baharu 169

5.10. Permulaan data 170

5.11. Menggunakan subrutin dalam bahasa pengaturcaraan C-51. 170

5.11.1. Mentakrifkan subrutin. 171

5.11.2. Parameter subrutin. 173

5.11.3. Pra-pengisytiharan subrutin. 174

5.11.4 Memanggil subrutin .. 176

5.11.5 Panggilan rekursif subrutin 176

5.11.6 Mengganggu rutin pengendalian. 177

5.11.7 Skop pembolehubah dan subrutin 178

5.12. Program pelbagai mod 179

Bab 6. Menyediakan program dalam persekitaran pembangunan bersepadu Keil μVision2. 182

6.1 Mencipta Projek dalam Bahasa ASM-51 182

6.2 Contoh mencipta projek dalam C untuk pengawal latihan dalam persekitaran pembangunan bersepadu Keil μVision2 188

Bab 7. Penerangan tentang pengawal latihan .. 199

7.1. Struktur pengawal 199

7.2. Ruang alamat 200

7.2.1. Peruntukan ingatan. 200

7.2.2 Memori luaran. 201

7.2.3. Memori data dalaman. 202

7.3. Pemetaan Pelabuhan I / O 202

7.4. Port bersiri ……………………… ... 203

7.5. Bekerja dengan LCD 205

7.6. Panel pengawal ……………………………………………………… 213

LAMPIRAN P2 STRUKTUR LAPORAN MAKMAL …… ..217

Lampiran A3 Kod arahan mesin. 217

Rujukan ... 224


pengenalan

Dalam pembangunan kepakaran yang berkaitan dengan automasi proses dan industri teknologi, kajian mikropengawal adalah salah satu bahagian penting.

Di dunia terdapat perkembangan berterusan dan kemunculan lebih banyak mikropengawal dan mikropemproses 16 dan 32-bit, tetapi bahagian terbesar pasaran mikropemproses dunia sehingga hari ini kekal dengan peranti 8-bit. Menurut semua ramalan syarikat analisis untuk masa terdekat, kedudukan utama mikropengawal 8-bit di pasaran dunia akan kekal.

Pada masa ini, antara semua mikropengawal 8-bit, keluarga MCS-51 adalah peneraju yang tidak diragui dari segi bilangan varieti dan bilangan syarikat yang menghasilkan pengubahsuaiannya. Ia mendapat namanya daripada wakil pertama keluarga ini - pengawal mikro 8051. Satu set peranti persisian yang berjaya, pilihan memori program luaran atau dalaman yang fleksibel dan harga yang berpatutan memastikan kejayaan mikropengawal ini dalam pasaran.

Kelebihan keluarga MCS-51:

· Seni bina, yang merupakan piawaian de facto;

· Keluasan keluarga yang luar biasa dan pelbagai kemungkinan;

· Ketersediaan versi pemproses berprestasi tinggi dan lanjutan;

· Sebilangan besar pembangunan perisian dan perkakasan yang tersedia secara percuma;

· Kemudahan pengaturcaraan perkakasan, termasuk pengaturcaraan dalam litar;

· Kos rendah dan ketersediaan cip asas;

Ketersediaan versi pengawal khusus untuk syarat penggunaan khas

· Ketersediaan versi pengawal dengan tahap gangguan elektromagnet yang berkurangan;

· Dikenali secara meluas dalam kalangan pemaju generasi lama, baik di dunia mahupun di negara-negara CIS;

· Sokongan seni bina oleh institusi pendidikan terkemuka dunia.

Dan akhirnya, kelebihan utama: setelah menguasai cip asas keluarga, anda boleh mula bekerja dengan "raksasa" pengkomputeran seperti mikropengawal Cygnal, Semikonduktor Dallas, Peranti Analog, Instrumen Texas.

Keluarga MCS-51 termasuk pelbagai litar mikro daripada mikropengawal yang paling mudah kepada yang paling kompleks. Sehingga kini, terdapat lebih daripada 200 pengubahsuaian bagi keluarga 8051 mikropengawal, yang dihasilkan oleh hampir 20 syarikat. Setiap tahun, semakin banyak varian wakil keluarga ini muncul.

Arah utama pembangunan adalah:

· Peningkatan prestasi (peningkatan kekerapan jam dan reka bentuk semula seni bina);

· Pengurangan voltan bekalan dan penggunaan kuasa;

· Peningkatan jumlah RAM dan memori FLASH pada cip dengan kemungkinan pengaturcaraan dalam litar;

· Pengenalan peranti kompleks seperti sistem kawalan pemacu, antara muka CAN dan USB, dsb. ke dalam pinggiran mikropengawal.

Pengawal mikro keluarga MCS-51 membolehkan anda melaksanakan kedua-dua tugas kawalan untuk pelbagai peranti, dan melaksanakan nod individu litar analog. Semua litar mikro keluarga ini berfungsi dengan set arahan yang sama. Kebanyakannya dibuat dalam kes yang sama dengan pinout yang sama (penomboran kaki untuk kes itu). Ini membolehkan penggunaan litar mikro daripada pengeluar yang berbeza untuk peranti yang dibangunkan tanpa mengubah gambar rajah litar peranti dan program.

Pengeluar utama varieti keluarga ke-51 di dunia ialah Philips, Siemens, Intel, Atmel, Dallas, Temic, Oki, AMD, MHS, Gold Star, Winbond, Silicon Systems dan beberapa yang lain.

Ciri-ciri analog mikropengawal keluarga MCS-51 (Intel 8XC51FA, 8XC51GB, 80C152) dengan keupayaan lanjutan ditunjukkan dalam Jadual. DALAM 1.

Jadual B.1

Ram ROM PCA ADC WDT T / C Selepas bersalin. Saluran Keanehan
Atmel: AT89C2051
- - - - UART Denyar 2 Kb
AT89C4051 - - - - UART Denyar 4Kb
AT89S4D12 128K - - - UART, SPI Denyar 4Kb
Semikonduktor DALLAS: DS5000FP
- - - + UART Pemuat Bootstrap
DS5001FP - - - + UART Pemuat Bootstrap
DS8xC520 16K - - + 2xUART 2 DPTR
SIEMENS: C505C
16K - + + UART, BOLEH 8 DPTR
C515C 64K - + + UART + SSC + BOLEH 4 PWM, 8 DPTR
Philips: * 89C51RA +
- + - + UART 2 DPTR, 4 lv. sampuk, jam keluar, Denyar 8K
P51XAG1x 8 RIBU - - + 2 UART
Intel: 8xC51RA
8 RIBU - + + UART 4 tahap IRQ, jam keluar
8XC196KC 64K 16K - + - UART 3 PWM
80C196KB 64K 8 RIBU - + - UART PWM

Bab 1. Seni Bina Keluarga MCS51

Pengawal mikro cip tunggal 8-bit MCS-51 telah menjadi sangat popular di kalangan pereka sistem kawalan mikropemproses kerana seni binanya yang direka dengan baik. Seni bina mikropengawal ialah koleksi sumber perkakasan dan sistem arahan yang boleh diakses oleh perisian dalaman dan luaran. Seni bina keluarga MCS-51 sebahagian besarnya ditentukan oleh tujuannya - pembinaan peranti digital yang padat dan murah. Pengawal mikro yang melaksanakan semua fungsi komputer mikro menggunakan litar mikro tunggal dipanggil komputer cip tunggal (OEVM).

Intel telah mengeluarkan kira-kira 50 model berdasarkan teras pengendalian mikropengawal Intel 8051. Pada masa yang sama, banyak firma lain, seperti Atmel, Philips, mula mengeluarkan mikropengawal mereka sendiri yang dibangunkan dalam piawaian MCS-51.

Ciri umum

Ciri-ciri utama keluarga:

· Unit pemprosesan pusat (CPU) 8-bit, memfokuskan pada mengawal peranti eksekutif;

· CPU mempunyai litar terbina dalam untuk pendaraban perkakasan 8-bit dan pembahagian nombor;

· Kehadiran dalam set arahan sebilangan besar operasi untuk bekerja dengan bit yang boleh dialamatkan secara langsung memungkinkan untuk bercakap tentang pemproses untuk bekerja dengan data bit (pemproses boolean);

· Dalaman (terletak pada cip) memori program jenis bertopeng atau diprogram semula, yang untuk pelbagai kristal mempunyai volum 4 hingga 32 Kb, dalam beberapa versi ia tidak hadir;

· Tidak kurang daripada 128 bait RAM data pemastautin, yang digunakan untuk organisasi, daftar bank, tindanan dan penyimpanan data pengguna;

· Sekurang-kurangnya 32 talian antara muka dua arah (port), dikonfigurasikan secara individu untuk input atau output maklumat;

· Dua pembilang / pemasa berbilang mod 16-bit digunakan untuk mengira peristiwa luaran, mengatur kelewatan masa dan jam port komunikasi;

· Pemindah terima tak segerak dupleks dua arah (UART), direka bentuk untuk mengatur saluran komunikasi antara mikropengawal dan peranti luaran dengan pelbagai kadar pemindahan data. Terdapat alat untuk integrasi perkakasan dan perisian mikropengawal ke dalam sistem yang disambungkan;

· Sistem gangguan keutamaan dua peringkat yang menyokong sekurang-kurangnya 5 vektor gangguan daripada 4 dalaman dan 2 sumber peristiwa luaran;

· Penjana jam terbina dalam.

Skim struktur

Gambar rajah blok pengawal ditunjukkan dalam Rajah 1.1 dan terdiri daripada unit fungsi utama berikut: unit kawalan, peranti logik aritmetik, unit pemasa / pembilang, antara muka bersiri dan unit gangguan, pembilang program, memori data dan memori program. Pertukaran dua arah dijalankan menggunakan lebuh raya data 8-bit dalaman. Hampir semua wakil keluarga MCS-51 dibina mengikut skema ini. Pelbagai litar mikro keluarga ini berbeza hanya dalam daftar tujuan khas (termasuk bilangan port).

Unit Masa dan Kawalan- direka untuk menjana isyarat penyegerakan dan kawalan yang memastikan penyelarasan operasi bersama unit OEVM dalam semua mod operasi yang dibenarkan. Unit kawalan termasuk:

peranti untuk membentuk selang masa;

Logik I / O;

daftar perintah;

daftar kawalan penggunaan elektrik;

penyahkod arahan, logik kawalan komputer.

nasi. 1.1. Gambar rajah blok pengawal I8051.

Peranti membentuk slot masa bertujuan untuk pembentukan dan pengeluaran isyarat penyegerakan dalaman bagi fasa, jam dan kitaran. Bilangan kitaran mesin menentukan tempoh pelaksanaan arahan. Hampir semua arahan OEVM dilaksanakan dalam satu atau dua kitaran mesin, kecuali untuk arahan pendaraban dan pembahagian, yang tempohnya ialah empat kitaran mesin. Mari kita tentukan frekuensi pengayun induk dengan F g. Tempoh kitaran mesin ialah 12 / F g atau 12 tempoh isyarat pengayun induk. Logik input-output direka untuk menerima dan mengeluarkan isyarat yang menyediakan pertukaran maklumat dengan peranti luaran melalui port input / output P0-P3.

Daftar perintah bertujuan untuk merekod dan menyimpan kod operasi 8-bit arahan yang sedang dilaksanakan. Kod operasi, dengan bantuan penyahkod arahan dan logik kawalan komputer, ditukar menjadi program mikro untuk pelaksanaan arahan.

Daftar Kawalan Penggunaan (PCON) membolehkan anda menghentikan mikropengawal untuk mengurangkan penggunaan kuasa dan mengurangkan tahap hingar daripada mikropengawal. Pengurangan selanjutnya penggunaan kuasa dan pengurangan hingar boleh dicapai dengan menghentikan pengayun induk mikropengawal. Ini boleh dicapai dengan menyelak sedikit dalam PCON Daftar Kawalan Penggunaan. Untuk n-MOS (siri 1816 atau litar mikro asing tanpa "c" di tengah), Daftar Kawalan Penggunaan PCON mengandungi hanya satu bit yang mengawal kadar baud port bersiri SMOD dan tiada bit kawalan kuasa.

Unit Logik Aritmetik (ALU) ialah peranti lapan-bit selari yang menjalankan operasi aritmetik dan logik. ALU terdiri daripada:

daftar penumpuk, daftar pemegang TMP1 dan TMP2;

ROM pemalar;

penambah;

daftar tambahan (daftar B);

bateri (ACC);

daftar status program (PSW).

Daftar akumulator dan daftar pegangan- daftar lapan-bit bertujuan untuk menerima dan menyimpan operan untuk tempoh operasi padanya. Daftar ini tidak boleh diakses secara pemrograman.

pemalar ROM menyediakan penjanaan kod pembetulan untuk perwakilan data perduaan-perpuluhan, kod topeng untuk operasi bit dan kod malar.

Penambah lapan bit selari ialah litar jenis gabungan dengan bawa berjujukan, direka untuk melaksanakan operasi aritmetik tambah, tolak dan operasi logik tambah, darab, tak sama dan sama.

Daftar B- daftar lapan bit yang digunakan semasa operasi darab dan bahagi. Untuk arahan lain, ia boleh dilihat sebagai daftar super-operasi tambahan.

Bateri- daftar lapan bit yang direka untuk menerima dan menyimpan hasil yang diperoleh apabila melakukan operasi logik aritmetik atau operasi anjakan

Antara muka bersiri dan unit gangguan (PIP) bertujuan untuk organisasi input - output aliran maklumat berurutan dan organisasi sistem untuk mengganggu program. Blok itu termasuk:

penimbal PIP;

logik kawalan;

daftar kawalan;

penimbal pemancar;

penimbal penerima;

transceiver port bersiri;

daftar keutamaan mengganggu;

sampuk membolehkan daftar;

mengganggu logik pemprosesan bendera dan litar penjanaan vektor.

Kaunter Program direka bentuk untuk membentuk alamat 16-bit semasa memori program dalaman dan alamat 8/16-bit memori program luaran. Kaunter arahan termasuk penimbal PC 16-bit, daftar PC dan litar kenaikan (meningkatkan kandungan sebanyak 1).

Memori data (RAM) bertujuan untuk penyimpanan sementara maklumat yang digunakan dalam proses pelaksanaan program.

Pelabuhan P0, P1, P2, P3 adalah port input-output kuasi-dwiarah dan direka bentuk untuk memastikan pertukaran maklumat antara komputer dan peranti luaran, membentuk 32 talian input-output.

Daftar Status Program (PSW) bertujuan untuk menyimpan maklumat tentang keadaan ALU semasa pelaksanaan program.

Memori program (EPROM) bertujuan untuk menyimpan atur cara dan merupakan memori baca sahaja (ROM). Litar mikro yang berbeza menggunakan topeng, boleh dipadamkan UV atau FLASH ROM.

Daftar Penunjuk Data (DPTR) direka untuk menyimpan alamat 16 - bit memori data luaran.

Penunjuk Tindanan (SP) ialah daftar lapan-bit yang direka untuk mengatur kawasan khas memori data (tindanan), di mana mana-mana sel memori boleh disimpan buat sementara waktu.

1.3 Tujuan kesimpulan mikropengawal 8051(rajah 1.2)

· U ss - potensi wayar biasa ("tanah");

· U cc - voltan bekalan utama +5 V;

· X1, X2 - petunjuk untuk menyambungkan resonator kuarza;

RST - input tetapan semula am mikropengawal;

PSEN - kebenaran memori program luaran, dikeluarkan hanya apabila mengakses ROM luaran;

· ALE - strob alamat memori luaran;

· ЕА - lumpuhkan memori program dalaman; tahap 0 pada input ini memaksa mikropengawal untuk melaksanakan program hanya dari ROM luaran; mengabaikan dalaman (jika yang terakhir tersedia);

nasi. 1.2. Pin tugasan 8051.

· P1 - port input / output kuasi dua arah lapan bit, setiap bit port boleh diprogramkan untuk input dan output maklumat, tanpa mengira keadaan bit lain;

· P2 - port kuasi dua arah lapan bit, serupa dengan P1, pin port ini digunakan untuk mengeluarkan maklumat alamat apabila mengakses program luaran atau memori data (jika yang terakhir adalah pengalamatan 16-bit). Di samping itu, pin port digunakan semasa pengaturcaraan untuk memasukkan bit tertib tinggi alamat ke dalam mikropengawal;

РЗ - port kuasi dua arah lapan bit, serupa dengan P1, pin port ini boleh melaksanakan beberapa fungsi alternatif yang digunakan semasa mengendalikan pemasa, port input-output bersiri, pengawal gangguan dan program dan data luaran ingatan;

· P0 - port input-output maklumat dwiarah lapan bit berganda, melalui port ini pada masa yang berbeza bait rendah alamat dan data dikeluarkan.

Organisasi ingatan

Keseluruhan siri MCS-51 mempunyai seni bina Harvard, iaitu, ruang alamat yang berasingan untuk ingatan program dan data. Struktur ingatan ditunjukkan dalam Rajah. 1.3.

Jumlah memori program dalaman (pemastautin) (ROM, EPROM atau OTP ROM) yang terletak pada cip, bergantung pada jenis litar mikro, boleh menjadi 0 (ROMless), 4K (kristal asas), 8K, 16K atau 32K. Jika perlu, pengguna boleh mengembangkan memori program dengan memasang ROM luaran. Akses kepada ROM dalaman atau luaran ditentukan oleh nilai isyarat pada pin EA (Akses Luar):

EA = V cc (voltan bekalan) - akses kepada ROM dalaman;

EA = V ss (potensi tanah) - akses kepada ROM luaran.

Untuk kristal tanpa ROM (ROMless), pin EA mesti disambungkan secara kekal ke V ss.

nasi. 1.3. Organisasi memori keluarga MCS-51

ROM luaran membaca strob - (Program Store Enable) dijana apabila mengakses memori program luaran dan tidak aktif semasa akses kepada ROM yang terletak pada cip. Kawasan alamat bawah memori program digunakan oleh sistem gangguan. Seni bina cip asas 8051 menyediakan sokongan untuk lima sumber gangguan:

· Dua gangguan luaran;

· Dua gangguan daripada pemasa;

· Sampukan dari port bersiri.

Dalam rajah. 1.4 menunjukkan peta kawasan bawah memori program.

nasi. 1.4. Peta memori program yang lebih rendah

Memori atur cara (ROM)

Dalam mikropengawal keluarga 8051, memori program dan memori data adalah bebas dan bebas daripada satu sama lain peranti, ditangani oleh pelbagai arahan dan isyarat kawalan.

Memori program terbina dalam yang terletak pada cip mikropengawal 8051 ialah 4 KB (dalam keluarga sehingga 32). Apabila mengakses memori program luaran, semua mikropengawal keluarga 8051 sentiasa menggunakan alamat 16-bit, yang memberikan mereka akses kepada 64 KB ROM. Mikropengawal mengakses memori program apabila membaca opcode dan operan (menggunakan kaunter arahan PC), serta semasa melaksanakan arahan untuk menyalin bait daripada memori program ke bateri. Apabila menyalin arahan data dilaksanakan, pengalamatan sel memori program dari mana data akan dibaca boleh dijalankan menggunakan kedua-dua kaunter PC dan daftar penunjuk data DPTR dua bait khas.

Memori data (RAM)

Jumlah memori data pada cip ialah 128 bait. Memori data luaran boleh mencapai sehingga 64KB. 32 bait pertama disusun ke dalam empat bank daftar tujuan umum, masing-masing ditetapkan bank 0 - bank 3. Setiap daripadanya terdiri daripada lapan daftar R0 – R7. Pada bila-bila masa, program ini tersedia, dengan pengalamatan daftar, hanya satu bank daftar, yang bilangannya terkandung dalam bit ketiga dan keempat kata status program PSW.

8051 alamat kawasan bit memori mikropengawal

Jadual 1.1

Alamat bait (Hex) Alamat bit demi sedikit
D7 D6 D5 D4 D3 D2 D1 D0
2F 7F 7E 7D 7C 7B 7A
2E
2D 6F 6E 6D 6C 6B 6A
2C
2B 5F 5E 5D 5C 5B 5A
2A
4F 4E 4D 4C 4B 4A
3F 3E 3D 3C 3B 3A
2F 2E 2D 2C 2B 2A
1F 1E 1D 1C 1B 1A
0F 0E 0D 0C 0B 0A
20j

Ruang alamat yang tinggal boleh dikonfigurasikan oleh pembangun mengikut budi bicaranya: ia boleh menampung kawasan tindanan, sistem dan data pengguna. Sel memori data boleh diakses dalam dua cara. Cara pertama ialah pengalamatan terus sel memori. Dalam kes ini, alamat sel ialah operan bagi arahan yang sepadan. Kaedah kedua ialah pengalamatan tidak langsung menggunakan daftar penunjuk R0 atau R1: sebelum melaksanakan arahan yang sepadan, alamat sel yang akan dialamatkan mesti dimasukkan ke dalam salah satu daripadanya.

Untuk mengakses memori data luaran, hanya pengalamatan tidak langsung digunakan menggunakan daftar R0 dan R1 atau menggunakan daftar penunjuk DPTR 16-bit.

Sebahagian daripada memori data adalah kawasan sedikit, di mana ia mungkin, dengan bantuan arahan bit khas, untuk menangani setiap bit sel memori. Alamat bit yang boleh dialamatkan secara langsung juga boleh ditulis sebagai (ByteAddress). (Bit). Korespondensi kedua-dua kaedah pengalamatan ini boleh ditentukan daripada jadual. 1.1.

Sistem arahan OMEVM menyediakan keupayaan pemprosesan data yang hebat, menyediakan pelaksanaan operasi logik, aritmetik, serta kawalan masa nyata. Bitwise, tetrad (4 bit), bait (8 bit) dan pemprosesan data 16-bit dilaksanakan. Keluarga LSI MCS-51 - 8-bit ОМЭВМ: ROM, RAM, daftar tujuan khas, ALU dan bas luaran mempunyai organisasi bait. Data dua bait hanya digunakan oleh Daftar Penunjuk (DPTR) dan Kaunter Perintah (PC). Perlu diingatkan bahawa Daftar Penunjuk Data boleh digunakan sebagai daftar DPTR dua bait atau sebagai dua daftar tujuan khas satu bait DPH dan DPL. Kaunter arahan sentiasa digunakan sebagai daftar dua bait. Set arahan OMEVM mempunyai 42 sebutan mnemonik bagi arahan untuk mengkokritkan 33 fungsi sistem ini. Sintaks untuk kebanyakan arahan bahasa himpunan terdiri daripada mnemonik fungsi, diikuti dengan operan yang menunjukkan kaedah menangani dan jenis data. Jenis data atau mod pengalamatan yang berbeza ditentukan oleh operan yang ditetapkan, bukan oleh perubahan dalam sebutan mnemonik. Sistem arahan boleh dibahagikan secara bersyarat kepada lima kumpulan:
  • Perintah aritmetik;
  • Perintah logik;
  • Perintah pemindahan data;
  • Perintah pemproses bit;
  • Perintah pemindahan cawangan dan kawalan.
Jenis pengalamatan operan sumber berikut wujud:
  • Mendaftar alamat
  • Alamat langsung
  • Pengalamatan daftar tidak langsung
  • Alamat langsung
  • Daftar tidak langsung menangani dengan jumlah daftar asas dan indeks
Arahan aritmetik Set arahan mengandungi operasi aritmetik berikut: penambahan, penambahan dengan bendera bawa, penolakan dan peminjaman, penambahan, pengurangan, perbandingan, pembetulan perpuluhan, pendaraban dan pembahagian. Dalam ALU, operasi dilakukan pada integer yang tidak ditandatangani. Dalam operasi dua operan: tambah (ADD), tambah dan bawa (ADDC), dan penolakan dan peminjaman (SUBB), penumpuk ialah operan pertama dan menerima hasil operasi. Operan kedua boleh menjadi daftar kerja bank daftar kerja yang dipilih, daftar memori data dalaman dengan daftar tidak langsung dan pengalamatan langsung, atau bait data langsung. Operasi ini mempengaruhi bendera: penyiapan, pembawa, pembawa perantaraan dan bendera pariti dalam perkataan status pemproses (PSW). Penggunaan digit pembawa membolehkan banyak kali meningkatkan ketepatan dalam operasi tambah (ADDC) dan tolak (SUBB). Penambahan dan penolakan berasaskan tanda boleh dilakukan dengan mengawal bendera limpahan (OV) daftar PSW secara pemprograman. Bendera pembawa pertengahan (AC) digunakan untuk melaksanakan operasi aritmetik dalam BCD. Operasi kenaikan dan pengurangan tidak menjejaskan bendera. Operasi perbandingan tidak menjejaskan sama ada destinasi atau operan sumber, tetapi ia menjejaskan bendera pembawa. Terdapat tiga operasi aritmetik yang dilakukan hanya pada bateri: dua arahan untuk menyemak kandungan bateri A (JZ, JNZ) dan perintah pembetulan perpuluhan apabila menambah kod perpuluhan perduaan. Semasa operasi pendaraban, kandungan penumpuk A didarab dengan kandungan daftar B dan hasilnya diletakkan seperti berikut: bait rendah berada dalam daftar B, bait tinggi berada dalam daftar A. Perintah logik dengan pembolehubah bait Sistem arahan membolehkan anda melaksanakan operasi logik: "DAN", "ATAU", "EKSKLUSIF ATAU" pada daftar penumpuk (A) dan bait sumber. Operan kedua (bait sumber) boleh menjadi daftar kerja dalam bank daftar kerja yang dipilih; daftar RAM dalaman yang dialamatkan menggunakan pengalamatan daftar-tidak langsung; sel beralamat langsung RAM dalaman dan daftar tujuan khas; magnitud serta merta. Operasi logik ini boleh dilaksanakan pada mana-mana daftar beralamat langsung RAM dalaman atau daftar tujuan khas menggunakan kandungan penumpuk A atau data langsung sebagai operan kedua. Terdapat operasi logik yang dilakukan hanya pada bateri: tetapkan semula dan terbalikkan kesemua lapan bit A; anjakan kitaran ke kiri dan kanan; peralihan kitaran ke kiri dan ke kanan, dengan mengambil kira bendera pembawa; menukar tempat tetrad senior dan junior (nibls) di dalam bateri. Perintah pemindahan data Jadual simbol (kod) yang dibenamkan dalam ROM program boleh dipilih menggunakan arahan pemindahan data menggunakan pengalamatan tidak langsung. Bait malar boleh dipindahkan ke penumpuk daripada sel memori program yang dialamatkan oleh jumlah daftar asas (PC atau DPTR) dan daftar indeks (kandungan A). Ini menyediakan, sebagai contoh, cara mudah untuk melaksanakan algoritma untuk menukar kod ASCII kepada kod tujuh segmen. Mana-mana sel blok 256-bait RAM data luaran boleh dipilih menggunakan pengalamatan daftar tidak langsung melalui daftar penunjuk R0 atau R1 (bank daftar kerja yang dipilih). Lokasi dalam ruang alamat RAM luaran 64KB juga boleh dipilih menggunakan pengalamatan daftar-tidak langsung melalui daftar penunjuk data DPTR. Pindahkan arahan antara daftar yang boleh dialamatkan secara langsung membolehkan anda memasukkan nilai dari port ke dalam sel RAM dalaman tanpa menggunakan daftar kerja atau bateri. Dalam pemproses logik, sebarang bit boleh alamat hadapan boleh diletakkan dalam bit pembawa dan sebaliknya. Kandungan penumpuk boleh ditukar dengan kandungan daftar kerja (bank yang dipilih) dan dengan kandungan sel RAM dalaman yang ditangani dengan cara pengalamatan daftar tidak langsung, serta dengan kandungan sel yang boleh dialamatkan langsung RAM dalaman dan dengan kandungan daftar tujuan khas. Nibl kecil (bit 3-0) kandungan penumpuk boleh ditukar dengan nibl kecil kandungan sel RAM dalaman, dipilih menggunakan pengalamatan tidak langsung daftar. Arahan Pemproses Bit Pemproses bit adalah sebahagian daripada keluarga seni bina MCU MCS51 dan boleh dilihat sebagai pemproses bit bebas. Pemproses bit melaksanakan satu set arahan, mempunyai RAM yang boleh dialamatkan bit sendiri dan I / Onya sendiri. Arahan yang beroperasi dengan bit memberikan pengalamatan terus sebanyak 128 bit (0-127) dalam enam belas sel RAM dalaman (sel dengan alamat 20H-2FH) dan pengalamatan bit langsung bagi daftar tujuan khas yang alamatnya adalah gandaan lapan. Setiap bit yang boleh dialamatkan secara individu boleh ditetapkan kepada "1", dikosongkan kepada "0", disongsangkan, ditandakan. Peralihan boleh dilaksanakan: jika bit ditetapkan; jika bit tidak ditetapkan; peralihan, jika bit ditetapkan, dengan penjelasan bit ini; bit boleh ditimpa ke (dari) bit pembawa. Operasi logik "DAN", "ATAU" boleh dilakukan antara mana-mana bit yang boleh dialamatkan secara langsung dan bendera pembawa, di mana hasilnya dimasukkan ke dalam bit bendera pembawa. Arahan pemprosesan bitwise menyediakan pelaksanaan fungsi kompleks logik gabungan dan pengoptimuman program pengguna. Arahan Pemindahan Cawangan dan Kawalan Ruang alamat memori program tidak mempunyai organisasi halaman, yang membolehkan anda mengalihkan serpihan program secara bebas dalam ruang alamat, tanpa memuat semula (menukar) nombor halaman. Memindahkan serpihan program individu menyediakan keupayaan untuk menggunakan modul program yang boleh dipindahkan oleh pelbagai program. Arahan panggilan cawangan dan subrutin 16-bit membolehkan anda melompat ke mana-mana titik dalam ruang alamat memori program 64 KB. Lompatan 11-bit dan arahan panggilan subrutin menyediakan lompatan dalam unit program 2 KB. Dalam sistem arahan terdapat arahan untuk lompatan bersyarat dan tanpa syarat berbanding dengan alamat permulaan program seterusnya dalam julat dari (РС) -128 hingga (ЗС) +127. Perintah untuk menyemak bit individu membenarkan peralihan bersyarat pada keadaan "0" atau "1" daripada bit yang dialamatkan secara langsung. Arahan untuk menyemak kandungan penumpuk (untuk sifar / bukan sifar) membenarkan lompatan bersyarat pada kandungan A. untuk mengakses lapan daftar kerja bank daftar kerja yang dipilih (daftar yang sama boleh dipilih menggunakan pengalamatan langsung dan daftar tidak langsung menangani sebagai sel biasa dalam RAM data dalaman). Pengalamatan daftar digunakan untuk mengakses daftar A, B, AB (daftar dwi), DPTR dan bendera pembawa C. Menggunakan pengalamatan daftar membolehkan anda memperoleh arahan alamat langsung tiga bait yang bersamaan dua bait. Pengalamatan Langsung Pengalamatan bait langsung digunakan untuk mengakses lokasi memori data dalaman (RAM) (0-127) dan daftar khas. Pengalamatan ke hadapan bit digunakan untuk merujuk kepada 128 bit yang boleh dialamatkan secara berasingan yang terletak di lokasi alamat 20H-2FH dan kepada bit yang boleh dialamatkan secara berasingan bagi daftar tujuan khas. Bit paling penting bagi bait kod alamat langsung memilih satu daripada dua kumpulan bit boleh dialamatkan secara berasingan yang terletak dalam RAM atau daftar tujuan khas. Bit boleh dialamatkan terus dengan alamat 0-127 (00H-7FH) terletak dalam blok 16 sel RAM dalaman dengan alamat 20H-2FH. Sel yang ditunjukkan dinomborkan secara berurutan daripada bit paling ketara bait paling ketara kepada bit paling ketara bait paling ketara. Bit yang boleh dialamatkan secara berasingan dalam daftar tujuan khas dinomborkan seperti berikut: lima bit paling ketara bagi alamat sepadan dengan lima bit paling ketara dalam daftar itu sendiri, dan tiga bit paling kurang bererti menentukan lokasi ibt individu dalam daftar. Pengalamatan daftar tidak langsung Pengalamatan daftar tidak langsung digunakan untuk merujuk kepada sel-sel RAM data dalaman. Daftar R10, R1 bank daftar yang dipilih digunakan sebagai daftar penunjuk. Arahan PUSH dan POP menggunakan kandungan penuding tindanan (SP). Pengalamatan daftar tidak langsung juga digunakan untuk mengakses memori data luaran. Dalam kes ini, menggunakan daftar penunjuk R0 dan R1 (bank daftar kerja yang dipilih), sel dipilih daripada blok 256 bait memori data luaran. Nombor blok dipratetap oleh kandungan port P2. Penunjuk Data (DPTR) 16-bit boleh digunakan untuk mengakses mana-mana lokasi dalam ruang alamat dalam memori data luaran sehingga 64KB. Pengalamatan langsung Pengalamatan langsung membolehkan anda memilih pemalar daripada ruang alamat memori program yang dinyatakan secara eksplisit dalam arahan. Pengalamatan daftar tidak langsung dengan jumlah daftar pangkalan dan indeks Daftar tidak langsung ditangani dengan jumlah: daftar asas ditambah daftar indeks (kandungan penumpuk A) memudahkan untuk melihat jadual yang disambungkan ke dalam memori program. Sebarang bait daripada jadual boleh dipilih pada alamat yang ditentukan oleh jumlah kandungan DPTR atau PC dan kandungan A. Jadual simbol dan simbol yang digunakan dalam sistem arahan
Jawatan, simbol Temujanji
A Bateri
Rn Daftar bank daftar yang dipilih pada masa ini
r Nombor daftar yang dimuatkan yang dinyatakan dalam arahan
langsung Alamat sel data dalaman 8-bit yang boleh dialamatkan secara langsung, yang boleh menjadi sel RAM data dalaman (0-127) atau SFR (128-255)
@Rr RAM data dalaman yang boleh ditangani secara tidak langsung 8-bit
data8 Data langsung 8-bit pergi ke CPC
dataH Bit yang paling ketara (15-8) daripada data 16-bit langsung
dataL Bit terkecil (7-0) daripada data 16-bit langsung
addr11 Alamat destinasi 11-bit
addrL Bit paling kurang penting bagi alamat destinasi
disp8 8-bit byte offset dengan tanda m
sedikit Bit boleh dialamatkan langsung yang alamatnya mengandungi CPC terletak dalam RAM data dalaman atau SFR
a15, a14 ... a0 Bit alamat destinasi
(NS) Kandungan unsur X
((NS)) Kandungan di alamat yang disimpan dalam elemen X
(X) [M] Nyahcas M unsur X
+ - * / DAN ATAU XOR / X Operasi: penolakan tambah bahagi pendaraban pendaraban logik (operasi DAN) penambahan logik (operasi ATAU) modulo 2 penambahan (eksklusif ATAU) penyongsangan unsur X

Mnemonik fungsi dikaitkan secara unik dengan gabungan khusus kaedah menangani dan jenis data. Sebanyak 111 kombinasi sedemikian mungkin dalam sistem arahan. Jadual menyediakan senarai arahan, disusun mengikut abjad.

Mnemonik Fungsi Bendera
Perintah ACALL Panggilan subrutin mutlak
TAMBAH Pasukan A,<байт-источник> Penambahan AC, C, OV
Pasukan ADDC A,<байт-источник> Bawa lipat AC, C, OV
Pasukan AJMP Peralihan mutlak
Pasukan ANL<байт-назначения>, <байт-источникa> Logik "DAN"
Pasukan ANL C,<байт-источникa> Logik "DAN" untuk bit berubah-ubah
Pasukan CJNE<байт-назначения>, <байт-источник>, <смещение> Bandingkan dan lompat jika tidak sama C
Perintah CLR A Tetapan semula bateri
Perintah CLR Membersihkan sedikit C, sedikit
Pasukan CPL A Inversi ak umul ora
Pasukan CPL Penyongsangan bit C, sedikit
Pasukan DA A Pembetulan perpuluhan akumulator untuk sisipan AC, C
Pasukan DEC<байт> Penurunan
Pasukan DIV AB Bahagian C, OV
Pasukan DJNZ<байт>, <смещение> Penurunan dan peralihan jika tidak sifar
Pasukan INC<байт> Kenaikan
Pasukan DPTR INC Peningkatan Penunjuk Data
Pasukan JB , Lompat jika bit ditetapkan
Pasukan JBC , Lompat jika bit ditetapkan dan kosongkan bit itu
Pasukan JC Lompat jika bawa ditetapkan
Perintah JMP @ A + DPTR Peralihan tidak langsung
Pasukan JNB , Lompat jika bit tidak ditetapkan
Pasukan JNC Lompat jika bawa tidak ditetapkan
Pasukan JNZ Lompat jika kandungan bateri bukan sifar
Pasukan JZ Lompat jika kandungan penumpuk ialah 0
Perintah LCALL Panggilan panjang
Pasukan LJMP lintasan panjang
arahan MOV<байт-назначения>, <байт-источника> Hantar bait pembolehubah
arahan MOV<бит-назначения>, <бит-источника> Hantar sedikit data C
Perintah MOV DPTR, # data16 Muatkan Penunjuk Data Dengan Pemalar 16-Bit
Perintah MOVC A, @ A + ( ) Hantar bait daripada memori program
Perintah MOVX<байт приемника>, <байт источника> Hantar data ke memori luaran (dari memori luaran)
Pasukan MUL AB Pendaraban C, OV
arahan NOP Tiada operasi PC
Pasukan ORL<байт-назначения>, <байт-источникa> Logik "ATAU" untuk pembolehubah-bait
Pasukan ORL C,<бит источникa> Logik "ATAU" untuk bit berubah C
arahan POP Membaca dari timbunan
Perintah PUSH Menyusun
arahan RET Kembali dari subrutin
pasukan RETI Pulang dari gangguan
Pasukan RL A Alihkan kandungan bateri ke kiri
Pasukan RLC A Alihkan kandungan bateri ke kiri melalui bendera pembawa
Pasukan RR A Alihkan kandungan bateri ke kanan
Pasukan RRC A Alihkan kandungan bateri ke kanan melalui bendera pembawa C
arahan SETB Tetapkan sedikit C
Pasukan SJMP<метка> Lompat pendek
Pasukan SUBB A,<байт источника> Penolakan dengan pinjaman AC, C, OV
SWAP A Perintah Pertukaran buku nota di dalam bateri
Pasukan XCH A,<байт> Menukar kandungan penumpuk bait berubah-ubah
Pasukan XCHD A, @ R1 Bertukar-tukar buku nota
Perintah XRL<байт-назначения>, <байт-источникa> Logik EKSKLUSIF ATAU untuk pembolehubah-bait

Pengawal mikro keluarga MCS-51 dibina mengikut seni bina Harvard, di mana memori program dan memori data dibahagikan, mempunyai ruang alamat sendiri dan cara mengaksesnya.

Memori program


Jumlah maksimum memori ialah 64K bait, yang mana 4K, 8K, 16K atau 32K bait memori (Jadual 7.3.1) terletak pada cip, selebihnya berada di luar acuan.
Dengan voltan pada terminal EA = V CC kedua-dua memori dalaman dan luaran digunakan, dengan EA = V CC = 0 - hanya memori luaran.
Jadual 7.3.1 menunjukkan alamat memori program untuk kes yang ditunjukkan.
Kawasan memori program yang lebih rendah diperuntukkan untuk memulakan operasi mikropengawal (alamat permulaan 0000h selepas set semula) dan untuk memproses gangguan (alamat gangguan terletak dengan selang 8 bait: 0003h, 000Bh, 0013h, dll.).


Memori program adalah baca sahaja, dan apabila diakses:

● kepada ingatan luaran program, isyarat PSEN dijana dan alamat 16-bit sentiasa terbentuk.
Bait rendah alamat dihantar melalui port P0 pada separuh pertama kitaran mesin dan ditetapkan pada tepi strob ALE dalam daftar.
Pada separuh kedua kitaran, port P0 digunakan untuk memasukkan bait data daripada memori luaran ke dalam MC.
Bait tertib tinggi alamat dihantar melalui port P2 semasa keseluruhan masa capaian memori (Rajah 7.1.11);

● kepada ingatan dalaman isyarat baca tidak dihasilkan dan kitaran pertukaran digunakan pada bas dalaman mikropengawal.

Memori data

Ingatan dalaman data boleh dibahagikan secara bersyarat kepada tiga blok (Jadual 7.3.2).

Memori dalaman sentiasa ditangani oleh bait, yang hanya menangani 256 lokasi memori.
Oleh itu, seperti yang dapat dilihat dari Jadual 7.3.2, untuk menangani sel 8-bit atas RAM dalaman dan daftar fungsi khas SFR, yang menduduki ruang alamat yang sama, arahan menggunakan kaedah pengalamatan yang berbeza: tidak langsung dan lurus.

Ciri-ciri organisasi kawasan bawah RAM dalaman ditunjukkan dalam jadual 7.3.3.

Rendah 32 bait RAM dalaman dengan alamat 00j.
1Fh dikumpulkan kepada empat bank dengan lapan daftar setiap satu (R0.R7).
Seterusnya 16 bait RAM dengan alamat 20j.
2Fh mewakili kawasan memori 8 × 16 = 128 bit, yang membolehkan setiap bit individu diakses.
Untuk memilih alamat daftar bank, namanya R0 digunakan.
R7, untuk memilih bank - bit RS0, RS1 daftar kata status PSW.

Alamat bit

Alamat bit diberikan dalam Jadual 7.3.3.

Pengalamatan dijalankan langsung cara.

Senarai semua daftar fungsi khas SFR dengan alamatnya diberikan dalam Jadual 7.2.2.
Untuk kejelasan, dalam jadual 7.3.

4 rancangan daftar peta alamatSFR daripada litar mikro yang dipertimbangkan bagi keluarga MCS-51.
Alamat SFR ditentukan oleh gabungan nombor lajur dan baris dalam tatatanda heksadesimal.

Sebagai contoh, daftar CMOD mempunyai alamat D9h.

Untuk daftar SFR yang alamatnya berakhir dalam 0j atau 8j (ia dalam huruf tebal), sebagai tambahan kepada bait dibenarkan bitwise menangani.

Dalam kes ini, alamat bit yang menduduki bit Nth dalam daftar ditakrifkan sebagai XXh + ​​​​0Nh, di mana XXh ialah alamat daftar SFR, N = 0.7.
Alamat bit di kawasan ini berjulat dari 80H hingga FFH.
Sebagai contoh, alamat bit penumpuk ACC terletak dalam julat E0h-E7h.

Memori luaran data (sehingga 64 KB) dicipta oleh cip memori tambahan yang disambungkan ke MC.
Untuk bekerja dengan memori data luaran, arahan khas digunakan, jadi ruang alamat memori luaran dan dalaman tidak bertindih dan, oleh itu, kedua-dua jenis memori data boleh digunakan secara serentak.

Untuk mengakses sel memori data luaran digunakan (Rajah 7.1.8):
● arahan dengan pengalamatan tidak langsung;
● isyarat untuk membaca ¯RD dan menulis ¯WR;
● port P0 untuk menghantar bait paling kurang penting bagi alamat dan menerima / menghantar bait data;
● Port P2 untuk menghantar bait tertib tinggi alamat.
Kaedah menangani.
Sistem arahan menggunakan:
● pengalamatan langsung, tidak langsung, daftar, daftar tidak langsung, langsung dan indeks (pengalamatan tidak langsung dengan jumlah daftar asas dan indeks) operan sumber;
● pengalamatan langsung, daftar dan pendaftaran tidak langsung operan destinasi.
Gabungan kaedah ini (mengalamatkan) menyediakan 21 mod pengalamatan.
Sistem arahan ini dan jadual di bawah menggunakan tatatanda berikut:

Alamat langsung.

Dengan kaedah pengalamatan ini, lokasi bait atau bit data ditentukan oleh alamat 8-bit bait perintah kedua (dan ketiga).
Pengalamatan langsung hanya digunakan untuk mengakses memori data dalaman (kurang 128 bait RAM) dan daftar fungsi khas.

Mendaftar alamat.


Kaedah pengalamatan ini menyediakan akses kepada data yang disimpan dalam salah satu daripada lapan daftar R0.
R7 bank daftar kerja semasa.
Ia juga boleh digunakan untuk mengakses daftar A, B, AB (daftar dwi), daftar penunjuk DPTR, dan membawa bendera C.
Alamat daftar ini dibenamkan dalam kod operasi, dengan itu mengurangkan bilangan bait arahan.

Pengalamatan daftar tidak langsung.


Dalam kes ini, alamat data disimpan dalam daftar penunjuk, lokasinya ditentukan oleh kod operasi.
Kaedah pengalamatan ini digunakan untuk mengakses RAM luaran dan bahagian atas RAM dalaman.
Penunjuk daftar alamat 8-bit boleh menjadi daftar R0, R1 bagi bank daftar kerja yang dipilih atau SP penuding tindanan, untuk pengalamatan 16-bit, hanya DPTR daftar penunjuk data digunakan.

Alamat langsung.


Dengan kaedah menangani ini, data ditunjukkan secara langsung dalam arahan dan terletak dalam bait kedua (atau dalam kedua dan ketiga) arahan, i.e.
tiada pengalamatan memori diperlukan.
Sebagai contoh, dengan arahan MOV A, # 50, nombor 50 dimuatkan ke dalam penumpuk A.

Pengalamatan diindeks.


Kaedah ini ialah pengalamatan daftar tidak langsung, di mana alamat bait data ditentukan sebagai jumlah kandungan daftar pangkalan (DPTR atau PC) dan indeks (A).
Cara digunakan hanya untuk akses kepada memori program dan hanya dalam mod baca; ia menjadikannya lebih mudah untuk melihat jadual berwayar keras ke dalam memori program.

Struktur arahan.

Panjang arahan ialah satu (49 arahan), dua (45 arahan) atau tiga (17 arahan) bait.
Bait pertama arahan sentiasa mengandungi opcode (OP), manakala bait kedua dan ketiga ialah alamat operan atau nilai data segera.

Bit individu, tetrad, bait dan perkataan dua bait boleh digunakan sebagai operan.
Terdapat 13 jenis arahan, yang ditunjukkan dalam Jadual 7.3.5:

● A, PC, SP, DPTR, Rn (n = 0, 7) - penumpuk, kaunter arahan, penuding tindanan, daftar penunjuk data dan daftar bank semasa;
● Rm (m = 0, 1) - daftar bank semasa yang digunakan untuk pengalamatan tidak langsung;
● langsung - alamat 8-bit bagi operan yang dialamatkan secara langsung;
● bit - alamat bit yang dialamatkan secara langsung;
● rel - alamat relatif peralihan;
● addr11, addr16 - alamat peralihan mutlak 11- dan 16-bit;
● # data8, # data16 - data langsung (operand) dengan panjang 8- dan 16-bit;
● A10, A9, A0 - bit individu alamat 11-bit;
● (.) - kandungan sel memori pada alamat yang dinyatakan dalam kurungan;
● SB, MB - bait tinggi dan rendah bagi operan 16-bit.

Maklumat am tentang sistem arahan.

Sistem arahan menyediakan kemungkinan besar untuk memproses data dalam bentuk bit, buku nota, bait, perkataan dua bait, serta kawalan masa nyata.
Bahasa penghimpun makro ASM51 digunakan untuk menerangkan arahan. Sintaks untuk kebanyakan arahan terdiri daripada mnemonik (singkatan) operasi yang akan dilakukan, diikuti oleh operan.
Operan digunakan untuk menunjukkan kaedah pengalamatan dan jenis data yang berbeza.

Khususnya, singkatan MOV mempunyai 18 arahan berbeza yang direka untuk memproses tiga jenis data (bit, bait, alamat) dalam ruang alamat yang berbeza.
Set arahan mempunyai 42 sebutan mnemonik daripada 111 jenis arahan untuk mengkokritkan 33 fungsi MK.

Daripada 111 arahan, 64 dilaksanakan dalam satu kitaran mesin, 45 dalam dua kitaran, dan hanya dua arahan (MUL - pendaraban dan DIV - bahagi) dilaksanakan dalam 4 kitaran. Dengan frekuensi penjana jam 12 MHz, tempoh kitaran mesin (12 kitaran jam) ialah 1 μs. Oleh ciri berfungsi pasukan boleh dibahagikan kepada lima kumpulan. Di bawah adalah penerangan tentang arahan setiap kumpulan, dibentangkan dalam bentuk jadual. Untuk kekompakan jadual, mari kita pilih sekumpulan perintah (Jadual 7.3.6), yang pelaksanaannya pengaruh(ditanda dengan +) mengenai keadaan bendera daftar kata status PSW.

Perintah pemindahan data

Perintah pemindahan boleh dibahagikan kepada subkumpulan yang berasingan.
Perintah untuk memindahkan dan menukar data antara sel memori dalaman(Jadual 7.3.7).

Perintah 1-16, yang mempunyai tujuan MOV mnemonik, src, adalah untuk pemajuan bait atau dua bait (arahan 16) data daripada sumber src ke destinasi destinasi, manakala:
● untuk menunjukkan sumber(src) empat kaedah pengalamatan digunakan: daftar (perintah 2-4, 6, 8), langsung (perintah 1, 7, 9, 11), tidak langsung (perintah 5, 10) dan langsung (perintah 12-16);
● untuk menunjukkan penerima(tujuan) tiga kaedah digunakan: daftar (perintah 1, 3 ... 5, 9, 12, 14, 16), langsung (perintah 2, 7, 8, 10, 13), tidak langsung (perintah 6, 11, 15).

Pasukan 17-20 menyediakan pertukaran maklumat antara dua sel memori data dalaman (atau pemindahan dua hala).
Apabila arahan XCH dilaksanakan, bait ditukar, A daripada perintah XCHD ditukar dengan tetrad bawah operan bait.

Salah satu sel sentiasa penumpuk A. Sebagai sel lain, apabila menukar bait, salah satu daripada daftar Rn bank semasa digunakan, A juga merupakan sel memori dalaman yang boleh dialamatkan secara langsung atau tidak; apabila menukar tetrad - hanya sel memori dalaman yang boleh dialamatkan secara tidak langsung.

Memandangkan dalam semua MCU tindanan terletak dalam RAM dalaman, subkumpulan ini termasuk arahan(20, 21) akses timbunan PUSH src, destinasi POP.
Perintah ini hanya menggunakan kaedah pengalamatan langsung, menulis bait pada tindanan atau memulihkannya daripada tindanan.
Perlu diingat bahawa dalam MCU yang tidak mempunyai 128 bait atas dalam RAM, meningkatkan tindanan melebihi 128 bait membawa kepada kehilangan data.

Perintah pemindahan data antara memori data dalaman dan luaran(Jadual 7.3.8).

Arahan ini hanya menggunakan pengalamatan tidak langsung, manakala alamat satu bait boleh didapati dalam P0 atau R1 bank daftar semasa, dan alamat dua bait boleh didapati dalam daftar penunjuk data DPRT.
Dalam sebarang akses kepada memori luaran, bateri A memainkan peranan sebagai penerima atau sumber operan dalam memori dalaman.

Arahan pemindahan data daripada memori program(Jadual 7.3.9).

Arahan ini adalah untuk membaca jadual daripada memori program.

Arahan MOVC A, @ A + DPTR digunakan untuk merujuk kepada jadual dengan bilangan input dari 0 hingga 255.

Nombor kemasukan jadual yang diperlukan dimuatkan ke dalam penumpuk, dan daftar DPTR ditetapkan ke titik permulaan jadual. Ciri tersendiri bagi arahan lain ialah PC kaunter program digunakan sebagai penunjuk asas dan jadual diakses daripada subrutin. Pertama, nombor titik masuk yang diperlukan dimuatkan ke dalam penumpuk, kemudian subrutin dipanggil dengan arahan MOVC A, @ A + PC. Jadual boleh mempunyai 255 input dengan nombor dari 1 hingga 255, kerana 0 digunakan untuk alamat arahan RET bagi keluar subrutin.

Perintah pemprosesan data aritmetik. Semua arahan aritmetik dilakukan pada integer tidak bertanda. Operasi pada dua operan(Jadual 7.3.10). Dalam operasi tambahan TAMBAH, tambahan bawa balik ADDC dan potongan pinjaman SUBB:

● sumber satu operan 8-bit dan penerima hasilnya ialah penumpuk;
● sumber operan lain ialah sama ada salah satu daripada daftar kerja Rn (n = 0-7) bank semasa, atau secara langsung langsung atau secara tidak langsung @Rm (m = 0, 1) lokasi memori boleh alamat RAM, atau data langsung #data.

operasi pendaraban MUL dan pembahagian DIV dilakukan ke atas kandungan daftar A dan B. Apabila mendarab, 8 bit atas hasil ditulis untuk mendaftar B, 8 bit bawah - untuk mendaftar A.
Jika produk lebih besar daripada 255, bendera limpahan OV ditetapkan; membawa bendera C sentiasa dibersihkan. Arahan DIV membahagikan operan 8-bit penumpuk A dengan operan 8-bit daftar B.
Apabila membahagikan, hasil bagi (bit paling ketara) ditulis ke dalam daftar dalam A, baki (bit paling tidak bererti) - dalam B. Bendera pembawa C dan OV limpahan dikosongkan.
Percubaan untuk membahagi dengan 0 menetapkan bendera limpahan OV. Operasi pembahagian lebih kerap digunakan untuk penukaran syif dan asas.

Apabila nombor binari dibahagikan dengan 2 N, ia dialihkan oleh N bit ke kiri.
Bit tambahan dipindahkan ke daftar B.

Operasi pada operan bait tunggal(Jadual 7.3.11).

Arahan DA digunakan untuk melaksanakan operasi BCD. Arahan INC, DEC membenarkan masing-masing menambah atau mengurangkan kandungan sel memori sebanyak satu.
Ia digunakan pada kandungan penumpuk A, salah satu daftar kerja Rn, atau sel memori yang dialamatkan secara langsung dan tidak langsung.
Operasi kenaikan juga digunakan pada kandungan daftar penunjuk DPTR 16-bit.

Perintah Boolean.

Operasi berganda

(Jadual 7.3.12).

Arahan AML, ORL, XRL membenarkan melakukan tiga operasi logik dua tempat pada operan 8-bit: ANL - pendaraban logik (AND), ORL - penambahan logik (ATAU), XRL - eksklusif ATAU (XOR).
Operasi dilakukan pada bit individu operan. Sumber salah satu operan dan pada masa yang sama penerima hasilnya adalah sama ada penumpuk (A) atau sel memori yang boleh dialamatkan secara langsung (langsung).
Untuk sumber operan lain, kaedah pengalamatan daftar, langsung, tidak langsung atau langsung digunakan.

Operasi tunggal

(Jadual 7.3.13).
Kumpulan ini juga termasuk beberapa operasi satu tempat pada kandungan penumpuk A: jelas (CLR), pelengkap logik atau penyongsangan (CPL), anjakan kitaran kitaran dan lanjutan sebanyak 1 bit ke kanan (RL, RLC) dan kiri ( RR, RRC), pertukaran tetrad atau anjakan kitaran bait sebanyak 4 bit (SWAP), A juga merupakan operasi kosong (NOP), akibatnya keadaan semua daftar MC (kecuali pembilang program) kekal tidak berubah .

Kawal arahan pemindahan

Perintah Lompat Tanpa Syarat

(Jadual 7.3.14).

Perintah 1-3 berbeza hanya dalam format alamat destinasi.

Perintah LJMP (L - Long) melakukan lompatan tanpa syarat "panjang" ke alamat addr16 yang ditentukan, memuatkan kaunter PC dengan bait perintah kedua dan ketiga.
Perintah ini menyediakan lompatan ke mana-mana titik dalam ruang alamat 64K bait.

Arahan AJMP (A - Absolute) menyediakan lompatan "mutlak" ke alamat dalam halaman 2K bait, alamat permulaan yang ditetapkan oleh lima bit paling penting pembilang program PC (pada permulaan, kandungan PC ialah meningkat sebanyak 2).

Arahan SJMP (S - Short) membenarkan lompatan tanpa syarat "pendek" ke alamat, yang dikira dengan menambahkan rel mengimbangi yang ditandatangani dalam bait perintah kedua dengan kandungan pembilang PC, sebelum ini meningkat sebanyak 2.

Alamat lompat adalah dalam -128 + 127 bait berbanding dengan alamat arahan.
Untuk melompat ke mana-mana titik lain dalam ruang alamat 64 kilobait, arahan 4 dengan alamat tidak langsung @ A + DPTR juga boleh digunakan.
Dalam kes ini, kandungan A ditafsirkan sebagai integer tidak bertanda.

Operasi null (NOP), akibatnya keadaan semua daftar mikropemproses (kecuali untuk kaunter program) kekal tidak berubah.

Perintah cawangan bersyarat

(Jadual 7.3.15).

Dengan bantuan arahan JZ dan JNZ, lompatan dilakukan jika kandungan penumpuk masing-masing sama atau tidak sama dengan sifar.
Alamat lompatan dikira dengan menambahkan rel mengimbangi tanda relatif kepada kandungan kaunter arahan PC selepas menambah 2 (panjang arahan dalam bait) padanya.

Kandungan bateri kekal tidak berubah.
Perintah tidak menjejaskan bendera.

Perintah CJNE (3-6) digunakan untuk melaksanakan lompatan bersyarat berdasarkan hasil perbandingan dua operan 8-bit, lokasi yang ditunjukkan dalam arahan.
Jika nilai mereka tidak sama, cawangan dibuat.

Alamat lompatan dikira dengan menambah rel offset dengan kandungan kaunter PC, sebelum ini meningkat sebanyak 3.
Jika tidak, arahan seterusnya dilaksanakan.

Lajur Algoritma menunjukkan kesan nilai operan 8-bit yang dibandingkan pada bendera pembawa C.
Arahan DJNZ (7) direka untuk mengatur gelung program.

Daftar Rn atau alamat langsung (langsung) ialah pembilang ulangan gelung, Rel mengimbangi (dalam bait perintah kedua dan ketiga) ialah alamat relatif lompatan ke permulaan gelung.
Apabila arahan dilaksanakan, kandungan kaunter dikurangkan dengan satu dan diperiksa untuk sifar.
Jika kandungan pembilang tidak sama dengan sifar, peralihan ke permulaan kitaran dilakukan.
Jika tidak, arahan berikut dilaksanakan.

Alamat lompatan dikira dengan menambah offset pada kandungan kaunter, sebelum ini meningkat dengan panjang arahan (dengan 2 atau 3).
Bendera arahan tidak terjejas.

Perintah untuk memanggil subrutin dan kembali daripada program

(Jadual 7.3.16).
Perintah "panggilan panjang" LCALL dan "panggilan mutlak" ACALL tanpa syarat memanggil subrutin yang terletak di alamat yang ditentukan.

Perbezaan antara arahan ini dan arahan lompat tanpa syarat yang dibincangkan di atas ialah ia menyimpan alamat pemulangan (kandungan kaunter) ke program utama pada tindanan.
Arahan pulangan daripada subrutin RET memulihkan nilai kandungan pembilang program daripada timbunan, dan arahan RETI juga membolehkan gangguan tahap perkhidmatan.

Pengalamatan relatif digunakan secara meluas dalam arahan pemindahan kawalan, yang menyokong modul program yang boleh dipindahkan.
Rel offset yang ditandatangani 8-bit bertindak sebagai alamat relatif, yang menyediakan percabangan dari kedudukan semasa kaunter PC dalam kedua-dua arah sebanyak ± 127 bait.

Untuk melompat ke mana-mana titik lain dalam ruang alamat 64K-bait, sama ada alamat addr16 langsung atau alamat tidak langsung @ A + DPTR boleh digunakan.
Dalam kes kedua, kandungan A ditafsirkan sebagai integer tidak bertanda.

Satu varian addr11 pengalamatan langsung pendek dalam halaman semasa 2K-bait telah diperkenalkan untuk keserasian dengan seni bina MK48.

Semua jenis pengalamatan ini hanya boleh digunakan pada operasi cawangan, dan untuk operasi panggilan hanya kaedah pengalamatan addr16 terus dan addr11 dalaman sahaja dibenarkan.
Dalam semua operasi bersyarat, hanya pengalamatan relatif boleh digunakan.

Apabila MK51 mengenali permintaan gangguan, ia menjana salah satu arahan addr16 LCALL, yang secara automatik memastikan bahawa alamat pemulangan disimpan pada tindanan.
Walau bagaimanapun, tidak seperti MK48, MK51 tidak mempunyai maklumat status yang disimpan secara automatik.

Dalam kes ini, logik sampukan berhenti bertindak balas kepada permintaan tahap yang telah diterima untuk perkhidmatan.
Untuk menurunkan tahap gangguan, perintah untuk kembali daripada gangguan RETI digunakan, yang, sebagai tambahan kepada operasi yang setara dengan RET, termasuk operasi mendayakan gangguan tahap ini.
Operasi JZ, JNZ juga tergolong dalam operasi bersyarat standard MK51.
Walau bagaimanapun, terdapat operasi baharu "Bandingkan dan Pergi" CJNE.

Untuk arahan ini, operan terlebih dahulu dibandingkan mengikut peraturan penolakan integer dengan pemalar, dan selaras dengan hasil perbandingan, bendera CY ditetapkan. Kemudian, sekiranya berlaku ketidakpadanan dengan pemalar, percabangan adalah dilakukan. Dengan membandingkan penumpuk, daftar atau sel memori dengan urutan pemalar, kami mendapat cara yang mudah untuk menyemak kebetulan, sebagai contoh, untuk mengenal pasti kes khas.

Malah, arahan CJNE ialah ahli pengendali bahasa peringkat tinggi, taip CASE.

Pasukan DJNZ telah dibangunkan lagi.
Sekarang pengaturcara sebagai kaunter boleh menggunakan bukan sahaja satu daripada daftar kerja Rn, tetapi juga mana-mana sel memori DSEG.

Perintah operasi bit.

Kumpulan ini terdiri daripada 12 arahan yang membolehkan anda melakukan operasi pada satu atau dua bit (set semula, set, penyongsangan bit, A juga logik DAN dan ATAU), dan 5 arahan yang direka untuk melaksanakan lompatan bersyarat (Jadual 7.3.17).

Arahan menyediakan pengalamatan terus 128 bit yang terletak dalam enam hingga sebelas sel RAM dalaman dengan alamat 20j.
2Fh (Jadual 7.3.3), dan 128 bit terletak dalam daftar tujuan khas yang alamatnya adalah gandaan lapan (diserlahkan dalam Jadual 7.3.4 dalam huruf tebal).

Apabila menjalankan operasi pada dua operan satu bit, flip-flop daftar PSW, yang menyimpan bendera pembawa C (Jadual 7.1.2), digunakan sebagai penumpuk logik.

Arahan MOV (1,2) berfungsi penghantaran bit daripada satu sel bit RAM dalaman yang boleh dialamatkan terus kepada flip-flop C atau sebaliknya.
Perintah CRL (3, 4), SETB (5, 6) masing-masing pembuangan kepada sifar atau menubuhkan dalam satu bawa bendera C atau bit yang ditentukan.
Dengan bantuan arahan CPL, ANL, ORL (7-12), operasi logik penyongsangan, penambahan dan pendaraban dilakukan.

Kumpulan ini juga termasuk arahan (13-17) untuk melaksanakan operasi cawangan bersyarat dengan rel mengimbangi 8-bit relatif.
Peralihan boleh dilaksanakan apabila bit atau bendera pembawa ditetapkan (perintah 13, 16), dan apabila ia dibersihkan (perintah 14, 17).

Perintah JBC, sebagai tambahan kepada berpindah ke alamat yang dikira, apabila keadaan (bit) = 1 dipenuhi, menetapkan semula bit ini kepada sifar.
Apabila melaksanakan perintah cawangan bersyarat, alamat cawangan dikira selepas menambah nombor 3 atau 2 pada pembilang (mencerminkan bilangan bait dalam arahan).

Intel adalah nenek moyang seni bina keluarga MCS-51, yang mendapat namanya daripada wakil pertama keluarga ini - mikropengawal 8051, dikeluarkan pada tahun 1980 berdasarkan teknologi n-MOS. Set peranti persisian yang berjaya, pilihan memori program luaran atau dalaman yang fleksibel dan harga yang berpatutan memastikan mikropengawal ini berjaya dalam pasaran. Dari sudut pandangan teknologi, mikropengawal 8051 adalah produk yang sangat kompleks pada zamannya - 128 ribu transistor digunakan dalam kristal, yang 4 kali lebih banyak daripada bilangan transistor dalam mikropemproses 16-bit 8086. Mikropengawal ini kekal teras keluarga MCS-51 sehingga hari ini.

Elemen utama seni bina asas keluarga (seni bina mikropengawal 8051) ialah:

ALU 8-bit;

4 bank daftar, 8 dalam setiap satu;

Memori program dalaman (pemastautin) 4 Kbytes, mempunyai jenis ROM atau EPROM (8751);

Memori data dalaman (penduduk) 128 bait;

21 daftar fungsi khas;

pemproses Boolean;

Dua Pemasa / Kaunter 16-bit;

Pengawal port bersiri (UART);

Pengawal sampukan dengan dua tahap keutamaan;

Empat port I / O 8-bit, dua daripadanya digunakan sebagai alamat / bas data untuk mengakses program luaran dan memori data;

Penjana jam terbina dalam.

Kemudian mikropengawal 8052 dikeluarkan, yang dibezakan oleh peningkatan jumlah program pemastautin dan memori data, yang diperkenalkan oleh pemasa ketiga dan, dengan itu, pengawal gangguan yang diperluaskan.

Langkah asas seterusnya dalam pembangunan MCS-51 ialah pemindahan teknologi pembuatan kepada CMOS (pengubahsuaian 8xC51). Ini memungkinkan untuk melaksanakan mod Idl (melahu) dan Power Down (penggunaan dikurangkan), yang memastikan penurunan mendadak dalam penggunaan kuasa kristal dan membuka jalan untuk penggunaan mikropengawal dalam aplikasi yang tidak menentu, contohnya, dalam peranti berkuasa bateri yang berdiri sendiri.

Dan peringkat penting terakhir dalam pembangunan MK 8051 oleh Intel ialah pelepasan mikropengawal 8xC51FA / FB / FC dan 8xC51RA / RB / RC, yang secara ringkasnya sering dirujuk sebagai 8xC51Fx dan 8xC51Rx. Ciri membezakan utama kumpulan kristal ini ialah mereka mempunyai pemasa / kaunter khusus (PCA). Selain itu, mikropengawal 8xC51Rx juga mengandungi pemasa pengawas (WDT). Mari kita lihat dengan lebih dekat seni bina dan kefungsian PCA.

PCA termasuk:

Pemasa / pembilang 16-bit;

Lima modul pensampelan dan perbandingan 16-bit, setiap satunya disambungkan ke saluran sendiri port I / O mikropengawal.

Pemasa / kaunter menyediakan kesemua lima sampel dan membandingkan modul, yang boleh diprogramkan untuk melaksanakan salah satu fungsi berikut:

Persampelan 16-bit nilai pemasa pada pinggir positif isyarat luaran;

Persampelan 16-bit nilai pemasa pada tepi negatif isyarat luaran;

Persampelan 16-bit nilai pemasa pada mana-mana tepi isyarat luaran;

Pemasa boleh atur cara 16-bit;

Peranti output berkelajuan tinggi 16-bit;

PWM 8-bit.

Semua fungsi di atas dilakukan dalam PCA pada tahap perkakasan dan tidak memuatkan pemproses pusat. Ini membolehkan anda meningkatkan daya pengeluaran keseluruhan, meningkatkan ketepatan pengukuran dan pemprosesan isyarat, dan mengurangkan masa tindak balas mikropengawal kepada peristiwa luaran, yang amat penting untuk sistem masa nyata. PCA yang dilaksanakan dalam 8xC51Fx (8xC51Rx) ternyata begitu

Jawatan

Maks. frekuensi (MHz)

ROM / EPROM (bait)

kaunter

Adalah bernasib baik bahawa seni bina mikropengawal ini telah menjadi piawaian industri, dan PCA itu sendiri telah berulang kali diterbitkan dalam pelbagai pengubahsuaian MK 8051.

Beberapa ciri beberapa mikropengawal MCS-51 yang dikeluarkan oleh Intel ditunjukkan dalam Jadual 1.1.

Kesesakan awal seni bina MCS-51 ialah ALU berasaskan bateri 8-bit dan pelaksanaan arahan yang agak perlahan (arahan terpantas memerlukan 12 pe-

Jadual 1.1

input/output

ADC, input x bit

pinggiran,

keistimewaan

U pit. (V)

Pilihan voltan rendah

4 tahap IRQ, jam keluar

4 tahap IRQ, jam keluar

Voltan rendah versi 8xC51Fx

4 tahap IRQ, jam keluar

4 tahap IRQ, jam keluar

4 tahap IRQ, jam keluar

kekerapan jam tempoh (frekuensi jam MK)). Ini mengehadkan penggunaan mikropengawal keluarga dalam aplikasi yang memerlukan peningkatan prestasi dan pengiraan yang kompleks (16- dan 32-bit). Isu mendesak ialah pemodenan asas seni bina MCS-51. Masalah pemodenan adalah rumit oleh fakta bahawa pada awal tahun 90-an banyak perkembangan dalam bidang perisian dan perkakasan keluarga MCS-51 telah dibuat, yang berkaitan dengan salah satu tugas utama mereka bentuk seni bina baharu ialah pelaksanaan perkakasan dan keserasian perisian dengan pembangunan berdasarkan MCS -51.

Untuk menyelesaikan masalah ini, sekumpulan pakar bersama dari Intel dan Philips telah diwujudkan, tetapi kemudiannya laluan kedua-dua syarikat ini berbeza. Akibatnya, pada tahun 1995 dua keluarga yang berbeza ketara muncul: MCS-251/151 untuk Intel dan MCS-51XA untuk Philips (lihat subseksyen 1.2).

Ciri-ciri utama seni bina MCS-251:

Ruang alamat linear 24-bit untuk menangani sehingga 16 MB memori;

Seni bina daftar yang membolehkan daftar diakses sebagai bait, perkataan dan kata ganda;

Mod pengalamatan halaman untuk mempercepatkan pengambilan semula arahan daripada memori program luaran;

Barisan arahan;

Set arahan lanjutan termasuk operasi aritmetik dan logik 16-bit;

Ruang alamat lanjutan timbunan (sehingga 64 KB);

Pelaksanaan arahan terpantas dalam 2 kitaran jam.

Set arahan MCS-251 mengandungi dua set arahan - set pertama ialah salinan set arahan MCS-51, dan set kedua terdiri daripada arahan lanjutan yang memanfaatkan seni bina MCS-251. Sebelum menggunakan mikropengawal, ia mesti dikonfigurasikan, i.e. dengan bantuan pengaturcara, "membakar" bit konfigurasi yang menentukan set arahan yang mana akan menjadi aktif selepas kuasa. Jika anda memasang set arahan pertama, maka dalam kes ini keluarga MCS-251 akan serasi dengan MCS-51 pada tahap kod binari. Mod ini dipanggil Mod Binari. Jika anda pada mulanya memasang satu set arahan lanjutan (Mod Sumber), maka program yang ditulis untuk MCS-51 akan memerlukan penyusunan semula pada cara silang untuk MCS-251. Mod Sumber membolehkan anda memanfaatkan sepenuhnya seni bina MCS-251 dan mencapai prestasi tertinggi.

Bagi pengguna yang berorientasikan penggunaan mikropengawal MCS-251 sebagai pengganti mekanikal untuk MCS-51, Intel menghasilkan mikropengawal MCS-151, yang telah diprogramkan dalam keadaan Mod Binari.

Beberapa ciri beberapa mikropengawal MCS-251/151 ditunjukkan dalam Jadual 1.1.

Pada masa ini, Intel, yang menyasarkan pasaran pemproses Pentium, sedang menghentikan pengeluaran kristal MCS-51 secara berperingkat. Secara umum, untuk pembangun tertentu, ini mungkin tidak disedari, melainkan dia menggunakan mikropengawal 8xC51GB dan 80C152Jx, yang tidak mempunyai rakan sejawatannya yang tepat antara produk syarikat lain. Bagi semua mikropengawal lain dari keluarga MCS-51, kesemuanya telah direplikasi berkali-kali oleh syarikat lain.

Status sistem gangguan ditinjau pada penghujung setiap kitaran mesin dalam fasa S5P2, dengan pengecualian arahan RETI dan sebarang arahan yang merujuk kepada daftar IE dan IP. Dari saat membetulkan permintaan gangguan kepada melayan gangguan, ia mengambil masa dari 38 hingga 86 tempoh frekuensi fOSC, bergantung pada fasa permintaan dan bilangan kitaran mesin arahan semasa pelaksanaan permintaan itu diterima. .

Apabila gangguan dilaksanakan dalam perkakasan, arahan LCALL addr16 dilaksanakan, yang memastikan menyimpan dalam tindanan keadaan semasa pembilang program (menyimpan alamat pemulangan) dan pergi ke alamat permulaan addr16 prosedur perkhidmatan yang sepadan. Setiap sumber permintaan gangguan mempunyai sumbernya sendiri

alamat mula (vektor gangguan):

Gangguan luaran INT0.

Pemasa sampuk / kaunter TC0.

Gangguan luaran INT1.

Pemasa sampuk / kaunter TC1.

Gangguan port bersiri.

2.7. Kaedah Menangani dan Sistem Perintah Keluarga MCS-51

Sistem arahan keluarga MCS-51 tertumpu pada mengatur input-output data yang fleksibel melalui port universal P0 ... P3 dan pemprosesan maklumat utama. Perhatian khusus diberikan kepada operasi dengan bit dan pemindahan kawalan mengikut nilainya. Arahan yang melaksanakan operasi sedemikian membentuk kumpulan besar dan bersama-sama dengan perkakasan yang sepadan membentuk apa yang dipanggil "pemproses Boolean" dalam seni bina MCS-51.

Set arahan menyediakan pengaturcara dengan keupayaan untuk menggunakan kebanyakan operasi dengan set lengkap kaedah menangani dan sumber perkakasan yang tersedia perisian.

2.7.1. Kaedah menangani

Setiap arahan memberitahu pemproses operasi yang perlu dilakukan dan kaedah untuk mengakses operan. Kod arahan mempunyai beberapa medan yang mempunyai tujuan fungsi tertentu. Medan yang paling penting bagi mana-mana arahan ialah kod operasi (CPC), yang menentukan tindakan arahan dan bahagian alamat. Medan bahagian alamat mengandungi maklumat tentang alamat operan dan hasil operasi, dan dalam beberapa kes maklumat tentang alamat arahan seterusnya.

Jika alamat menunjukkan bilangan sel memori di mana operan berada atau di mana ia dimasukkan, maka ia dipanggil alamat langsung.

Kaedah menangani ialah koleksi mekanisme untuk mengakses operan. Sebahagian daripadanya adalah mudah, membawa kepada format arahan yang padat dan akses pantas kepada operan, tetapi mempunyai jumlah sumber yang tersedia yang terhad. Yang lain membenarkan anda untuk beroperasi dengan semua sumber yang tersedia dalam sistem, tetapi arahan itu ternyata panjang, pada

input dan pelaksanaan memakan masa. Set kaedah pengalamatan dalam setiap set arahan ialah gabungan kompromi mekanisme pengalamatan yang diketahui dipilih oleh arkitek berdasarkan set tugasan yang perlu diselesaikan.

Berikut ialah kaedah pengalamatan utama yang digunakan dalam arahan keluarga MCS-51.

Pengalamatan tersirat... Perintah itu tidak mengandungi arahan eksplisit tentang alamat operan yang mengambil bahagian dalam operasi atau alamat di mana keputusan operasi diletakkan, tetapi alamat ini tersirat. Dalam arahan, penumpuk paling kerap dialamatkan secara tersirat sebagai penerima hasil operasi. Sebagai contoh, hasil penambahan kandungan penumpuk (A) dan daftar R1 bank data semasa dengan arahan ADD A, R1 ditulis kepada penumpuk yang boleh dialamatkan secara tersirat. Seluruh arahan yang ditentukan menduduki satu bait dalam ingatan, manakala alamat penumpuk sahaja (8Eh kawasan SFR) mengandungi satu bait.

Alamat langsung... Medan alamat arahan mengandungi

Alamat bukan alamat operan, tetapi operan itu sendiri. Pengalamatan langsung ditunjukkan oleh aksara khas # di hadapan nombor. Contohnya, dengan arahan MOV A, # 15h, nombor perenambelasan 15 (bait kedua perintah) dimuatkan ke dalam penumpuk. Dalam sistem arahan, pengalamatan langsung ditetapkan sebagai #data, dengan data ialah nombor

(data = 00j ... FFh).

Alamat langsung... Medan alamat arahan menunjukkan alamat langsung sel memori data di mana operan berada atau di mana ia ditulis. Contohnya, dengan arahan MOV A, 15j, kandungan sel DSEG dengan alamat 15j dimuatkan ke dalam penumpuk. Sel memori boleh ditangani secara langsung, manakala penumpuk adalah tersirat. Bergantung pada lokasi operan yang dialamatkan, pengalamatan langsung dibahagikan kepada daftar langsung dan mutlak.

Pengalamatan daftar langsung... Medan alamat arahan mengandungi alamat langsung daftar bank daftar semasa. Terdapat lapan daftar dalam setiap bank, dan alamat hadapan tiga bit diperlukan untuk menanganinya. Dalam mnemonik arahan, daftar beralamat ditetapkan Rn, di mana n = 0 ... 7. Semua medan arahan muat dalam satu bait. Ini dipanggil pengalamatan pendek. Contohnya, MOV R4, R1.

Alamat mutlak langsung membolehkan anda merujuk kepada mana-mana sel DSEG dan kawasan SFR. Alamat langsung dalam kes ini ialah satu bait, dan arahannya ialah dua bait. Dalam sistem arahan, bait alamat langsung ditetapkan oleh perkataan langsung (langsung = 00j… FFh). Contohnya, arahan MOV 80h, R2 (atau MOV P0, R2) memuatkan kandungan daftar R2 bank data semasa ke dalam port P0 (lokasi 80j kawasan SFR). Jika kedua-dua operan dialamatkan secara langsung, arahan menjadi tiga bait (cth MOV 80j, 15j).

Pengalamatan tidak langsung... Medan alamat mengandungi alamat sel memori di mana alamat langsung operan berada. Dalam sistem arahan, aksara khas @ menunjukkan pengalamatan tidak langsung. Harta benda

daftar R0 dan R1 (@Ri, i = 0,1) setiap bank daftar memiliki alamat langsung. Sebagai contoh, jika kandungan daftar R1 bank daftar semasa ialah 15j, maka arahan MOV A, @ R1 akan melakukan tindakan yang sama seperti arahan di atas MOV A, 15j - ia akan memuatkan kandungan sel memori DSEG dengan alamat 15h ke dalam penumpuk. Walau bagaimanapun, arahan MOV A, @ R1 adalah bait tunggal, tetapi yang paling penting, adalah mungkin untuk menukar alamat secara pemrograman dengan menukar kandungan daftar R1.

Pengalamatan relatif... Dengan pengalamatan relatif, alamat langsung dibentuk dengan menambah alamat asas dengan medan alamat arahan. Kandungan pembilang program digunakan sebagai alamat asas, dan medan alamat arahan ialah perhubungan offset lapan bit (relatif). Nombor rel ditafsirkan oleh arahan sebagai integer yang ditandatangani, diwakili dalam pelengkap dua. Julat persembahannya ialah (-128 ... + 127). Apabila menentukan nombor rel, perlu diingat bahawa pembilang program menunjukkan arahan seterusnya yang akan dilaksanakan. Pengalamatan relatif digunakan secara meluas dalam arahan pemindahan kawalan, yang membolehkan anda mencipta modul program yang boleh dipindahkan. Perintah pemindahan kawalan dengan pengalamatan relatif membenarkan penganjuran percabangan relatif kepada kedudukan semasa pembilang program PC di kedua-dua arah dengan (-128 ... + 127) bait.

Dalam program bahasa himpunan, anda boleh menentukan label untuk melompat ke dalam medan offset. Hasil daripada terjemahan, pemasang akan mengira nilai offset jika ia tidak melebihi (-128 ... + 127). Jika tidak, mesej ralat akan dipaparkan.

Pengalamatan asas mewakili sejenis pengalamatan relatif. Alamat langsung dalam kes ini dibentuk dengan menambah alamat yang dinyatakan dalam arahan dengan kandungan daftar asas, yang menyimpan alamat asas. Fungsi daftar asas dalam keluarga MCS-51 ialah daftar penunjuk data DPTR atau kaunter program PC. Jenis pengalamatan ini amat berguna apabila memproses jadual dan tatasusunan data. Dalam arahan MOVC A, @ A + DPTR dan MOVC A, @ A + PC, alamat hadapan 16-bit dibentuk sebagai jumlah kandungan DPTR dan A atau PC dan A.

Pengalamatan halaman... Apabila paging digunakan, memori dibahagikan kepada satu siri halaman yang sama panjang. Halaman ditangani oleh daftar halaman yang berasingan, dan sel memori dalam halaman ditangani oleh alamat yang terkandung dalam arahan. Alamat langsung dibentuk dengan menggabungkan (menambah) alamat halaman dan alamat sel memori dalam halaman. Dalam arahan MOVX A, @ Ri, port P2 (alamat bait tinggi) melaksanakan fungsi daftar halaman, dan kandungan daftar Ri (alamat bait rendah) menetapkan alamat dalam halaman. Dalam kes ini, memori dibahagikan kepada 256 muka surat 256 sel dalam setiap satu daripadanya.

Pengalamatan timbunan Ia digunakan dalam arahan yang tidak ditangani dan merupakan gabungan kaedah pengalamatan auto-incremental dan auto-decremental, yang beroperasi pada prinsip LIFO (L as I nput - F irst O utput) - "masuk terakhir - keluar dahulu". Tindanan terletak di DSEG dan berkembang ke arah peningkatan alamat. Alamat bahagian atas tindanan terkandung dalam penuding tindanan SP. Apabila bait ditulis pada timbunan, kandungan SP dinaikkan terlebih dahulu, dan kemudian tulis dibuat ke alamat ini. Apabila membaca bait daripada timbunan, ia membaca pertama pada alamat yang ditunjukkan oleh SP, dan kemudian mengurangkan SP. Apabila menggunakan tindanan, perlu diingat bahawa kedalaman tindanan (bilangan maksimum sel memori yang diduduki oleh tindanan) tidak dikawal oleh perkakasan. Dengan peningkatan yang berlebihan dalam timbunan, sel memori yang tidak dimaksudkan untuknya boleh diduduki dengan kehilangan maklumat di dalamnya. Tindanan perkakasan digunakan untuk menyimpan alamat pemulangan semasa melayan gangguan.

2.7.2. Set arahan keluarga MCS-51

Sistem arahan dibentangkan dalam jadual A2.1 ... A2.6 Lampiran 2. Jadual menunjukkan nama arahan, mnemoniknya, kod operasi binari, pengaruh arahan yang dilaksanakan pada bendera C, OV , AC dan P, panjang arahan dalam bait (B) dan masa pelaksanaan dalam kitaran mesin (C), serta kandungan transformasi yang dilakukan oleh arahan. Koma digunakan sebagai pemisah untuk medan alamat dalam arahan. Untuk meningkatkan kebolehbacaan, anda boleh menambah ruang selepas koma jika pemasang yang digunakan menyokongnya.

Seluruh set arahan boleh dibahagikan kepada 5 kumpulan: operasi pemindahan data, operasi aritmetik, operasi logik, operasi bit dan operasi pemindahan kawalan.

Kumpulan arahan untuk operasi pemindahan data(jadual A2.1) dengan-

memegang MOV (pemindahan data antara DSEG dan RSEG), MOVC (antara CSEG dan A), MOVX (antara XSEG dan A), arahan akses tindanan PUSH dan POP, dan dua arahan pertukaran XCH dan XCHD. Semua arahan pemindahan data, di mana penerima adalah bateri, tetapkan bendera pariti P kandungan bateri, dan arahan alamat langsung, di mana daftar PSW adalah penerima, tukar semua bendera. Yang paling luas ialah arahan MOV, yang menggunakan empat kaedah pengalamatan: daftar langsung (A, Rn, DPTR), langsung (langsung), tidak langsung (@Ri), langsung (#data, # data16). Operan kedua arahan ialah sumber, yang pertama ialah destinasi. Terdapat tiga kaedah pengalamatan (kecuali untuk langsung) untuk menunjukkan destinasi, dan keempat-empat untuk menunjukkan sumber. Pemindahan arahan langsung MOV tiga bait antara mana-mana dua lokasi memori (DSEG dan SFR), termasuk RSEG. Untuk pertukaran dengan RSEG, format dua dan satu bait khas disediakan:

Arahan MOV DPTR khas, # data16, memuatkan penunjuk DPTR 16-bit dengan data16.

Arahan MOVC membolehkan anda membaca maklumat daripada memori program CSEG bukan ke dalam daftar arahan peranti kawalan, tetapi ke dalam bateri peranti pengendalian. Perintah menggunakan dua kaedah pengalamatan: berdasarkan DPTR dan relatif kepada PC. Dalam kedua-dua kes, ofset integer yang tidak ditandatangani (indeks) disimpan dalam penumpuk. Bateri juga berfungsi sebagai penerima hasilnya. Perintah ini membolehkan anda melakukan transcoding pantas merentas jadual.

Memori luaran diakses menggunakan arahan MOVX. Pertukaran dilakukan oleh bait antara bateri dan XSEG luaran. Sel XSEG boleh ditangani dalam dua cara: secara tidak langsung melalui penunjuk DPTR 16-bit dan halaman secara tidak langsung melalui Ri 8-bit, i = 0,1. Dalam kes kedua, daftar muka surat ialah daftar P2.

Arahan PUSH dan POP yang tidak dialamatkan menyediakan pemindahan data

antara DSEG, RSEG dan SFR.

Arahan pertukaran XCH menyediakan pertukaran dua hala bait, dan arahan XCHD menyediakan tetrad yang paling tidak ketara bagi operan bait.

Kumpulan arahan aritmetik(jadual A2.2) bersama-

memegang arahan untuk penambahan ADD, penambahan dengan carry ADDC, penolakan dengan meminjam SUBB, kenaikan dan pengurangan sebanyak satu INC dan DEC, pembetulan perpuluhan penambahan BCD format yang dibungkus, pendaraban MUL dan pembahagian DIV. Operasi dilakukan pada integer yang tidak ditandatangani. Dalam operasi tambah dan tolak, penumpuk ialah operan dan penerima pertama hasil. Daftar langsung, pengalamatan mutlak langsung, langsung dan tidak langsung digunakan untuk menentukan operan kedua. Operasi INC dan DEC digunakan untuk penumpuk, daftar boleh dialamatkan secara langsung, atau lokasi ingatan boleh dialamatkan secara langsung atau tidak langsung. Di samping itu, operasi INC terpakai pada kandungan daftar penunjuk DPTR 16-bit.

Operasi pendaraban dan pembahagian integer yang tidak ditandatangani melibatkan penumpuk dan daftar B. Dalam pendaraban, nilai 8-bit A didarab dengan nilai 8-bit B, dan hasil 16-bit ditulis kepada pasangan BA. Dalam kes ini, daftar B menyimpan bahagian atas produk. Bendera OV ditetapkan jika produk lebih besar daripada 255. Apabila nilai 8-bit A dibahagikan dengan nilai 8-bit B, hasil bagi ditulis kepada A, dan selebihnya ditulis kepada B. Percubaan untuk membahagi dengan 0 menetapkan bendera limpahan OV.

Arahan pembetulan perpuluhan penumpuk DA diletakkan selepas arahan tambah. Terma mesti diwakili dalam kod BCD. Pembetulan dilakukan dengan cara yang standard.

Kumpulan arahan untuk operasi logik(jadual A2.3 ) mengandungi tiga operasi biasa: ANL - logik DAN, ORL - logik ATAU, XRL - logik eksklusif ATAU. Sumber operan pertama

sama ada penumpuk A atau sel memori boleh dialamatkan secara langsung berfungsi. Operan kedua ditentukan oleh salah satu daripada empat kaedah pengalamatan asas. Kumpulan itu juga termasuk operasi tunggal atas kandungan penumpuk: CLR - jelas, CPL - penyongsangan, dan juga RL, RLC, RR dan RRC - operasi anjakan kitaran dan lanjutan ke kanan dan ke kiri. Ini juga termasuk operasi pertukaran buku nota dalam penumpuk SWAP, yang boleh ditafsirkan sebagai anjakan kitaran bait sebanyak empat digit.

Kumpulan Perintah Operasi Bit(jadual A2.6) mengandungi bersama-

Perintah SETB - menetapkan sedikit kepada 1, CLR - menetapkan semula sedikit kepada 0, CPL - penyongsangan bit, ANL dan ORL - logik DAN dan logik ATAU kandungan bendera C dan bit yang dialamatkan secara langsung, MOV - pemindahan bit.

V operasi bit, bendera C bertindak sebagai penumpuk boolean. Operan ialah kandungan bendera C atau bit BSEG yang boleh dialamatkan secara langsung. Operasi ANL dan ORL boleh menggunakan kandungan bit yang boleh dialamatkan terus (bit) atau penyongsangan kandungan (/ bit).

V kumpulan ini juga termasuk perintah untuk bercabang bersyarat dengan relatif rel mengimbangi 8-bit. Lompatan bersyarat boleh dilakukan dengan kedua-dua set (arahan JB) dan kosong (arahan JNB) bit. Nota khusus ialah arahan JBC, yang, apabila bit ditetapkan, melaksanakan percabangan dan pada masa yang sama mengosongkan bit kepada 0.

Kumpulan arahan pemindahan kawalan(jadual A2.4 dan A2.5) dengan-

memegang arahan lompat tanpa syarat AJMP, LJMP, SJMP, JMP, lompat bersyarat JZ, JNZ, CJNE, panggil ACALL, LCALL, kembali RET, RETI dan ubah suai dengan lompat bersyarat DJNZ. Perintah NOP kosong juga disertakan.

V Pengalamatan relatif digunakan secara meluas dalam arahan pemindahan kawalan, membolehkan anda mencipta modul program yang boleh dipindahkan. Alamat relatifnya ialah Rel offset 8-bit ialah bait bertanda yang menyediakan lompatan (–128 ​​​​... +127) bait berbanding kedudukan PC semasa. Sama ada addr16 langsung atau alamat tidak langsung @ A + DPTR boleh digunakan untuk melompat ke mana-mana titik lain dalam ruang alamat 64K. Dalam kes kedua, kandungan A ditafsirkan sebagai integer tidak bertanda. Satu varian addr11 pengalamatan langsung pendek dalam halaman semasa 2KB telah diperkenalkan untuk keserasian dengan keluarga MCS-48.

Semua jenis pengalamatan ini digunakan dalam arahan lompat. Dalam arahan panggilan, hanya kaedah pengalamatan addr16 terus dan addr11 dalam halaman digunakan. Semua arahan bersyarat hanya menggunakan pengalamatan relatif.

Apabila mikropengawal mengenali permintaan gangguan, ia menjana arahan LCALL addr16, yang secara automatik memastikan bahawa alamat pemulangan disimpan dalam timbunan. Maklumat status program (kandungan daftar PSW) tidak disimpan secara automatik. di mana