This is an old revision of the document!
Nuvoton 8051 Core Device
Recently noticed an inexpensive 8051 core device. Good old 8 bit technology.
The N76E003AT20 device, pre-mounted on a small development board, seems to be widely available at a reasonable price.
Had kinda hoped that somebody out there might have written up a guide on how to use this board with the BASCOM-8051 BASIC compiler but a decent 'howto' note couldn't be found.
So, a few notes on how this might work. As things stand (Sept 2019), some parts are ordered and a bit of research is started. As and when the parts arrive and can be played with, notes will be added here. N.B. To date, I've not even been able to program the device!
The chip is a 20 pin surface mount part. Manufacturer datasheet (a 273 page .pdf) can be found here. It's generally a lot easier to buy a dev board with this device already in place than to manhandle the bare part.
Architecture
The Dev board
The board that I have (as pictured above) measures about 42mm x 30mm. It's pretty small, yet space has been made for four M3 mounting holes.
The chip is centrally positioned. This board has a Mini-B USB connector fitted. Seems that this is just used to feed 5V to the board - the data lines on the connector don't seem to be hooked up to anything. A surface mounted LED lights up when power is applied via the Micro-B. The other LED on the board is attached (via a resistor) to port pin P15 - the Jumper 'J2' needs to be fitted if you want to drive this LED.
The chip can work at supply voltages between 2.4V and 5.5V. The board uses a AMS1117 3.3V regulator to drop the 5V USB fed line. Not sure why they bothered, but there we have it. I've seen a variant of this board that is fitted with a 5V/3.3V selector switch.
A few words about the device specification
From the datasheet …
The Nuvoton 1T 8051-based microcontroller N76E003 series is function compatible with the
N76E616 and N76E885 series, the 8-bit high performance 1T 8051-based microcontroller. The
instruction set is fully compatible with the standard 80C51 and performance enhanced. The
N76E003 series can bridge the gap and replace the cost equivalent to traditional 4T, 6T and 12T
8-bit microcontroller by 1T 8-bit high performance and rich functions. With high performance CPU
core and rich well-designed peripherals, the N76E003 benefits to meet a general purpose, home
appliances, or motor control system accomplishment.
The N76E003 series can run up to 16MHz, and operate at a wide voltage range of 2.4V ~ 5.5V
and temperature range of -40℃ ~ +105℃. For the N76E003 series, the embedded program flash
size is up to 18 Kbytes, SRAM is 256 bytes, and 768 Bytes of auxiliary RAM (XRAM). The
N76E003 series also offers size configurable 4K/3K/2K/1K/0K bytes flash of LDROM for the ISP,
which provides flexibility to user developed Boot Code.
The N76E003 series has many high-performance peripheral functions, such as 16MHz highspeed internal RC oscillator (trimmed to ±1% when VDD 5.0V, ±2% in all conditions), I/O port with
up to 18 pins, four 16-bit timers, two full-duplex UARTs ports with frame error detection and
automatic address recognition, one SPI interface, one I2C interface, up to five enhanced 16-bit
PWM output channels, 8 channels 12-bit ADC, Watchdog Timer, Self Wake-up Timer, and a
Brown-out Detector. The peripherals are equipped with 18 sources with 4-level-priority interrupts
capability.
All these peripherals have been incorporated into the N76E003 series to reduce
component count, board space and system cost.
Additionally, the N76E003 series is equipped with ISP (In-System Programming) and ICP (InCircuit Programming) functions, which allow the user to update the program memory without
removing the chip from the actual end product. The N76E003 series also supports In-ApplicationProgramming (IAP) function, user switches the code executing without the chip reset after the
embedded flash updated.
Some ideas
This chip has both user program and bootloader areas. It should be possible to use the Nuvotron supplied serial bootloader to allow the board to be programmed via a standard USB to serial port adaptor.
ToDo: Need to find out if the board comes pre-supplied with a bootloader.