1. Compiler MIDE Studio
M-IDE Studio adalah salah satu cara yang digunakan untuk menjalankan kompilasi untuk divais MCS-51. M-IDE Studio mempunyai beberapa fitur yang dapat digunakan untuk edit, compil, dan debug file.
The M-IDE Studio juga dapat digunakan untuk menulis program dalam bahasa C. Dengan menggunakan software ini, maka kita dapat melihat error pada report file LST.

Gambar 1.19. M-IDE Studio
Bila anda perhatikan pada menu toolbar dan menu pilihan, tampak terlihat disable. Hal ini karena file belum dibuat. Untuk membuat sebuah file, lakukan langkah-langkah berikut:
1. Membuat File Baru
Untuk membuat file baru, klik pada menu File atau short cut seperti yang ditunjukkan pada gambar, sehingga akan tampak halaman kosong.

Figure 1.20. File baru dengan halaman kosong
2. Menulis sebuah program
Tulis program assembly pada halaman kosong, dan lakukan penyimpanan file. Bila file telah tersimpan maka akan tampak teks instruksi yang berwarna-warni. Sebagaimana yang ditunjukan pada gambar 3.

Gambar 1.21 Menu penyimpanan file
3. Kompilasi
Agar file dengan ekstensi ASM tersebut dapat diloadkan ke mikrokontroller, maka perlu dilakukan kompilasi dari file ASM ke HEX.

Gambar 1.22 Kompilasi file
4. Debug

Gambar 1.23 Debug file
2. ATMEL Microcontroller ISP Software
Download: http://www.atmel.com/
Atmel Microcontroller ISP Software adalah sarana utama untuk melakukan pemrograman dalam sistem / in-system programming (ISP) untuk perangkat Atmel. Ini menyediakan antarmuka intuitif untuk pemrograman dalam sistem yang dapat dijalankan dari komputer pribadi Anda. Atmel ISP Software memiliki seperangkat fitur yang memungkinkan Anda melihat, memprogram, dan menghapus data dari perangkat Atmel ISP.

Figure 1 - Atmel Microcontroller ISP Software
Atmel Microcontroller ISP Software juga memungkinkan Anda memuat file hex yang berisi kode yang ingin Anda tambahkan ke perangkat. Dengan menggunakan perangkat lunak, Anda dapat memanipulasi kode ini, memverifikasinya dengan kode yang ada pada perangkat, dan memprogram kode ke perangkat.
Anda akan melihat bahwa sebagian besar tombol toolbar dan pilihan menu dinonaktifkan. Ini karena perangkat belum dipilih. Untuk memilih perangkat, lakukan hal berikut:
- Pastikan board terhubung ke port LPT komputer Anda dengan kabel ISP Atmel dan papannya dinyalakan.
- Pilih port LPT yang terhubung dengan papan dengan memilih Select Port dari menu Options (Anda juga bisa menekan tombol toolbar port pilih).

Figure 2 - Port Select Dialog
- Anda kemudian dapat memilih perangkat dengan memilih Select Device dari menu Options atau dengan mengklik toolbar. Anda harus melihat kotak dialog yang mirip dengan yang ada pada Figure 3

Figure 3 - Device Select Dialog
- Pilih perangkat yang ingin Anda programkan dari kontrol pohon dengan mengklik perangkat yang diinginkan.
- Selanjutnya pilih apakah Anda ingin membaca dan menulis dari perangkat dalam mode halaman (baca / tulis halaman setiap kali) atau dalam mode byte (baca / tulis byte demi byte).
- Masukkan frekuensi clock eksternal (MHz) yang diberikan ke perangkat di kotak teks.
- Pilih OK.
Setelah Anda selesai memilih perangkat, Anda akan melihat satu atau dua jendela muncul tergantung pada apakah perangkat memiliki memori data internal atau tidak. Jendela (s) akan terlihat seperti Gambar 4. Setiap jendela menandakan sebuah buffer. Ada dua jenis buffer, buffer kode dan buffer data. Penyangga kode sesuai dengan memori flash program yang dapat diprogram dari chip dan penyangga data sesuai dengan memori data internal chip.

Figure 4 - Buffer Window
Setelah menentukan apakah perangkat bisa diprogram atau tidak, sekarang saatnya memuat program yang ingin Anda encode ke chip ke dalam perangkat lunak. Perangkat lunak Pemrograman Atmel Microcontroller ISP dapat dimuat dalam program yang berada di Format file Intel Hex.
Untuk memuat dalam program dari disk:
- Pilih Load Buffer dari menu File atau klik pada toolbar. Kamu akan lihat sebuah dialog yang mirip dengan Gambar 4.

Figure 5. Load Buffer Dialog
- Pilih file HEX yang berisi program yang ingin Anda encode ke chip dan klik Open.

File 6. Open file Hex dialog
- The buffers (Penyangga) kemudian akan diperbarui dengan isi hex

Figure 7. Update buffer data
4. Initialize Target
Perintah Inisialisasi Menetapkan perangkat ke mode pemrograman. Ini diperlukan saat menukar perangkat setelah sudah memilih perangkat di Atmel ISP Software. Selain itu, diperlukan saat mengatur perangkat dari mode run. Perintah ini juga bisa diaktifkan dengan mengklik toolbar.

Figure 8. Initialiazed Device
5. Programming the Device
Setelah program dimasukkan ke dalam buffer, cara yang paling mudah untuk memprogram perangkat adalah dengan memilih Program Otomatis dari menu Petunjuk (Anda juga dapat menekan toolbar). Program otomatis melakukan semua tugas yang paling umum dilakukan saat memprogram perangkat.

Figure 9. Auto Programming sub menu
Pemrograman otomatis melakukan perintah berikut:
- Menghapus perangkat
- Menuliskan buffer ke perangkat
- Memeriksa perangkat terprogram dengan isi buffer
- Meminta pengguna untuk pengaturan lockbit (jika didukung oleh perangkat)
- Meminta pengguna untuk pengaturan fusebit (jika didukung oleh perangkat)
Setelah memilih Auto Program Anda akan melihat dialog progress yang mirip dengan yang ada. Ditunjukkan pada Gambar 10.

Figure 10 Progress Dialog
6. Lockbit Settings
Perintah Lockbit Settings memungkinkan pengguna untuk mengatur mode proteksi lockbit untuk perangkat saat ini. Sebuah kotak dialog, mirip dengan Gambar 11, menunjukkan mode proteksi yang didukung oleh perangkat saat ini ditampilkan ke pengguna. Setelah memilih mode proteksi, perangkat lunak akan menyetel perangkat ke mode yang ditentukan.

Figure 11. Lockbit Manager Dialog

Figure 12. Auto Programming Dialog
7. Run Target
Perintah Run Target akan menghapus perangkat dari mode pemrograman dan menetapkannya menjadi run state. Bila perangkat dalam keadaan ini, perintah pemrograman tidak dapat dikirim ke perangkat. Sebagian besar perintah di Atmel ISP Software dinonaktifkan selama keadaan ini. Untuk kembali ke keadaan pemrograman, perintah Initialize Target harus dijalankan.

Figure 13. Run Target Instruction
8. Troubleshooting
Bagian ini membahas beberapa masalah umum yang mungkin Anda hadapi saat menggunakan perangkat lunak dan apa yang harus dilakukan saat Anda menjumpainya. Program melaporkan bahwa perangkat terkunci bahkan setelah perintah Chip Erase telah dijalankan. Perangkat lunak ini kemungkinan besar mengalami kesulitan berkomunikasi dengan perangkat. Periksa koneksi kabel dan pastikan perangkat aktif. Kemudian jalankan perintah Initialize Target dari menu Options.

Figure 14. Error according to device error
Laporan program menulis kegagalan saat mencoba menulis buffer ke chip. Hal ini biasanya terjadi bila frekuensi XTAL tidak diatur ke nilai yang benar dalam perangkat lunak. Untuk mengatur XTAL memilih Select Device dari menu Options dan masukan frekuensi XTAL yang benar yang sedang digunakan oleh perangkat. Kemudian jalankan perintah Initialize Target dari menu Options.
Laporan perangkat lunak "... Atmel ISP Cable tidak terhubung ..." namun kabel dan perangkatnya tampaknya terhubung dengan benar. Pastikan port yang benar dipilih dalam perangkat lunak. Hal ini dilakukan dengan memilih Select Port dari menu Options.

Figure 15. Error according to cable connection.