MHS 80C31
Definizione
Il MHS 80C31 è un microcontrollore/microprocessore 8 BIT della famiglia MCS-51 (core tipo 8051) in versione ROMLESS, cioè senza ROM programma interna. È pensato per sistemi embedded in cui il firmware risiede in memoria esterna, mantenendo però sul chip le funzioni tipiche della famiglia: CPU, RAM interna, porte I/O, TIMER/COUNTER, interfaccia seriale e circuiti di oscillatore/clock.

Memoria: “da 32 a 64K di RAM” (visione corretta a livello di sistema)
Quando si dice che può contenere “da 32 a 64K di RAM”, nella pratica si intende la RAM esterna indirizzabile dal dispositivo (spazio dati esterno), che può essere dimensionata dal progettista in base alla scheda:
Configurazioni con RAM esterna più piccola (ad esempio 32 KB) per applicazioni compatte.
Configurazioni con RAM esterna fino a 64K quando servono buffer, tabelle o aree dati più ampie.
In parallelo, il chip dispone anche di una piccola RAM interna (tipicamente 128 BYTE) utile per stack e variabili “calde” a bassa latenza.
Linee di I/O: 32 linee parallele
La dotazione di 32 linee I/O corrisponde a 4 porte da 8 bit. Queste porte possono essere usate:
Come I/O digitale generico (ingressi sensori, uscite verso LED/relè tramite driver, ecc.).
Come linee multiplexate per bus esterno (in particolare Port 0/Port 2 nelle classiche configurazioni 8051 con memoria esterna).
Timer/counter: tre contatori/timer a 16 bit
Il profilo che hai indicato include tre TIMER/COUNTER a 16 BIT, utili per:
Time-base di sistema e tick periodici.
Misure/contatori evento (impulsi su pin dedicati).
Temporizzazioni di protocolli e sequenze di controllo.
Nota tecnica: in alcune implementazioni “8051-classiche” i timer sono due; in altre varianti evolute (spesso indicate come 80C31/80C32 “family”) si trova un terzo blocco timer. In questa relazione ho mantenuto il profilo da te richiesto (tre timer).
Porta seriale: multiprocessore, espansione I/O, full duplex UART
La porta seriale integrata è tipicamente una UART full duplex, utilizzabile in tre modi pratici:
Comunicazioni multiprocessore: modalità con riconoscimento indirizzo/filtraggio, utile su bus seriali condivisi (più nodi).
Espansione I/O: collegamento a shift register, expander seriali o sottosistemi che riducono cablaggi paralleli.
UART full duplex: comunicazioni bidirezionali con periferiche, diagnostica, console di servizio o interfacce industriali (tramite transceiver esterni).
Oscillatore e clock su chip
Il dispositivo integra i circuiti di oscillatore e clock:
Questa integrazione semplifica la scheda e rende più prevedibili i timing di esecuzione e delle periferiche (timer/seriale).
Schizzo dei collegamenti più importanti
┌──────────────────────────────┐
│ EPROM / FLASH │
│ (programma esterno) │
└──────────────┬───────────────┘
│ bus codice (addr/data + control)
▼
┌──────────────────┐
│ MHS 80C31 │
│ MCU 8 BIT ROMLESS│
│ RAM interna │
│ 32 I/O │
│ 3× TIMER 16 BIT │
│ UART full duplex │
│ OSC/CLK on-chip │
└───────┬──────────┘
│
├────────► I/O parallelo → sensori / driver / latch / LED
│
├────────► UART → multiprocessore / espansione / debug
│
└────────► RAM esterna (opz.) → 32K…64K (spazio dati)
Tabella 1 – Dati di identificazione e specifiche (italiano)
| Caratteristica | Valore indicativo |
|---|
| Dispositivo | MHS 80C31 |
| Classe | MICROCONTROLLER / MICROPROCESSORE 8 BIT (famiglia MCS-51, core tipo 8051) |
| ROM programma on-chip | Assente (dispositivo ROMLESS) |
| RAM esterna indirizzabile | Tipicamente 32K…64K (in funzione del progetto) |
| I/O parallelo | 32 linee (4 porte da 8 bit) |
| Timer/counter | 3 × TIMER/COUNTER 16 BIT |
| Seriale | Porta UART: multiprocessore / espansione I/O / full duplex |
| Clock | Oscillatore e circuito di clock su chip |
Tabella 2 – Aspetti operativi e progettuali (italiano)
| Aspetto | Significato pratico |
|---|
| Firmware su memoria esterna | Aggiornamento semplice (sostituzione/riscrittura memoria) e programmi più grandi |
| RAM esterna scalabile | Da sistemi compatti (32K) a sistemi più ricchi (64K) senza cambiare architettura |
| 32 linee I/O | Interfacciamento diretto a logiche esterne; possibile uso come bus esterno multiplexato |
| 3 timer a 16 bit | Time-base, conteggio eventi e temporizzazioni senza logica dedicata esterna |
| UART multiprocessore | Bus seriale condiviso con più nodi, addressing e gestione traffico più pulita |
| Oscillatore/clock on-chip | Riduzione BOM e timing più controllabile per seriale e timer |
In particolare questo MHS P-80C31 aveva le seguenti caratteristiche :
- P80C31BH Maximum Operating Temp (øC):70
- Memory Addressing Range:64k
- Max Instruction Length (bits):24
- Number of Addressing Modes:7
- Min Instruction Length (bits):8
- Number of Maskable Interrupts:6
- Military/High-Rel:N
- Number of Interrupt Lines:2
- Package Style:DIP
- Clock Frequency - Max. (Hz):12M
- Clock Frequency - Min. (Hz):3.5M
- Description:Prog full duplex serial;111 instructions
- No. of I/O Ports:4
- # Pins:40
- Mounting Style:T
- Nom. Supp Volt:5
- Number of I/O Lines:32
- On-Chip RAM (Bytes):128
- Tech.:CMOS