Kebanyakan pengguna MCS51 beralih ke AVR saat membutuhkan kecepatan yang lebih tinggi. Bisa dipahami karena kebanyakan instruksi di-eksekusi dalam satu siklus clock saja (bandingkan dgn MCS51 yang memerlukan 1-12 siklus clock). Kedua, di kebanyakan chip AVR buatan Atmel – www.atmel.com – sudah memiliki built-in ADC (biasanya 10 bit), sehingga untuk meng-capture masukan analog, tidak perlu menambahkan rangkaian eksternal, kecuali resolusi 10-bit tidak memadai.
Dari sisi bahasa pemrograman, khususnya bahasa tingkat tinggi, hampir tidak ada perbedaan. Hanya perlu perhatian pada fitur spesifik yg hanya dimiliki oleh AVR.
Harga? Untuk yang non-industrial standard, kelihatannya cukup murah. Misalnya saja ATTINY2313 (2k Flash, 20 pin, 18 pin I/O, dapat dipacu hingga 20MHz) sekitar 15 ribu. Yang lebih besar seperti ATMEGA8 (8k Flash) sekitar 15 ribu juga. Yang memiliki built-in ADC seperti ATTINY26 (2k Flash, 11 channel ADC 10 bit) sekitar 16 ribu. Yang lebih besar seperti ATMEGA8535 sekitar 50 ribu. Untuk yg membutuhkan flash yang besar hingga 128k, bisa memilih ATMEGA128, yang harganya sekitar 80 ribu.
Jadi, dari sisi harga, relatif terjangkau.
Berikut adalah contoh pemrograman dalam bahasa BASIC (dgn BASCOM-AVR – www.mcselec.com) untuk membuat sebuah LED yang terhubung dgn port B.0 berkedip:
Config Portb = Output 'set port B as output Do Portb.0 = 1 ' set port B high Waitms 500 ' wait 500 ms Portb.0 = 0 ' set port B low Waitms 500 ' wait 500 ms Loop
Cukup sederhana, bukan? ๐