Mikrokontroler MCS-51, juga dikenal sebagai Intel 8051, adalah sebuah keluarga mikrokontroler yang populer dan serbaguna. Dikembangkan pada tahun 1980-an, ia memiliki arsitektur 8-bit dan digunakan dalam berbagai aplikasi seperti peralatan elektronik, otomotif, dan peralatan rumah tangga.
Nah karena saya akan memakai seri mcs AT yakni AT89C51 adalah salah satu varian populer dari keluarga mikrokontroler MCS-51 (Intel 8051). Ini adalah salah satu model yang dikembangkan oleh perusahaan semikonduktor Atmel (sekarang menjadi bagian dari Microchip Technology). Berikut beberapa informasi tentang AT89C51:
1. **Arsitektur**: AT89C51 memiliki arsitektur inti 8-bit dan didukung oleh unit aritmatika-logika 8-bit (ALU) serta unit kontrol untuk mengolah data 8-bit.
2. **Memori**: Chip ini memiliki RAM internal sebesar 128 byte dan dapat mengakses hingga 64KB RAM eksternal. Program disimpan di dalam ROM eksternal.
3. **Kecepatan**: AT89C51 biasanya dioperasikan pada frekuensi kristal 12 MHz, meskipun dapat bekerja pada berbagai rentang frekuensi.
4. **Port I/O**: Sama seperti arsitektur MCS-51, AT89C51 memiliki 4 port I/O, masing-masing dengan 8 pin, untuk berbagai keperluan interaksi dengan perangkat luar.
5. **Timer/Counter**: AT89C51 memiliki dua timer/counter 16-bit yang berguna untuk menghasilkan waktu dan mengukur waktu.
6. **Serial Communication**: Chip ini memiliki UART (Universal Asynchronous Receiver-Transmitter) untuk mendukung komunikasi serial asynchronous.
7. **Interrupts**: AT89C51 menyediakan 5 sumber interrupt untuk merespons peristiwa tertentu dengan cepat.
8. **Mode Operasi**: Seperti model-model lain dalam keluarga MCS-51, AT89C51 memiliki berbagai mode operasi yang berguna untuk pengaturan timer, counter, dan komunikasi serial.
9. **Instruksi Set**: Instruksi set AT89C51 terdiri dari lebih dari 100 instruksi untuk operasi aritmatika, logika, kontrol alur, dan lain-lain.
AT89C51 sering digunakan dalam proyek-proyek elektronik dan kendali, terutama pada saat keluarga mikrokontroler yang lebih modern belum tersedia atau memenuhi kebutuhan tertentu. Namun, karena kemajuan teknologi, banyak alternatif yang lebih canggih dan efisien saat ini.
Nah selanjutnya akan dishare pemrograman dan beberapa contoh programnya. Ini juga bisa dipakai di seri lain seperti AT89C52 , AT89C2051, DLL
Sistem Minimum
Pemrograman At89c51
Contohnya akan menghidupkan LED:
Program ini akan mengatur salah satu pin I/O untuk mengendalikan LED dan membuatnya berkedip dengan interval tertentu:
```assembly
#include <REG51.H> // Include file header mikrokontroler AT89C51
void delay(unsigned int time) // Fungsi delay
{
unsigned int i, j;
for (i = 0; i < time; i++)
for (j = 0; j < 1275; j++); // Delay loop
}
void main()
{
while (1) // Loop utama
{
P1 = 0x00; // Matikan LED (logika rendah pada pin P1.0)
delay(1000); // Delay sejenak
P1 = 0x01; // Hidupkan LED (logika tinggi pada pin P1.0)
delay(1000); // Delay sejenak
}
}
```
Dalam contoh ini, pin P1.0 dari AT89C51 diatur sebagai output dan digunakan untuk mengendalikan LED. Program ini akan membuat LED berkedip dengan interval sekitar 1 detik. Anda dapat mengatur interval berkedip dengan mengubah nilai argumen pada fungsi `delay`.
Pastikan Anda mengerti skema penghubungan antara mikrokontroler dan LED Anda. Biasanya, resistor pengaman (resistor current-limiting) diperlukan dalam rangkaian untuk melindungi LED dari arus yang berlebihan.
Harap diingat bahwa kode ini ditulis dalam bahasa Assembly yang khusus untuk mikrokontroler AT89C51. Anda perlu menggunakan perangkat lunak pengembangan (IDE) seperti Keil atau MPLAB untuk mengompilasi dan mem-flash program ke dalam mikrokontroler.
Contoh program komplit dapat di download di file halaman akhir.
Cara Bikin programnya di Keil uVision
ajmp start
org 0003h
reti
org 000bh
reti
org 0013h
reti
org 001bh
reti
org 0023h
reti
start: clr a ;Clear the contents of Internal RAM
mov r0,#7fh
clrit: mov @r0,a
djnz r0,clrit
mov sp,#30h ;Initialize Stack Pointer
mov psw,#00h ;Select Bank Zero
mov p3,#00h ;Port3 = O/P Port
again: setb P3.4 ; LED = P3.4
acall delay
clr P3.4
acall delay
ljmp again
delay: mov r1,0ffh
mov r2,0ffh
loop1: djnz r2,loop1
djnz r1,loop1
ret
END ; End of File
Jika ada notifikasi pilih No. Lalu klol nama folder dan Bikin kode biner atau c lalu save.
Setelah itu ketik kode
Jika sudah klik ok.
Pastikan tidak ada error dan Selesai, silahkan cari file hex di folder save tadi.
CARA UPLOAD FILE HEX KE AT89C51
Download Driver dan Software:
Lalu setting colokan SP200SE ke komputer dan setting update driver agar tidak error jika sudah tidak error berarti selesai.
File Program Contoh, Software, Dan Drivers: Download
Sumbe: YouTube; Electrodragon


0 Response to "Programming AT89C51 MCS-51 Series Microchip "
Posting Komentar