Tabel 1 Mode Pemrograman Flash PEROM AT89Cx051

dokumen-dokumen yang mirip
ARSITEKTUR MIKROKONTROLER AT89C51/52/55

MIKROKONTROLER Arsitektur Mikrokontroler AT89S51

Blok sistem mikrokontroler MCS-51 adalah sebagai berikut.

MIKROKONTROLER AT89S52

BAB 2 LANDASAN TEORI. Mikrokontroler AT89S51 hanya memerlukan tambahan 3 kapasitor, 1 resistor dan 1

I/O dan Struktur Memori

BAB III PERANCANGAN SISTEM

BAB II LANDASAN TEORI. Dalam merancang sebuah peralatan yang cerdas, diperlukan suatu

PERTEMUAN MEMORY DAN REGISTER MIKROKONTROLER

BAB 2 TINJAUAN TEORITIS. Mikrokontroller, sebagai suatu terobosan teknologi mikrokontroler dan microkomputer,

SIMULASI PENYIRAMAN TANAMAN PADA RUMAH KACA MENGGUNAKAN SENSOR SUHU LM35 MELALUI PARALEL PORT DENGAN APLIKASI BAHASA PEMROGRAMAN DELPHI 7.

BAB 2 LANDASAN TEORI

BAB IV HASIL PENGUKURAN DAN PENGUJIAN ALAT SISTEM PENGONTROL BEBAN DAYA LISTRIK

BAB III PERANCANGAN DAN CARA KERJA RANGKAIAN

MIKROKONTROLER Yoyo Somantri dan Egi Jul Kurnia

MICROCONTROLER AVR AT MEGA 8535

BAB III MIKROKONTROLER

BAB 2 LANDASAN TEORI. Mikrokontroler AT89S52 termasuk kedalam keluarga MCS-51 merupakan suatu. dua macam memori yang sifatnya berbeda yaitu:

BAB 2 LANDASAN TEORI. Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan

TEKNIK PEMROGRAMAN MIKROKONTROLER AVR

BAB 2 TINJAUAN PUSTAKA

Oleh : Mujahidin

Percobaan 1 PENGENALAN INTERFACE PARALLEL DAN SEVEN SEGMENT LED DISPLAY

BAB 2 LANDASAN TEORI. bisa digunakan untuk memindahkan program yang ber-ekstention.hex ke Flash,

BAB III RANCANG BANGUN SISTEM KARAKTERISASI LED. Rancangan sistem karakterisasi LED diperlihatkan pada blok diagram Gambar

DAFTAR ISI ABSTRAKSI KATA PENGANTAR DAFTAR TABEL DAFTAR GAMBAR DAFTAR LAMPIRAN DAFTAR ISTILAH DAN SINGKATAN. 1.1 Latar Belakang Masalah 1

BAB III PERANCANGAN DAN PEMBUATAN ALAT

Memprogram Port sebagai Output dan Input Sederhana

DASAR INPUT/OUTPUT (2) (PORT PPI DAN PORT 1 SEBAGAI INPUT/OUTPUT)

BAB III PERANCANGAN SISTEM

TKC210 - Teknik Interface dan Peripheral. Eko Didik Widianto

BAB 2 TINJAUAN TEORITIS

BAB II TINJAUAN PUSTAKA

BAB III METODE PENELITIAN. baik pada perangkat keras maupun pada komputer. Buffer. Latch

BAB III TEORI PENUNJANG. Microcontroller adalah sebuah sistem fungsional dalam sebuah chip. Di

BAB III PERANCANGAN SISTEM. Secara garis besar rangkaian pengendali peralatan elektronik dengan. blok rangkaian tampak seperti gambar berikut :

BAB II TEORI DASAR 2.1 Pendahuluan 2.2 Sensor Clamp Putaran Mesin

Konsep dan Cara Kerja Port I/O

PPI Skema konektor dari IC PPI 8255 adalah sebagai berikut :

BAB II TINJAUAN PUSTAKA. Mikrokontroler, sebagai suatu terobosan teknologi mikrokontroler dan

Lab Elektronika Industri Mikrokontroler - 1 AT89C1051

BAB 2 TINJAUAN TEORITIS. Sensor TGS 2610 merupakan sensor yang umum digunakan untuk mendeteksi adanya

BAB II TINJAUAN PUSTAKA. Jantung dalam terminologi sederhana, merupakan sebuah pompa yang terbuat

MANAJEMEN ENERGI PADA SISTEM PENDINGINAN RUANG KULIAH MELALUI METODE PENCACAHAN KEHADIRAN & SUHU RUANGAN BERBASIS MIKROKONTROLLER AT89S51

APLIKASI HITACHI M1632 LCD PADA SC - AVR

BAB II TINJAUAN PUSTAKA

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN. Mikrokontroler ATMEGA Telepon Selular User. Gambar 3.1 Diagram Blok Sistem

BAB IV HASIL DAN PEMBAHASAN. ketepatan masing-masing bagian komponen dari rangkaian modul tugas akhir

MICROCONTROLER AVR AT MEGA 8535

BAB 3 PERANCANGAN SISTEM

Sistem Mikroprosessor

BAB 2 LANDASAN TEORI

BAB III PERANCANGAN SISTEM

BAB III PERENCANAAN PERANGKAT KERAS DAN LUNAK

BAB II DASAR TEORI 2.1. Mikrokontroler AVR ATmega32

BAB III PERANCANGAN ALAT. dimmer atau terang redup lampu dan pengendalian pada on-off lampu. Remote

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika. Assembler Bahasa pemrograman mikrokontroler MCS-51

BAB 3 PERANCANGAN SISTEM

DAFTAR ISI HALAMAN JUDUL... HALAMAN PENGESAHAN P EMBIMBING... HALAMAN PENGESAHAN P ENGUJI... HALAMAN PERSEMBAHAN... HALAMAN MOTTO... KATA PENGANTAR...

BAB 2 TINJAUAN TEORITIS

Memprogram Interupsi AT89S51

BAB III PERANCANGAN ALAT

Pendahuluan Mikrokontroler 8051

BAB V HASIL DAN PEMBAHASAN. Pengujian dilakukan terhadap 8 sensor photodioda. mendeteksi garis yang berwarna putih dan lapangan yang berwarna hijau.

BAB IV PENGUJIAN DAN ANALISA DATA

USER MANUAL FLIP-FLOP MATA DIKLAT : RANCANGAN ELEKTRONIKA

BAB II TEORI DASAR. peralatan input / output ( I / O ) pendukung di dalamnya. Suatu sistem mikroprosesor

BAB III PERANCANGAN PERANGKAT KERAS DAN LUNAK. Perangkat keras dari alat ini secara umum terdiri dari rangkaian dibagi

DT-51 Application Note

BAB 3 PERANCANGAN SISTEM

AT89 USB ISP Trademarks & Copyright

Sistem Minimum Mikrokontroler. TTH2D3 Mikroprosesor

BAB III PERANCANGAN SISTEM

USER MANUAL PALANGAN KERETA API OTOMATIS MATA DIKLAT : SISTEM PENGENDALI ELEKTRONIKA

TAKARIR. Akumulator Register yang digunakan untuk menyimpan semua proses aritmatika

Wireless Infrared Printer dengan DST-51 (Pengambilan Data dari Standard Parallel Port)

BAB III PERANCANGAN SISTEM

BAB IV IMPLEMENTASI DAN EVALUASI

ELEKTRONIKA DIGITAL PPI 8255

BAB III PERENCANAAN DAN REALISASI

BAB IV IMPLEMENTASI DAN PENGUJIAN. Proses instalasi aplikasi merupakan tahapan yang harus dilalui sebelum

BAB III METODOLOGI PENULISAN

Mikroprosesor Z80 Suryanto Sutikno

de KITS Application Note AN17 - How 2 Use de KITS Relay Board with StarTech PPI Card

Fasilitas-fasilitas tambahan pada Modul DST-V37

BAB III PERENCANAAN DAN REALISASI

Pengendalian 8 buah Motor oleh DST-51

Tabel 1. Karakteristik IC TTL dan CMOS

BAB 3 PERANCANGAN SISTEM. pada sistem pengendali lampu telah dijelaskan pada bab 2. Pada bab ini akan dijelaskan

Aplikasi Kontrol Switch Menggunakan Silicon Controlled Rectifier (SCR) Melalui Parallel Port

How2Use DT-51 AT89C51XXX BMS. Oleh: Tim IE. Gambar 1 Tata Letak DT-51 AT89C51XXX BMS

Desain Tracker Antena Parabola Berbasis Mikrokontroler

Sumber Clock, Reset dan Antarmuka RAM

8/4/2011. Read Only Memory (ROM) Microprocessor & Microcontroller Programming. Random Access Memory (RAM) Serial/Sequential Access Memory (SAM)

Antarmuka PC Keyboard dengan DST-AVR

Gambar 3.1 Blok Diagram Port Serial RXD (P3.0) D SHIFT REGISTER. Clk. SBUF Receive Buffer Register (read only)

JURNAL Pemrogram Flash Mikrokontroler Seri AT89 Berbantukan Perangkat Lunak PGM89

BAB III PERANCANGAN SISTEM

Transkripsi:

53 Downloader mikrokontroler AT89C2051 AT89C2051 Flash PEROM Programmer ini sangat sederhana, hanya memakai sebuah IC 74HC574 ditambah dengan sistem catu daya dan dihubungkan ke komputer PC lewat Parallel Port, dikendalikan lewat program yang ditulis dengan Pascal. Program untuk AT89C2051 disimpan di dalam ROM yang terdapat dalam chip IC tersebut, ROM yang dipakai AT89C2051 termasuk jenis Flash PEROM (Programmable Eraseable Read Only Memory). Diperlukan cara dan rangkaian khusus untuk mengisi Flash PEROM tersebut, berikut ini akan dibahas cara pengisian Flash PEROM AT89C2051 dan pembuatan alat pengisi Flash PEROM AT89C2051. Selain diisi, Flash PEROM tersebut bisa pula dibaca isinya, dihapus bahkan bisa diproteksi sehingga isinya tidak bisa dibaca lagi untuk mencegah pembajakan program. Selain itu semua microcontroller produksi Atmel masing-masing punya kode produksi sendiri, sehingga program Pascal di komputer bisa dengan mudah mengenali chip microcontroller jenis apa yang dipasangkan pada alat ini. Tabel 1 memperlihatkan kombinasi sinyal yang harus diberikan pada kaki-kaki P3.7..P3.3, tegangan VPP yang harus diberikan ke kaki RESET dan sinyal PROG pada kaki P3.2 untuk berbagai keperluan dengan Flash PEROM di dalam chip AT89C2051. Tabel 1 Mode Pemrograman Flash PEROM AT89Cx051 Pengisian data ke PEROM Gambar 1 merupakan susunan rangkaian untuk mengisi Flash PEROM AT89C2051, dalam susunan ini Port 1 (P1.0..P1.7) dipakai sebagai saluran penerima data yang akan diisikan ke PEROM, P3.7..P3.3 dipakai untuk memilih mode kerja, kaki RESET dipakai untuk catu daya tambahan (VPP) sebesar 12 Volt.

54 Gambar 1 Mengisi Flash PEROM AT89Cx051 AT89C2051 dilengkapi address counter di dalam chip, yang berfungsi sebagai ganti address bus pada saat pengisian atau pembacaan Flash PEROM. Kedudukan address counter ini akan reset menjadi 000(hex) saat tegangan VPP pada kaki RESET berubah dari 0 Volt menjadi 5, dan nilai address counter ini naik satu setiap kali ada pulsa positip NEXT diumpankan pada kaki XTAL1. Proses pengisian Flash PEROM, dilakukan dengan urutan sebagai berikut : 1. AT89C2051 diberi catu daya 5 Volt lewat kaki Vcc, kaki RESET dan XTAL1 diberi tegangan 0. 2. Menjelang proses pengisian akan dimulai, tegangan VPP dinaikkan menjadi 5 Volt agar address counter reset menjadi 000(hex), dan sinyal PROG pada kaki P3.2 dijadikan H. 3. AT89C2051 disiapkan kerja pada mode pengisian dengan memberi sinyal HHHL pada kaki P3.7..P3.3. 4. Setelah urutan persiapan ini selesai, VPP dinaikkan menjadi 12 Volt sebagai catu daya yang diperlukan untuk pengisian PEROM. 5. Selanjutnya data yang akan diisikan disiapkan di Port 1 (P1.0..P1.7) 6. Pulsa negatip PROG pada P3.2 dipakai sebagai perintah agar data pada Port 1 diisikan ke dalam PEROM, proses pengisian ini memerlukan waktu relatip lama lebih kurang selama 1,2 mili-detik, selama proses pengisian ini kaki P3.1 menjadi 0 menandakan AT89C2051 sedang sibuk (BUSY). Saat kaki P3.1 menjadi 1 kembali berarti selesai sudah proses pengisian data 1 byte ke dalam PEROM, dan AT89C2051 siap menerima data lagi. 7. Setelah proses pengisian 1 byte ini, dikirim sinyal NEXT yang berupa pulsa positip ke kaki XTAL1, dengan maksud menaikkan nilai address counter, agar pengisian data berikutnya diisikan ke lokasi PEROM berikutnya. 8. Urutan 5 sampai 7 di atas diulang untuk mengisikan data 1 byte demi 1 byte, sampai semua PEROM dalam AT89C2051 sebanyak 2048 byte selesai diisikan. Rancangan Rangkaian Gambar 3 merupakan skema rangkaian AT89C2051 Flash PEROM Programmer yang dibuat, rangkaian ini dikendalikan oleh Komputer PC lewat Parallel Port.

55 Dari Gambar 1 dan 2 bisa diperhitungkan banyaknya jalur yang diperlukan untuk mengendalikan chip AT89C2051, antara lain diperlukan 8 jalur data yang dua arah, diperlukan 4 jalur pengatur mode, jalur PROG, jalur NEXT dan 2 jalur pengatur VPP, dan 1 jalur BUSY untuk memantau apakah AT89C2051 sudah siap menerima data. Parallel Port komputer PC mempunyai 8 jalur data yang dua arah, 4 jalur kontrol (sebagai output dari PC) dan 5 jalur status (sebagai input ke PC), dengan demikian memakai Parallel Port untuk mengendalikan chip AT89C2051, masih kekurangan jalur output. Untuk mengatasi kekurangan ini pada rangkaian dipakai IC 74HC574, IC ini menampung 4 jalur pengatur mode dan 2 jalur pengatur tegangan VPP. Data pengatur ini disiapkan di jalur data Parallel Port D0..D7, kemudian dikirim sinyal LATCH yang dibangkitkan di kaki nomor 17 konektor DB25 (dikendalikan dengan bit 3 dari Control Register Parallel Port), sehingga data di D0..D7 tersimpan output 74HC574. Sinyal PROG dibangkitkan dikaki nomor 14 konektor DB25 (dikendalikan dengan bit 1 dari Control Register Parallel Port), dan sinyal NEXT dibangkitkan dikaki nomor 1 (dikendalikan dengan bit 0 dari Control Register Parallel Port). Sinyal BUSY yang dibangkitkan AT89C2051, dipantau lewat kaki nomor 11 konektor DB25 (bit 7 dari Status Register Parallel Port) Pengatur tegangan VPP terdiri dari sinyal VPP_5VOLT dan sinyal VPP_OFF. Jika sinyal VPP_5VOLT=1 tegangan output LM317 menjadi 5 Volt, sebaliknya jika sinyal VPP_5VOLT=0 tegangan output LM317 menjadi 12 Volt. Jika sinyal VPP_OFF=1 transistor Q1 menjadi off, VPP menjadi 0 Volt lewat tahanan R7, sebaliknya jika sinyal VPP_OFF=1 transistor Q1 menjadi on dan menyalurkan tegangan dari LM317, sehingga tegangan VPP menjadi 5 Volt atau 12 Volt, sesuai dengan kondisi sinyal VPP_5VOLT. Nilai tahanan R1 dan R3 termasuk aneh, dipilih nilai ini untuk menyesuaikan agar tegangan output LM317 tepat 5 Volt atau 12 Volt, tahanan ini dibentuk dengan menghubungkan seri 2 tahanan, R1 dibentuk dengan tahanan 250 + 4,7 = 254.7 Ohm dan R3 dibentuk dengan tahanan 1000 + 120 = 1120 Ohm. Klik pada gambar untuk ukuran sebenarnya

56 Gambar 3 Skema Rangkaian AT89Cx051 Kabel yang dipakai untuk menghubungkan alat ini ke Parallel Port komputer PC bisa dibeli jadi, di pasaran kabel ini dikenal dengan nama Kabel LPT, dikedua ujung kabel ini terdapat konektor DB25 (male), masing-masing kaki pada konektor ini dihubungkan secara langsung, yakni kaki 1 konektor pertama dihubungkan dengan kaki 1 konektor lainnya dan seterusnya. Program Pascal pengatur Parallel Port Berikut ini dibahas potongan-potongan program pembentuk sinyal-sinyal di atas, programprogram ini merupakan program dasar yang mengendalikan Parallel Port secara langsung. Perlu diperhatikan sinyal-sinyal pada Parallel Port bersifat logika negatip, kalau bit pada Control Register bernilai 1 maka tegangan kaki bersangkutan pada konektor DB25 adalah 0 Volt, sebaliknya jika bit pada Control Register bernilai 0 maka tegangan pada kaki konektor DB25 adalah 5 Volt. Potongan Program 1 Mengatur arah data 01: PROCEDURE SetupOutput; 02: BEGIN 03: { Control Register 04: 00001001 05: _ NEXT : normally LOW positive pulse 06: PROG* : normally HIGH negative pulse 07: Latch : normally LOW positive pulse

57 08: Direction : 0 as ouput Port 09: } 10: ControlByte := 9; {00001001} 11: Port[Control] := ControlByte; 12: END; 13: 14: PROCEDURE SetupInput; 15: BEGIN 16: { Control Register 17: 00101001 18: _ NEXT : normally LOW positive pulse 19: PROG* : normally HIGH negative pulse 20: Latch : normally LOW positive pulse 21: Direction : 1 as input port 22: } 23: ControlByte := $29; {00101001} 24: Port[Control] := ControlByte; 25: END; PROCEDURE SetupInput dan PROCEDURE SetupOutput dipakai untuk menentukan nilai awal : sinyal NEXT (kaki nomor 1 konektor DB25 terhubung ke bit 0 dari Control Register Parallel Port) sinyal PROG (kaki nomor 14 konektor DB25 terhubung ke bit 1 dari Control Register Parallel Port) sinyal LATCH (kaki nomor 17 konektor DB25 terhubung ke bit 3 dari Control Register Parallel Port)

58 tapi mengingat sinyal-sinyal pada Parallel Port bersifat logika negatip, maka : sinyal NEXT nilai awalnya 0, bit 0 Control Register malah diberi nilai 1 (baris 5 dan 18) sinyal PROG nilai awalnya 1, bit 1 Control Register malah diberi nilai 0 (baris 6 dan 19) sinyal LATCH nilai awalnya 0, bit 3 Control Register malah diberi nilai 1 (baris 7 dan 20) Hal yang lebih penting dari kedua procedure di Potongan Program 1 ini adalah mengatur arah 8 jalur data dwi-arah Parallel Port, pada saat mengisi data ke Flash PEROM 8 jalur data ini akan menjadi output untuk menyalurkan data dari PC ke AT892051, dan pada saat membaca data dari Flash PEROM 8 jalur data ini berfungsi sebagai input untuk menyalurkan data dari AT89C2051 ke PC. Pengaturan ini dilakukan lewat bit 5 Control Register, jika bit 5 Control Register bernilai 0 (baris 8) jalur data dwi-arah menjadi output dari Parallel Port, sebaliknya jika bit 5 Control Register bernilai 1 (baris 21) jalur data dwi-arah akan menjadi input ke Parallel Port. Kemampuan untuk mengubah jalur data Parallel Port menjadi input, hanya dimiliki oleh Enhance Parallel Port (EPP). EPP umumnya dibuat menjadi satu dengan mother board PC, sedangkan Parallel Port dalam Super I/O Card tidak termasuk EPP. Agar kemampuan ini bisa digunakan, Parallel Port ini harus ditentukan sebagai Enhance Parallel Port (EPP) lewat setup BIOS komputer. Komputer yang tidak dilengkapi dengan EPP tetap bisa dipakai untuk mengisi PEROM, tapi tidak bisa membaca isi PEROM, sehingga program yang diisikan tidak bisa di-verifikasi apakah sudah masuk dengan benar. Program yang dibuat dilengkapi dengan PROCEDURE MemeriksaPrinterPort yang berfungsi menentukan apakah Parallel Port yang dipakai termasuk EPP. Potongan Program 2 Pembangkitan pulsa dasar 01: PROCEDURE NEXT; 02: BEGIN 03: Port[Control]:=ControlByte and $FE; {bit 0 Control Regiter}

59 04: Port[Control]:=ControlByte; 05: END; 06: 07: PROCEDURE PROG; 08: BEGIN 09: Port[Control]:=ControlByte or $02; {bit 1 Control Regiter} 10: Port[Control]:=ControlByte; 11: END; 12: 13: PROCEDURE EraseStrobe; 14: BEGIN 15: Port[Control]:=ControlByte or $02; {bit 1 Control Regiter} 16: Delay(30); 17: Port[Control] := ControlByte; 18: END; PROCEDURE Next membangkitkan pulsa positip di kaki nomor 1 konektor DB25, kaki nomor 1 ini dikendalikan lewat bit 0 di Control Register Parallel Port, bit 0 Control Register ini diberi nilai awal =1 oleh PROCEDURE SetupInput dan PROCEDURE SetupOutput, dibaris 3 bit 0 di- nol -kan dan dibaris 4dikembalikan ke nilai awalnya, dengan cara ini kaki 1 konektor DB25 bertegangan 5 Volt sebentar dan kemudian menjadinya 0 Volt kembali. PROCEDURE PROG membangkitkan pulsa negatip dikaki nomor 14 konektor DB25, kaki nomor 14 ini dikendalikan lewat bit 1 di Control Register Parallel Port, bit 1 Control Register ini diberi nilai awal =0 oleh PROCEDURE SetupInput dan PROCEDURE SetupOutput, dibaris 9 bit 1 di- satu -kan dan dibaris 10 dikembalikan ke nilai awalnya, dengan cara ini kaki 14 konektor DB25 bertegangan 0 Volt sebentar dan kemudian menjadinya 5 Volt kembali. PROCEDURE EraseStrobe sama dengan PROCEDURE PROG, hanya saja pulsa negatip yang dibangkitkan jauh lebih lebar, sekitar 30 mili-detik yang ditentukan di baris 16. Pulsa ini

60 dipakai untuk menghapus isi Flash PEROM, lebar pulsa yang diperlukan paling tidak selebar 10 mili-detik. Potongan Program 3 Memantau kesiapan AT89C2051 01: FUNCTION Ready:BOOLEAN; 02: BEGIN 03: Ready := (Port[Status] and $80) = 0; 04: END; Potongan Program 3 dipakai untuk memeriksa apakah AT89C2051 siap menerima data lagi. Di atas dikatakan: Saat kaki P3.1 menjadi 1 kembali berarti selesai sudah proses pengisian data 1 byte ke dalam PEROM, dan AT89C2051 siap menerima data lagi. Dalam rangkaian Gambar 3 kaki P3.1 terhubung ke kaki 11 konektor DB25, dalam Parallel Port kaki 11 itu terhubung ke bit 7 Status Register. Tapi hubungan tersebut dalam kondisi berlawanan, artinya jika tegangan pada kaki 11 konektor DB25 = 0 Volt maka bit 7 Status Register bernilai 1, sebaliknya jika tegangan pada kaki 11 konektor DB25 = 5 Volt maka bit 7 Status Register bernilai 0. Dengan demikian dalam FUNCTION Ready untuk memeriksa apakah AT89C2051 sudah siap menerima data, yang diperiksa adalah apakah bit 7 dari Status Register Parallel Port bernilai 0, jika bit 7 bernilai 0 maka Ready bernilai true, sebaliknya jika bit 7 bernilai 1 maka Ready bernilai false. Potongan Program 4 Pengaturan Tegangan VPP 01: PROCEDURE TeganganVPP(V:BYTE); 02: BEGIN 03: { Pemakaian 74HC574 04: x1x1mmmm

61 05: _ Atmel Programming Mode bits 06: Atmel Programming Mode bits 07: Atmel Programming Mode bits 08: Atmel Programming Mode bits 09: always 1 10: VPP_5VOLT : true-vpp=5 V, false-vpp=12 V 11: Reset External Address Counter 12: VPP_OFF : true-vpp=0 V, false-vpp=5 or 12 V 13: } 14: case V of 15: 0 : V:=$B0; {10110000} 16: 5 : if ModeSelect=$0B 17: THEN V:=$70 {01110000} 18: ELSE V:=$30; {00110000} 19: 12 : V:=$10; {00010000} 20: ELSE EXIT; 21: END; 22: SetupOutput; 23: Port[Data] := V + ModeSelect; 24: Port[Control] := ControlByte and $F7; { bit 3 } 25: Port[Control] := ControlByte; 26: SetupInput; 27: END; 28: 29: PROCEDURE ResetAddressCounter(Mode:BYTE); 30: BEGIN

62 31: ModeSelect := $0B; { any illegal Mode } 32: TeganganVPP(0); 33: Delay(100); 34: ModeSelect := Mode; 35: TeganganVPP(5); 36: Delay(100); 37: END; 38: 39: PROCEDURE MatikanTegangan; 40: BEGIN 41: ModeSelect := $0B; { any illegal Mode } 42: TeganganVPP(0); 43: END; PROCEDURE TeganganVPP untuk menentukan tegangan VPP yang diumpankan ke kaki RESET AT89C2051, sekali gus mengatur mode kerja AT89C2051. Sinyal kontrol untuk keperluan di atas disimpan dalam IC 74HC574, data yang akan disimpan disiapkan di Port Data (baris 23), setelah itu bit 3 Control Register di-nol-kan (baris 24) dan dikembalikan ke nilai asalnya (baris 25), hali ini mengakibatkan terjadinya pulsa positip pada kaki nomor 17 konektor DB25, sebagai perintah bagi IC 74HC574 untuk mereka data dari Parallel Port. Kombinasi data yang disimpan tergantung pada bit-bit pengatur mode kerja AT89C2051 seperti terlihat pada Tabel 1, dan sesuai dengan pengatur tegangan VPP terdiri dari sinyal VPP_5VOLT dan sinyal VPP_OFF yang sudah dibahas di atas. PROCEDURE ResetAddressCounter untuk menyiapkan tegangan kerja AT89C2051 sekaligus me-reset address counter dalam chip AT89C2051, mula-mula tegangan VPP dibuat menjadi 0 Volt dan setelah itu dijadikan 5 Volt, waktu tunda selama 100 mili-detik di baris 33 dimaksud menunggu sebentar agar catu daya stabil baru menaikkan tegangan itu menjadi 5 Volt (baris 35). Untuk kestabilan tegangan, mula-mula mode kerja AT89C2051 diberi kombinasi yang tidak dikenal di Tabel 1 (baris 31), baru kemudian diberikan kombinasi yang sesunguhnya (baris 34).

63 PROCEDURE MatikanTegangan untuk mematikan tegangan VPP dengan mode kerja yang tidak dikenal di Tabel 1 (baris 41).

64

65

66