1. Mikrokontroler
Mikrokontroler dapat dipandang sebagai sistem yang mengandung:
2. Kebutuhan Microkontroler
- 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.
3. Contoh Keluarga Mikrokontroler 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.
4. 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.
5. 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.
6. Fitur Mikrokontroler 8051
| Feature | Quantity |
|-------------------|-----------|
| ROM | 4k Bytes |
| RAM | 128 Bytes |
| Timer | 2 |
| I/O Ports | 4 |
| Serial Port | 1 |
| Interrupt Soutces | 6 |
8051 merupakan anggota keluarga mikrokontroler MCS-51. Terdapat beberapa jenis yang sedikit berbeda dengan fitur di atas.
7. Jenis MCS-51
| Feature | EPROM | | | | | |
|-------------------|-------|------|------|------|------|------|
| | 8051 | 8052 | 8751 | 8752 | 8031 | 8032 |
| On-Chip ROM | 4k | 8k | 4k | 8k | 0k | 0k |
| RAM (Bytes) | 128 | 256 | 128 | 256 | 128 | 256 |
| Timers | 2 | 3 | 2 | 3 | 2 | 3 |
| I/O Ports | 4 | 4 | 4 | 4 | 2 | 2 |
| Serial Port | 1 | 1 | 1 | 1 | 1 | 1 |
| Interrupt Sources | 6 | 8 | 6 | 8 | 6 | 8 |
8. Pembuat MCS-51
Terdapat banyak perusahaan yang memproduksi mikrokontroler keluarga MCS-51, seperti:
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
9. Arsitektur Mikrokontroler 8051

Arsitektur Mikrokontroler 8051
10. Software
- Organisasi Memori
- Kumpulan Register
- Instruksi
11. Hardware
- Pin-out
- Timing characteristics
- Current / Voltage requirements
12. Organisasi Memori
8051 memiliki beberapa alamat terpisah untuk penyimpanan program dan data.

Organisasi Memori Mikrokontroller
13. 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.

14. RAM –128 Byte Pertama

Lokasi memori bit addressable
15. 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
16. Special Function Registers
- ACC dan B registers – 8 bit
- DPTR : data pointer [DPH😃PL] – 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
17. 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.
18. 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.
19. 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.
20. 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).
21. Register PSW
Program Status Word: bersifat “bit addressable” register 8-bit Menyimpan seluruh flag.

Program Status Word
22. 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.
23. 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).
24. Register Timer – TH0 dan TL0
- Byte tinggi dan rendah register cacah 16-bit untuk timer/counter T0.
- Terdapat pasangan TH1 / TL1 untuk timer T1.
25. 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).
26. Over View

Arsitektur Mikrokontroler 8051

Manajemen Memori

Pengalamatan Memori

Tabel SFR