Chapter Mikrop PDF
Chapter Mikrop PDF
PENGENALAN
mikropengawal merupakan mikrokomputer dalam satu serpih (cip). Ia terdiri daripada mikroprosessor, ingatan dalaman (ROM/RAM), input output secara siri dan selari, pemasa, pembilang serta periferal-periferal lain. Diantara contoh-contoh serpihan mikropengawal ialah Motorola (M68HC11, M68HC12, M68HC16, M68HC05), Intel (8X51, 8X96, 8X251, 80186), Microchip (PIC 165X, PIC166X, PIC 167X, PIC 16FXX, PIC 18FXX), Atmel, Ziloq dan sebagainya
5/3/2010
M68HC11
5/3/2010
Penumpuk A, B & D Penumpuk A & B adalah penumpuk kegunaan umum yang bersaiz 8 bit. Ia boleh diolah menjadi satu daftar 16 bit atau 2 daftar 8 bit yang berasingan yang mana bole digabungkan menjadi penumpuk 16 bit iaitu penumpuk D (penumpuk A=MSB, B =LSB). Penumpuk ini digunakan untuk menyimpan hasil pengiraan aritmetik dan pengolahan data. Daftar Indeks X & Y Daftar X & Y digunakan sebagai penuding ingatan atau pun input/output dalam pemindahan dan pengolahan data.
5/3/2010
Penunjuk Tindanan (SP) Penunjuk Tindanan (Stack Pointer) digunakan untuk menyimpan alamat RAM yang menunjukkan ke puncak tindanan. Lebar SP adalah 16bit, maka saiz maksimum tindanan = 216 = 64K bait. Pembilang Aturcara (PC) Pembilang aturcara merupakan daftar 16 bit yang menuding kepada suruhan selanjutnya yang perlu dicapai & dilaksanakan serta ditokok secara automatic oleh CPU. PC tidak boleh diubah secara langsung oleh pengaturcara dan hanya boleh diubah oleh suruhan cabang dan lompat secara tidak langsung
EPROM dalaman EPROM dalaman bersaiz 512 bait dan terletak dialamat $B600 - $B7FF. EPROM ini boleh digunakan untuk menyimpan aturcara dan data. RAM dalaman RAM dalaman bersaiz 256 bait dan terletak dialamat $00$FF. RAM ini boleh digunakan untuk menyimpan aturcara sementara dan data-data sebagai tindanan.
5/3/2010
Daftar daftar kawalan Terdapat 64 daftar kawalan di alamat $1000- $103F. Daftar-daftar ini digunakan untuk mengawal operasi peripheral- peripheral dalaman yang terdapat dalam 68HC11 seperti pemasa (timer), input output selari dan sesiri,penukar analog kepada digital (A/D converter) dan sebagainya.
5/3/2010
Bahasa himpunan bagi 68HC11 terdiri daripada satu suruhan yang mengandungi mnemonik dan alamat berkesan dimana mnemonic merupakan suruhansuruhan yang akan menterjemahkan kepada bahasa mesin/kod manakala alamat berkesan merupakan alamat sebenar dimana data akan dibaca/ diambil (punca) atau ditulis /disimpan (destinasi) oleh kod. Contohnya: Mnemonic alamat berkesan LDAA #$56 STAA $1009
Ragam pengalamatan (addressing modes) merupakan cara bagaimana data atau alamat berkesan bagi kendendalian sesuatu suruhan/ arahan ditulis. Ragam pengalamatan yang berbeza membolehkan penulisan sesuatu aturcara ditulis dengan lebih pendek, mudah dibaca, dan mudah dinyahpepijat. Terdapat enam ragam pengalamatan dalam 68HC11 iaitu;
Ragam terdekat ( immediate mode) Ragam ini menggunakan symbol # sebagai awalan pada setiap kendalian dimana kendalian adalah terdiri daripada saru pemalar atau data terdekat sahaja. Contoh: LDAA #16 LDD #$0A
5/3/2010
Ragam tersirat (inherent mode) Ragam ini tidak mempunyai kendalian dan ia hanya terdiri dari opkod sahaja. Contoh: DEX RTS Ragam langsung (direct mode) Ragam ini melibatkan kendalian / alamat berkesan sebayak 8 bit (1 bait) iaitu dalam julat $00-$FF. Ingatan $00-$FF ini dipanggil ingatan halaman sifar (page zero memory). Dalam 68HC11, ingatan ini adalah bersaiz 256 bait (RAM dalaman). Contoh: STAA $66 LDAA $F0
Ragam ini melibatkan kendalian/alamat berkesan sebanyak 16 bit (2 bait) iaitu dalam julat $0000-$FFFF. Contoh: STAA $4444 LDAB $5455 Ragam ini tidak melibatkan alamat berkesan secara lansung dalam sesuatu kendalian dimana alamat berkesan diberikan oleh kandungan daftar indek X atau Y yang ditambah dengan offset (offset = pemalar 8 bit tak bertanda). Contoh: STAA 100,X LDAA $6E,Y
5/3/2010
mini melibatkan alamat berkesan yang bernilai 8 bit bertanda(offset) relatif kepada nilai semasa pembilang aturcara (PC). Biasanya ragam ini digunakan dalam suruhan cabang. Julat offset ialah -128 hingga +127 yang mana suruhan cabang hanya bileh lompat/cabang sejauh 127 bait ke depan atau 128 bait kebelakang dari nilai pembilang aturcara semasa (PC). Bagi suruhan cabang; Offset = alamat destinasi (alamat asal +2)
Terdapat enam kumpulan set suruhan dalam 68HC11 iaitu; Suruhan pindahan data Suruhan aritmetik Suruhan pindahan kawalan Suruhan logik dan pemindahan bit Suruhan anjak dan putar Suruhan pelbagai Setiap suruhan memerlukan masa pelaksanaan. Masa pelaksanaan diberikan dalam unit Kitar Suruhan (cycle) dimana;
5/3/2010
Suruhan pindah data boleh dibahagikan kepada; Suruhan muat (Load) data Suruhan ini digunakankan untuk pindahkan data dari ingatan/input output yang diberikan oleh alamat berkesan (ALB) kedalam daftar atau penumpuk. Mnemonik asas adalah LD (LOAD). Contoh : LDAA ALB - muat penumpuk A dengan data dari ALB LDAB ALB -muat penumpuk B dengan data dari ALB Suruhan simpan (store) data Suruhan ini digunakan untuk simpan data dari daftar atau penumpuk kedalam ingatan atau input output yang diberikan oleh alamat berkesan. Mnemonik asas adalah ST (STORE). Contoh: STAA ALB - simpan penumpuk A ke dalam ALB STAB ALB - simpan penumpuk B ke dalam ALB
5/3/2010
Suruhan simpan dan ambil dari tindanan (push & Pull) Suruhan ini melibatkan pergerakan data dalam penuding tindanan (Stack Pointer). Contoh: PSHA - letak/simpan/tindan 1 bait penumpuk A atas tindanan/ingatan yang ditunjukkan oleh SP PSHB - letak/simpan/tindan 1 bait penumpuk B atas tindanan/ingatan yang ditunjukkan oleh SP
10
5/3/2010
Selesaikan aturcara dibawah dan setiap arahan adalah berkaitan antara satu arahan dengan arahan yang berikutnya; Diberi kandungan ingatan:
Penyelesaian;
11
5/3/2010
PERKAKASAN 68HC11
Cip-cip untuk 68HC11 terdiri daripada jenis PLCC ( Plastic Leaded Chip Carrier) dan DIP (plastic dual inline package)
12
5/3/2010
68HC11 DIP
68HC11 DIP
13
5/3/2010
68HC11 DIP
68HC11 DIP
14
5/3/2010
68HC11 DIP
68HC11 DIP
15
5/3/2010
68HC11 DIP
68HC11 DIP
16
5/3/2010
68HC11 DIP
68HC11 DIP
17
5/3/2010
KENDALIAN 68HC11
Serpih Tunggal (single chip) Ragam terluas (expanded) Ragam ikat but (bootstrap) Ragam Uji (test)
KENDALIAN 68HC11
Dalam ragam mini 68HC11 tidak memerlukan bas data/alamat luaran untuk berkendali. Maka liang B dan C boleh digunakan sebagai I/O dimana hanya ingatan dalaman sahaja digunakan diamana aturcara hendaklah ditulis dalam ROM di alamat $E000-$FFFF.
Ragam terluas
Dalam ragam mini 68HC11 memerlukan bas data/alamat luaran untuk berkendali. Maka liang B dan C digunakan sebagai bas data dan alamat luaran diamana ruang alamat maksimum yang boleh dicapai hanya 64K.
18
5/3/2010
KENDALIAN 68HC11
Dalam ragam mini 68HC11 tidak memerlukan bas data/alamat luaran untuk berkendali. Maka liang B dan C boleh digunakan sebagai I/O. Berguna untuk pembelajaran dan mengaturcara EEPROM.
Ragam Uji
PENGANTARAMUKAAN
PENGANTARAMUKAAN
PERIFERAL /PERISIAN
DALAMAN 68HC11
PERANTARAMUKAAN
AM PERANTARAMUKAAN MASUKAN-KELUARAN SELARI PERANTARAMUKAAN ANALOG PERANTARAMUKA SIRI PERANTARAMUKA PERIFERAL SIRI
19
5/3/2010
Dalam sistem kawalan, penggunaan mikropengawal amat luas. Contohnya dalam aplikasi kereta mainan, robotik, sistem keselamatan rumah, dan sebagainya.
APLIKASI 7SEGMEN
Secara
umumnya, LED 7 Ruas terdiri daripada 7 ruas yang dilabel sebagai ruas a,ruas b, ruas c, ruas d, ruas e, ruas f dan ruas ruas g seperti yang ditunjukkan
20
5/3/2010
21
5/3/2010
Contoh: Bina jadual kebenaran bagi memarkan perkataan baca pada satu LED 7 ruas secara anod sepunya . Kirakan pemalar , sekiranya lengah 100ms diantara setiap huruf/aksara yang dipaparkan dan anggapkan frekuensi pengayun adalah 8MHz. Tuliskan satu aturcara untuk paparkan perkataan baca pada satu LED 7 ruas secara anod sepunya.
22
5/3/2010
Penyelesaian;
23
5/3/2010
24