Serial Downloader Sederhana untuk AT89S51/AT89S52

SDownldr.exe adalah software untuk memprogram AT89S51/AT89S52 secara serial melalui port paralel. Software ini terdapat dalam Microcontroller Project

SDownldr.exe
SDownldr.exe

Skema pemasangan IC ke port adalah seperti berikut:

Skema rangkaian downloader serial
Skema rangkaian downloader serial

Rangkaian Serial Downloader di atas menggunakan catu daya dari port paralel. Akan tetapi tidak semua port paralel mampu memberikan arus yang cukup untukย keperluan tersebut. Jika port paralel Anda tidak cukup kuat untuk keperluan ini,ย maka Anda harus memberikan catu daya +5V tambahan.

Jika program ini dijalankan dari IDE, maka semua pengaturannya akan dilakukanย oleh IDE. Sedangkan jika dijalankan secara standalone, maka pengaturannya adalahย sebagai berikut:

  • Default Hex File

    Jika Anda menggunakan IDE “Microcontroller Poject”, maka setiap kali dilakukan kompilasi yang sukses, sebuah file hex akan dibuat pada direktori temp, yaitu TMPFILE.HEX. Jika “Default Hex File” di-cek, maka file yang akan dikirimkan jika tombol Send diklik adalah file hex hasil kompilasi yang sukses tersebut. Perlu diingat bahwa file hex tersebut hanya akan ada jika IDE masih dijalankan.

    Jika “Default Hex File” tidak di-cek, maka Anda bisa menentukan file mana yang akan dikirimkan dengan klik pada tombol Browse.
  • Send

    Gunakan tombol ini untuk memulai pengiriman file hex yang telah ditentukan.
  • Read

    Gunakan tombol ini untuk membaca kode yang berada pada chip. Pembacaan hanya akan berhasil jika chip belum di-lock.
  • Lock

    Gunakan tombol ini untuk lock chip sehingga kode pada chip tidak bisa dibaca lagi.
  • Port

    Pilih alamat port yang sesuai dengan port yang digunakan. Biasanya port pararel ditempatkan pada alamat 378H.
  • Auto Lock

    Jika di-cek, maka setelah pengiriman data selesai dan setelah dilakukan verifikasi, chip akan di-lock secara otomatis.
  • Browse

    Gunakan tombol ini untuk memilih file hex yang akan dikirimkan. Tombol ini hanya akan aktif jika “Default Hex File” tidak di-cek.
  • Read data count

    Digunakan untuk menentukan jumlah data yang akan dibaca jika tombol Read diklik. Penulisan angka bisa menggunakan desimal atau hexadesimal, yaitu jika “Hex” di-cek.

Comments

69 responses to “Serial Downloader Sederhana untuk AT89S51/AT89S52”

  1. Avatar Chandra MDE

    Boleh nih, mungkin suatu saat bakal aku coba… ๐Ÿ™‚

  2. Avatar eethon
    eethon

    apa sdownloadernya cocok untuk atmel AT80F51 ? soalnya sy sdh rangkai sesuai dengan skema tp tdk bisa, terima kasih sebelumnya pak

    1. Avatar Sulhan

      Hanya bisa untuk AT89S51/AT89S52. Sedangkan AT80F51 itu tidak bisa diprogram oleh user, hanya bisa diprogram oleh Atmel.

  3. Avatar soleh
    soleh

    Pak sulhan kalau buat At89c51 bisa gak…??
    terus programnya pakai software yang ad di CD buku pak sulhan bisa gak..??
    terimakasih

    1. Avatar Sulhan

      Seri C tidak bisa diprogram secara serial. Jadi harus diprogram secara paralel. Software yang di buku adalah versi 5 dan belum menyediakan interface untuk download secara serial maupun custom. Sebaiknya donwload yang versi terbaru

  4. Avatar samarudin
    samarudin

    salam sejahtera…
    mas sulhan…nomor pin yang ada di skema downloader diatas itu pada pcb cpu apa di ujung konektor db25?terus terang saya bingung menentukan pinnya.saya sedang membuat tex berjalan dg led matriks mau coba membuat sendiri downldr skema dari mas sulhan dan baru beli bukunya mas sulhan.kebetulan kabel db25 yang ujungnya sama(yang ada untuk printer saya potong) susah di cari di daerah saya,makanya saya mau solder langsung ke rangkaian ISP dan yang ujung satunya lewat pakai konektor tsb ke cpu.untuk itu saya mohon petunjuk detail agar lebih jelas,atau ada yang lebih mudah untuk membuat downldr/ISP untuk pemograman AT89S51 (maklum mash belajar)dikirim via email saya.terima kasih seblmnya. saya doakan semoga anda sehat selalu.amin.

    1. Avatar Sulhan

      Dari sisi solder, tentu saja maksudnya dari sisi solder dari konektor yang kita gunakan, bukan dari sisi solder di pcb cpu. Saya tidak akan merepotkan orang untuk membongkar cpu hanya untuk melihat konektor DB25-nya.

    2. Avatar samarudin
      samarudin

      berarti saya harus punya kabel DB25 yang ujungnya sama (kabel untuk paralel komputer)karena di pasaran kebanyakan ujung satunya untuk printer lama, dan juga di PCB downloader harus pakai soket pasangan kabel DB25(jantan),bukan begitu, mas..?

    3. Avatar Sulhan

      Setahu saya, port paralel pada PC selalu merupakan DB25 Female. Jadi, agar konektor yang kita gunakan bisa masuk ke konektor pada PC, maka kita harus menggunakan konektor DB25 Male.

    4. Avatar Teknik Elektro Links

      Kebetulan saya juga pengguna downloader 89S51 via port paralel. Dulu ketika PPI 8255 Card masih banyak digunakan, sangat mudah mendapatkan kabel data paralel DB25, kalau beli namanya bukan kabel LPT DB25, tapi kabel PPI 8255. Kalau sekarang memang agak sulit. Membuat sendiri memang solusi yang paling enak. Bahan-bahannya adalah: DB25/Male Gantung, DB25/Female Gantung, Kabel 25-pin, dan Cover DB25.
      Semoga dapat sedikit membantu. Selamat berkarya!

    5. Avatar samarudin
      samarudin

      maksud saya ujung kabel yang di hubungkan pada pcb downldr.
      saya punya kabel yang kedua ujungnya berbeda yang satu DB25 female dan yang satunya lagi juga female tapi pin-nya 30 untuk printer lama makanya saya potong maksud saya mau langsung di solder ke PCB downldr. kebetulan di daerah saya susah mencari kabel DB25 female yang kedua ujungnya sama2 pin-nya 25(DB25 female). jadi cara menyambungnya apa harus pake pasangan DB25 femala(DB25 male)yang di tanam pada PCB downldr dan gimana cara nyambungnya?

    6. Avatar Sulhan

      Downloader ini disebut sebagai ISP (In-System Programming). Jadi kita tidak perlu membuat rangkaian khusus untuk memrogram IC. Perhatikan bahwa kristal dan kapasitor merupakan bagian dari rangkaian standar mikrokontroler. Akan lebih mudah jika kita membuat header untuk ISP pada rangkaian mikrokontroler kita. Header tersebut cukup 5 pin saja yaitu pin 6,7,8,9, dan GND. Kita bahkan tidak perlu membuat rangkaian dioda karena kita menggunakan catu daya 5V tersendiri pada rangkaian mikrokontroler kita.

      Dan karena masalahnya adalah sulit mencari konektor DB25, saya juga mengasumsikan akan sulit juga untuk mencari header maupun pasangannya, sehingga Pak Samarudin ingin memotong langsung kabel printer lama untuk disambungkan ke pcb downloader, dan bertanya bagaimana cara menyambungnya? Ya dicoba satu-satu memakai multitester kan bisa. Pada gambar adalah dilihat dari sisi solder. Dan karena sisi solder tidak bisa kita lihat, karena telah terbungkus, maka kita bisa mengukurnya dari sisi konektor yang posisinya bisa dilihat dengan mencerminkan gambar di atas. Hanya ada 5 pin yang perlu dicari kabelnya, yaitu pin 1,2,14,15, dan ground. Ground adalah pin 18 hingga 25. Boleh diambil salah satu saja.

    7. Avatar samarudin
      samarudin

      Terima kasih…mas,
      saya sudah berhasil mengatasinya dan sudah mempraktekannya pada lampu led, seven segment, alhmdulillah sukses. tinggal pengembangan progaram saja,terutama saya ingin membuat running text.mohon bimbingannya bila ada kesulitan.

  5. Avatar nofrudianto

    saya sudah mempraktekannya pak. tapi pas program heksa didownload ke at89s51 terjadi error 000h, sofware yang saya pakai IDE, koneksi tersambung pak uman pass ditengah jalan muncul error tersebut. mohon pencerahannya pak terimah kasih banyak sebelumnya

    1. Avatar Sulhan

      Apa sudah dicoba menggunakan catu daya tersendiri? Tidak semua port paralel cukup kuat untuk diguanakan sebagai pencatu. Rangkaian seperti di atas, dimana catu langsung diambilkan dari port paralel, hanya bisa diterapkan jika kualitas port cukup bagus. Biasanya komputer build up memiliki port paralel yang kuat, tetapi komputer rakitan banyak yang kualitas portnya buruk.

    2. Avatar nofrudianto

      terima kasih atas jawabannya, untuk catu daya yang saya gunakan saya mengambil supplay dari usb komputer , pass di write ke at89s51 pakai program sdownldr.exe awalnya memang tertulis bilangan heksanya tatapi tidak finish dan muncul erorr 000h, atau barang kali kristal saya yang tidak pas karna saya cuman menggunakan kristal 4MHZ, sedangkan ic yang saya pakai IC baru dan belum pernah dipakai sebelumnya terimasih banyak atas pencerahannya

    3. Avatar Chandra MDE

      Kebetulan saya masih menggunakan 89S51 untuk sistem2 sederhana, untuk program downloader saya menggunakan SPI Flash-Programmer versi 3.7 buatan Mohammad Asim Khan dan ISP Programmer 1.2.0.55 buatan Adam Dybkowski. Kedua program tersebut memiliki fasilitas untuk mengatur sendiri pin-pin pada DB25 LPT untuk masing2 pin MOSI, MISO, SCK, RST, dan beberapa pin tambahan lainnya. Mungkin Mas Nofrudianto bisa menggunakan program2 tersebut dengan mengatur pin-pinnya sesuai dengan hardware downloader yang sudah dibuat. Semoga bermanfaat.

  6. Avatar Rahmat Jahja

    KEnapa ya, sdownldr.exe tdk dieksekusi di PC saya hanya muncul “Runtime error 5 dst….” padahal saya coba di laptop bisa… (tapi gak mungkinkan pake laptop kecuali pke konverter usb to lpt), gimana solusinya supaya sdownldr.exe bisa dieksekusi di PC saya??

  7. Avatar joko
    joko

    mas saya sudah buat rangkaian di atas, udah bisa detec, udah bisa write. tapi ada yang eror.
    erornya sesudah proses write ada proses read waktu proses read itu datanta gak kebaca semua.
    FFFFF….
    fffff…
    ffff…
    eror
    kira kira itu apanya? makasih

    1. Avatar Sulhan

      Apa menggunakan catu daya sendiri? Rangkaian yg persis gambar di atas hanya bisa bekerja untuk PC dengan kualitas LPT yang bagus. Jika LPT kurang kuat, cobalah untuk menggunakan catu daya eksternal. Jadi tegangan +5V diambil bukan dari dioda, tetapi menggunakan adaptor 5V.

    2. Avatar joko
      joko

      udah persis diatas. tegangan pake usb. udah di cek pake multitester 5v.

    3. Avatar joko
      joko

      ok tak coba pake adaptor external dulu.

    4. Avatar Sulhan

      klo masih belum bisa, mungkin perlu dikasih buffer untuk tiap sinyalnya

    5. Avatar joko
      joko

      cara nya kasih buffer gimana?

      maaf terlalu banyak tanya. sebab aku belum begitu paham.

    6. Avatar Sulhan

      Untuk MISO (P1.6) buffernya input dari IC dan output yang masuk ke LPT. Untuk yang lainnya, input dari LPT dan output yang ke IC. Buffernya bisa menggunakan 4050, bisa juga menggunakan 4081 dengan menggabung 2 input gerbang ANDnya menjadi satu sehinga berlaku sebagai buffer saja. Datasheetnya browsing sendiri saja ya ๐Ÿ˜€

    7. Avatar joko
      joko

      ok makasih

  8. Avatar panglima holong
    panglima holong

    kalau downloader usb buat at89s51/52 ada g mas

    1. Avatar Sulhan

      Downloader USB tidak bisa dibuat dengan sederhana, minimal membutuhkan ATMEGA8 untuk berkomunikasi dengan PC melalui USB, kemudian ATMEGA8 ini yang melakukan proses download ke AT89S51/52.

    2. Avatar Panglima Holong
      Panglima Holong

      ATMEGA8 masih di program gi mas
      Atau bisa tinggal pasang

    3. Avatar Sulhan

      Tidak ada mikrokontroler yang tinggal pasang, semuanya harus diprogram terlebih dahulu.

    4. Avatar Panglima Holong
      Panglima Holong

      jadi untuk pembuatan programnya gmana mas

  9. Avatar paijo
    paijo

    mas kalau cara buat donloder untuk 89Cxx
    gimana ya?

    1. Avatar Sulhan

      89Cxx belum mendukung pemrograman ISP, jadi harus menggunakan downloader parallel dengan menggunakan tenganan VPP sekitar 12V. Detil cara pemrogramannya bisa dibaca pada datasheetnya.

    2. Avatar paijo
      paijo

      kalo bisa minta cara membuatnya. atao linknya
      trims

    3. Avatar Sulhan

      Dulu banyak yang membuatnya, salah satunya adalah easy downloader. Silakan browsing tentang itu. atau lihat salah satunya di sini

    4. Avatar paijo
      paijo

      makasih.
      saya coba dulu rangkaiannya..
      itu ada 2 ic mikron. satu untuk target. satunya lagi yg isinya ez2.hex
      pertanyaan gimana cara memasukkan file hex ke ic mikron itu?
      trims atas pencerahannya..

    5. Avatar Sulhan

      Pengisian itu dilakukan dengan downloader yang sudah ada. Tanya pada salah satu teman, mungkin sudah ada yang punya. Atau terkadang ada toko elektronik di kotamu yang menerima pengisian file hex. Atau gunakan saja AT89S51 untuk IC masternya, sehingga bisa diisi dengan menggunakan ISP. Atau browsing lagi cara download ke 89Cxx melalui port paralel. Rangkaian downloader melalui port paralel biasanya tidak menggunakan IC yang membutuhkan pemrograman. Hanya beberapa IC logic biasa.

    6. Avatar paijo
      paijo

      saya udah dapat ddownloder 89cxx pake port paralel dan tidak menggunakan ic program hanya menggunakan ic 74HC299, 74HC573, 74HC595,dll tapi untuk sofwarenya belum ketemu. udah saya cari2 di webnya juga gak dapat.
      kira kira sofware untuk download apa ya?

    7. Avatar Sulhan

      Software harus sesuai dengan hardwarenya. Semestinya yang menerbitkan rancangan hardwarenya juga menerbitkan softwarenya (Mungkin bisa didapat dengan membeli kepada perancangnya).

    8. Avatar bejo
      bejo

      mas kalau mau buat donloder 89Cxx melalui port paralel kan biasanya Hanya beberapa IC logic biasa dan tidak menggunakan IC yang membutuhkan pemrograman. untuk newbi seperti saya biar bisa membuatnya.
      kalau yang 89Sxx udah banyak yang membahasnya, kalau 89Cxx masih jarang sekali yang membahasnya.
      kalau bisa di postingkan dong? buat bahan untuk diskusi disini..
      makasih

    9. Avatar Sulhan

      Dulu, banyak sekali yang membahas downloader untuk AT89Cxx karena belum ada AT89Sxx. Sekarang, yang membahas itu sudah pada hilang, karena memang AT89Cxx sudah tidak disarankan untuk rancangan yang baru, sudah hampir habis masa berlakunya. Karena itu rasanya sudah terlambat kalau membahas AT89Cxx sekarang, sebentar lagi mungkin produknya juga sudah tidak keluar lagi. Lagi pula, AT89Sxx bisa menggantikan AT89Cxx tapi tidak sebaliknya.

    10. Avatar Sulhan

      Ini saya menemukan salah satu contoh yang mungkin bisa digunakan. Silakan di download.

  10. Avatar purnomo
    purnomo

    Mas kalau PC ga ada db25 pakai converter USB to parallel bisa ga, mohon petunjuknya
    Makasih

    1. Avatar Sulhan

      mungkin bisa, tapi saya sendiri belum pernah mencobanya

  11. Avatar nunk setrum
    nunk setrum

    sip…maksih banyak ilmunya…semoga bermanfaat di dunia maupun akhirat..amin ditunggu ilmu berikutnya lagi

  12. Avatar herry mahendra
    herry mahendra

    saya pakai USB-PTR, bukan LPT, bisa nggak?

    1. Avatar Sulhan Setiawan

      Saya sendiri belum pernah mencobanya, karena saya tidak memiliki USB-PTR ๐Ÿ˜€
      Kenapa mas Herry tidak mencobanya saja? Kan rangkaiannya sangat sederhana untuk dibuat. Nanti hasilnya laporkan disini ๐Ÿ˜€

    2. Avatar herry mahendra
      herry mahendra

      Saya sudah mencobanya, locati communicati port nya nggak cocok (Location: Port_#0002 Hub_#0004).

    3. Avatar Sulhan Setiawan

      Apa portnya tidak bisa diubah melalui device manager?

    4. Avatar herry mahendra
      herry mahendra

      Nggak bisa, masalahnya pada device manager USB-PTR terdeteksi ke Universal Serial Bus controllers (USB Printing Support), bukan ke System Ports (COM & LPT). Kalau memindahkan ke system PORTS (COM & LPT), caranya gimana mas ,bisa nggak?….maksh.

    5. Avatar Sulhan Setiawan

      Kalau memang begitu, sepertinya USB-PTR tidak bisa digunakan. Coba gunakan konverter jenis lain, sepertinya banyak juga konverter yang mengubah usb menjadi port paralel. Bahkan kita bisa membuatnya sendiri menggunakan ATMEGA8 dengan driver maupun firmware yang tinggal pakai. Yang kita perlukan cuma membuat rangkaiannya dan memprogram mikronya dengan file hex yang telah disediakan tersebut. Dan untuk langkah itu, cobalah untuk meminjam PC teman yang tersedia LPTnya ๐Ÿ˜›

  13. Avatar Hery
    Hery

    Kalau didownload ke mikrokontrol,berapakah jumlah maksimal kb ke AT89s52?

    1. Avatar Sulhan Setiawan

      AT89S52 itu kapasitasnya 8KB

    2. Avatar Hery
      Hery

      Tapi kalau program-program yang banyak itu file hexnya bisa sampai 20kb ya mas?

    3. Avatar Sulhan Setiawan

      8 KB itu untuk ukuran kode programnya, bukan ukuran file hexnya. Untuk kira-kira berapa ukuran programnya, bisa dibuka pada file hex tersebut, terus lihat baris terakhirnya:

      Dari kode-kode tersebut bisa diperkirakan bahwa ukuran kodenya adalah 6D5H atau 1745 Byte. 6D5H diperoleh dari mana? 05 adalah jumlah kodenya, dan ini ditambahkan kepada alamat awalnya yaitu 06D0 sehingga menjadi 06D5. Ingat, semua angka adalah hexadesimal.

    4. Avatar Hery
      Hery

      :101C5000000102020303040405060607070707083C
      :061C600009090A0A0B0B42
      :00000001FF
      Berarti punyaku ini 1c66 atau 7270 byte ya mas,trimakasih.

  14. Avatar Nico Andy
    Nico Andy

    Mas numpang tanya,
    Saya pakek Arduino Uno ic pakek Atmega328, misalnya saya ingin memogram Atmega8 bisa eggak ?
    Apa langsung lepas Atmega328 dan ganti pakek Atmeg8 udah bisa ya?

    1. Avatar Sulhan Setiawan

      Software ini tidak bisa untuk avr, hanya untuk AT89S51 dan AT89S52 saja.

  15. Avatar nando
    nando

    Ditempat sy juga error at 000H padahal sdh memakai voltage 5 v external,itu kenapa ya pak?

    1. Avatar Sulhan Setiawan

      Terkadang kualitas port mempengaruhi hasil. Jika kualitas port bagus, maka bisa dibuat langsung dari port, tetapi jika kualitas port kurang bagus, mungkin perlu untuk menambahkan buffer. Juga perlu diperhatikan bahwa dengan port yang tidak bagus, terkadang kabel yang terlalu panjang juga bisa menyebabkan error.

  16. Avatar slamet Yudono
    slamet Yudono

    Kalau untuk memrogram uc stc89c52 bisa nggak mas?

    1. Avatar Sulhan Setiawan

      Tidak bisa, hanya untuk AT89S51 dan AT89S52

  17. Avatar ahmad
    ahmad

    klw pke port db 9 gimana?

  18. Avatar morexs
    morexs

    Mas…..,sy mau belajar mikrocontrler.kira2 buku panduan apa yg saya baca(saya miliki) tuk bisa menjadikan sy mahir dlm mikrocontroler.tp sy mau buku tulisan mas sulhan,krn dari semua komentar2, mas menanggapi dan menjawab semua komentar dengan jelas dan sangat bisa dimengerti serta dipahami.dan bera pula harga buku2 trsbt,agar bisa sy kumpul uang tuk membeli buku2 dari mas sulhan.terimaksih

  19. Avatar Tasliman

    Untung saya punya Port paralel.. bekas praktek buat alat flash IC epprom TV. bisa dimanfaatkan untuk ini. pak Sulhan Bagaimana Kalo kabel parale port saya masih panjang, apa kira2 kalo dibuat downloader dapat mempengaruhi proses download, apa sebaiknya dipotong pendek saja.. sebelum saya membuat, trimakasih.

    1. Avatar Sulhan Setiawan

      Faktor kualitas port itu sangat berpengaruh pada keberhasilannya. Jika port paralelnya berkualitas bagus, maka menggunakan kabel panjang juga tidak masalah. Jadi, sebaiknya dicoba saja menggunakan kabel yang cukup panjang, hanya kira-kira cukup mudah dalam penggunaan, tetapi jangan terlalu panjang sampai bermeter-meter ๐Ÿ˜€
      Jika menggunakan kabel panjang tidak berhasil, coba potong untuk memperpendek, katakanlah 20 cm saja. Jika tetap gagal, mungkin ada baiknya membeli USBAsp saja ๐Ÿ˜› Tapi ingat, sebelum membeli, tanyakan terlebih dahulu pada penjualnya apa USBAsp yang dijual tersebut adalah versi yang bisa digunakan untuk AT89S51/AT89S52 atau bukan, karena pada awalnya USBAsp itu untuk avr. Jadi mungkin saja USBAsp yang dijual adalah versi lama yang belum bisa digunakan untuk AT89S51/AT89S52.

    2. Avatar Tasliman

      Ma’af baru balas, Alkhamdulillah sudah saya praktekan dan berhasil.. terimakasih.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Time limit is exhausted. Please reload the CAPTCHA.