Upload
marufah-dalimunthe
View
51
Download
3
Embed Size (px)
Citation preview
LAPORAN AWAL
PRAKTIKUM SISTEM MIKROPROSESOR DIGITAL
MIKROKONTROLER AT89C51
MODUL I
EDITING, DEBUGGING DAN PEREKAMAN
AT89C51
Nama : Amty Ma’rufah A. D.
NPM : 140310090007
Hari/ Tanggal Praktikum : Kamis, 27 September 2012
Waktu Praktikum : 08.00-10.00 WIB
Asisten :
LABORATORIUM SISTEM MIKROPROSESOR DIGITAL
JURUSAN FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS PADJADJARAN BANDUNG
2012
LEMBAR PENGESAHAN
MODUL I
EDITING, DEBUGGING DAN PEREKAMAN
AT89C51
Nama : Amty Ma’rufah A. D.
NPM : 140310090007
Hari/ Tanggal Praktikum : Kamis, 27 September 2012
Waktu Praktikum : 08.00-10.00 WIB
Asisten :
Jatinangor, 27 September 2012
Asisten
(.........................................)
NPM.
LP SP LA
I. Tujuan Percobaan
1. Melakukan editing, debugging, dan kompilasi pemrograman bahasa
asembli mikrokontroler MCS51 AT89C51.
2. Melakukan perekaman program bahasa asembli ke chip mikrokontroler
AT89C51.
3. Memahami cara membaca input dari luar mikrokontroler.
4. Memahami megeluarkan data dari mikrokontroler ke display LED.
II. Teori Dasar
II.1. Sistem Mikrokomputer
MIKROKOMPUTER
Mikrokomputer adalah interkoneksi antara mikroprosesor (CPU) dengan
memori utama (main memory) dan antarmuka input-output (I/O
interface) yang dilakukan dengan menggunakan sistem interkoneksi bus.
Gambar 1. Sistem mikrokomputer
Sistem mikrokomputer terdiri dari bagian-bagian yang berfungsi sama
penting.
1. CPU/Mikroprosesor
CPU terdiri atas dua bagian yaitu:
a. CU (Control Unit) :Fungsi utama unit pengendali (CU) adalah
mengambil, mengkode, dan melaksanakan instruksi sebuah
program yang tersimpan dalam memori. Unit pengendali
mengatur urutan operasi seluruh sistem. Unit ini juga
menghasilkan dan mengatur sinyal pengendali yang diperlukan
untuk menyerempakkan operasi, juga aliran dan instruksi
program.
b. ALU (Arithmetic Logic Unit): Unit ini berfungsi melaksanakan
operasi aritmatik serta operasi-operasi logika.
2. Memori
a. RAM (Random Access Memory)
RAM adalah unit memori yang dapat dibaca dan/atau ditulisi.
Data dalam RAM bersifat volatile (akan hilang bila power mati).
RAM hanya digunakan untuk menyimpan data sementara.
Ada dua macam RAM yaitu :
i. RAM statik
RAM statik adalah flipflop yang terdiri dari komponen
seperti resistor, transistor, dioda dan sebagainya. Setiap 1 bit
informasi tersimpan hingga sel “dialamatkan” dan “ditulis-
hapuskan”. Keuntungan dari RAM statik adalah akses atau
jalan masuk yang bebas ke setiap tempat penyimpanan yang
diinginkan, dan karena itu kecepatan masuk ke dalam memori
terhitung relatif tinggi.
ii. RAM dinamik
RAM dinamik menyimpan bit informasi sebagai muatan.
Sel memori elementer dibuat dari kapasistansi gerbang-
substrat transistor MOS. Keuntungan RAM dinamik adalah
sel-sel memori yang lebih kecil sehingga memerlukan tempat
yang sempit, sehingga kapasistas RAM dinamik menjadi
lebih besar dibanding RAM statik. Kerugiannya adalah
bertambahnya kerumitan pada papan memori, karena
diperlukannya rangkaian untuk proses penyegaran (refresh).
Proses penyegaran untuk kapasitor ini dilakukan setiap 1 atau
2 mili detik.
b. ROM (Read Only Memory)
ROM merupakan memori yang hanya dapat dibaca. Data tidak
akan terhapus meskipun aliran listrik terputus (non-volatile).
Karena sifatnya, program-program disimpan dalam ROM.
Beberapa tipe ROM:
i. ROM Murni : yaitu ROM yang sudah diprogram oleh pabrik
atau dapat juga program yang diminta untuk diprogramkan ke
ROM oleh pabrik.
ii. PROM (Programmable Random Access Memory) : ROM
jenis ini dapat diprogram sendiri akan tetapi hanya sekali
pakai (tidak dapat diprogram ulang).
iii. EPROM (Erasable Programmable Random Access
Memory) : yaitu jenis ROM yang dapat diprogram dan
diprogram ulang.
3. Input/Output (I/O)
Piranti Input/Output (I/O interface) dibutuhkan untuk
menghubungkan piranti di luar sistem. I/O dapat menerima/memberi
data dari/ke mikroprosesor. Untuk menghubungkan antara I/O
interface dengan mikroprosesor dibutuhkan piranti address. Dua
macam I/O interface yang dipakai yaitu: serial dan paralel. Piranti
serial (UART/universal asynchronous receiver-transmitter)
merupakan pengirim-penerima tunggal (tak serempak). UART
mengubah masukan serial menjadi keluaran paralel dan mengubah
masukan paralel menjadi keluaran serial. PIO (paralel input output)
merupakan pengirim-penerima serempak. PIO dapat diprogram dan
menyediakan perantara masukan dan keluaran dasar untuk data
paralel 8 bit.
Sistem Bus
Bus menghubungkan semua komponen dalam unit mikrokomputer. Ada
tiga tipe bus yaitu:
1. Data Bus (bus-D) : bus dengan delapan penghantar, data dapat
diteruskan dalam arah bolak-balik (lebar data 8 bit) yaitu dari
mikroprosesor ke unit memori atau modul I/O dan sebaliknya.
2. Control Bus (bus-C) : meneruskan sinyal-sinyal yang mengatur masa
aktif modul mikrokomputer yang sesuai dengan yang diinginkan
menurut kondisi kerja.
3. Address Bus (bus-A) : meneruskan data alamat (misal alamat 16 bit),
dari penyimpan atau dari saluran masukan/keluaran yang diaktifkan
pada saat tertentu.
Hubungan dalam masing-masing bus berupa kabel paralel 8 bit (jalur)
maupum 16 bit (jalur).
MIKROPROSESOR
Mikroprosesor adalah suatu chip (IC = integrated circuits) yang di
dalamnya terkandung rangkaian ALU (arithmetic-logic unit), rangkaian
CU (control unit), dan register-register. Mkroprosesor disebut juga
dengan CPU (Central Processing Unit).
Karakteristik Mikroprosesor
Berikut adalah karakteristik penting dari mikroprosesor :
1. Ukuran bus data internal (internal data bus size) : Jumlah saluran
yang terdapat dalam mikroprosesor yang menyatakan jumlah bit
yang dapat ditransfer antar komponen di dalam mikroprosesor.
2. Ukuran bus data eksternal (external data bus size) : Jumlah saluran
yang digunakan untuk transfer data antar komponen antara
mikroprosesor dan komponen-komponen di luar mikroprosesor.
3. Ukuran alamat memori (memory address size) : Jumlah alamat
memori yang dapat dialamati oleh mikroprosesor secara langsung.
4. Kecepatan clock (clock speed): Rate atau kecepatan clock untuk
menuntun kerja mikroprosesor.
5. Fitur-fitur spesial (special features): Fitur khusus untuk mendukung
aplikasi tertentu seperti fasilitas pemrosesan floating point,
multimedia dan sebagainya.
Cara kerja sebuah Mikroprosesor diarahkan oleh suatu program
dalam kode-kode bahasa mesin yang telah dimasukkan terlebih dahulu
ke dalam sebuah memori. Di dalam Mikroprosesor minimal terdiri dari
rangkaian digital, register, pengolah logika aritmatika, rangkaian
sekuensial.
MIKROKONTROLLER
Struktur mikrokontroller:
1. Register : tempat penyimpanan (8 atau 16 bit) Fungsi : khusus
(register timer dan counter) dan umum (utk proses perhitungan dan
operasi mikrokontroller)
2. Accumulator : sebagai operand umum proses aritmatika dan logika
3. Program Counter (PC) : sebagai pencacah eksekusi program
mikrokontroller
4. ALU (Arithmetic and Logic Unit) : mengerjakan proses aritmatik
dan logika
5. Clock Circuit : sinkronisasi
6. Internal ROM (Read Only Memory) : memori yang hanya dibaca
saja ROM berisi program untuk menjalankan mikrokontroller. Isi
ROM tidak dapat hilang walaupun power dimatikan
7. Internal RAM (Random Access Memory) : berisi data – data variabel
dan register dimana dapat diubah dan dihapus.
8. Stack Pointer : bagian dari RAM yang memiliki metode
penyimpanan dan pengambilan data secara khusus
9. I/O Ports : berupa pin-pin untuk masukan atau keluaran
10. Interrupt Circuits : untuk mengendalikan sinya l- sinyal interupsi.
Cara kerja mikrokontroller
1. Mikrokontroller mengambil data pada ROM dengan alamat yang
tertera pada PC, selanjutnya PC ditambah nilainya dengan1
(increment) secara otomatis. Data yang diambil adalah urutan
instruksi program pengendali mikrokontroller yang sebelumnya telah
dibuat oleh pemakai
2. Instruksi tersebut diolah dan dijalankan.
3. PC berubah nilainya, sehingga mikrokontroller melakukan langkah
1.
Perbedaan mikroprossesor, mikrokomputer dan mikrokontroler
a. Dari segi strukturnya:
Struktur utama dari mikroprosesor adalah ALU (arithmetic-logic unit),
rangkaian CU (control unit), dan register-register.
Struktur utama dari mikrokontroler adalah Mikroprosesor, RAM,
ROM, I/O interface, dan beberapa peripheral.
Struktur utama dari mikrokomputer adalah mikroprosesor,
mikrokontroler, memori utama dan I/O interface.
b. Dari segi fungsinya:
Mikroprosesor berfungsi sebagai pengolahan data, pengontrol fungsi
prosesor dan sebagai media penyimpanan sementara.
Mikrokontroler berfungsi sebagai interkoneksi antara mikroprosesor,
RAM, ROM, I/O interfece dan beberapa peripheral.
Mikrokomputer berfungsi sebagai interkoneksi antara mikroprosesor
dengan memori utama dan sebagai antar muka input output.
II.2. Arsitektur MCS-51
Arsitektur mikrokontroler MCS-51 diotaki oleh CPU 8 bit yang
terhubung melalui satu jalur bus dengan memori penyimpanan berupa
RAM dan ROM serta jalur I/O berupa port bit I/O dan port serial. Selain
itu terdapat fasilitas timer/counter internal dan jalur interface address dan
data ke memori eksternal.
Beberapa feature yang dimiliki mikrokontroler tipe 89S51 buatan
Atmel.
4K bytes Flash ROM
128 bytes RAM
4 port @ 8-bit I/O (Input/Output) port
2 buah 16 bit timer
Interface komunikasi serial
64K pengalamatan code (program) memori
64K pengalamatan data memori
Prosesor Boolean (satu bit – satu bit)
210 lokasi bit-addressable
Fasilitas In System Programming (ISP)
Gambar 2. Diagram Blok 89S51
Memori Internal 89S51
Memori internal 89S51 terdiri dari 3 bagian yaitu ROM, RAM dan
SFR.
ROM / Read Only Memory adalah memori tempat menyimpan program
/ source code.
Sifat ROM adalah non-volatile, data / program tidak akan hilang
walaupun tegangan supply tidak ada.
Kapasitas ROM tergantung dari tipe mikrokontroler. Untuk AT89S51
kapasitas ROM adalah 4 KByte.
ROM pada AT89S51 menempati address 0000 s/d 0FFF.
RAM / Random Access Memory adalah memori tempat menyimpan
data sementara.
Sifat RAM adalah volatile, data akan hilang jika tegangan supply tidak
ada. Kapasitas RAM tergantung pada tipe mikrokontroler. Pada
AT89S51 RAM dibagi menjadi 2 yaitu :
LOWER 128 byte yang menempati address 00 s/d 7F.
RAM ini dapat diakses dengan pengalamatan langsung (direct)
maupun tak langsung (indirect)
Contoh :
Direct -> mov 30h,#120 ; Pindahkan data 120 ke RAM pada
address 30h
Indirect -> mov R0,#30h ; Isi Register 0 dengan 30h
mov @R0,#120 ; Pindahkan data 120 ke RAM pada
address sesuai isi R0
UPPER 128 byte yang menempati address 80 s/d FF. Address ini
sama dengan address SFR meski secara fisik benar-benar berbeda.
RAM ini hanya dapat diakses dengan pengalamatan tak langsung
saja.
SFR / Special Function Register adalah register dengan fungsi tertentu.
Misalnya, register TMOD dan TCON adalah timer control register yang
berfungsi mengatur fasilitas timer mikrokontroler. SFR pada AT89S51
menempati address 80 s/d FF.
Gambar 3. Peta memori internal 89S51
Tampak pada Gambar 3 bahwa ada kesamaan address antara RAM,
SFR dan ROM yaitu pada address 00 s/d FF. Atas pertimbangan inilah
maka biasanya source code ditulis setelah address 00FF yaitu 0100 pada
ROM. Hal ini dimaksudkan agar data RAM dan SFR tidak terisi oleh
byte source code.
Gambar 4. Konfigurasi pin AT89S51
Tabel 1. Konfigurasi pin AT8951 (2)
VCC Tegangan supply +5V
GND Ground
Port 0
Port 0 merupakan port paralel 8 bit dua arah (bi-
directional) yang dapat digunakan untuk
berbagai keperluan. Port 0 juga memultipleks alamat
dan data jika digunakan untuk mengakses memori
eksternal.
Port 1
Port 1 merupakan port paralel 8 bit bi-directional
dengan internal pull-up.
Port 1 juga digunakan dalam proses pemrograman (In
System Programming)
P1.5 MOSI
P1.6 MISO
P1.7 SCK
Port 2 Port 2 merupakan port paralel 8 bit bi-directional
dengan internal pull-up.
Port 2 akan mengirim byte alamat jika digunakan
untuk mengakses memori eksternal
Port 3
Port 3 merupakan port paralel 8 bit bi-directional
dengan internal pull-up.
Port 3 juga bisa difungsikan untuk keperluan khusus
yaitu :
P3.0 RXD(Receive Data)
P3.1 TXD(Transmit Data)
P3.2 INT0(Interrupt 0)
P3.3 INT1(Interrupt 1)
P3.4 T0(Timer 0)
P3.5 T1(Timer 1)
P3.6 WR(Write Strobe)
P3.7 RD(Read Strobe)
RST Pulsa dari low ke high akan mereset mikrokontroler
ALE/
PROG
Address Latch Enable, digunakan untuk menahan
alamat memori eksternal selama pelaksanaan instruksi
PSEN
Program Store Enable, merupakan sinyal kendali yang
memperbolehkan program memori eksternal masuk ke
dalam bus selama proses pengambilan instruksi
EA/VPP
Jika EA=1 maka mikrokontroler akan melaksanakan
instruksi dari ROM internal
Jika EA=0 maka mikrokontroler akan melaksanakan
instruksi dari ROM eksternal
XTAL 1 Input ke rangkaian osilator internal
XTAL 2 Output dari rangkaian osilator internal
Organisasi RAM Internal
RAM (Random Access Memory) internal AT89S51 berfungsi
untuk menyimpan data sementara. Data akan tetap disimpan selama ada
supply tegangan ke mikrokontroler.
Pada AT89S51, RAM dibagi menjadi 3 bagian yaitu :
1. Register serba guna
Terdiri dari Bank 0, Bank 1, Bank 2, Bank 3. Tiap bank register
terdiri dari 8 register 8 bit yaitu R0, R1,.. ,R7. Pemilihan bank
register ditentukan pada register PSW
Rentang address : 00 s/d 1F
2. Bit addressable RAM
Adalah RAM yang dapat diakses per bit. Ini diperlukan pada saat
kita ingin menyimpan data yang panjangnya hanya 1 bit. Setiap bit
pada lokasi RAM ini memiliki address sendiri-sendiri seperti terlihat
pada gambar.
Rentang address : 20 s/d 2F
3. General purpose RAM
Adalah RAM yang dapat diakses per byte. Ini diperlukan pada saat
kita ingin menyimpan data yang panjangnya 8 bit.
Rentang address : 30 s/d 7F
Gambar 5. Memory map mikrokontroler MCS-51
Gambar 6. Special Function Register
II.3. Operasi Pemindahan Data
1. Immediate Addressing Mode
Gambar 7. Immediate Addressing Mode
Immediate Addressing : data langsung dipindahkan ke register.
Contoh :
MOV A,#30h ; Copy the immediate data 30h to A register
MOV R0,#00110000B ; Copy the immediate data 30h to R0 register
MOV DPTR,#48 ; Copy the immediate data 30h to DPTR register
Catatan :
30hexa = 00110000biner = 48desimal
2. Register Addressing Mode
Gambar 8. Register Addressing Mode
Register Addressing : data dari register sumber dipindahkan ke
register tujuan.
Contoh :
MOV R0,A ; Copy data from A register to R0 register
MOV A,R7 ; Copy data from R7register to A register
3. Direct Addressing Mode
Gambar 9. Direct Addressing Mode
Register Addressing : data dari register/RAM/SFR sumber
dipindahkan ke register/RAM/SFR tujuan.
Contoh :
MOV A,80h ; Copy data from port 0 pins to A register
MOV 80h,A ; Copy data from A register to the port 0
MOV 3Ah,#3Ah ; Copy immediate data 3Ah to RAM location 3Ah
MOV R0,12h ; Copy data from RAM location 12h to R0 register
MOV 8Ch,R7 ; Copy data from R7 register to SFR timer 0 high byte
MOV 5Ch,A ; Copy data from A register to RAM location 5Ch
MOV 0A8h,77h ; Copy data from RAM location 77h to IE register
4. Indirect Addressing Mode
Gambar 10. Indirect Addressing Mode
R0 atau R1 digunakan untuk menunjukkan Destination Address
MOV @R0,#30h ; Copy immediate data 30h to the address in R0
MOV @R0,30h ; Copy the content of address 30h to the address in
R0
MOV @R0,A ; Copy the data in A to the address in R0
R0 atau R1 digunakan untuk menunjukkan Source Address
MOV 7Fh,@R0 ; Copy the content of the address in R0 to address
7Fh
MOV A,@R0 ; Copy the content of the address in R0 to A
III.Tugas Pralab
1. Perbedaan antara mikroprosesor dengan mikrokontroler :
a. Jika Mikroprosesor merupakan CPU (Central Processing Unit) tanpa
memori dan I/O pendukung dari sebuah komputer, maka
Mikrokontroler umumnya terdiri dari CPU, Memori , I/O tertentu dan
unit pendukung.
b. Kelebihan utama dari Mikrokontroler ialah telah tersedianya RAM dan
peralatan I/O Pendukung sehingga ukuran board mikrokontroler
menjadi sangat ringkas.
c. Mikrokontroler mempunyai kandungan semikonduktor transistor yang
lebih banyak dibandingkan dengan mikroprosesor.
d. Harga mikrokontroler lebih murah dibandingkan dengan
mikroprosesor.
2. Penggunaan mikrokontroller :
- Sistem management mesin pada automobile (mobil otomatis)
- Keyboard pada PC
- IP Elektronik (Digital Multimeter, frekuensi synthesisers dan
osiloskop)
- Printer dan mobile phone
- Perlengkapan TV, Radio, CD Players dan tape recording
- Hearing Aids (alat bantu pendengaran)
- Sistem alarm keamanan, sistem alarm kebakaran dan sistem building
services.
3. a. 127 biner: 0111 1111, hexadecimal : 7FH
b. 89 biner: 0101 1001, hexadecimal: 59H
c. 254 biner: 1111 1110, hexadecimal: FEH
d. 16 biner: 0001 0000, hexadecimal: 10H
4. a. Decimal: 363, hexadecimal: 16BH
b. Decimal: 507, hexadecimal: 1FBH
c. Decimal: 21, hexadecimal: 15H
d. Decimal: 172, hexadecimal: ACH
e. Decimal: 57, hexadecimal: 39H
5. a. 10110110110 + 10000011101 = 100111010011
b. 101010100011 + 100001111001 = 10000000000
c. 1100000101 + 0011111011 = 1001100011100
d. 111111111111 + 000000000001 = 1000000000000
6. -
7. -
8. Ukuran RAM internal 8051 = 128 byte untuk data temporary dan stack.
9. Ukuran ROM internal 8051 = 4K byte
10. Flag-flag yang tersimpan di PSW :
a. Flag Zero, Flag Carry, Flag Interrupt
b. Carry bit, the auxiliary carry, 2-bit pemisah register, overflow flag
c. Bit paritas dan dua flag status user-definable
11. Alamat stack ketika 8051 direset = 81
12. Jumlah register yang digunakan = 4 buah mulai dari bank-0 sampai bank-3
dimana alamat masing-masing R0-R7.
13. Port output digunakan untuk mengakses memori eksternal = Serial Port
Control (SCON) dan Serial Port Data Buffer (SBUF).
14. Sebuah pin I/O dapat digunakan baik sebagai input/output =
15. Port yang tidak memiliki fungsi ganda =
16. Alamat SFR PCON = 87
17. Komponen dasar komputer :
CPU (Central Processor Unit)
Software dan Hardware
RAM (Random Access Memory)
ROM (Read Only Memory)
18. Hexadecimal, decimal
19. Fungsi alamat adalah untuk menspesifikasi lokasi-lokasi memori agar
dapat dipanggil kembali.
20. Software adalah piranti/perangkat lunak, contohnya dapat berupa seperti
program-program komputer yang diinstall ke harddisk, file-file system.
21. Hardware adalah piranti/perangkat keras, yaitu alat yang digunakan,
contohnya seperti harddisk, CD-ROM, RAM, Motherboard.
22. Tiga bahasa tingkat tinggi = Fortran, C++, C, Pascal.
23. Alasan pemrograman menggunakan bahasa Assembly =
Secara fisik, kerja dari sebuah mikrokontroler dapat dijelaskan sebagai
siklus pembacaan instruksi yang tersimpan di dalam memori.
Mikrokontroler menentukan alamat dari memori program yang akan
dibaca, dan melakukan proses baca data di memori. Data yang dibaca
diinterprestasikan sebagai instruksi.
Alamat instruksi disimpan oleh mikrokontroler di register, yang dikenal
sebagai program counter. Instruksi ini misalnya program aritmatika yang
melibatkan 2 register.
AT89C51 memiliki sekumpulan instruksi yang sangat lengkap. Jika anda
telah mempelajari bahasa assembly mikroprosesor keluarga intel (misal
8086), ada sedikit perbedaan dengan bahasa assembly di mikrokontroler.
Instruksi MOV untuk byte dan bit dikelompokkan sesuai dengan mode
pengalamatan (addressing modes).
Berisi beberapa singkatan yang mudah diingat.
Efisiensi waktu pemrograman.
24. -
25. File yang masuk ke progran assembler = file berekstensi *.asm dan *.obj
26. File yang dihasilkan program assembler = file berekstensi *.hex, *.obj
27. Program yang digunakan sebagai pengubah bahasa manusia ke bahasa
biner instruksi program = Pascal.
28. Pada tahun 1971 muncul microprocessor pertama Intel, microprocessor
4004 ini digunakan pada mesin kalkulator Busicom.
29. (Jawaban untuk nomor 30)
Mikroprosesor yang dibuat oleh Zilog : Z80
Mikroprosesor yang dibuat oleh MOST Technology : 6502
31. MCS8051 pertama kali diperkenalkan pada tahun 1981, mikroprosesor
yang dibuat sebelumnya adalah 8088 pada tahun 1979 dengan clockspeed :
5, 8, dan 10 MHz.
32. Dua jenis memory semikonduktor :
RAM (Random Access Memory), Volatile
ROM (Read Only memory), non-Volatil (tetap tersimpan meski tanpa
daya)
33. Memory Address Register, menyimpan alamat word
34. Pada pengambilan opcode,
Informasi yang terdapat pada bus alamat dan data
Arah aliran informasi ini selama pengambilan opcode
35. Lebar bus data 8 bit :
nilai maksimal sama dengan angka biner 1111 1111 : 255
Lebar bus alamat 18 bit :
alamat tertinggi sama dengan biner 11 1111 1111 1111 1111 (262.143)
36. 16 bits pada komputer maksudnya = banyaknya ruangan yang dapat
menampung data sebanyak 64 Kbyte atau 216.
37. Instruksi yang membedakan mikrokontroler dengan mikroprosesor:
38. 4 Perusahaan mikrokontroler 8051 selain INTEL adalah :
Atmel Corp, Dallas semiconductor, Phillips Corps, Xilinx, dan Altera
39. Mikrokontroler (MCS51) yang cocok diproduksi dalam skala besar dan
kapasitas program besar = Mikrokontroler AT89S51.
DAFTAR PUSTAKA
Hidayat, Darmawan S.Si.,M.T.2005.Diktat Praktikum Sistem
http://blog.ub.ac.id/ayrie/category/sistem-mikrokomputer/
http://kuliah.andifajar.com/arsitektur-mcs-51/
http://salamkuproy-adesaputra.googlecode.com/files/tutorial-at89s51.pdf
http://www.gudangmateri.com/2010/07/mikrokontroler-at89c51.html
http://www.tutorial-mikrokontroler.com/2012/04/organisasi-memori-
mikrokontroler.html