Mikrokontroler
Mikrokontroler dapat dipandang sebagai sistem yang mengandung:
Apa aplikasinya?
Penyimpanan Program
SFR ? Special Function Registers
Special Function Registers
Register P0, P1, P2, and P3
Mikrokontroler dapat dipandang sebagai sistem yang mengandung:
- prosesor
- memori
- port I/O
Apa aplikasinya?
- Memantau environment. >> Input.
- Menghasilkan respon. >> Output.
- Respons dapat ditunda. >> Timer/Counter.
- Respons yang harus diprioritaskan. >> Interupsi.
- Software untuk mengontrol proses. >> Memori Non-volatil.
- Data sementara. >> RAM.
Zilog
Z80 dari Zilog
- 8-bit microprocessor based on the 8080 architecture.
- Capable of 1 MIP at 4 MHz.
- Accumulator, 6 8-bit registers, 2 index registers.
- Uses external RAM for temporary data.
- Built-in refresh circuitry for the external RAM.
- Only port-based I/O.
- Slowly disappearing.
Motorola
MC6811 from Motorola
- 8-bit stack-based architecture.
- 2 accumulators and 2 index registers.
- Built in EEPROM and RAM.
- Digital I/O.
- Timers.
- ADC.
- RS232 communication.
- Was the most powerful and flexible controller available at introduction.
- Around 1970.
- Still very popular.
Mikrokontroler Keluarga MCS-51
Diperkenalkan pertama kali oleh Intel tahun 1981.
- Currently, the most widely used microcontroller.
-8-bit processor.
-2 distinct separately addressable memory areas.
- Maximum of 64K on-chip ROM. (Usually 0 to 4K.)
- Maximum of 64K external data memory.
- Maximum of 64K external code memory.
- Basic version (8051) contains (4K Bytes of on-chip ROM instruction memory atau 128 Bytes of on-chip RAM for temporary data storage and the stack.)
-2 timers, one serial port, and four 8-bit parallel I/O ports.
-Speeds starting from12 MHz.
Fitur Mikrokontroler 8051
8051 merupakan anggota keluarga mikrokontroler MCS-51
Terdapat beberapa jenis yang sedikit berbeda dengan fitur di atas
Jenis MCS-51
Pembuat MCS-51
Terdapat banyak perusahaan yang memproduksi mikrokontroler keluarga MCS-51
Atmel Corporation.
- Flash instead of EPROM.
- Low Voltage.
- Minimal version with less memory and fewer I/O ports in a smaller package.
- CMOS implementation.
- Speeds that range from 12 to 20 MHz.
Dallas Semiconductor
- Uses NV-RAM. Programmable in-system.
- As large as 32K of instruction memory.
- Some versions have an on-chip real-time clock.
Philips Corporation.
- Large selection of 8051 based microcontrollers.
- Include features like A/D and D/A on chip.
Xilinx and Altera
- 8051 FPGA cores.
Arsitektur Mikrokontroler 8051
Software
- Organisasi Memori
- Kumpulan Register
- Instruksi
Hardware
- Pin-out
- Timing characteristics
- Current / Voltage requirements
Organisasi Memori
8051 memiliki beberapa alamat terpisah untuk penyimpanan program dan data.
Penyimpanan Program
Setelah reset, MCS-51 mulai mengutip instuksi dari 0000H. Dapat diambil dari memori eksternal maupun internal.
- Jika EA rendah, maka memori program dari eksternal.
- Jika EA tinggi, maka alamat 0000 hingga 0FFF adalah ROM internal.
Penyimpanan Data
8051 memiliki 256 byte RAM internal.
- 128 byte bawah digunakan untuk penyimpanan data.
- 128 byte atas digunakan untuk Special Function Registers (SFR).
128 bytes bawah digunakan bukan hanya sekedar RAM biasa.
- Menyimpan registers,
- Stack
- Dan fitur lainnya
- 32 byte paling bawah membentuk 4 bank dari dengan isi 8 register tiap bank.
- Hanya salah satu bank yang dapat aktif
- Bank yang aktif dapat dipilih dengan mengatur 2 bit di PSW. [[Default bank (ketika dinyalakan) adalah bank 0 (lokasi 00 ? 07)]].
- Ke 8 register pada tiap bank dinamakan R0 hingga R7
- Tiap register ini memiliki alamat dan dapat diakses langsung dengan menggunakan alamtnya tersebut, meskipun bank yang bersangkutan tidak diaktifkan.
- 16 byte selanjutnya ? lokasi 20H hingga 2FH ? membentuk blok yang dapat dialamati baik sebagai byte maupun bit.
- Byte memiliki alamat 20H hingga 2FH.
- Bit-bit memiliki alamat 00H hingga 7FH.
- Instruksi tertentu digunakan untuk mengakses bit-bit tersebut
- Lokasi 30H hingga 7FH adalah general purpose RAM.
RAM ?128 Byte Pertama
Lokasi memori bit addressable
SFR ? Special Function Registers
- RAM 128 byte atas digunakan untuk tempat special function register. Hanya sekitar 25 byte yang digunakan. Sisanya dicadangkan untuk versi pengembangan 8051.
- Register-register ini berhubungan dengan fungsi yang penting dalam kerja MCS-51.
- Beberapa SFR bersifat bit-addressable juga byte-addressable. Alamat bit 0 suatu register sama dengan alamat register yang bersangkutan.
Lokasi SFR
Special Function Registers
- ACC dan B registers ? 8 bit
- DPTR : data pointer [DPH:DPL] ? 16 bit (gabungan)
- PC : Program Counter ? 16 bit
- Stack pointer SP ? 8 bit
- PSW : Program Status Word
- P0, P1, P2, P3 - Port Latch
- SBUF - Serial Data Buffer
- TH0, TL0, TH1, TL1 - Register Timer
- Control Registers
ACC ? Akumulator
Umumnya digunakan untuk penyalinan dan instruksi aritmatika dan dapat ditulis dengan beberapa cara:
- Dinyatakan dengan ACC (atau A).
- Dengan alamatnya 0E0H.
Disamping itu, juga bersifat bit addressable dimana ACC.2 berarti bit 2 register ACC.
Register B
- Umumnya digunakan sebagai register sementara, mirip seperti register R0 ? R7
- Digunakan oleh dua opcode, seperti : mul AB, div AB
- Register B menyimpan operan kedua dan menyimpan hasilnya seperti : 8 bit atas hasil perkalian dan Sisa pada pembagian.
- Dapat juga diakses melalui alamatnya 0F0H.
- Bersifat bit-addressable.
Register DPL dan DPH
- 2 8-bit registers that can be combined into a 16-bit DPTR ? Data Pointer.
- Used by commands that access external memory
- Also used for storing 16bit values
mov DPTR, #data16 ; setup DPTR with 16bit ext address
movx A, @DPTR ; copy mem[DPTR] to A
- Can be accessed as 2 separate 8-bit registers if needed.
- DPTR is useful for string operations and look up table (LUT) operations.
The SP Register
- SP is the stack pointer.
- SP points to the last used location of the stack. (Push operation will first increment SP and then copy data and Pop operation will first copy data and then decrement SP).
- In 8051, stack grows upwards (from low memory to high memory) and can be in the internal RAM only.
- On power-up, SP points to 07H. (Register banks 2,3,4 (08H to 1FH) form the default stack area).
- Stack can be relocated by setting SP to the upper memory area in 30H to 7FH, (mov SP, #32H).
Register PSW
Program Status Word: bersifat ?bit addressable? register 8-bit Menyimpan seluruh flag.
Register P0, P1, P2, and P3
- Port Latch.
- Memberikan nilai yang dikeluarkan pada port tertentu atau nilai yang dibaca dari port input tertentu.
- Bersifat bit addressable. Alamat bit pertama juga merupakan alamat register yang bersangkutan. Contoh: alamat P1 adalah 90H, sehingga P1.7 atau 97H merupakan bit yang sama.
Register SBUF
- Serial Port Data Buffer.
- 2 register dengan lokasi yang sama. Satu untuk menyimpan data serial hasil input (Buffer Serial Data Receive). Satu lagi untuk tulis data serial (Buffer Serial Data Transmit).
Register Timer ? TH0 dan TL0
- Byte tinggi dan rendah register cacah 16-bit untuk timer/counter T0.
- Terdapat pasangan TH1 / TL1 untuk timer T1.
Register Kontrol
- IP ? Interrupt Priority.
- IE ? Interrupt Enable.
- TMOD ? Timer Mode.
- TCON ? Timer Control.
- T2CON ? Timer 2 Control (8052)
- SCON ? Serial Port Control.
- PCON ? Power Control (80C51).
Over View
Arsitektur Mikrokontroler 8051
Tabel SFR
reff : http://www.gatewan.com/2014/07/mengenal-arsitektur-mikrokontroler-8051.html
0 comments:
Post a Comment