Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Memprogram Atmel AT89 Series dengan Arduino Uno – Panduan Langkah demi Langkah

Komponen dan Perlengkapan

Memprogram Atmel AT89 Series dengan Arduino Uno – Panduan Langkah demi Langkah
Arduino UNO
×1
Memprogram Atmel AT89 Series dengan Arduino Uno – Panduan Langkah demi Langkah
LED (generic)
×1

Alat dan Mesin yang Diperlukan

Memprogram Atmel AT89 Series dengan Arduino Uno – Panduan Langkah demi Langkah
Soldering iron (generic)

Aplikasi dan Layanan Online

Memprogram Atmel AT89 Series dengan Arduino Uno – Panduan Langkah demi Langkah
Arduino IDE
8051 SPI Programmer

Tentang Proyek Ini

Dalam tutorial ini saya akan menunjukkan kepada Anda cara Membakar File Hex Ke AT89c52 menggunakan Arduino Uno dalam beberapa langkah mudah. Untuk ini kita harus menghubungkan AT89c52 ke Arduino Uno dan memberikan indikasi led melalui menghubungkan LED ke At89c52.

Langkah 1: Daftar Bahan

  • Arduino UNO
  • AT89C52 Microcontroller
  • 10uF Capacitor
  • Jumper Wires
  • 8.2kohm Resistor
  • 510 ohm Capacitor
  • LED
  • 12 MHz Crystal
  • 2 x 33pF Capacitor

Langkah 2: Menghubungkan Mikrokontroler

Memprogram Atmel AT89 Series dengan Arduino Uno – Panduan Langkah demi Langkah

Hubungkan mikrokontroler seperti yang disebutkan di bawah ini:

  • At89c52 Arduino Uno
  • Pin 6 Pin 5
  • Pin 7 Pin 4
  • Pin 8 Pin 3
  • Pin 9 Pin 2

Langkah 3: Crystal

Memprogram Atmel AT89 Series dengan Arduino Uno – Panduan Langkah demi Langkah

Hubungkan Crystal di antara Pin 18 dan 19 Atmel dan kemudian hubungkan dua kapasitor 33pf dari pin 18 dan 19 ke Ground Atmel. Lihat Bagian Skema Untuk Diagram Rangkaian Lengkap.

Langkah 4: VCC dan GND

Memprogram Atmel AT89 Series dengan Arduino Uno – Panduan Langkah demi Langkah

Hubungkan Pin 5v Arduino Uno ke pin ke-40 Atmel dan pin GND ke pin ke-20 Atmel.

Langkah 5: Interfacing LED

Memprogram Atmel AT89 Series dengan Arduino Uno – Panduan Langkah demi Langkah
Memprogram Atmel AT89 Series dengan Arduino Uno – Panduan Langkah demi Langkah

Interface LED dengan bantuan Diagram Rangkaian yang disediakan di Bagian Skema.

Langkah 6: Software

Memprogram Atmel AT89 Series dengan Arduino Uno – Panduan Langkah demi Langkah

Kami membutuhkan 8051 SPI Programmer untuk Membakar File Hex Ke 89c52. Tautan disediakan di Bagian Software. Unggah Kode yang disediakan ke Arduino UNO dan Programmer Anda siap.

Kode

  • Untitled file
Untitled fileC/C++
#define dummyData 0xAA #define RDY 75 #define NRDY 76 const int _MISO = 4; const int _MOSI = 5; const int _CLK = 3; const int RST = 2; /* Variable definition block */ byte data; byte AL,AH; // 16-bit address byte lockByte; // embed lock bits here byte SigH,SigL; // Signature Bytes void setup() { pinMode(_MISO, INPUT); pinMode(_MOSI, OUTPUT); pinMode(_CLK, OUTPUT); pinMode(RST, OUTPUT); Serial.begin(115200); // depends on the setting of the host PC } void loop() { while (!Serial.available()); // wait for character if (Serial.available() > 0) switch (Serial.read()) { case 'p': Serial.write(progEnable()); break; case 'r': readProgmem(); Serial.write(data); break; case 'a': while(!Serial.available()); AL = Serial.read(); break; case 'A': while(!Serial.available()); AH = Serial.read(); break; case 'd': while(!Serial.available()); data = Serial.read(); break; case 'S': AH = 0; AL = 0; SigH = readSign(); Serial.write(SigH); break; case 's': AH = 2; AL = 0; SigL = readSign(); Serial.write(SigL); AH = 1; AL = 0; SigL = readSign(); Serial.write(SigL); break; // read SigL case 'o': digitalWrite(RST,1);break; case 'c': digitalWrite(RST,0);break; case 'e': eraseChip(); Serial.write(RDY); break; case 'j': break; case 'w': writeProgmem(); break; } } unsigned char SendSPI(unsigned char data) { uint8_t retval = 0; uint8_t intData = data; int t; for (int ctr = 0; ctr < 7; ctr++) { if (intData & 0x80) digitalWrite(_MOSI,1); else digitalWrite(_MOSI,0); digitalWrite(_CLK,1); delayMicroseconds(1); t = digitalRead(_MISO); digitalWrite(_CLK,0); if (t) retval |= 1; else retval &= 0xFE; retval<<=1; intData<<= 1; delayMicroseconds(1); } if (intData & 0x80) digitalWrite(_MOSI,1); else digitalWrite(_MOSI,0); digitalWrite(_CLK,1); delayMicroseconds(1); t = digitalRead(_MISO); digitalWrite(_CLK,0); if (t) retval |= 1; else retval &= 0xFE; return retval; } byte progEnable() { SendSPI(0xAC); SendSPI(0x53); SendSPI(dummyData); return SendSPI(dummyData); } void eraseChip() { SendSPI(0xAC); SendSPI(0x9F); SendSPI(dummyData); SendSPI(dummyData); delay(520); } void readProgmem() { SendSPI(0x20); SendSPI(AH); SendSPI(AL); data = SendSPI(dummyData); } void writeProgmem() { SendSPI(0x40); SendSPI(AH); SendSPI(AL); SendSPI(data); } void writeLockBits() { SendSPI(0xAC); SendSPI(lockByte); SendSPI(dummyData); SendSPI(dummyData); } void readLockBits() { SendSPI(0x24); SendSPI(dummyData); SendSPI(dummyData); lockByte = SendSPI(dummyData); } byte readSign() { SendSPI(0x28); SendSPI(AH); SendSPI(AL); return SendSPI(dummyData); } 

Skema

Memprogram Atmel AT89 Series dengan Arduino Uno – Panduan Langkah demi LangkahMemprogram Atmel AT89 Series dengan Arduino Uno – Panduan Langkah demi Langkah

Proses manufaktur

  1. Memprogram Atmel AT89 Series dengan Arduino Uno – Panduan Langkah demi Langkah
  2. Mendekode Sinyal PPM Penerima RC dengan Arduino: Panduan Langkah demi Langkah
  3. Arduino UNO & WiFi Shield: Tampilan Suhu Real-Time di Web melalui Serial
  4. ThimbleKrox: Kontrol Mouse Berbasis Jari dengan Arduino Micro & MPU-6050
  5. Sistem Pencahayaan Teraktivasi Gerakan Berbasis Intel Curie
  6. Shield Pemrograman Arduino Nirkabel dengan HC-05 Bluetooth – Tanpa USB
  7. Sensor Pintu Arduino: Notifikasi Real-Time Facebook Messenger melalui IFTTT
  8. Pengontrol Plotter XY Berbasis Web dengan Arduino dan Pengontrol Motor Stepper
  9. Membuat Kalkulator Arduino dengan LCD 16x2 dan Keypad
  10. Kontrol Kipas PWM 4 Pin 25 kHz dengan Arduino Uno – Bangun, Kode & Uji