N76E003AT20 Microcontroller: The Intelligent Engine of Embedded Systems

25 December 2023


Ⅰ. What is N76E003AT20?

Ⅱ. Characteristics of N76E003AT20 microcontroller

Ⅲ. N76E003AT20 dimension and package

Ⅳ. Operating modes

Ⅴ. Who produces N76E003AT20 microcontroller?

Ⅵ. N76E003AT20 microcontroller specifications

Ⅶ. What are the uses of N76E003AT20 microcontroller?

Ⅷ. How to complete the programming of N76E003AT20?



The N76E003AT20 is a N76E003 series microcontroller unit manufactured by Nuvoton. The instruction set is fully compatible with the standard 80C51 with enhanced performance. This article focuses on the features, size and package, manufacturer, specifications, applications and programming, and other details of the N76E003AT20 microcontroller.



Ⅰ. What is N76E003AT20?


0d67f0f077a7d4a2f6ead7cc25799334.png


The N76E003AT20 belongs to a 1T-8051-based family of microcontrollers (MCUs) that boasts advanced features catering to diverse applications. With a generous 18 KB of Flash ROM, configurable data flash, and 1 KB of SRAM, this MCU is a powerful and versatile solution for embedded systems. Operating within a wide voltage range of 2.4 V to 5.5 V and withstanding temperatures from -40°C to 105°C, the N76E003AT20 ensures reliability in various environments. Notably, it exhibits a high level of immunity to both 7 KV electrostatic discharge (ESD) and 4 KV electrical fast transient (EFT), enhancing its robustness. The N76E003AT20 provides up to 18 I/O pins and rich peripherals in a 20-pin package, including two UARTs, SPI, I²C, 6-channel PWM output, wake-up function and undervoltage detector. In addition, it also supports small package TSSOP20 (4mm x 6.5mm) and QFN20 (3mm x 3mm) packages, which makes it more convenient in circuit board design.


Alternatives and equivalents:

AT89C2051

• AT89LP2052

• N76EO03AS20



Ⅱ. Characteristics of N76E003AT20 microcontroller


The following are the features of the N76E003AT20 microcontroller.


• It is a CMOS based high speed microcontroller with flash memory.


• It has two interrupts and timers.


• It has user programmable watchdog timer with 10kHz RC oscillator.


• It comes with two power down modes i.e. idle mode and power down mode.


• It has a built-in wake-up timer to operate in power saving mode.


• It can be used for monitoring and resolving power problems power-down detection circuitry.


• Integrated IAP (In-Application Programming) updates memory by application.


• Integrated ISP (In-System Programming) and ICP (In-circuit Programming) allow memory to be reprogrammed while installed in the system.



Ⅲ. N76E003AT20 dimension and package


fc62ad30eb15bd693396bf91ef83ba7a.png


As shown in the picture, the N76E003AT20 is available in TSSOP package.



Ⅳ. Operating modes


The I²C protocol encompasses four operational modes: slave transmitter, slave receiver, master receiver, and master transmitter. Additionally, there exists a unique mode known as General Call, which operates similarly to the master transmitter mode.


1. Slave Transmitter Mode


In the slave transmitter mode, several bytes of data are transmitted to a master receiver. After I2ADDR and l2CON values are given, the l²C wait until it is addressed by its own address with the data direction bit "read”(SLA+R). The slave transmitter mode may also be entered if arbitration is lost.


Once the SLA+R command is communicated to the slave, it is required to reset its SI flag for the transmission of data to the master receiver. Typically, the master receiver responds with an acknowledgment after each byte of data is transmitted by the slave. In the absence of acknowledgment, the slave will transmit all "1" data if the transaction persists, transitioning into an unaddressed slave. If the AA flag is deactivated in the course of the transaction, the slave will transmit the final byte of data. Subsequent data transmission will consist of all "1's," and the slave will assume an unaddressed state.


2. Slave Receiver Mode


In the slave receiver mode, the device receives several bytes of data from a master transmitter. Prior to initiating a transmission, the address to which the device will respond must be loaded into l2ADDR. In slave mode, l2CLK does not have any impact. To enable acknowledgment of its own slave address, the AA bit should be set. Following the aforementioned initialization, the I²C remains idle until addressed by its own address with the data direction bit set to "write" (SLA+W). Additionally, the slave receiver mode may be activated in the event of arbitration loss.


After the slave is addressed by SLA+W, it should clear its Sl flag to receive the data from the master transmitter. lf the AA bit is 0 during a transaction, the slave will return a non-acknowledge after the next received data byte. The slave will also become not addressed and isolate with the master. It cannot receive any byte of data with l2DAT remaining the previous byte of data, which is just received.


3. Master Receiver Mode


ln the master receiver mode, several bytes of data are received from a slave transmitter. The transaction is initialized just as the master transmitter mode. Following the START condition, I2DAT should be loaded with the target slave address and the data direction bit "read” (SLA+R). After the SLA+R byte is transmitted and an acknowledge bit has been returned, the Sl flag is set again and I2STAT is read as 40H. Sl flag then should be cleared to receive data from the slave transmitter. If AA flag (I2CON.2) is set, the master receiver will acknowledge the slave transmitter. lf AA is cleared, the master receiver will not acknowledge the slave and release the slave transmitter as a not addressed slave. After that, the master can generate a STOP condition or a repeated START condition to terminate the transmission or initial another one.


4. Master Transmitter Mode


In the master transmitter mode, a series of bytes is sent to a slave receiver. To prepare for this, the master sets the desired clock rate in l2CLK. Activating the master transmitter mode is achieved by setting the STA (I2CON.5) bit to 1. The hardware monitors the bus and initiates a START condition when the bus is available. Upon successfully generating a START condition, the sl flag (I2CON.3) is set, and the status code in l2STAT displays 08H. The process continues by loading l2DAT with the target slave address and the data direction bit "write" (SLA+W). The sI bit is then cleared to initiate the SLA+W transaction.


After the SLA+W byte has been transmitted and an acknowledge(ACK) has been returned by the addressed slave device, the Sl flag is set again and l2STAT is read as 18H. The appropriate action to be taken follows user defined communication protocol by sending data continuously.After all data istransmitted, the master can send a STOP condition by setting STO (I2CON.4) and then clearing Sl to terminate the transmission. A repeated START condition can also be generated without sending STOP condition to immediately initial another transmission.


5. General Call


The General Call represents a unique state in the slave receiver mode, triggered when addressed with all "0" data in the slave address along with the data direction bit. To enable acknowledgment of General Calls, both the GC (I2ADDR.0) bit and the AA bit must be set to 1. A slave addressed through a General Call exhibits a distinct status code in I2STAT compared to the normal slave receiver mode. Additionally, a General Call may occur in the event of arbitration loss.



Ⅴ. Who produces N76E003AT20 microcontroller?


N76E003AT20 is a cost-effective 8-bit microcontroller produced by Nuvoton. Nuvoton Technology is a semiconductor company in Taiwan. In addition to input and output controllers for motherboards, Nuvoton's computer IC products have also successively launched products such as TPM chips and Sideshow chips that enhance computer security mechanisms. Consumer electronics products focus on the design and development of voice IC, ISD ChipCorder, microcontroller and other products. Nuvoton Technology currently has multiple business locations around the world, including China, the United States, Israel, etc., with dealers and businesses all over the world.



Ⅵ. N76E003AT20 microcontroller specifications

41cea229dcbb5a99d570ae927b68e5c5.png



Ⅶ. What are the uses of N76E003AT20 microcontroller


• Consumer electronics: It can be used in embedded devices such as electronic toys, remote controls, and smart bracelets.


• Smart home: It can be used for the control and management of smart home systems, such as smart lighting, security systems, temperature control, etc.


• Home appliance control: The N76E003AT20 microcontroller is suitable for managing household devices like induction cookers, washing machines, air conditioners, and more.


• Industrial automation: The N76E003AT20 microcontroller is capable of overseeing and managing various industrial equipment, including sensor interfaces, controllers, and data acquisition systems.


• Battery-powered devices: Since the N76E003AT20 has a low power consumption mode and a wide operating voltage range, it is suitable for battery-powered devices such as electronic pedometers, portable measuring instruments, etc.



Ⅷ. How to complete the programming of N76E003AT20?


First, we choose a suitable integrated development environment, such as Keil, IAR, etc. We install the corresponding compiler, debugger and programming tools according to the selected IDE. Next, we connect the N76E003AT20 chip to the programmer. Typically, this involves connecting the programmer's pins to the corresponding pins of the chip. We create a new project or open an existing project in the IDE and select N76E003AT20 as the target chip. Then, we write embedded C code to implement the application logic. We use the compiler provided by the IDE to compile your code and generate binary files. Next, we use the burning tool to burn the generated binary file into the N76E003AT20 chip. This usually requires a programmer, either a standalone hardware programmer or a programmer integrated with the IDE. If necessary, we use debugger tools to debug the code. Finally, we insert the chip into the target system for verification and testing.




Frequently Asked Questions


1. What is the replacement and equivalent of N76E003AT20?


You can replace the N76E003AT20 with the AT89C2051, AT89LP2052 or N76EO03AS20.


2. What are the application fields of N76E003AT20?


N76E003AT20 is widely used in various embedded systems and control applications, such as automation equipment, home appliances, sensor interfaces, industrial control, etc.


3. What is the clock frequency range supported by the N76E003AT20?


The N76E003AT20 supports a clock frequency range from 2 MHz to 24 MHz.


4. Can the N76E003AT20 be programmed using C language?


Yes, the N76E003AT20 can be programmed using C language, and Nuvoton provides development tools and an integrated development environment (IDE) for programming and debugging.