Anda di halaman 1dari 21

Praktikum Sistem tertanam

Basic I/O dengan Port 1

Laporan Praktikum
Modul 2 SISTEM TERTANAM (EMBEDDED SYSTEM)

Kelas Nama NIM

: TEK 3A Praktikum 2 : Novitri Malini : J3D111099

PROGRAM KEAHLIAN TEKNIK KOMPUTER PROGRAM DIPLOMA INSTITUT PERTANIAN BOGOR BOGOR 2013

Praktikum Sistem tertanam

Basic I/O dengan Port 1

Basic I/O dengan PORT 1


1.Tujuan Praktikum
Praktikan mampu membuat program input dan output menggunakan port 1 dari DT-51 MinSys dengan cara mengakses Port 1 secara per bit dan per byte.

2.Dasar Teori
Panduan Dasar Mikrokontroler keluarga MCS-51 Bab IV bagian 1 Mikrokontroler MCS51 buatan Atmel terdiri dari dua versi, yaitu versi 20 kaki dan versi 40 kaki. Semua mikrokontroler ini dilengkapi dengan Flash PEROM (Programmable Eraseable Read Only Memory) sebagai media memori-program, dan susunan kaki IC-IC tersebut sama pada tiap versinya. Perbedaan dari mikrokontroler-mikrokontroler tersebut terutama terletak pada kapasitas memori-program, memori-data dan jumlah pewaktu 16-bit. Mikrokontroler MCS51 Atmel versi mini (20 pin) dan versi 40 pin secara garis besar memiliki struktur dasar penyusun arsitektur mikrokontroler yang sama. Bagian-bagian tersebut secara lebih lengkap (detil) ditunjukan dalam diagram blok berikut.

Praktikum Sistem tertanam

Basic I/O dengan Port 1

Mikrokontroler MCS51 Atmel versi 40 kaki mempunyai 32 kaki sebagai port paralel dan 8 pin yang lain untuk konfigurasi kerja mikrokontroler. Satu port paralel terdiri dari 8 kaki, dengan demikian 32 kaki tersebut membentuk 4 buah port paralel yang masing-masing dikenal sebagai port 0, port 1, port 2, port 3. Nomor dari masing-masing jalur (kaki) dari port paralel mikrokontroler MCS51 Atmel mulai dari 0 sampai 7, jalur (kaki) pertama dari port 0 disebut sebagai P0.0 dan jalur terakhir untuk port 3 adalah P3.7. Mikrokontroler MCS51 Atmel versi mini mempunyai 20 kaki, 15 kaki diantaranya adalah kaki port 1 dan port 3. 5 kaki yang lain untuk konfigurasi kerja mikrokontroler. Port 1 terdiri dari 8 jalur yaitu P1.0 sampai P1.7 dan port 3 terdiri dari 7 jalur yaitu P3.0 sampai P3.5 dan P3.7. Susunan kaki mikrokontroler MCS51 atmel versi 40 kaki dapat dilihat pada gambar berikut.

Fungsi Kaki-Kaki (Pin) Microcontroller Atmel MCS51 VCC, Kaki VCCdigunakan untuk masukan suplai tegangan. GND, Kaki (pin) GNDfunsinya sebagai saluran ground atau pentanahan. RST, Kaki RSTfungsinya sebagai masukan reset. Kondisi 1 selama 2 siklus mesin pada saat oscillator bekerja akan me-reset mikrokontroler yang bersangkutan. ALE/PROG, Kaki ALEdigunakan sebagai keluaran ALE atau Adreess Latch Enable yang akan menghasilkan pulsa-pulsa untuk menahan byte rendah (low byte) alamat selama mengakses memori eksternal. Kaki ini juga berfungsi sebagai masukan pulsa program (the program pulse input) atau selama pemrograman flash. Pada operasi normal, ALEakan berpulsa 3

Praktikum Sistem tertanam

Basic I/O dengan Port 1

dengan laju 1/6 dari frekuensi kristal dan dapat digunakan sebagai pewaktuan (timing) atau pendekatan (clocking) rangkainan eksternal. PSEN, Kaki (Program Store Enable) merupakan sinyal baca untuk memori program eksternal. Saat mikrokontroler MCS51 menjalankan program dari memori eksternal, akan diaktifkan dua kali per-siklus mesin, kecuali dua aktivasi dilompati (diabaikan) saat mengakses memori data eksternal. EA/VPP, Kaki VPP( Exkternal Access Enable) fungsinya sebagai kontrol untuk mengakses memori. harus dihubungkan ke ground, jika mikrokontroler akan mengeksekusi program dari memori eksrternal. Selain itu harus dihubungkan ke VCCjika akan mengakses program secara internal. Kaki ini juga berfungsi untuk menerima tegangan 12V (VPP) selama pemrograman flash, khususnya untuk tipe mikrokontroler 12V volt. XTAL1, Kaki XTAL1merupakan masukan untuk penguat inverting oscillator dan masukan untuk clock internal pada rangkaian operasi mikrokontroler. XTAL2, Kaki XTAL2merupakan keluaran dari rangkaian penguat inverting oscilator . Port 0, Port 0 merupakan port keluaran/masukan (I/O) 8-bit bertipe open drain bidirectional. Sebagai port keluaran, masing-masing kaki dapat menyerap arus (sink current) delapan masukan TTL (sekitar 3,8 mA). Pada saat logika 1 dituliskan ke port 0, mak a kakikaki port 0 ini dapat digunakan sebagai masukan-masukan berimpedansi tinggi. Port 0 juga dapat dikonfigurasikan sebagai jalur alamat/data bagian rendah (low byte) selama proses pengaksesan memori data dan program eksternal. Jika digunakan dalam mode ini maka port 0 memiliki pull-up internal. Port 0 juga dapat menerima kode-kode yang dikirimkan kepadanya selama proses pemrograman dan mengeluarkan kode-kode selama proses verifikasi program yang telah tersimpan dalam Flash PEROM. Dalam hal ini dibutuhkan pullup eksternal selama proses verifikasi program. Port 1, Port 1 merupakan port I/O 8-bit bertipe bidirectional yang dilengkapi dengan pull-up internal. Penyangga keluaran port 1 mampu memberikan/menyerap arus empat masukan TTL(sekitar 1,6 mA). Jika logika 1 dituliskan ke kaki-kaki port 1, maka masing-masing kaki port 1 akan di-pull-up high dengan pull-up internal sehingga dapat digunakan sebagai masukan. Sebagai masukan jika kaki-kaki port 1 dihubungkan ke ground (di-pull-up low), maka masing-masing kaki akan memberikan arus (source current) karena di-pull-up high secara internal. Port 1 juga menerima alamat bagian rendah (low byte) selama pemrograman dan verifikasi pada Flash PEROM. 4

Praktikum Sistem tertanam

Basic I/O dengan Port 1

Port 2, Port 2 merupakan port I/O 8-bit bertipe bidirectional yang dilengkapi dengan pull-up internal. Penyangga keluaran port 2 mampu memberikan/menyerap arus empat masukan TTL (sekitar 1,6 mA). Jika logika 1 dituliskan ke kaki-kaki port 2, maka masing-masing kaki port 2 akan di-pull-up high dengan pull-up internal sehingga dapat digunakan sebagai masukan. Sebagai masukan jika kaki-kaki port 2 dihubungkan ke ground (di-pull-up low), maka masing-masing kaki akan memberikan arus (source current) karena di-pull-up high secara internal. Port 2 akan memberikan byte alamat bagian tinggi (high byte) selama pengambilan instruksi dari memori program eksternal dan selama pengaksesan memori data yang menggunakan perintah dengan alamat 16-bit (misalnya: MOVX @DPTR). Dalam aplikasi ini, jika ingin mengirimkan 1, maka digunakan pull-up internal yang sudah disediakan. Selama pengaksesan memori data eksternal yang menggunakan perintah dengan alamat 8-bit (misalnya: MOVX @R1), port 2 akan mengirimkan isi dari SFR P2. Port 2 juga menerima alamat bagian tinggi selama pemrograman dan verifikasi pada Flash PEROM.

Port 3, Port 3 merupakan port I/O 8-bit bertipe bidirectional yang dilengkapi dengan pull-up internal. Penyangga keluaran port 3 mampu memberikan/menyerap arus empat masukan TTL(sekitar 1,6 mA). Jika logika 1 dituliskan ke kaki-kaki port 3, maka masing-masing kaki port 3 akan di-pull-up high dengan pull-up internal sehingga dapat digunakan sebagai masukan. Sebagai masukan jika kaki-kaki port 3 dihubungkan ke ground (di-pull-up low), maka masing-masing kaki akan memberikan arus (source) karena di-pull-up high secara internal. Port 3 juga digunakan untuk menerima sinyal-sinyal kontrol (P3.6 dan P3.7), bersama-sama dengan port 2 (P2.6 dan P2.7) selama proses pemrograman dan verifikasi pada Flash PEROM.

Panduan Dasar Mikrokontroler keluarga MCS-51 Bab XI

3.Perintah yang digunakan


SJMP,LJMP MOV,MOVX SETB,CLR JB,JNB JC,JNC CJNE 5

Praktikum Sistem tertanam

Basic I/O dengan Port 1

4.Listing Program/Prosedur Percobaan


1) Percobaan 1: Port 1 sebagai Output Persiapan:
Hubungkan port1 DT-51 MinSys dengan PORT OUTPUT DT-51 Trainer Board menggunakan Kabel tipe Y. Hubungkan CONTROL DT-51 MinSys dengan CONTROL DT-51 Trainer Board (sebagai sumber tegangan ) menggunakan kabel tipe X. Hubungkan DT-51 MinSys dengan PC menggunakan kabel serial. Hubungkan Dt-51 MinSys dengan sumber tegangan.

a.Program 1: Ketiklah program berikut ini,assemble,download ke DT-51 MinSys,dan amati hasilnya: $Mod51 CSEEG ORG 4000H

LJMP START ORG START: MOV SP,#30H SETB CLR SETB CLR SETB SETB SETB SETB P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 4100H

SJMP $ END

Praktikum Sistem tertanam

Basic I/O dengan Port 1

Jika tidak ada kesalahan,program tersebut akan menyebabkan Output LED pada Tutorial Board berada pada kondisi: BIT7 BIT6 BIT5 BIT4 BIT 3 BIT2 BIT1 BIT0

Nyala Nyala Nyala Nyala Padam Nyala Padam Nyala Catatan: SP dipindahkan ke alamat 30h karena alamat-alamat sebelumnya umumnya masih dipakai.Perintah SJMP $ pada program dan menyebabkan program berputar(looping) pada alamat (address) dimana perintah SJMP $ berada. b.Program 2: Ketiklah program berikut ini,assamble,download ke DT-51 MinSys,dan amati hasilnya: $mod51 CSEG ORG LJM ORG START: MOV SP,#30H SETB C 4000H START

MOV P1.0,C MOV P1.1,C MOV P1.2,C MOV P1.3,C CLR C

MOV P1.4,C MOV P1.5,C MOV P1.6,C MOV P1.7,C SJMP $ END
7

Praktikum Sistem tertanam

Basic I/O dengan Port 1

Jika tidak ada kesalahan,program tersebut akan menerjamahkan Output LED pada Tutorial Board berada pada kondisi: BIT7 BIT6 BIT5 BIT4 BIT 3 BIT2 BIT1 BIT0

Padam Padam Padam Padam Nyala Nyala Nyala Nyala c. Program 3: Ketiklah program berikut ini,assamble,download ke DT-51 MinSys,dan amati hasilnya: $mod51 CSEG ORG LJM ORG START: MOV SP,#30H MOV P1.#0A3H SJMP $ END Jika tidak ada kesalahan,program tersebut akan menerjamahkan Output LED pada Tutorial Board berada pada kondisi: BIT7 BIT6 BIT5 BIT4 BIT 3 BIT2 BIT1 BIT0 4000H START

Nyala Padam Nyala Padam Padam Padam Nyala Nyala d. Program 4: Ketiklah program berikut ini,assamble,download ke DT-51 MinSys,dan amati hasilnya: $mod51 CSEG ORG LJM ORG START: MOV SP,#30H
8

4000H START

Praktikum Sistem tertanam

Basic I/O dengan Port 1

MOV A,#0C4H MOV P1,A SJMP $ END Jika tidak ada kesalahan,program tersebut akan menerjamahkan Output LED pada Tutorial Board berada pada kondisi: BIT7 BIT6 BIT5 BIT4 BIT 3 BIT2 BIT1 BIT0

Nyala Nyala Padam Padam Padam Nyala Padam Padam

Latihan Mandiri:
a. Buatlah Program untuk menampilkan LED di Port 1 dengan kondisi: BIT7 BIT6 BIT5 BIT4 BIT 3 BIT2 BIT1 BIT0

Nyala Nyala Padam Padam Nyala Padam Padam Padam

Akseslah Port 1 per bit(satu persatu seperti program 1 atau 2). b. Buatlah Program untuk menampilkan LED di Port 1 dengan kondisi: BIT7 BIT6 BIT5 BIT4 BIT 3 BIT2 BIT1 BIT0

Nyala Nyala Padam Nyala Nyala Padam Padam Nyala

Akseslah Port 1 per bit(secara keseluruhan sama seperti program 3 atau 4).

2) Percobaan II:Port 1 sebagai input Persiapan:


Hubungkan Port 1 DT-51 MinSys dengan PORT INPUT DT-51 Trainer Board menggunakan kabel tipe Y. Hubungkan Port A DT-51 MinSys dengan PORT OUTPUT DT-51 Trainer Board menggunakan kabel tipe Y. Hubungkan CONTROL DT-51 MinSys dengan CONTROL DT-51 Trainer Board (Sebagai sumber tegangan) menggunakan kabel tipe X. Hubungkan DT-51 MinSys dengan PC menggunakan kabel serial. 9

Praktikum Sistem tertanam Hubungkan DT-51 MinSys dengan sumber tegangan.

Basic I/O dengan Port 1

a. Program 1: Ketiklah program berikut ini(tanpa tanda panah),assemble,download ke DT-51 MinSys, dan amati hasilnya:

$mod51 CSEG ORG LJMP ORG 4000H START 4100H

START: MOV SP,#30H INIT: MOV DPTR,#2003H MOV A,#80H MOVX @DPTR,A LABEL1: JB DISPLAY2: MOV DPTR,#2000H MOV A,#00H MOV @DPTR,A SJMP LABEL1 DISPLAY: MOV DPTR,#2000H MOV A,#10H MOVX @DPTR,A SJMP LABEL1 END
10

P1.4,DISPLAY

Praktikum Sistem tertanam

Basic I/O dengan Port 1

Jika tidak ada kesalahan ,program tersebut akan bekerja sebagai berikut: -Jika toggle switch Bit 4 berlogika 0 maka semua LED akan padam(masuk ke label DISPLAY2). -Jika toggle switch Bit 4 berlogika 1 maka hanya LED Bit 4 yang akan menyala(masuk ke label DISPLAY). Catatan: Karena program melakukan looping,maka perintah SJMP $ dapat di hilangkan.Program dengan label INIT (inisialisasi PPI),DISPLAY,DAN DISPLAY2 hendaknya tidak berubah karena penggunaan PPI barn akan dijelaskan pada bab berikutnya.Penggunaan p1.4 tidak mutlak dan dapat diganti dengan bit port 1 lain sebagain input.Nilai 00h dan 10h yang diberi tanda dapat diganti dengan nilai lain sebagai output ke LED.

Program 2:
Ketiklah program berikut ini(tanpa tanda panah),assemble,download ke DT-51 MinSys, dan amati hasilnya:

$mod51
CSEG ORG LJMP ORG 4000H START 4100H

START: MOV SP,#30H INIT: MOV DPTR,#2003H MOV A,#80H MOVX @DPTR,A LABEL1: MOV C,P1.5 JC DISPLAY
11

Praktikum Sistem tertanam

Basic I/O dengan Port 1

MOV C,P1.0 JNC DISPLAY2: MOV DPTR,#2000H MOV A,#00H MOV @DPTR,A SJMP LABEL1 DISPLAY: MOV DPTR,#2000H MOV A,#20H MOVX @DPTR,A SJMP LABEL1 DISPLAY3: MOV DPTR,#2000H MOV A,#01H MOVX @DPTR,A SJMP LABEL1 END Jika tidak ada kesalahan,program tersebut akan bekerja sebagai berikut: -Jika Toggle switch Bit 5 berlogika 1 maka hanya LED Bit 5 yang akan menyala(masuk ke label DISPLAY). -Jika Toggle switch Bit 5 berlogika 0 maka program akan memeriksa kondisi toggle switch Bit 0. -Jika toggle switch Bit 5 berlogika 0 dan toggle switch Bit 0 berlogika 1 maka semua LED akan padam(masuk ke label DISPLAY2). -Jika toggle switch Bit 5 berlogika 0 dan toggle switch Bit 0 berlogika 0 maka hanya LED Bit 0 yang akan menyala(masuk ke label DISPLAY3). -Jika toggle switch Bit 5 berlogika 1,kondisi toggle switch Bit 0 tidak akan mempengaruhi kondisi LED.
12

DISPLAY3

Praktikum Sistem tertanam

Basic I/O dengan Port 1

Catatan: Program denga table INIT (Inisialisasi PPI),DISPLAY,DISPLAY2 dan DISPLAY3 hendaknya tidak diubah.Penggunaan P1.5 dan P1.0 tidak mutlak dapat diganti dengan Port 1 sebagai input.Nilai 00h,20h,dan 01h yang diberi tanda dapat diganti dengan nilai lain sebagai output ke LED.
b. Program 3: Ketiklah program berikut ini,assemble,download ke DT-51 MinSys dan amati hasilnya:

$mod51 CSEG ORG 4000H

LJMP START
ORG 4100H

START: MOV SP,#30H INIT:


MOV MOV DPTR,#2003H A,#80H

MOVX @DPTR,A LABEL1:


MOV A,P1

DISPLAY:
MOV DPTR,#2000H MOVX @DPTR,A SJMP END LABEL1

Jika tidak ada kesalahan program tersebut akan menampilkan nyala LED pada posisi yang sesuai dengan posisi toggle switch yang berlogika 1. Catatan:
13

Praktikum Sistem tertanam

Basic I/O dengan Port 1

Program dengan label INIT dan DISPLAY hendaknya tidak diubah.


c. Program 4: Ketiklah program berikut ini,assemble,download ke DT-51 MinSys dan amati hasilnya: $mod51

CSEG ORG 4000H

LJMP START
ORG 4100H

START: MOV SP,#30H INIT:


MOV MOV DPTR,#2003H A,#80H

MOVX @DPTR,A LABEL1:


MOV R1,P1

DISPLAY:
MOV MOV DPTR,#2000H A,R1

MOVX @DPTR,A SJMP END LABEL1

Jika tidak ada kesalahan,program tersebut akan bekerja sama seperti program 3.Hanya saja program ini tidak langsung memindahkan Accumulator ke Port 1 melainkan dipindahkan ke register R1 terlebih dahulu. Catatan: Program dengan label INIT dan DISPLAY hendaknaya tidak diubah.
d. Program 5: 14

Praktikum Sistem tertanam

Basic I/O dengan Port 1

Ketiklah program berikut ini,assemble,download ke DT-51 MinSys dan amati hasilnya: $mod51

CSEG ORG 4000H

LJMP START
ORG 4100H

START: MOV SP,#30H INIT:


MOV MOV DPTR,#2003H A,#80H

MOVX @DPTR,A LABEL1:


MOV MOV SJMP A,P1 A,#OFH,DISPLAY LABEL1

DISPLAY:
MOV DPTR,#2000H MOVX @DPTR,A SJMP END LABEL1

Jika tidak ada kesalahan,program tersebut akan bekerja sebagai berikut: -Jika posisi toggle switch bernilai 0Fh,maka tampilan LED tidak berubah(sama dengan kondisi sebelumnya). -jika posisi toggle switch bernilai selain 0Fh,maka tampilan LED akan sesuai dengan nilai toggle switch tersebut. Catatan: Program dengan label INIT dan DISPLAY hendaknya tidak diubah.
15

Praktikum Sistem tertanam

Basic I/O dengan Port 1

Latihan Mandiri:
a. Buatlah program untuk menampilkan LED di Port A dengan toggle switch di Port 1 dengan syarat: -Jika toggle switch Bit 0 berlogika 0, semua LED padam -Jika toggle switch Bit 0 berlogika 1,program akan memeriksa kondisi toggle switch Bit 7. -jika toggle switch Bit 0 berlogika 1 dan toggle switch Bit 7 berlogika 0,LED Bit 0 menyala. - jika toggle switch Bit 0 berlogika 1 dan toggle switch Bit 7 berlogika 1,LED Bit 7 menyala. Petunjuk:akseslah Port 1 per bit (satu per satu,seperti )program 1 atau 2.

Catatan: Gunakan bagian berlabel INIT dan DISPLAY2. Ubahlah nilai yang diberi tanda panah agar Output LED sesuau dengan soal latihan.
b. Buatlah program untuk menampilkan LED di Port A dengan toggle switch di Port 1 dengan syarat: -Jika toggle switch bernilai 0AAH,LED Bit 6,Bit 4,Bit 2dan Bit 0 akan menyala. -Jika toggle switch bernilai 0Fh,LED Bit 7,Bit 5,Bit 1dan Bit 1 akan menyala. -Jika toggle switch bernilai selain kedua nilai tersebut di atas,semua LED padam. Petunjuk:akseslah Port 1 per byte(secara keseluruhan sama seperti program 3,4, atau 5).

Catatan: Gunakan bagian berlabel INIT dan DISPLAY.Gunakan perintah CJNE untuk membandingkan/memeriksa Port 1.

Latihan Mandiri Percobaan I: Laihan A. $MOD51 CSEG ORG 4000H LJMP ORG START 4100H
16

Praktikum Sistem tertanam

Basic I/O dengan Port 1

START: MOV CLR C MOV P1.0,C MOV P1.1,C MOV P1.2,C SETB C SP,#30H

MOV P1.3,C CLR C

MOV P1.4,C MOV P1.5,C SETB C MOV P1.6,C MOV P1.7,C SJMP $ END Latihan B. $MOD51 CSEG ORG LJMP ORG START: MOV SP,#30H SETB CLR MOV P1.0 C P1.1,C 4000H START 4100H

MOV P1.2,C SETB C


17

Praktikum Sistem tertanam

Basic I/O dengan Port 1

MOV MOV CLR SETB

P1.3,C P1.4,C P1.5 C

MOV P1.6,C MOV P1.7,C SJMP $ END Latihan Mandiri Percobaan II: Latihan A. $mod51
CSEG ORG LJMP ORG 4000H START 4100H

START: MOV SP,#30H INIT: MOV DPTR,#2003H MOV A,#80H MOVX @DPTR,A LABEL1: MOV C,P1.0 JNC DISPLAY

MOV C,P1.7 JNC DISPLAY2: MOV DPTR,#2000H MOV A,#80H


18

DISPLAY3

Praktikum Sistem tertanam

Basic I/O dengan Port 1

MOV @DPTR,A SJMP LABEL1 DISPLAY: MOV DPTR,#2000H MOV A,#00H MOVX @DPTR,A SJMP LABEL1 DISPLAY3: MOV DPTR,#2000H MOV A,#01H MOVX @DPTR,A SJMP LABEL1 END Latihan B. $mod51
CSEG ORG LJMP ORG 4000H START 4100H

START: MOV SP,#30H INIT: MOV DPTR,#2003H MOV A,#80H MOVX @DPTR,A LABEL1: MOV A,P1 CJNE CJNE A,#0AAH,DISPLAY A,#0FH,DISPLAY3
19

Praktikum Sistem tertanam

Basic I/O dengan Port 1

SJMP LABEL1 DISPLAY2: MOV DPTR,#2000H MOV A,#00H MOV @DPTR,A SJMP LABEL1 DISPLAY: MOV DPTR,#2000H MOV A,#55H MOVX @DPTR,A SJMP LABEL1 DISPLAY3: MOV DPTR,#2000H MOV A,#AAH MOVX @DPTR,A SJMP LABEL1 END

5.Analisa Program
Listing Percobaan diatas dibuat dengan menggunakan format file .ASM dimana file di assemble dengan software lalu di download ke Mikrokontroler MCS51.Keluaran atau output akan dijalankan pada trainer board.Dengan mengubah nilai masukan pada trainer board dengan 1 dan 0 untuk melihat output dari listing program.

6.Kesimpulan
Dengan mengubah nilai akses pada setiap port output LED dapat diubah dengan menjadikan nilai DISPLAY 1 bernilai nyala dan 0 bernilai mati.Nilai masukkan pada port dapat dengan mengakses nilai Register,mengalamatkan secara langsung dan memanggil menghitung nilai heksadesimal.

20

Praktikum Sistem tertanam

Basic I/O dengan Port 1

Daftar Pustaka
1. Dany Christanto,Panduan dasar mikrokontroller keluarga MCS-51,Innovative Electronic,2004.

2. CARR,J Joseph,Designing Microprocessor Based Instrumentation,McGraw Hill,Singapore,1991. 3. ZAKS,Rodnay and LESEA ,Agustin,Microprocessor Interfacing Techniques 3rd Edition,Sybex Inc,London,1995.

4. BREY,Barry B,Microprocessor Intel:Arsitektur,Pemrograman dan Antarmuka,Penerbit peat Andi,Yogyakarta,2005.

5. Peatman,John B,Design with Microcontrollers,McGraw Hill International Edition,New York,1998.

6. Supono Suparlan,Pengantar Organisasi Sistem Komputer,Gunadarma,1995.

7. http://elektronika-dasar.web.id/microcontroller-2/tipe-dan-fungsi-port-microcontroler-atmelmcs51/

21