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

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

View More

2,31

(1 customer review)

Disponibile (ordinabile)

QuantitàPrezzo Unitario
12 - 49 2,20
50 - 99 2,15
100 + 2,08

Product Description


🔧 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

CaratteristicaDescrizione
MicrocontrolloreSTC89C52RC (compatibile con Intel 8051)
ClockOscillatore al quarzo da 11.0592 MHz (tipico)
RAM interna128 byte
EEPROM/Flash8KB (programmabile via UART)
GPIO32 porte I/O (4 porte da 8 bit)
InterfacceUART, Timer, Interrupt, SPI/I2C (via bit-banging)
Tensione operativa5V DC
ProgrammazioneTramite 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 PinUSB-TTL
TXRX
RXTX
GNDGND
VCC5V

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):

ArduinoYS-51
TXRX
RXTX
GNDGND

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

ComponenteQuantità
YS-51 con STC89C521
Arduino Uno/Nano1
Modulo relè 5V1
Pulsante + resistenza da 10kΩ1
Cavi dupontvari
Alimentazione 5V1

🔌 Schema Collegamenti

YS-51 → Relè

STC89C52Relè
P1.0IN (segnale)
GNDGND
VCCVCC

YS-51 → Pulsante

PulsanteSTC89C52
Un capoP1.1
Altro capoGND

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

YS-51 ↔ Arduino (UART)

STC89C52Arduino
TX (P3.1)RX
RX (P3.0)TX
GNDGND

💾 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 ON\n" : "Relay OFF\n");
            delay_ms(500);  // debounce
        }

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

            if (cmd == '1') {
                RELAY = 1;
                UART_SendString("Relay ON\n");
            } else if (cmd == '0') {
                RELAY = 0;
                UART_SendString("Relay OFF\n");
            }
        }
    }
}

💻 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.

 

Facebooktwitterredditpinterestlinkedinmail

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

    5 out of 5

    Feedback ricevuto nel nostro negozio eBay http://stores.ebay.it/domoticland

    Prodotto conforme. Ottimo.

Add a review