In offerta!

YS 51 Scheda di Sviluppo su STC singolo chip scheda di sistema minimi microcomputer

Il prezzo originale era: 2,65 €.Il prezzo attuale è: 2,31 €.

YS 51 Scheda di Sviluppo su STC singolo chip scheda di sistema minimi microcomputer

Disponibile su ordinazione

COD: ARD0099 Categorie: ,

Descrizione

[vc_row][vc_column][vc_column_text]


🔧 YS-51 Scheda di Sviluppo – Descrizione Completa

📌 Panoramica

La YS-51 è una scheda di sviluppo progettata attorno al microcontrollore STC89C52, appartenente alla famiglia STC (Single-chip microcomputer). Si tratta di un microcontrollore compatibile 8051, molto usato in ambito educativo e per applicazioni embedded a basso costo.

🧠 Caratteristiche principali

Caratteristica Descrizione
Microcontrollore STC89C52RC (compatibile con Intel 8051)
Clock Oscillatore al quarzo da 11.0592 MHz (tipico)
RAM interna 128 byte
EEPROM/Flash 8KB (programmabile via UART)
GPIO 32 porte I/O (4 porte da 8 bit)
Interfacce UART, Timer, Interrupt, SPI/I2C (via bit-banging)
Tensione operativa 5V DC
Programmazione Tramite porta seriale TTL (UART)

🔌 Componenti sulla scheda

  • LED di stato
  • Pulsante di reset
  • Quarzo esterno
  • Connettore seriale per la programmazione
  • Connettori maschi per ogni porta I/O
  • Alimentazione via USB o pin header

🔗 Compatibilità con Arduino

La scheda YS-51 non è compatibile direttamente con l’IDE Arduino poiché il microcontrollore STC89C52 non è supportato da Arduino nativamente (come lo sono ATmega328p, ATmega2560, ecc.).

Tuttavia, puoi:

  • Programmare lo STC89C52 con il suo software ufficiale (STC-ISP).
  • Usare Arduino come ponte seriale per caricare il codice sullo STC.
  • Oppure farli comunicare via UART come dispositivi separati.

🛠️ Guida alla Programmazione della YS-51

1️⃣ Occorrente

  • Scheda YS-51
  • Convertitore USB-TTL (es. CH340 o FTDI)
  • Software di programmazione STC-ISP
  • IDE per scrivere il codice: Keil uVision 5 (linguaggio C)

2️⃣ Connessioni per la programmazione

Collega i pin come segue:

YS-51 Pin USB-TTL
TX RX
RX TX
GND GND
VCC 5V

Per avviare la programmazione:

  1. Premi il pulsante RESET sulla YS-51.
  2. Avvia il caricamento dal software STC-ISP.
  3. Rilascia RESET.

3️⃣ Scrivere un semplice programma LED blink

#include <reg52.h>

sbit LED = P1^0;

void delay_ms(unsigned int ms) {
    unsigned int i, j;
    for (i = 0; i < ms; i++)
        for (j = 0; j < 123; j++);
}

void main() {
    while (1) {
        LED = 0;
        delay_ms(500);
        LED = 1;
        delay_ms(500);
    }
}

4️⃣ Compilazione e caricamento

  • Compila il file .c in Keil uVision → genera file .hex.
  • Apri STC-ISP → seleziona la porta COM corretta.
  • Carica il file .hex sulla YS-51.
  • Premi RESET per avviare.

🧪 Esempi di Comunicazione con Arduino

➕ Arduino come master UART

Wiring (comunicazione seriale):

Arduino YS-51
TX RX
RX TX
GND GND

Codice Arduino:

void setup() {
  Serial.begin(9600);
}

void loop() {
  Serial.println("Hello from Arduino");
  delay(1000);
}

Codice STC (Keil C):

#include <reg52.h>
#include <stdio.h>

void UART_Init(void) {
    SCON = 0x50;  // UART mode 1
    TMOD = 0x20;  // Timer 1 mode 2
    TH1 = 0xFD;   // Baud rate 9600
    TL1 = 0xFD;
    TR1 = 1;      // Start Timer1
    TI = 1;
}

void main() {
    UART_Init();
    while (1) {
        if (RI) {
            RI = 0;
            P1 = SBUF;  // visualizza byte ricevuto su P1
        }
    }
}

🧭 Altri Progetti Esempio

  1. Display LCD 1602 con STC
    • Controllo con librerie compatibili 8051.
  2. Contatore con display a 7 segmenti
    • Usa Timer + GPIO.
  3. Sensore di temperatura (DS18B20 o LM35)
    • Lettura analogica (via ADC esterno) o digitale (1-wire).

📚 Risorse Utili


📌 Conclusioni

La YS-51 è una scheda versatile per chi vuole iniziare con l’architettura 8051. Anche se non è direttamente compatibile con l’ecosistema Arduino, può essere utilizzata per comunicare con Arduino o essere programmata tramite tool dedicati. Offre un ottimo modo per imparare le basi dei microcontrollori tradizionali.

Cominciamo con un progetto specifico completo basato sulla scheda YS-51 (STC89C52): Controllo di un relè tramite pulsante e comunicazione seriale con Arduino.


🔌 Progetto: Controllo di un relè con STC89C52 e comunicazione con Arduino

🎯 Obiettivi

  • Collegare un pulsante per attivare/disattivare un modulo relè.
  • Ricevere un comando via seriale da Arduino per attivare/disattivare il relè.
  • Inviare lo stato del relè ad Arduino.

🧱 Materiale Necessario

Componente Quantità
YS-51 con STC89C52 1
Arduino Uno/Nano 1
Modulo relè 5V 1
Pulsante + resistenza da 10kΩ 1
Cavi dupont vari
Alimentazione 5V 1

🔌 Schema Collegamenti

YS-51 → Relè

STC89C52 Relè
P1.0 IN (segnale)
GND GND
VCC VCC

YS-51 → Pulsante

Pulsante STC89C52
Un capo P1.1
Altro capo GND

Usa una pull-up interna o una resistenza esterna da 10kΩ tra P1.1 e VCC.

YS-51 ↔ Arduino (UART)

STC89C52 Arduino
TX (P3.1) RX
RX (P3.0) TX
GND GND

💾 Codice STC89C52 (Keil C)

#include <reg52.h>
#include <stdio.h>

sbit RELAY = P1^0;
sbit BUTTON = P1^1;

void UART_Init(void) {
    TMOD = 0x20;       // Timer1 Mode2
    TH1 = 0xFD;        // 9600 baud
    TL1 = 0xFD;
    TR1 = 1;           // Start timer
    SCON = 0x50;       // UART mode 1, 8-bit, enable RX
    TI = 1;            // Set transmit ready
}

void UART_SendString(char *s) {
    while (*s) {
        SBUF = *s++;
        while (!TI);
        TI = 0;
    }
}

void delay_ms(unsigned int ms) {
    unsigned int i, j;
    for (i = 0; i < ms; i++)
        for (j = 0; j < 123; j++);
}

void main() {
    UART_Init();
    RELAY = 0;  // relè OFF

    while (1) {
        if (BUTTON == 0) {  // premuto (collegato a GND)
            RELAY = !RELAY;  // cambia stato
            UART_SendString(RELAY ? "Relay ONn" : "Relay OFFn");
            delay_ms(500);  // debounce
        }

        if (RI) {
            char cmd = SBUF;
            RI = 0;

            if (cmd == '1') {
                RELAY = 1;
                UART_SendString("Relay ONn");
            } else if (cmd == '0') {
                RELAY = 0;
                UART_SendString("Relay OFFn");
            }
        }
    }
}

💻 Codice Arduino (Monitor Seriale + Invio Comandi)

void setup() {
  Serial.begin(9600);
}

void loop() {
  if (Serial.available()) {
    String stato = Serial.readStringUntil('n');
    Serial.println("STC ha risposto: " + stato);
  }

  if (Serial.availableForWrite()) {
    char comando = Serial.read();
    // Comandi manuali da Serial Monitor
    if (comando == '1') Serial.write('1');
    else if (comando == '0') Serial.write('0');
  }

  // Simula un comando automatico ogni 5 sec
  static unsigned long t = millis();
  if (millis() - t > 5000) {
    Serial.write('1');
    delay(2000);
    Serial.write('0');
    t = millis();
  }
}

⚙️ Installazione Keil uVision e STC-ISP (Passo per Passo)

🔽 1. Scaricare gli strumenti


🧰 2. Installazione Keil

  1. Avvia il setup.
  2. Durante l’installazione, seleziona “8051 microcontroller support”.
  3. Crea un nuovo progetto:
    • Target: STC89C52RC o Generic 8051
    • Aggiungi file .c
  4. Compila (F7) → ottieni file .hex.

💾 3. Uso di STC-ISP

  1. Collega la YS-51 via USB-TTL.
  2. Avvia STC-ISP.
  3. Seleziona:
    • Porta COM corretta
    • Tipo chip: STC89C52RC
    • Carica file .hex
  4. Premi RESET sulla scheda.
  5. Clicca “Download/Program”.
  6. Attendi conferma (tempo: circa 3–4 secondi).

Test finale

  • Premendo il pulsante su YS-51, il relè si attiva/disattiva.
  • Dal monitor seriale Arduino, invia '1' o '0'.
  • Verifica il feedback in uscita da STC → Arduino → PC.

 

[/vc_column_text][/vc_column][/vc_row]

Informazioni aggiuntive

Peso 24 g