Search site

Contact

Ipin Sugiyarto, S.Kom
Darussalam Street Mosque
South Djakarta

ipin_kerenz443@yahoo.co.id

Poll

bagaimana menurut anda tentang warna theme web ini?

ATMEL 89s51

17/04/2009 11:10

IC Mikrokontroller AT89s51

Penggunaan IC AT 89S51 memiliki beberapa keuntungan dan keunggulan, antara lain tingkat kendala yang tinggi, komponen hardwere eksternal yang lebih sedikit, kemudahan dalam pemrograman. Dan hemat dari segi biaya. IC AT 89S51 memiliki program internal yang mudah untuk dihapus dan diprogram kembali secara berulang – ulang. Pada pesawat ini IC AT 89S51 berfungsi sebagai sentral control dari segala aktivitas pesawat. Mulai dari timer untuk mengontrol lamanya elektroda bekerja. Pada pesawat ini IC AT 89S51 ini juga dimanfaatkan sebagai pengubah suhu sensor suhu untuk dikonversikan dalam satuan kadar mineral yang ditampilkan dalam display berupa seven segment.

Gambar 5.5 IC AT 89S51

 

 

Beberapa fungsi dari kaki pin pada IC mikrokontroler AT89S51 yaitu :

  1. Port 0

Port 0 adalah 8 bit open drain bi-directional port I/O. pada saat sebagai port output, tiap pin dapat dilewatkan ke-8 input TTL. Ketika logika satu dituliskan pada port 0, maka pin-pin ini dapat digunakan sebagai input yang berimpendansi tinggi. Port 0 dapat dikonfirmasikan untuk demultiplex sebagai jalur data/addres bus selama membaca ke program eksternal dan memori data. Pada mode ini P0 mempunyai internal Pullup. Port 0 juga enerima kode bytre selama pemograman Flash. Dan mengeluarkan kode byte selama verifikasi program.

  1. Port 1

Port 1 adalah 8 bit bi-directional port I/O dengan internal Pullup. Port 1 mempunyai output yang dapat dihubungkan dengan 4 TTl input. Ketika logika ‘1’ dituliskan ke port 1, pin ini di pull hight dengan menggunakan internal pullup dan dapat digunakan sebagai input. Port 1 juga menerima addres bawah selama pemrograman Flash dab verifikasi.

  1. Port 2

Port 2 adalah 8 bit bi directional port I/O dengan Pullup. Port 2 output buffer dapat melewatkan empat TTL input. Ketika logika satu dituliskan ke port 2, maka mereka dipull hight dengan internal Pullup dan dapat digunakan sebagai input.

 

  1. Port 3

Port 2 adalah 8 bit bi directional port I/O dengan Pullup. Output buffer dari Port 3 dapat dilewati empat input TTL. Ketika logika satu dituliskan keport 3, maka mereka akan dipull hight dengan internal pullup dan dapat digunakan sebagai input. Port 3 juga mempunyai berbagai macam fungsi/fasilitas. Port 3 juga menerima beberapa sinyal kontrol untuk pemrograman Flash dab verifikasi.

  1. RST

Input reset. Logika hight pada pin ini akan mereset siklus mesin (IC).

  1. ALE/PROG.

Pulsa output Addres Latch Enable digunakan untuk lantching byte bawah dari addres selama mengakses ke eksternal memory. Pin ini juga merupakan input pulsa program selama pemrograman Flash. Jika dikehendaki, operasi ALE dapat didisable dengan memberikan setting bit 0 dari SFR pada lokasi 8EH. Dengan Bit Set, ALE disable, tidak akan mempengaruhi jika mikrokontroler pada mode eksekusi eksternal.

  1. PSEN

Program Store Enable merupakan sinyal yang digunakan untuk membaca program memory eksternal. Ketika 8951 mengeksekusi kode dari program memory eksternal, PSEN diaktifkan dua kali setiap siklus mesin.

  1. EA/VPP

Eksternal Acces Enable, EZ harus diposisikan ke GND untuk mengaktifkan divais untuk mengumpankan kode dari program memory yang dimulai pada lokasi 0000h sampai FFFFh. EA harus diposisikan ke VCC untuk eksekusi program internal. Pin ini juga menerima tegangan pemrograman 12 volt (Vpp) selama pemrograman Flash.

  1. XTAL1

Input untuk oscillator inverting amplifier dan input untuk inte rnal clock untuk pengoperaian rangkaian.

  1. XTAL2

Output dari inverting oscillator amplifier.

 

 

 

 

 

 

Pemrograman Bahasa Assembly

Bahasa assembly menggantikan kode – kode biner dari bahasa mesin dengan “mnemonik” yang mudah diingat, misalnya sebuah instruksi penambahan dalam bahasa mesin disajikan dengan kode “10110011” yang dalam bahasa assembly dapat disajikan danam mnemonik ADD sehingga mudah diingat dibanding sederetan angka 0 atau 1.

Tidak hanya itu, perintah penambahan membutuhkan suatu operan baik berupa data langsung maupun suatu lokasi memori yang menyimpan data yang bersangkutan. Dengan demikian kode untuk ADD bisa berbeda – beda tergantung kebutuhan atau jenis operannya. Instruksi lainnya rata – rata juga membutuhkan operan dalam bentuk yang berbeda – beda. Bagian ni ada baiknya diawali dengan beberapa definisi, antara lain :

1. Program Bahasa Assembly

Sebuah program yang terdiri dari label – label, mnemonik, dan lain sebagainya.

2. Program bahasa mesin

Sebuah program yang mengandung kode – kode biner yang merupakan instruksi – instruksi yang biasa dipahami prosesor.

 

 

3. Assembler

Suatu program yang dapat menerjemahkan program bahasa assemble keprogram bahasa mesin.

4. Linker

Suatu program yang dapat menggabungkan program – program object relocatable (modul - modul) dan menghasilkan suatu program object absolut yang dapat dijalankan oleh prosesor.

5. Segmen

Suatu unit memori, kode atau data

6. Modul

Mengandung satu atau lebih segemen atau sebagai segmen.

7. Program

Merupakan modul absolut tunggal, menyatakan semua segmen absolut dan relocatable dari modul – modul yang terlibat.

 

 

 

Format Program Bahasa Assembly

Program bahasa assembly berisikan :

1. Instruksi – instruksi mesin

2. Pengarah – pengarah assembler

3. Kontrol – kontrol assembler

4. Komentar – komentar

Instruksi – instruksi mesin merupakan mnemonik yang menyatakan suatu instruksi yang bisa dijalankan (misalnya MOV). Pengarah assembler merupakan instruksi keprogram assembler yang mendefinisikan struktur program, simbol – simbol, (menentukan) mode – mode assembler dan aliran assembler langsung (missal STITLE). Komentar perlu dituliskan agar program mudah dibaca, tidak harus perintruksi bisa juga sekumpulan instruksi yang mengerjakan suatu operasi.

Baris – baris program yang mengandung instuksi mesin atau pengarah assembler harus mengikuti aturan program assembler ASM51. masing – masing baris batas beberapa field yang dipisahkan dengan spasi atau tabulasi.

1. Label

Sebuah label mewakili alamat dari suatu nstruksi (data) yang mengikat. Label ini digunakan sebagai operan pada instruksi – instruksi percabangan. (Misal : SJMP TERUS)

2. Mnemonik

Mnemonik instruksi atau pengarah assembler dimasukan dalam “mnemonik field” yang mengikuti “label mnemonik”. Mnemonik instruksi misalnya : ADD, MOV, INC, dan lain – lain.

3. Operan

Operan ditulis setelah mnemonik, bisa berupa alamat atau data yang digunakan instruksi yang bersangkutan. Bisa juga berupa label yang mewakili alamat data atau berupa simbol yang mewakili data konstan.

4. Komentar

Komentar harus diwakili dengan titik koma (;). Sebuah garis akan dianggap sebagai komentar jika diawali dengan titik koma.

5. Simbol – simbol assembler khusus

Simbol – simbol assambler khusus digunakan untuk mode – mode pengalamatan melalui register. Simbol – simbol ini mencakup A, R0 s/d R7, DPTR, C, PC dan AB. Juga tanda dolar yang dapat digunakan untuk menunjuk nilai pecahan program saat itu.

6. Pengalamatan tak langsung

Beberapa instruksi menggunakan operan berupa register yang menyimpan alamat data yang disimpan. Dalam hal ini digunakan tanda “at” yang dapat digunakan bersama dengan R0, R1, DPTR atau PC tergantung dari instruksi yang digunakan.

7. Data langsung

Data – data langsung yang diawali tanda poud dan menyatu dengan instruksi yang bersangkutan.

8. Alamat data

Banyak instruksi – instruksi yang mengakses lokasi – lokasi memori menggunakan pengalamatan langsung dan membutuhkan alamat memori dan internal (00h hingga 7Fh) atau alamat SFR (80h hingga FFh) pada operan.

9. Alamat Bit

Salah satu kelebihan dari mikrokontroller 51 adalah kemampuannya bisa mengakses alamat – alamat perbit tanpa menggunakan cara khusus. Instruksi yang melibatkan lokasi yang teralamati bit harus menyediakan alamat bit dalam memori data internal (00h hingga 7Fh) atau alamat bit di ruang SFR (80h hingga FFh).

10. Alamat Kode

Suatu Alamat kode digunakan dalam operan instruksi lompatan, termasuk lompatan relatif (SJMP dan lompatan bersyarat), lompatan dan call far (LJMP, LCALL).

11. Jump dan Call Jump

ASM51 membolehkan kita untuk menggunakan mnemonik JMP atau CALL yang umum; mnemonik JMP digunakan sebagai wakil dari SJMP, AJMP atau LJMP, sedangkan mnemonik CALL mewakili ACALL atau LCALL.