Pengawal mikro MCS-51: model perisian, struktur, arahan. Pengawal mikro MCS – 51. Gambar rajah blok, ALU, memori data Pengawal mikro MCS 51 mempunyai seni bina jenis

  • 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.

Pada masa ini, pelbagai firma menghasilkan banyak pengubahsuaian dan analog keluarga ini, baik oleh Intel dan pengeluar lain, kekerapan jam dan kapasiti memori telah berkembang sepuluh kali ganda dan terus meningkat. Set modul terbina dalam LSI juga sedang ditambah; sebilangan besar model moden dilengkapi dengan ADC berkelajuan tinggi pemastautin, yang mempunyai sehingga 12, dan kini mungkin terdapat lebih banyak digit. Tetapi di tengah-tengah keluarga MCS51 ialah BIS 8051, 80C51, 8751, 87C51, 8031, 80C31 daripada Intel, sampel pertama yang dikeluarkan pada tahun 1980.

Pengawal mikro keluarga MCS51 dibuat mengikut teknologi n-MOS berkualiti tinggi (siri 8XXX, analog - siri 1816 di Rusia dan Belarus) dan teknologi k-MOS (siri 8ХСХХ, analog - siri 1830). Aksara kedua berikutan 8 bermaksud: 0 - tiada EPROM pada cip, EPROM 7 - 4K dengan pemadaman ultraungu. Simbol ketiga: 3 - ROM akan terhablur, 5 - jika tiada EPROM, maka topeng akan berada pada cip.

Dan sebagainya 80S51 - LSI mengikut teknologi k-MOS dengan ROM bertopeng pada cip, 8031 ​​​​- LSI n-MOS tanpa memori program (ROM, EPROM) pada cip, 8751 - LSI n-MOS dengan pemastautin (terletak pada cip) EPROM dengan pemadaman ultraungu. Kami akan mempertimbangkan selanjutnya LSI 8751, membuat, jika perlu, tempahan tentang perbezaan dalam litar lain, memberikan parameter tersebut yang diterbitkan untuk LSI bersiri pertama. Jika perlu, anda boleh mendapatkan maklumat tambahan tentang semua pengubahsuaian moden dalam manual syarikat dan dokumentasi teknikal.

A. Ciri am dan tugasan pin

Keluarga MCS51 adalah berdasarkan lima pengubahsuaian MK (mempunyai ciri asas yang sama), perbezaan utama antaranya ialah pelaksanaan memori program dan penggunaan kuasa (lihat Jadual 3.1). Mikrokontoler adalah lapan-bit, i.e. mempunyai arahan untuk memproses perkataan lapan-bit, mempunyai seni bina Harvard, kekerapan jam sampel asas keluarga ialah 12 MHz.

Jadual 3.1.

Litar mikro

Memori atur cara dalaman, bait

Jenis memori program

Memori data dalaman, bait

Kekerapan jam, MHz

Arus penggunaan, mA

MK 8051 dan 80C51 mengandungi ROM memori program yang boleh diprogramkan topeng dengan kapasiti 4096 bait semasa pembuatan kristal dan direka bentuk untuk digunakan dalam pengeluaran besar-besaran. MK 8751 mengandungi EPROM dengan kapasiti 4096 bait dengan pemadaman ultraungu dan mudah pada peringkat pembangunan sistem apabila menyahpepijat atur cara, serta apabila menghasilkan dalam kelompok kecil atau apabila mencipta sistem yang memerlukan semula

pelarasan berkala.

MK 8031 ​​dan 80C31 tidak mengandungi memori program terbina dalam. Mereka, seperti pengubahsuaian yang diterangkan sebelum ini, boleh menggunakan sehingga 64 Kbytes memori program luaran dan boleh digunakan dengan berkesan dalam sistem yang memerlukan volum yang lebih besar (daripada 4 Kbytes pada cip) memori program.

Setiap MC keluarga mengandungi memori data pemastautin dengan kapasiti 128 bait dengan kemungkinan mengembangkan jumlah data RAM sehingga 64 Kbyte melalui penggunaan IC RAM luaran.

    pemproses lapan-bit pusat;

    4 KB memori program (8751 dan 87C51 sahaja);

    memori data 128 bait;

    empat port I / O boleh atur cara lapan bit;

    dua pemasa / pembilang 16-bit berbilang mod;

    sistem gangguan auto-vektor dengan lima vektor dan dua tahap keutamaan dikawal perisian;

    antara muka bersiri termasuk transceiver dupleks universal yang mampu beroperasi dalam empat mod;

    penjana jam.

Sistem arahan MK mengandungi 111 arahan asas dengan format 1, 2, atau 3 bait. Mikrokontroler mempunyai:

    32 daftar tujuan umum RON, dianjurkan sebagai empat bank daripada lapan daftar setiap satu dengan nama R0 ... R7, pilihan satu atau bank lain ditentukan oleh program dengan menetapkan bit yang sepadan dalam daftar status program PSW;

    128 bendera dikawal perisian (pemproses bit, lihat di bawah);

    satu set daftar fungsi khas yang mengawal elemen MK. Terdapat mod pengendalian mikropengawal berikut:

1). Tetapan semula umum. 2) Berfungsi normal. 3) Mod kuasa rendah dan mod melahu. 4). Mod pengaturcaraan EPROM pemastautin, jika ada.

Di sini kita akan memberi tumpuan kepada dua mod operasi pertama, penerangan terperinci tentang komposisi dan pengendalian MC dalam semua mod diberikan dalam Lampiran A1.

RON dan zon pemproses bit terletak di ruang alamat RAM pemastautin dengan alamat dari 0 hingga 80j.

Di zon atas alamat memori akses rawak pemastautin terdapat daftar fungsi khas (SFR, Daftar Fungsi Khas). Tujuan mereka diberikan dalam jadual. 3.2.

Jadual 3.2.

Jawatan

nama

Bateri

Daftar B

Daftar status program

Penunjuk tindanan

Penunjuk data. 2 bait:

Bait paling tidak ketara

Bait tinggi

Daftar Keutamaan Gangguan

Sampuk dayakan daftar

Daftar Pemasa / Mod Kaunter

Daftar Pemasa / Kawalan Kaunter

Pemasa / Kaunter 0. Bait Tinggi

Pemasa / Kaunter 0. Bait Rendah

Pemasa / Kaunter 1. Bait Tinggi

Pemasa / Kaunter 1. Bait Rendah

Kawalan port bersiri

Penampan port bersiri

Pengurusan penggunaan

* - daftar, mengaku bitwise menangani

Mari kita lihat dengan pantas fungsi daftar SFR yang ditunjukkan dalam Jadual 3.2.

Bateri ACC - daftar bateri. Perintah yang direka untuk berfungsi

anda dengan bateri, gunakan mnemonik "A", sebagai contoh, MOV A, P2 ... Mnemonik "ACC" digunakan, sebagai contoh, untuk menangani bateri bitwise. Jadi, nama simbolik bit kelima penumpuk apabila menggunakan pemasang A5M51 adalah seperti berikut: ACC. 5. .

Daftar V ... Digunakan semasa operasi darab dan bahagi. Untuk arahan lain, daftar B boleh dianggap sebagai daftar super-operasi tambahan.

Daftar rezeki program PSW mengandungi maklumat tentang keadaan program dan dipasang sebahagiannya secara automatik berdasarkan hasil operasi yang dilakukan, sebahagiannya oleh pengguna. Penetapan dan tujuan bit daftar diberikan dalam jadual 3.3 dan 3.4, masing-masing.

Jadual 3.3.

Jawatan

Jadual 3.4.

Jawatan

Tugasan bit

Akses kepada bit

Bawa bendera. Perubahan semasa melaksanakan satu siri arahan aritmetik dan logik.

Perkakasan atau perisian

Bendera pembawa tambahan. Perkakasan ditetapkan / dibersihkan semasa arahan penambahan atau penolakan untuk menunjukkan bawa atau pinjam dalam bit 3 apabila hasil yang paling tidak ketara (D0-D3) dijana.

Perkakasan atau perisian

Bendera 0. Bendera yang ditentukan pengguna.

Secara pemrograman

Secara pemrograman

Penunjuk bank daftar kerja

Secara pemrograman

Bank 0 dengan alamat (00Н - 07Н) Bank 1 dengan alamat (08Н - 0FН) Bank 2 dengan alamat (10Н - 17Н) Bank 3 dengan alamat (18Н - 1FН)

Bendera limpahan. Perkakasan ditetapkan atau dibersihkan semasa melaksanakan arahan aritmetik untuk menunjukkan keadaan limpahan

Perkakasan atau perisian

ganti. Mengandungi pencetus baca / tulis yang boleh digunakan

Sedikit pariti. Perkakasan dibersihkan atau ditetapkan dalam setiap kitaran arahan untuk menunjukkan bilangan bit bateri genap atau ganjil dalam keadaan "1".

Perkakasan atau perisian

penunjuk timbunan SP - Daftar 8-bit, kandungannya ditambah sebelum menulis data ke timbunan apabila melaksanakan perintah PUSH dan CALL. Pada tetapan semula awal, penuding tindanan ditetapkan kepada 07H, dan kawasan tindanan dalam RAM data bermula pada 08H. Jika perlu, dengan mentakrifkan semula penuding tindanan, kawasan tindanan boleh terletak di mana-mana dalam RAM data dalaman mikropengawal.

penunjuk data DPTR terdiri daripada bait tinggi (DPH) dan bait rendah

(DPL). Mengandungi alamat 16-bit apabila mengakses memori luaran. Boleh digunakan

ditulis sebagai daftar 16-bit atau sebagai dua daftar lapan-bit bebas.

Port0 - PortZ. Bit berasingan daftar fungsi khas P0, P1, P2, P3 adalah bit - "selak" output port P0, P1, P2, P3.

Penampan konsisten pelabuhan SBUF terdiri daripada dua daftar berasingan: penimbal pemancar dan penimbal penerima. Apabila data ditulis kepada SBUF, ia memasuki penimbal pemancar, dan menulis bait kepada SBUF secara automatik memulakan penghantarannya melalui port bersiri. Apabila data dibaca daripada SBUF, ia diambil daripada penimbal penerima.

Mendaftar pemasa. Daftar pasangan (TH0, TL0) dan (TH1, TL1) borang 16-

daftar pengiraan bitwise untuk pemasa / pembilang 0 dan pemasa / pembilang 1, masing-masing.

Mendaftar pengurusan. Daftar fungsi khas IP, IE, TMOD, TCON, SCON dan PCON mengandungi bit kawalan dan bit status sistem gangguan,

meter / pembilang dan port bersiri. Mereka akan dibincangkan secara terperinci di bawah.

RxD TxD INT0 INT1 T0 T1 WR

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

RST BQ2 BQ 1 EA

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

Semasa beroperasi, MK menyediakan:

    masa minimum untuk melaksanakan arahan tambahan ialah 1 μs;

    pendaraban dan pembahagian perkakasan dengan masa pelaksanaan minimum 4 μs.

MK menyediakan keupayaan untuk menetapkan frekuensi pengayun dalaman menggunakan kuarza, rantai LC atau pengayun luaran.

Sistem arahan lanjutan menyediakan pengalamatan bait dan bitwise, aritmetik perduaan dan perpuluhan perduaan, petunjuk limpahan dan pariti genap / ganjil, dan kemungkinan melaksanakan pemproses logik.

Ciri yang paling penting dan tersendiri bagi seni bina keluarga MCS51 ialah ALU boleh memanipulasi data bit tunggal selain melaksanakan operasi pada jenis data 8-bit. Bit boleh diakses perisian individu boleh ditetapkan, dibersihkan atau digantikan dengan pelengkapnya, boleh dihantar, diperiksa dan

Rajah 3.2. Kesimpulan luaran

pengawal mikro

digunakan dalam pengkomputeran logik. Manakala sokongan untuk jenis data mudah (jika ada

trend ke arah menambah panjang perkataan) mungkin kelihatan seperti langkah ke belakang pada pandangan pertama, kualiti ini menjadikan mikropengawal MCS51 amat sesuai untuk aplikasi yang menggunakan pengawal. Algoritma yang terakhir, dengan cara mereka sendiri, menganggap kehadiran pembolehubah Boolean input dan output, yang sukar untuk dilaksanakan menggunakan mikropemproses standard. Semua sifat ini secara kolektif dirujuk sebagai keluarga pemproses Boolean MCS51. ALU yang berkuasa ini menjadikan keluarga mikropengawal MCS51 sebagai set arahan yang sama sesuai untuk aplikasi kawalan masa nyata serta algoritma intensif data.

Gambarajah skematik mikropengawal ditunjukkan dalam Rajah. 3.2. Dalam versi asas, ia dibungkus dalam pakej DIP 40-pin. Mari kita pertimbangkan tujuan kesimpulan.

Mari kita mulakan dengan pin kuasa «0 V" dan "5 V" , yang mana dia menerima makanan utama. Arus penggunaan diberikan dalam jadual. 3.1.

Pengeluaran "RST" - set semula mikropengawal. Apabila tahap tinggi aktif digunakan pada pin ini, mod biasa lambakan dan MK melakukan tindakan berikut:

Tetapkan kaunter arahan PC dan semua daftar fungsi khas, kecuali selak port P0-P3, penuding tindanan SP dan daftar SBUF, kepada sifar;

    penuding tindanan ditetapkan kepada 07H;

    melumpuhkan semua sumber gangguan, pembilang pemasa dan siri

    memilih BANK 0 RAM, menyediakan port P0-P3 untuk menerima data dan menentukan

memisahkan pin ALE dan PME sebagai input untuk penyegerakan luaran;

      dalam fungsi khas mendaftar PCON, IP dan IE, bit ganti ditetapkan kepada nilai rawak, dan semua bit lain ditetapkan kepada sifar;

      daftar SBUF ditetapkan kepada nilai rawak.

      menetapkan selak-selak port P0-P3 kepada "1".

Keadaan daftar pengawal mikro selepas set semula ditunjukkan dalam Jadual 3.5.

Jadual 3.5.

Maklumat

tak tentu

0ХХХ0000В untuk k-MOS 0XXXXXXXB untuk n-MOS

Pin RST juga mempunyai fungsi alternatif. Melaluinya, kuasa sandaran dibekalkan untuk memastikan kandungan RAM mikropengawal tidak berubah apabila yang utama dikeluarkan.

kesimpulan BQ1, BQ2 direka untuk menyambung resonator kuarza, yang menentukan kekerapan jam MK.

Pengeluaran EA` (E xternal A berpakaian luaran alamat) - direka untuk mengaktifkan mod membaca kod kawalan daripada memori program luaran, apabila tahap rendah aktif digunakan pada output ini. Pin mempunyai tujuan (fungsi) alternatif. Ia dibekalkan dengan voltan pengaturcaraan EPROM dalam mod pengaturcaraan.

Pengeluaran PME (P rogram M emory E nable kebenaran ingatan program) - direka untuk mengawal kitaran bacaan daripada memori program dan diaktifkan secara automatik oleh MC dalam setiap kitaran mesin.

Pengeluaran Ale (A berpakaian L ength E nable kebenaran junior alamat) strob output bahagian bawah alamat pada port P0. Output juga digunakan semasa memprogramkan EPROM, manakala nadi strob dibekalkan kepadanya.

MK mengandungi empat kumpulan port: P0, P1, P2, dan P3. Ini adalah baki 40 pin mikropengawal. Port ini boleh berfungsi untuk maklumat I / O sedikit demi sedikit, tetapi selain daripada ini, setiap daripadanya mempunyai pengkhususan tersendiri. Gambar rajah fungsi umum port ditunjukkan dalam Rajah. 3.3. Port mengandungi suis FET keluaran yang disambungkan ke pin, suis fungsi, selak pada D-flip-flop, dan logik kawalan. Selak pada bas dalaman MK boleh ditulis satu atau sifar. Maklumat ini melalui suis fungsi ke kekunci output dan pin MK. Dalam keadaan satu, kedua-dua transistor N dan N1 dimatikan, tetapi N2 dihidupkan. Dalam keadaan sifar, N terbuka

Xia, dan N2 ditutup. Pada masa port melaksanakan fungsi alternatif yang dikhususkan, keadaan pin dilepaskan. Mikropengawal boleh membaca secara berasingan keadaan selak port dan keadaan outputnya, yang ditetapkan oleh isyarat luaran. Untuk ini dalam pemasang MK terdapat arahan khas yang mengaktifkan baris yang sepadan. Untuk membaca keadaan pin, selak port yang sepadan mesti

dirakam terlebih dahulu

Dari dalaman

Kawalan selak

Pemilih fungsi

Vcc

Hujung minggu

unit. Apabila garisan "baca selak" diaktifkan pada output sel "DAN" yang mana talian ini disambungkan,

ia memenatkan MK D Q

Selak tulis C Q

Membaca selak

Pin port

keadaan selak, yang dibekalkan kepada bas MC dalaman, apabila diaktifkan

"Baca output" - keadaan output luaran port.

Pelabuhan P0 - port dua arah universal

input-output. Di seberang pelabuhan ini

fungsi menganjurkan bas alamat luar dan

nasi. 3.3. Gambar rajah fungsi port mikropengawal

data untuk mengembangkan memori program dan memori data

pengawal mikro. Apabila terdapat akses kepada memori program luaran atau arahan untuk mengakses memori data luaran dilaksanakan, bahagian tertib rendah alamat (A0 ... A7) ditetapkan pada pin port, yang berpagar tinggi pada pin ALE . Kemudian, apabila menulis ke memori data, maklumat yang direkodkan dari bas dalaman MK datang ke pin port P0. Dalam operasi baca, sebaliknya, maklumat daripada pin port pergi ke bas dalaman. Satu ciri port P0 ialah ketiadaan transistor "pull-up" N2, yang memberikan kuasa kepada output. Menulis pada selak port unit hanya meletakkannya dalam keadaan impedans tinggi, yang diperlukan untuk operasi bas data biasa. Jika perlu untuk menghidupkan mana-mana peranti luaran melalui output, anda harus menyediakan perintang luaran dari litar bekalan kuasa ke output port.

Pelabuhan Р1 - port I / O dua arah universal tanpa fungsi alternatif.

Pelabuhan P2 - port I / O dua hala universal, sebagai fungsi alternatif, melaksanakan pengeluaran bahagian kanan alamat (A8 ... A15) apabila mengakses memori luaran.

Pelabuhan P3 - port input-output dua arah universal, setiap bitnya menyediakan untuk pelaksanaan pelbagai fungsi alternatif. Dalam kes ini, fungsi alternatif dilaksanakan hanya jika ia ditulis pada selak pin port, jika tidak, pelaksanaan fungsi alternatif disekat. Mari kita senaraikan secara berasingan untuk setiap bit:

P3.0 RxD (R ead e X kekal D makan, baca data luaran) - input transceiver bersiri terbina dalam.

P3.1 TxD (T ype e X kekal D makan, hantar data luaran) - output transceiver bersiri terbina dalam.

P3.2 INT0` (INT errupt, interrupt) - input gangguan luaran 0.

P3.3 INT1` - input gangguan luaran 1.

P3.4 C / T0 - input pemasa / kaunter terbina dalam sifar.

P3.5 C / T1 - input pemasa / kaunter terbina dalam pertama.

P3.6 WR` (W ritus, tulis) - mengawal output kitaran tulis dalam ingatan data.

P3.7 RD` (R ead, baca) - mengawal output kitaran baca daripada memori data.

Pin port P1, P2 dan P3 mampu menghantar arus kira-kira 0.2 mA dalam satu unit dan menerima arus 3 mA pada sifar, pin port P0 lebih berkuasa dan mampu menghantar arus kira-kira 0.8 mA seunit dan menerima arus 5 mA pada sifar. Maklumat ringkas tentang tujuan pin mikropengawal diberikan dalam jadual 3.6.

Jadual 3.6.

Jawatan

Pin tugasan

Port dua arah 8-bit P1. Alamat input A0-A7 apabila menyemak ROM dalaman (EPROM)

masuk keluar

Isyarat tetapan semula umum. Output kuasa RAM sandaran daripada sumber luaran (untuk 1816)

Port P3 dwi-arah 8-bit dengan fungsi tambahan

masuk keluar

Data Bersiri Penerima - RxD

Data Bersiri Pemancar - TxD

Input gangguan luaran 0- INT0`

Input gangguan luaran 1-INT1`

Input Pemasa / Kaunter 0: - T0

Pemasa / Kaunter 1 Input: - T1

Output isyarat strob apabila menulis ke memori data luaran: - WR`

Output isyarat strob apabila membaca daripada memori data luaran - RD`

Lead untuk menyambungkan resonator kuarza.

pintu masuk keluar

Kesimpulan umum

Port P2 dua arah 8-bit. Alamat output A8-A15 dalam mod operasi dengan memori luaran. Dalam mod semakan ROM dalaman, pin P2.0 - P2.6 digunakan sebagai input alamat A8-A14. Kesimpulan P2.7 - kebenaran untuk membaca ROM.

masuk keluar

Resolusi memori program

Isyarat keluaran penyekatan alamat membolehkan. Apabila pengaturcaraan isyarat EPROM: PROG

masuk keluar

Menyekat kerja dengan memori dalaman. Apabila memprogramkan EPROM, isyarat UPR diberikan

masuk keluar

Port P0 dwiarah 8-bit. Alamat / bas data r berfungsi dengan memori luaran. Output data D7-D0 dalam mod menyemak ROM dalaman (EPROM).

masuk keluar

Output kuasa daripada + sumber voltan 5V

Asas mikropengawal (lihat Rajah 1) ialah Unit Aritmetik-Logik (ALU) 8-bit. Memori MK mempunyai seni bina Harvard, i.e. secara logik dibahagikan: ke dalam memori program - PP (dalaman atau luaran), ditangani oleh pembilang arahan (SC) 16-bit dan memori data - dalaman (Memori data pemastautin - RPD) 128 (atau 256) bait, serta luaran (Luaran). memori data - VPD) sehingga 64 KB. Secara fizikal, memori program dilaksanakan pada ROM (baca sahaja), dan memori data - pada RAM (data boleh ditulis dan dibaca).

Penerimaan dan penghantaran isyarat luaran dijalankan melalui 4 port lapan-bit P0..P3. Apabila mengakses memori program luaran (EPM) atau memori data (EPM), port P0 dan P2 digunakan sebagai alamat luar berganda / bas data. Talian port P3 juga boleh melaksanakan fungsi alternatif (lihat Jadual 1).

Daftar DPTR 16-bit membentuk alamat VFD atau alamat asas Memori Program dalam arahan penukaran Accumulator. Daftar DPTR juga boleh digunakan sebagai dua daftar 8-bit bebas (DPL dan DPH) untuk menyimpan operan.

Daftar arahan dalaman 8-bit (RK) menerima kod arahan yang sedang dilaksanakan; kod ini dinyahkod oleh litar kawalan, yang menjana isyarat kawalan (lihat Rajah 1).

Merujuk kepada daftar fungsi khas - RSF (SFR - dalam Rajah 1 ia dibulatkan dengan garis putus-putus) hanya boleh dilakukan dengan menggunakan pengalamatan bait langsung dalam julat alamat dari 128 (80j) dan banyak lagi.


Memori data pemastautin (RPM) dalam model pertama mikropengawal MCS-51 mempunyai volum 128 bait. 32 bait RPD terendah juga merupakan daftar tujuan umum - RON (4 bank daripada 8 RON). Program ini boleh menangani salah satu daripada 8 RON bank aktif. Pemilihan bank RON aktif dijalankan dengan memprogramkan dua bit dalam daftar status pemproses - PSW.


Jadual 1 - Tujuan pin MCS-51

Pin no. Jawatan Temujanji
1..8 Р1 Port input / output kuasi dua arah 8-bit
9 RST

Tetapkan semula isyarat (tahap aktif - tinggi);

Isyarat RST padam: PC dan kebanyakan Daftar Fungsi Khas (SFR), melumpuhkan semua gangguan dan operasi pemasa; memilih RON Bank 0; menulis "semuanya" ke port P0_P3, menyediakannya untuk input; menulis kod 07H ke penuding tindanan (SP);

10..17

Port input / output kuasi dua arah 8-bit; selepas menulis ke kategori "1" yang sepadan - melaksanakan fungsi tambahan (alternatif):

Input port bersiri - RxD;

Output port bersiri - TxD;

Input gangguan luaran 0 - ~ INT0;

Input gangguan luaran 1 - ~ INT1;

Input pemasa / pembilang 0 - T0;

Input pemasa / pembilang 1 - T1;

Keluaran strob. isyarat apabila menulis kepada VPD - ~ WR;

Keluaran strob. isyarat apabila membaca daripada VPD - ~ RD;

18, 19 X1, X2 Plumbum untuk menyambungkan resonator kuarza atau litar LC;
20 GND Kesimpulan umum;
21..28 P2 Port input / output kuasi dua arah 8-bit; atau output alamat A dalam mod operasi dengan memori luaran (VFP atau VFD);
29 PME Strob membaca Memori Program Luaran, dikeluarkan hanya apabila mengakses ROM luaran;
30 Ale Strob alamat memori luaran (VPP atau VPD);
31 EA Mematikan RPP, tahap "0" pada input ini memindahkan MC ke pilihan arahan hanya dari landasan ;
39..32 P0 Port input / output dua arah 8-bit; apabila mengakses Memori Luaran, ia mengeluarkan alamat A (yang ditulis ke daftar luaran oleh isyarat ALE), dan kemudian menukar bait secara serentak dengan isyarat ~ PME (untuk arahan) atau ~ WR, ~ RD (untuk data dalam VFD ), apabila mengakses Memori Luaran semua unit ditulis ke daftar port P0, memusnahkan maklumat yang disimpan di sana;
40 Ucc Output voltan bekalan

Penukaran bank RON memudahkan pelaksanaan subrutin dan pengendalian gangguan, kerana tidak perlu menolak kandungan RON program utama ke dalam timbunan apabila memanggil subrutin (cukup untuk berpindah ke bank RON aktif lain dalam subrutin).

Akses kepada RPD boleh dilakukan menggunakan pengalamatan bait tidak langsung atau langsung (pengalamatan bait langsung membenarkan mengakses hanya 128 bait pertama RPD).

Kawasan RPD lanjutan (untuk mikropengawal keluarga MCS-52 dan keluarga berikutnya) dari alamat 128 (80j) hingga 255 (FFh) hanya boleh ditangani menggunakan kaedah pengalamatan tidak langsung.

Jadual 2 - Blok Daftar Fungsi Khas (s f r)

Kod mnemo nama
0E0j * ACC Bateri
0F0j * B Daftar pengembang bateri
0H0j * PSW Kata Status Pemproses
0B0j * P3 Pelabuhan 3
0A0j * P2 Pelabuhan 2
90j * P1 Pelabuhan 1
80j * P0 Pelabuhan 0
0B8j * IP Daftar Keutamaan Gangguan
0A8j * IE Gangguan daftar topeng
99j SBUF Penampan transceiver bersiri
98j * SCON Kawalan Port Bersiri / Daftar Status
89j TMOD Daftar Pemasa / Mod Kaunter
88j * TCON Pemasa / kawalan kaunter / daftar status
8Dh TH1 Pemasa 1 (bait tinggi)
8Bh TL1 Pemasa 1 (Bait Rendah)
8Ch TH0 Pemasa 0 (bait tinggi)
8Ah TL0 Pemasa 0 (bait rendah)
83j DPH Daftar Penunjuk Data (DPTR) (Bait Tinggi)
82j DPL Daftar Penunjuk Data (DPTR) (Bait Rendah)
81j SP Daftar penuding tindanan
87j PCON Daftar kawalan penggunaan kuasa

2. MODEL PERISIAN MCS – 51


JENIS PERINTAH MCS – 51

Hampir separuh daripada arahan dilaksanakan dalam 1 kitaran mesin (MC). Dengan frekuensi pengayun kristal 12 MHz, masa pelaksanaan arahan sedemikian ialah 1 μs. Selebihnya arahan dilaksanakan dalam 2 kitaran mesin, i.e. untuk 2μs. Hanya arahan untuk darab (MUL) dan bahagi (DIV) dilaksanakan dalam 4 kitaran mesin.

Semasa satu kitaran mesin, terdapat dua panggilan ke Memori Program (dalaman atau luaran) untuk membaca dua bait arahan atau satu akses kepada Memori Data Luaran (EPM).

3. KAEDAH (KAEDAH) MENGATASI MCS-51

1. MENGALAMI DAFTAR - operan 8-bit berada dalam RON bank daftar (aktif) terpilih;

2 ALAMAT TERUS (ditandakan dengan - #) - operan berada dalam bait kedua (dan untuk operan 16-bit dan dalam yang ketiga) perintah;

3 ALAMAT TIDAK LANGSUNG (ditandakan dengan - @) - operan berada dalam Memori Data (RPD atau VPD), dan alamat sel memori terkandung dalam salah satu RON pengalamatan tidak langsung (R0 atau R1); dalam arahan PUSH dan POP, alamat terkandung dalam penuding tindanan SP; daftar DPTR boleh mengandungi alamat IPT sehingga 64K;

4 ALAMAT BYTE LANGSUNG - (dir) - digunakan untuk mengakses sel RPD (alamat 00j… 7Fh) dan ke daftar fungsi khas SFR (alamat 80j… 0FFh);

5 ALAMAT BIT TERUS - (bit) - digunakan untuk merujuk kepada 128 bit yang boleh dialamatkan secara berasingan yang terletak dalam sel RPD pada alamat 20H ... 2FH dan kepada bit yang boleh dialamatkan secara berasingan bagi daftar fungsi khas (lihat Jadual 3 dan model program);

6 ALAMAT INDEKS TIDAK LANGSUNG (ditandakan dengan - @) - memudahkan melihat jadual dalam Memori Program, alamat PP ditentukan oleh jumlah daftar asas (PC atau DPTR) dan daftar indeks (Akumulator);

7 ALAMAT IMPAK (TERBINA DALAM) - kod arahan mengandungi rujukan tersirat (secara lalai) kepada salah satu operan (paling kerap kepada Bateri).

4. FORMAT PERKATAAN NEGERI PEMPROSES (PSW)

C - Membawa bendera (CARY) atau meminjam, juga berfungsi sebagai "Boolean Accumulator" dalam arahan yang beroperasi pada bit;

AC - bendera pembawa tambahan (tambahan) - tetapkan kepada "1" jika dalam arahan tambahan (ADD, ADDC) terdapat pemindahan dari nibble bawah ke yang lebih tinggi (iaitu, dari bit ke-3 ke bit ke-4);

F0 - bendera pengguna - ditetapkan, dikosongkan dan disemak secara pemrograman;

RS1 RS0 Bank Alamat (dir)
0 0 0 00j..07j
0 1 1 08j..0Fh
1 0 2 10j..17j
1 1 3 18j..1Fh

RS1, RS0 - Pilih bank daftar:

OV - Bendera limpahan aritmetik; nilainya ditentukan oleh operasi "Eksklusif ATAU" bagi isyarat input dan output yang membawa bit paling ketara ALU; nilai tunggal bendera ini menunjukkan bahawa hasil operasi aritmetik dalam kod pelengkap dua adalah di luar julat: –128 ... + 127; apabila melakukan operasi pembahagian, bendera OV dikosongkan, dan dalam kes pembahagian dengan sifar, ia ditetapkan; apabila mendarab, bendera OV ditetapkan jika keputusan lebih besar daripada 255 (0FFH);

Bit PSW - Terpelihara, mengandungi flip-flop, tersedia untuk ditulis atau dibaca;

P - bendera pariti - ialah pelengkap bilangan bit tunggal dalam penumpuk kepada genap; dibentuk oleh litar gabungan (perisian hanya tersedia dengan membaca).

Tiada bendera "Z" dalam mikropengawal MCS-51. Tetapi dalam arahan lompat bersyarat (JZ, JNZ), kandungan semasa (sifar atau bukan sifar) Accumulator disemak oleh litar gabungan.

Semua arahan untuk memindahkan dan menukar operan boleh dijalankan melalui Bateri (lihat Rajah 3). Selain itu, pemindahan dari / ke Memori Luaran (Memori Program atau Memori Data) boleh dilakukan hanya melalui Bateri.

Kebanyakan pemindahan juga boleh dilakukan melalui bait alamat terus (dir). Malah terdapat dir-dir hadapan (lihat Rajah 3).

Pemindahan yang hilang dari RON ke RON boleh dilaksanakan sebagai pemindahan dari RON ke dir bait yang boleh dialamatkan secara langsung (dengan mengambil kira bahawa RON terletak di kawasan awal Memori Data Residen, yang sel-selnya boleh dialamatkan sebagai dir).

Arahan pertukaran XCH membenarkan pemindahan bait tanpa memusnahkan kedua-dua operan.

Perintah aritmetik hanya dilaksanakan dalam Accumulator. Oleh itu, operan pertama mesti terlebih dahulu diletakkan di dalam Accumulator dan kemudian tambah atau tolak operan kedua. Hasilnya diletakkan di dalam Bateri.


Perintah tolak SUBB dilakukan hanya dengan meminjam (iaitu, bendera Сary juga ditolak daripada hasilnya). Oleh itu, untuk melaksanakan perintah penolakan tanpa meminjam, anda mesti terlebih dahulu melaksanakan arahan untuk mengosongkan bendera C (CLRC).

Arahan untuk mendarab operan bait tunggal - MULAB - meletakkan hasil dua bait (16 bit): bait rendah - dalam Bateri, bait tinggi - dalam daftar B.

Hasil daripada melaksanakan perintah untuk membahagikan operan bait tunggal - DIVAB - diletakkan: hasil bagi - a Akumulator, selebihnya - ke dalam daftar B.

Arahan aritmetik INC menambah satu pada operan yang dipilih. Arahan aritmetik DEC menolak satu daripada operan yang dipilih. Perintah Pembetulan Akumulator Perpuluhan (DAA) membantu anda menambah nombor perduaan-perpuluhan (nombor BCD) tanpa menukarnya kepada format perenambelasan (format heks). Operan asal mestilah dalam format BCD, i.e. setiap tetrad satu bait hanya mengandungi nombor dari 0 hingga 9 (tidak boleh ada nombor perenambelasan: A, B, C, D, E, F). Oleh itu, satu bait boleh mengandungi nombor dari 00 hingga 99 untuk nombor BCD yang dibungkus, atau nombor dari 0 hingga 9 untuk nombor BCD yang tidak dibungkus.

Arahan pembetulan perpuluhan DA A - melakukan tindakan pada kandungan Accumulator selepas menambah nombor BCD dalam pemproses (nombor telah ditambah mengikut undang-undang aritmetik perenambelasan) seperti berikut (lihat contoh):

· Jika kandungan nibble terendah Accumulator adalah lebih besar daripada 9 atau bendera pembawa tambahan ditetapkan (AC = 1), maka 6 ditambah kepada kandungan Accumulator (iaitu enam digit yang hilang dalam format hex);

· Jika selepas itu kandungan nibble tinggi Accumulator lebih besar daripada 9 atau bendera C ditetapkan, maka nombor 6 ditambah kepada nibble tinggi Accumulator.

Perintah pembetulan perpuluhan DA A tidak digunakan selepas arahan kenaikan (INC) kerana arahan kenaikan tidak menjejaskan (menukar) bendera C dan AC.

Perintah logik:

Logik "DAN" - ANL,

Logik "ATAU" - ORL,

Arahan logik "EKSKLUSIF ATAU" - XRL– dilaksanakan dalam Accumulator (serta aritmetik), tetapi adalah mungkin untuk melaksanakan perintah logik juga dalam bait boleh alamat langsung (dir). Dalam kes ini, operan kedua boleh:

Dalam Bateri atau

Operan segera dalam arahan.

Arahan putaran (RR A, RL A) dan arahan putaran melalui bendera CARY (RRC A, RLC A) mengalihkan kandungan Accumulator secara kitaran sebanyak 1 bit. Rujukan peranti bit dijalankan hanya melalui bendera C.

Kementerian Pendidikan Am dan Profesional Persekutuan Rusia Universiti Teknikal Negeri Novosibirsk V.N. Veprik, V.A. Afanasyev, A.I. Druzhinin, A.A. Zemskov, A.R. Isaev, O.V. Malyavko PENGAWAL MIKRO KELUARGA MCS-51 Buku teks untuk kursus "Sistem mikropemproses" dan "Reka bentuk sistem mikropemproses" untuk pelajar senior Fakulti Automasi dan Kejuruteraan Komputer semua bentuk pendidikan Novosibirsk 1997 V.N. Veprik, V.A. Afanasyev, A.I. Druzhinin, A.A. Zemskov, A.R. Isaev, O.V. Malyavko. Mikropengawal Keluarga MCS-51: Tutorial. - Novosibirsk. Tutorial ini mengandungi penerangan umum tentang seni bina, kefungsian dan set arahan bagi keluarga MCS-51 mikropengawal cip tunggal (Mikropengawal Terbenam) yang dikeluarkan oleh INTEL. Bahagian kedua manual memberikan penerangan tentang pengawal mikropemproses pendidikan UMPK-51, yang ditawarkan kepada pelajar sebagai objek penyelidikan apabila melakukan kitaran kerja makmal. Bahan manual boleh digunakan dalam reka bentuk kerja kursus dan diploma, dan juga boleh berguna untuk jurutera litar yang terlibat dalam pembangunan dan pengendalian peralatan elektronik. Penulis merakamkan ucapan terima kasih yang mendalam kepada AOZT "Teknologi Baru" - pengedar rasmi INTEL kerana menyediakan bahan berdasarkan kerja ini dilakukan. Jadual 15, rajah 25, senarai huruf. 12 tajuk Pengulas: E.D. Baran, G.G. Matushkin. Kerja itu disediakan di Jabatan Sains Komputer, Novosibirsk State © Technical University 2 PENGENALAN. Keluarga MCS-51 mikropengawal cip tunggal 8-bit muncul di pasaran dunia pada awal tahun lapan puluhan. Pengubahsuaian pertama kristal (kira-kira 7) dibuat menggunakan teknologi n-MOS (HMOS) berkualiti tinggi dan berfungsi sebagai mikrokomputer cip tunggal yang lengkap dari seni bina Harvard, salah satu prinsip utamanya ialah pemisahan logik alamat. ruang memori program dan data. Dengan perkembangan teknologi semikonduktor, versi litar mikro MCS-51 seterusnya mula dihasilkan menggunakan teknologi CMOS (CHMOS) yang lebih maju dan berkuasa rendah (dalam mod aktif, penggunaan kristal dibawa ke 10-50 mA). Sistem arahan MCS-51, memfokuskan pada pelaksanaan pelbagai algoritma kawalan digital, sambil mengekalkan beberapa persamaan luaran dengan sistem arahan keluarga MCS-48 sebelumnya, telah berkembang secara kualitatif, inovasi asas telah muncul di dalamnya: operasi berorientasikan bit dan medan bit boleh dialamatkan dalam memori data, yang memungkinkan untuk bercakap tentang pelaksanaan pemproses bit pada cip; Melaksanakan perintah darab, bahagi dan tolak; kerja yang lebih baik dengan timbunan; kumpulan arahan pemindahan kawalan telah diperluaskan; Sistem arahan mula kelihatan lebih simetri, iaitu kurang bergantung kepada pemindahan data melalui bateri. Kefungsian perkakasan on-board juga telah diperluaskan dengan pengenalan: dua pemasa / pembilang 16-bit; port dupleks siri perkakasan; sistem gangguan dua peringkat; empat port I / O 8-bit. Perubahan asas dalam struktur kitaran masa pemproses telah membawa kepada pecutan kerja dengan memori luaran program dan data, serta tindak balas terhadap gangguan luaran dan dalaman. Jumlah saiz ruang alamat program luaran dan memori data telah meningkat kepada 128 KB. Daftar Pembilang Program dan Penunjuk Data 16-bit membenarkan akses terus ke seluruh julat alamat, yang memberikan pembangun keupayaan untuk melaksanakan algoritma untuk pemprosesan pantas tatasusunan data yang besar. Semua nod mikropengawal yang boleh diakses oleh perisian telah disatukan dalam kawasan khas memori data (Daftar Fungsi Khas), yang memungkinkan untuk mengaksesnya dengan cara yang hampir sama seperti sel biasa RAM pemastautin. Dalam pengubahsuaian kristal yang kemudian, penambahbaikan berjalan seiring dengan peningkatan fungsi tambahan sambil mengekalkan keserasian perisian penuh dengan versi terdahulu. Ciri-ciri pengubahsuaian terkini mikropengawal MCS-51 ialah: reka bentuk statik sepenuhnya; versi kristal 3- dan 5 volt; pelbagai peranti peranti terbina dalam; kekerapan jam maksimum - 24 MHz; untuk kumpulan individu kristal - 33 MHz. Pada masa ini, MCS-51 termasuk kira-kira 60 versi kristal, di samping itu, terdapat dan tersedia dokumentasi proprietari terperinci (malangnya, setakat ini sedikit diterjemahkan ke dalam bahasa Rusia). Untuk menyediakan perisian untuk mikropengawal MCS-51, bahasa "ASM-51" dan "C" digunakan terutamanya, yang mana terdapat beberapa penyusun yang telah terbukti dengan baik, perpustakaan subrutin standard dan emulator perisian yang dihasilkan oleh pelbagai asing. dan syarikat domestik. 3 Walaupun "kuno" keluarga yang mencukupi (lebih daripada 15 tahun) dan penampilan di pasaran dunia dalam beberapa tahun kebelakangan ini mikropengawal cip tunggal yang berprestasi tinggi dan seni bina yang lebih baik - MCS-51, MCS-251, MCS-96, Pengawal MCS-51 akan digunakan secara meluas dalam sistem kawalan terbenam yang agak mudah. 4 1. SISTEM PENENTUKAN KOMPONEN OLEH INTEL DAN KOMPOSISI FUNGSI KELUARGA MCS-51 Untuk menandakan litar mikro oleh INTEL, sistem penetapan beberapa medan digunakan: 1 2 3 4 ХХ ХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХХ, pertama yang pertama digunakan untuk satu medan Automotif: , versi automotif untuk julat suhu lanjutan (-40 / + 125 C) M (Ketenteraan), versi mengikut piawaian ketenteraan (-55 / + 125 C) Q atau C (Komersial), julat suhu "komersial" (0 / + 70 C) ) s (160 8) - satu jam latihan haba dinamik; L atau E (Dilanjutkan), julat suhu "dilanjutkan" (-40 / + 85 C) dengan (160 8) - latihan haba dinamik jam; Т (Dilanjutkan), julat suhu "dilanjutkan" (-40 / + 85 С) tanpa latihan haba; I (Industri), pelaksanaan mengikut piawaian industri. Medan kedua mengandungi awalan satu atau dua huruf yang menunjukkan jenis pakej litar mikro (Jenis Pakej). Terdapat beberapa dozen jenis pakej litar mikro yang berbeza hari ini, oleh itu, sebagai contoh, kami hanya akan memberikan beberapa sebutan: A Ceramic Pin Grid Array, (PGA); C Ceramic Dual In-Line Package, (CDIP); Pakej Flatpack Empat Seramik K, (QFP); Pakej KD Plastic Quad Flatpack, Fine Pitch, Die Down, (PQFP); Pakej Pek Leper Empat Plastik KU, Fine Pitch, Die Up, (PQFP); Pembawa Cip Plumbum Plastik N, (PLCC); Pakej Dwi Talian Plastik P, (PDIP); Modul Memori Tanpa Plumbum Sebaris SM Tunggal, (SIMM); Pakej Dwi Talian Plastik U, Rendam Kecil, (PDIPS); Pakej Dalam Talian Z Zigzag, (ZIP). Medan ketiga boleh mengandungi sehingga 15 aksara angka dan abjad yang menunjukkan jenis peranti tertentu yang terdapat pada cip. Medan keempat boleh termasuk sehingga enam aksara angka dan abjad, mencerminkan pelbagai ciri dan versi litar mikro. Maklumat tambahan tentang jenis pakej dan reka bentuknya boleh didapati dalam buku: Nombor Pesanan Pembungkusan 240800. Berkenaan dengan mikropengawal yang diterangkan bagi keluarga MCS-51, aksara pertama medan ketiga secara tradisinya (untuk Intel) sama dengan "8". Watak kedua medan ketiga biasanya menunjukkan jenis ROM terbina dalam: 0 ROM bertopeng program; kristal tanpa ROM (untuk versi kristal yang lebih baru); 1 ROM topeng program (Kod ROM Standard, Perisian Tegar); 3 mask ROM (untuk versi kristal kemudian), (Kod ROM Boleh Disesuaikan); 7 UVROM atau ROM boleh atur cara sekali (EPROM atau OTP ROM); 8 EEPROM (Denyar - memori pada cip) Selanjutnya, sepucuk surat mungkin mengikuti, menunjukkan ciri teknologi pembuatan: tiada teknologi HMOS huruf, bekalan kuasa 5V; Dengan teknologi CHMOS, bekalan kuasa 5V; L teknologi CHMOS, bekalan kuasa 3V; 5 Aksara seterusnya bagi medan ketiga untuk mikropengawal MCS-51 ialah nombor (contohnya, 31,32,51,54,58,152) dan daripada satu hingga empat huruf, yang mencerminkan ciri fungsi kristal (contohnya, saiz ROM , spesifik sekumpulan kristal, perlindungan ketersediaan sistem memori program daripada capaian yang tidak dibenarkan, keupayaan untuk menggunakan algoritma pengaturcaraan yang lebih maju "Nadi Cepat" dan seumpamanya). Dalam dokumentasi teknikal asal Intel, semua mikropengawal MCS-51 disusun dalam kumpulan ("Barisan Produk"), yang setiap satunya menyatukan versi kristal yang paling hampir dalam fungsi dan parameter elektriknya. Oleh kerana nama litar mikro satu kumpulan berbeza sedikit, untuk menetapkan setiap kumpulan individu, simbolisme umum digunakan, dibentuk daripada penandaan litar mikro tertentu, dengan menggantikan aksara yang berbeza dengan "X". Oleh itu, kumpulan mikropengawal berikut boleh dibezakan. 1. Kumpulan 8Х5Х (Barisan Produk 8051 dan Barisan Produk 8052): 8031АН, 8051АН, 8751Н, 8051АНР, 8751Н-8, 8751ВН, 8032АН, 8051АН, 8751Н, 8051АНР, 8751Н-8, 8751ВН, 8032АН, 8032АН, 52А 2. Kumpulan 8ХС51 (80С51 Barisan Produk): 80С31ВН, 80С51ВН, 87С51. 3. Kumpulan 8ХС5Х (8ХС52 / 54/58 Barisan Produk): 80С32, 80С52, 87С52, 80С54, 87С54, 80С58, 87С58. 4. Kumpulan 8XC51FX (8XC51FA / FB / FC Barisan Produk): 80C51FA, 83C51FA, 87C51FA, 83C51FB, 87C51FB, 83C51FC, 87C51FC. 5. Kumpulan 8ХL5X (8XL52 / 54/58 Barisan Produk): 80L52, 87L52, 80L54, 87L54, 80L58, 87L58. 6. Kumpulan 8XL51FX (Barisan Produk 8XL51FA / FB / FC): 80L51FA, 83L51FA, 87L51FA, 83L51FB, 87L51FB, 83L51FC, 87L51FC. 7. Kumpulan 8XC51RX (8XC51RA / RB / RC Barisan Produk): 80C51RA, 83C51RA, 87C51RA, 83C51RB, 87C51RB, 83C51RC, 87C51RC. 8. Kumpulan 8XC51GB (8XC51GX Barisan Produk): 80C51GB, 83C51GB, 87C51GB. 9. Kumpulan 8XC152JX (8XC152 Barisan Produk): 80C152JA, 83C152JA, 80C152JB, 80C152JC, 83C152JC, 80C152JD. 10. Kumpulan 8XC51SL (Barisan Produk 8XC51SL): 80C51SL-BG, 81C51SL-BG, 83C51SL-BG, 80C51-AH, 81C51SL-AH, 83C51SL-AH, 87C51SL- AH, 80C51SL- AH, 80C51SL-BG, 80C51-AH, 81C51SL-AH, 83C51SL-AH, 87C51SL- AH, 80ALC51SL-AH, 80ALC51SL-51, SL8LC51ALC8 . Kumpulan pertama mikropengawal termasuk model junior keluarga, dibuat menggunakan teknologi n-MOS dan tidak disyorkan untuk digunakan dalam reka bentuk baharu, semua kumpulan lain dibuat menggunakan teknologi CMOS moden. Litar mikro kumpulan kedua, ketiga dan keempat kini merupakan wakil klasik keluarga MCS-51. Kumpulan kelima dan keenam termasuk versi kristal 3-volt (Voltan Rendah). Kristal kumpulan ketujuh dilengkapi dengan RAM yang diperluas (Expanded RAM), yang jumlahnya ialah 512 bait. Litar mikro kumpulan kelapan, kesembilan dan kesepuluh ialah mikropengawal khusus aplikasi (Application Specific). Banyak aplikasi moden memerlukan MCU berprestasi tinggi yang menggunakan keupayaan pengalamatan lanjutan, seni bina daftar, sejumlah besar RAM dalaman dan tindanan, dan menyokong pengaturcaraan peringkat tinggi dengan cekap. Pengawal mikro ini termasuk mikropengawal Senibina Baru MCS-5 dan MCS-251, yang mana Intel memulakan pengeluaran pada tahun 1995. Komposisi fungsian dan ciri utama mikropengawal MCS-51 / MCS-251 diberikan dalam lampiran. 6 2. CIRI-CIRI ASAS MODEL ASAS KELUARGA PENGAWAL MIKRO MCS-51. Model asas keluarga mikropengawal MCS-51 dan asas untuk semua pengubahsuaian seterusnya ialah mikropengawal I-8051. Ciri-ciri utamanya adalah seperti berikut: CPU lapan-bit yang dioptimumkan untuk fungsi kawalan; penjana jam terbina dalam; ruang alamat memori program - 64 K; ruang alamat memori data - 64 K; memori program dalaman - 4K; memori data dalaman - 128 bait; kemungkinan tambahan untuk melaksanakan operasi algebra Boolean (operasi bitwise); 32 baris I / O dua arah dan boleh dialamatkan secara individu; 2 pemasa / pembilang pelbagai fungsi enam belas bit; transceiver tak segerak dupleks penuh; sistem gangguan vektor dengan dua tahap keutamaan dan enam sumber peristiwa. Rajah blok I-8051 ditunjukkan dalam Rajah 1, penetapan pin litar mikro ditunjukkan dalam Rajah 2. Gangguan luaran Mengganggu 128 bait T / C 0 pembilang Kawalan ROM 4K RAM T / C 1 input BUS CPU 4 I / O Kawalan OSC Bersiri Port Port P0 P1 P2 P3 T D R D Alamat / Data Rajah 1. Gambar rajah blok I-8051 Keseluruhan siri MCS-51 mempunyai seni bina Harvard, iaitu, ruang alamat yang berasingan untuk ingatan program dan data. Organisasi ingatan ditunjukkan dalam Rajah 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 Luaran): EA = Vcc (voltan bekalan) - akses kepada ROM dalaman; EA = Vss (potensi tanah) - akses kepada ROM luaran. Untuk kristal tanpa ROM (ROMless), pin EA mesti disambungkan secara kekal ke Vss. Strob baca ROM luaran - PS EN (Program Store Enable) dijana apabila mengakses memori program luaran dan tidak aktif apabila mengakses ROM yang terletak pada cip. 7 Kawasan alamat bawah memori program digunakan oleh sistem gangguan, seni bina litar mikro 8051 menyediakan sokongan untuk lima sumber gangguan: dua gangguan luaran; dua gangguan daripada pemasa; sampukan dari port bersiri. 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) TETAPAN SEMULA 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 21 P2.0 (A8) Rajah 2. Penetapan pin bagi memori Program I-8051 (Baca) Memori data (Baca / Tulis) FFFFH ROM Luaran FFFFH Luaran @DPTR RD memori Data PSEN WR @PC MOVC EA = 0 Memori dalaman @DPTR data @PC Luaran dalaman FFH atas 128 SFR MOVX ROM ROM 80H EA = 0 0000H EA = 1 lebih rendah 128 00H 0000H PSEN Rajah 3. MCS-51 Organisasi Memori Keluarga 8 Rajah 4 menunjukkan peta kawasan ingatan program yang lebih rendah. ROM Memori atur cara 0033H 002BH Port Bersiri 0023H Pemasa Vektor1 001BH mengganggu EINT1 0013H Pemasa0 000BH EINT0 0003H Alamat mula 0000H (Tetap Semula) Rajah 4. Memori program Alamat vektor gangguan terletak pada selang 8 bait: - 0003H sampukan luaran 0 (Sampukan Luaran 0) - pin IN T 0; - 000BH sampukan dari pemasa 0 (oleh bendera limpahan pemasa - T F 0); - 0013H gangguan luaran 1 - IN T 1 pin; - 001BH sampukan dari pemasa 1 (oleh bendera limpahan pemasa - T F 1); - 0023H sampukan dari port bersiri (Serial Interrupt = Terima Gangguan atau Hantar Interrupt); dan lain-lain. Memori data adalah berasingan daripada memori program. Pengalamatan RAM luaran 64K mungkin di kawasan ini. Apabila mengakses memori data luaran, CPU mikropengawal menjana isyarat baca (R D) atau tulis (W R) yang sepadan, interaksi dengan memori data dalaman dijalankan pada tahap arahan, manakala isyarat R D dan W R tidak dihasilkan. Memori program luaran dan memori data luaran boleh digabungkan dengan DANing isyarat R D dan PS EN untuk menyediakan strob memori luaran (program / data). 128 bait memori data dalaman yang lebih rendah (lebih rendah 128) terdapat pada semua cetakan MCS-51 dan ditunjukkan dalam Rajah 5. 32 bait pertama mewakili 4 bank (Register Bank) dengan 8 daftar (R7 ... R0). Daftar R0 dan R1 di mana-mana bank boleh digunakan sebagai daftar alamat tidak langsung. 16 bait yang mengikuti bank daftar membentuk blok ruang yang boleh dialamatkan bit. Set arahan MCS-51 mengandungi pelbagai jenis operasi bit, dan 128 bit dalam blok ini boleh ditangani secara langsung dan alamat berjulat dari 00H hingga 7FH. Semua bait dalam separuh bawah 128-bait memori boleh ditangani secara langsung atau tidak langsung. Bahagian atas 128 bait separuh memori RAM (atas 128) tiada dalam cip I-8051, tetapi ia tersedia dalam versi kristal dengan 256 bait RAM. Dalam kes ini, kawasan "Upper 128" hanya tersedia untuk pengalamatan tidak langsung. Kawasan SFR (Daftar Fungsi Khas) hanya tersedia dengan pengalamatan terus. Susunan daftar fungsi khas dalam ruang SFR ditunjukkan dalam Rajah 6. Ini termasuk daftar port, pemasa, kawalan persisian dan sebagainya. 9 Kawasan RAM 7FH Byte-addressable 30H (langsung, tidak langsung) 2FH 7FH 7EH 7DH 7CH 7BH 7AH 79H 78H 2EH 77H 76H 75H 74H 73H 72H 71H 70H RAM byte-addressable 7AH 79H 78H 2EH 77H 76H 75H 74H 73H 72H 71H 70H RAM byte-addressable AH0H8H 2H0H 70H RAM BH0H (AH0H) 04H 03H 02H 01H 00H 1FH RB3 18H 17H RB2 10H 0FH RB1 08H 07H SP selepas TETAPAN SEMULA 00H RB0 (R7 + R0) Rajah 5. Bawah 128 bait RAM dalaman. mengalamatkan bitwise 8 bait 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 IAITU AFH A0H P2 A7H 98H SPHTHBUH 98H P2 A7H 98H SPHTHBUF 98H/SPH0H PC 8 1/9 2 / A 3 / B 4 / C 5 / D 6 / E 7 / F Rajah 6. Penempatan daftar fungsi khas dalam ruang SFR. Untuk 16 alamat dalam ruang SFR, kedua-dua bait dan alamat bit adalah mungkin. Untuk daftar boleh alamat bit, alamat perenambelasan berakhir dengan "0H" atau "8H". Alamat bit di kawasan ini berjulat dari 80H hingga FFH. Keseluruhan siri kristal keluarga MCS-51 mempunyai set asas SFR, seperti dalam litar mikro I-8051, yang terletak di alamat yang sama. Walau bagaimanapun, dalam kristal, yang merupakan perkembangan lanjut keluarga di rantau SFR, daftar baharu ditambah untuk mengembangkan 10

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:

Jenis pengalamatan operan sumber berikut wujud:

  • Daftar tidak langsung menangani dengan jumlah daftar asas dan indeks

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 disertakan dalam 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 Bait mengimbangi bertanda 8-bit
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:
tambahan
penolakan
pendaraban
pembahagian
pendaraban logik (operasi DAN)
penambahan logik (operasi ATAU)
mod tambahan 2 (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
Penambahan AC, C, OV
Bawa lipat AC, C, OV
Pasukan AJMP Peralihan mutlak
Logik "DAN"
Logik "DAN" untuk bit berubah-ubah C
Bandingkan dan lompat jika tidak sama C
Perintah CLR A Tetapan semula bateri
Perintah CLR Membersihkan sedikit C, sedikit
Pasukan CPL A Penyongsangan bateri
Pasukan CPL Penyongsangan bit C, sedikit
Pasukan DA A Pembetulan perpuluhan akumulator untuk penambahan 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
Hantar bait pembolehubah
Hantar sedikit data C
Perintah MOV DPTR, # data16 Muatkan Penunjuk Data Dengan Pemalar 16-Bit
Perintah MOVC A, @ A + ( ) Hantar bait daripada memori program
Hantar data ke memori luaran (dari memori luaran)