Daftarkan Bank dan Peruntukan Memori Tumpukan di Mikrokontroler 8051

Cuba Instrumen Kami Untuk Menghapuskan Masalah





Pengumpulan daftar tujuan umum (R0-R7) disebut sebagai bank daftar, yang menerima satu bait data. Daftar bank adalah sebahagian daripada Memori RAM di tertanam mikrokontroler, dan ia digunakan untuk menyimpan arahan program. Setiap mikrokontroler terdiri daripada pelbagai bank memori, dan setiap daftar bank terdiri dari alamat unik untuk mengenali lokasi penyimpanan.

Daftar Bank pada tahun 8051

Daftar Bank pada tahun 8051

Daftar Bank pada tahun 8051



Pengawal mikro 8051 terdiri daripada empat bank daftar, seperti Bank0, Bank1, Bank2, Bank3 yang dipilih oleh daftar PSW (Program Status Word). Bank daftar ini terdapat dalam memori RAM dalaman 8051 mikrokontroler, dan digunakan untuk memproses data ketika mikrokontroler diprogramkan.


Pertukaran Bank Daftar



Secara lalai, mikrokontroler 8051 diaktifkan dengan bank register 0 dan, dengan menggunakan Program Status Word (PSW), kita dapat beralih ke bank lain. Dua bit PSW digunakan untuk beralih antara bank daftar. Kedua-dua bit ini diakses oleh arahan bit-addressable SETB dan CLR.

Berdasarkan kemungkinan kombinasi RS1 dan RS0 PSW, bank daftar diubah dengan sewajarnya, iaitu, jika RS1 dan RS0 adalah 0, maka Bank 0 dipilih. Begitu juga, Bank1, 2 & 3 dipilih mengikut nilai RS1 dan RS0.

Peruntukan Stack Memory dalam Mikrokontroler 8051

Tumpukan adalah kawasan memori akses rawak (RAM) yang diperuntukkan untuk menyimpan sementara semua parameter pemboleh ubah. Tumpukan juga bertanggung jawab untuk mengingatkan urutan di mana fungsi dipanggil sehingga dapat dikembalikan dengan betul. Setiap kali fungsi dipanggil, parameter dan pemboleh ubah tempatan yang berkaitan dengannya ditambahkan ke tumpukan (PUSH). Ketika fungsi kembali, parameter dan pemboleh ubah dikeluarkan ('POP') dari tumpukan. Inilah sebabnya mengapa ukuran timbunan program terus berubah semasa program dijalankan.


Daftar yang digunakan untuk mengakses tumpukan disebut stack pointer register. Penunjuk tumpukan adalah daftar kecil yang digunakan untuk menunjuk pada timbunan. Apabila kita memasukkan sesuatu ke dalam memori timbunan, penunjuk timbunan meningkat.

Peruntukan Stack Memory dalam Mikrokontroler 8051

Peruntukan Stack Memory dalam Mikrokontroler 8051

Contohnya

Apabila mikrokontroler 8051 dinyalakan, nilai penunjuk tumpukan adalah 07, secara lalai, seperti yang ditunjukkan pada gambar di atas. Sekiranya kita melakukan operasi ‘PUSH’, maka alamat penunjuk tumpukan akan ditingkatkan dan dialihkan ke daftar lain. Untuk mengelakkan masalah ini, sebelum memulai program, kita harus menetapkan lokasi alamat yang berbeda ke pointer stack.

Operasi PUSH

‘PUSH’ digunakan untuk mengambil nilai dari daftar apa pun dan menyimpan di alamat awal penunjuk tumpukan, iaitu, 00 jam dengan menggunakan operasi ‘PUSH’. Dan, untuk ‘PUSH’ seterusnya, kenaikan +1, dan menyimpan nilainya di alamat penunjuk timbunan seterusnya, iaitu, 01h.

PUSH operasi Stack

PUSH operasi Stack

Operasi PUSH bermaksud (First in First out)

Contoh: WAP dalam bahasa pemasangan untuk operasi PUSH

0000h
MOV 08h, # 21h
MOV 09h, # 56h
PUSH 00h
PUSH 01h
TAMAT

Operasi POP

Ini digunakan untuk meletakkan nilai dari alamat maksimum penunjuk tumpukan ke alamat daftar lain. Sekiranya kita menggunakan ‘POP’ ini lagi, maka penurunannya menjadi 1, dan nilai yang disimpan dalam daftar apa pun diberikan sebagai ‘POP’.

Operasi POP di Stack

Operasi POP di Stack

Operasi POP bermaksud ‘Last in First out’.

000H
MOV 00H, # 12H
MOV 01H, # 32H
POP 1FH
POP 0EH
TAMAT

Daftar 8051 Mikrokontroler

Sekiranya kita melakukan operasi sama ada penambahan atau pengurangan, maka operasi ini tidak dapat dilakukan secara langsung dalam memori, dan oleh itu, dilakukan dengan menggunakan register. Terdapat pelbagai jenis mendaftar dalam mikrokontroler 8051 .

Daftar ini dikelaskan kepada dua jenis berdasarkan operasinya:

• Daftar Tujuan Umum

• Daftar Fungsi Khas

Daftar Tujuan Umum

Seperti yang telah kita bahas sebelumnya dalam artikel ini, terdapat empat daftar bank yang berbeza dengan setiap bank memiliki 8 daftar 8-bit yang dapat dialamatkan, dan hanya satu daftar bank yang dapat diakses pada satu waktu. Tetapi, dengan menukar nombor daftar bank di daftar bendera, kita dapat mengakses daftar bank lain, yang telah dibahas sebelumnya dalam makalah ini bersama dengan konsep gangguan pada tahun 8051 .

Daftar Fungsi Khas

Daftar fungsi khas termasuk Akumulator, Daftar B, Penunjuk data, PCON, PSW, dan lain-lain, dirancang untuk tujuan yang telah ditentukan semasa pembuatan dengan alamat 80H hingga FFH, dan kawasan ini tidak dapat digunakan untuk tujuan penyimpanan data atau program. Daftar ini boleh dilaksanakan dengan daftar alamat bit dan alamat bait.

Jenis Daftar Fungsi Khas

8051 terdiri daripada empat daftar fungsi khas yang berkaitan dengan input / output di mana terdapat 32 baris I / O. Daftar fungsi khas mengawal nilai-nilai yang dibaca dari garis I / O dan daftar fungsi khas yang mengawal operasi 8051. Daftar fungsi khas tambahan tidak disambungkan secara langsung ke 8051 - tetapi, sebenarnya, tanpa daftar ini - 8051 tidak dapat beroperasi dengan baik. Set daftar 8051 dijelaskan di bawah.

Daftar set 8051 Mikrokontroler

Menetapkan nilai tetap tetap dalam daftar disebut set daftar. Nilai ditetapkan dalam daftar menggunakan set arahan. 8051 mengikuti arahan CISC dengan seni bina 'Harvard'. The CISC bermaksud komputasi set arahan yang kompleks . Jenis arahan yang berbeza dalam mikrokontroler 8051 termasuk:

  1. Arahan Aritmetik
  2. Arahan Bersyarat
  3. Arahan Panggilan dan Lompat
  4. Arahan Gelung
  5. Arahan Logik
  6. Arahan Bullion

1. Aritmetik arahan

Arahan aritmetik melakukan beberapa operasi asas seperti:

  • Penambahan
  • Penolakan
  • Pendaraban
  • Bahagian
Arahan aritmetik dalam 8051 Mikrokontroler

Arahan aritmetik dalam 8051 Mikrokontroler

Contoh:

a. Tambahan:

Org 0000j
MOV R0, # 03H // pindahkan nilai 3 adalah daftar R0 //
MOV A, # 05H // gerakkan nilai 5 dalam penumpuk A //
Tambahkan A, 00H // nilai penumpuk ‘5’ dengan 0 dan disimpan pada penumpuk //
TAMAT

b. Pengurangan:

Org 0000j
MOV R0, # 03H // pindahkan nilai 3 adalah daftar R0 //
MOV A, # 05H // gerakkan nilai 5 dalam penumpuk A //
SUBB A, 03H // A = 5-3 nilai akhir adalah 2 disimpan dalam Akumulator A //
TAMAT

C. Pendaraban:

Org 0000j
MOV R0, # 03H // pindahkan nilai 3 adalah daftar R0 //
MOV A, # 05H // gerakkan nilai 5 dalam penumpuk A //
MUL A, 03H // A = 5 * 3 nilai akhir adalah 15, disimpan dalam Akumulator A //
TAMAT

D. Bahagian:

Org 0000j
MOV R0, # 03H // pindahkan nilai 3 adalah daftar R0 //
MOV A, # 15H // gerakkan nilai 5 dalam penumpuk A //
DIV A, 03H // A = 15/3 nilai akhir adalah 5 yang disimpan dalam Akumulator A //
TAMAT

2. Arahan Bersyarat

CPU dapat melaksanakan arahan berdasarkan keadaan dengan memeriksa status bit tunggal atau status bait disebut arahan bersyarat seperti:

Untuk menyemak status single-bit dalam daftar bit-addressable

JB- lompat jika di bawah

JNB- lompat jika tidak di atas

Untuk memeriksa status carry bit

JC- lompat jika membawa bendera

JNC-lompat jika tidak membawa

Untuk memeriksa status penumpuk sama ada 0 atau 1

JZ- lompat jika bendera sifar

JNZ- lompat jika tidak sifar

Ini semua mengenai daftar yang ditetapkan dalam mikrokontroler 8051 dan peruntukan memori timbunan mereka. Kami berharap artikel ini dapat memberi anda beberapa pandangan penting mengenai topik tersebut bersama dengan beberapa program yang sangat menarik yang menyertai setiap topik. Anda juga boleh menulis kepada kami untuk mendapatkan sebarang bantuan mengekod mikrokontroler dan juga mengenai projek terkini mengenai mikrokontroler .