Is the 51 Microcontroller Still Relevant? A Look at Its Development History as an Outstanding Performer!

Is the 51 Microcontroller Still Relevant? A Look at Its Development History as an Outstanding Performer!

On February 15, 1946, the first electronic digital computer ENIAC was unveiled, marking the beginning of the computer era. ENIAC was a vacuum tube computer with a clock frequency of only 100 kHz, but it could perform 5,000 addition operations in one second. Compared to modern computers, ENIAC had many shortcomings, but its emergence opened a new era in computer science and technology, greatly impacting human production and lifestyle.During the development of ENIAC, Hungarian mathematician John von Neumann served as an advisor to the development team and made significant contributions to the design of the scheme. In June 1946, von Neumann proposed the concepts of “stored program” and “binary operations,” further constructing the classic structure of computers composed of an arithmetic unit, control unit, memory, input devices, and output devices.Is the 51 Microcontroller Still Relevant? A Look at Its Development History as an Outstanding Performer!The development of electronic computer technology has gone through five eras: vacuum tube computers, transistor computers, integrated circuit computers, large-scale integrated circuit computers, and ultra-large-scale integrated circuit computers. However, the structure of computers has not broken through the classic framework proposed by von Neumann.

1. Composition and Application Forms of Microcomputers

1. Composition of MicrocomputersIn January 1971, Ted Hoff of Intel, in collaboration with a Japanese commercial communication company to develop a desktop calculator, compressed the original design of more than a dozen chips into three integrated circuit chips. Two of these chips were used for program and data storage, while the other chip integrated the arithmetic unit, control unit, and some registers, known as the microprocessor (Intel 4004). The microprocessor, memory, and I/O interface circuits together form a microcomputer. Each part is connected via the address bus (AB), data bus (DB), and control bus (CB).Is the 51 Microcontroller Still Relevant? A Look at Its Development History as an Outstanding Performer!From an application perspective, microcomputers can be divided into three types: multi-board machines (system machines), single-board machines, and microcontrollers.1. Multi-board Machines (System Machines)Multi-board machines assemble the microprocessor, memory, I/O interface circuits, and bus interfaces on a mainboard (microcomputer motherboard), and connect keyboards, displays, printers, soft/hard disk drives, and optical drives through system buses and other peripheral adapter cards. Various adapter cards are inserted into the expansion slots of the motherboard and housed in the same chassis as the power supply, soft/hard disk drives, and optical drives. With the addition of system software, this forms a complete microcomputer system, referred to as a system machine. The personal computers (PCs) widely used today are typical multi-board microcomputers. Due to their good human-computer interface, strong functionality, and rich software resources, they are commonly used for office or home data processing and scientific computing, making them the most universal tools in various fields of society. Additionally, by reinforcing the chassis of the system machine and designing the base plate as a small base plate structure without a CPU, inserting the mainboard and various measurement and control boards into the expansion slots of the base plate forms an industrial PC. Due to its user-friendly interface and rich software resources, industrial PCs are often used as the main units in industrial measurement and control systems.2. Single-board MachinesSingle-board machines integrate the CPU chip, memory chip, I/O interface chip, and simple I/O devices (such as small keyboards and LED displays) onto a single printed circuit board, along with a monitoring program (firmware in ROM), forming a single-board microcomputer, referred to as a single-board machine. A typical product is the TP801. Single-board machines have simple I/O devices, limited software resources, and are inconvenient to use. They were primarily used for teaching the principles of microcomputers and simple measurement and control systems in the past, but are now rarely used.3. MicrocontrollersMicrocontrollers integrate the microprocessor, memory, and I/O interface circuits onto a single integrated circuit chip, forming a single-chip microcomputer, known as a microcontroller.Is the 51 Microcontroller Still Relevant? A Look at Its Development History as an Outstanding Performer!The original design purpose of computers was to improve the speed of data calculations and handle massive amounts of data. Computers that accomplish this task are called general-purpose computers. As computer technology has developed, it has been discovered that computers also possess extraordinary capabilities in logical processing and industrial control. In the control field, there is a greater focus on the low cost, small size, reliability, and flexibility of operation of computers. Especially in application systems such as smart instruments, smart sensors, smart home appliances, smart office equipment, automotive, and military electronic devices, there is a demand to embed computers into these devices. Computers embedded in control systems (or devices) to achieve embedded applications are called embedded computers, also known as dedicated computers. Embedded application computers can be divided into embedded microprocessors (such as 386EX), embedded DSP processors (such as the TMS320 series), embedded microcontrollers (i.e., microcontrollers like the 80C51 series), and embedded systems on a chip (SoC).Microcontrollers are small, low-cost, and highly reliable, and their extraordinary embedded application forms have unique advantages in meeting embedded application needs. Currently, microcontroller application technology has become the most commonly used technical means in electronic application system design, and learning and mastering microcontroller application technology is of great practical significance.In summary, the development of microcomputer technology is trending in two directions: one is the general-purpose computer represented by system machines, which aims to improve the computing speed of computers while achieving massive high-speed data processing and maintaining control functions; the other is the embedded dedicated computer represented by microcontrollers, which focuses on the integration of computer control functions within the chip while meeting the measurement and control needs of embedded objects.

2. The Development Process and Current Status of Microcontrollers

2.1 The Development Process of Microcontrollers

The development of microcontroller technology has been rapid, with a wide variety of products available. The entire development process of microcontroller technology can be divided into the following three main stages:1. Formation Stage of Single-chip MicrocomputersIn 1976, Intel launched the MCS-48 series of microcontrollers. The early products of this series integrated an 8-bit CPU, 1K byte program memory (ROM), 64 bytes of data memory (RAM), 27 I/O lines, and 1 8-bit timer/counter on a single chip. The main feature of this stage was the integration of the CPU, memory, I/O interface, timer/counter, interrupt system, and clock within a single chip, but the memory capacity was small, the addressing range was limited (not exceeding 4K), there was no serial interface, and the instruction system was not very powerful.2. Performance Improvement StageIn 1980, Intel launched the MCS-51 series of microcontrollers. This series integrated an 8-bit CPU, 4K byte program memory (ROM), 128 bytes of data memory (RAM), 4 8-bit parallel interfaces, 1 full-duplex serial interface, and 2 16-bit timers/counters on a single chip. The addressing range was 64K, and it integrated a Boolean processor with strong control functions to complete bit processing. The main feature of this stage was the improved structural system and significantly enhanced performance, further highlighting its control-oriented characteristics. The MCS-51 has now become a recognized classic model of microcontrollers.3. Microcontroller StageIn 1982, Intel launched the MCS-96 series of microcontrollers. This series integrated a 16-bit CPU, 8K byte program memory (ROM), 232 bytes of data memory (RAM), 5 8-bit parallel interfaces, 1 full-duplex serial interface, and 2 16-bit timers/counters on a single chip. The maximum addressing range was 64K. The chip also included 8 channels of 10-bit ADC, 1 PWM (D/A) output, and high-speed I/O components. In recent years, many semiconductor manufacturers have used the 8051 core of the MCS-51 series microcontroller to integrate various interface technologies, reliability technologies, and advanced memory technologies into microcontrollers, producing a new generation of 80C51 series microcontrollers with powerful functions and flexible usage. The main feature of this stage was the enhancement of peripheral circuits aimed at measurement and control systems, allowing microcontrollers to be conveniently and flexibly applied in complex automatic measurement and control systems and devices. Therefore, the term “microcontroller” better reflects the essence of microcontrollers.

2.2 Current Status of Microcontroller Products

With the continuous development of microelectronic design technology and computer technology, microcontroller products and technologies are evolving rapidly. The current status of microcontroller products can be summarized in the following two aspects:1. The 80C51 series microcontroller products are abundant, and a mainstream position has been established. The improvement in the computing speed of general-purpose microcomputers is mainly reflected in the increase in CPU bit count (16-bit, 32-bit, and even 64-bit), while microcontrollers focus more on product reliability, economy, and embedded nature. Therefore, the demand for increased CPU bit count in microcontrollers is not very urgent. Years of practical application have proven that the system structure of the 80C51 is reasonable and the technology is mature. As a result, many microcontroller chip manufacturers are committed to enhancing the comprehensive functionality of 80C51 microcontroller products, thus establishing the mainstream product position of the 80C51. Recently launched products compatible with the 80C51 include:

  • ATMEL’s AT89 series microcontrollers, which incorporate Flash memory technology;

  • Philips’ high-performance 80C51 and 80C552 series microcontrollers;

  • Winbond’s W78C51 and W77C51 series high-speed low-cost microcontrollers;

  • LG’s GMS90/97 series low-voltage high-speed microcontrollers;

  • Maxim’s DS89C420 high-speed (50MIPS) microcontroller;

  • Cygnal’s C8051F series high-speed SOC microcontrollers, etc.

Thus, it can be seen that the 80C51 has become the de facto mainstream series of microcontrollers, and this book focuses on the 80C51 to discuss the principles and interface methods of microcontrollers.2. New non-80C51 structure microcontrollers are continuously being launched, providing users with a broader selection space. While the 80C51 and its compatible products are popular, some microcontroller chip manufacturers have also introduced non-80C51 structure products, with significant impacts including:

  • Intel’s MCS-96 series 16-bit microcontrollers;

  • Microchip’s PIC series RISC structure microcontrollers;

  • TI’s MSP430F series 16-bit low-voltage, low-power microcontrollers;

  • ATMEL’s AVR series RISC structure microcontrollers, etc.

3. Characteristics and Application Fields of Microcontrollers

3.1 Characteristics of Microcontrollers

1. High Control Performance and ReliabilityMicrocontrollers are designed to meet industrial control needs, so their real-time control functions are particularly strong. Their CPUs can directly operate on I/O interfaces, and their bit manipulation capabilities are unmatched by other computers. Additionally, since the CPU, memory, and I/O interfaces are integrated on the same chip, the connections between components are compact, resulting in minimal interference during data transmission and making them less susceptible to environmental conditions, thus ensuring high reliability. Recent microcontroller products have integrated high-speed I/O interfaces, ADC, PWM, WDT, and other components, with further enhancements in low voltage, low power, serial expansion buses, control network buses, and development methods (such as in-system programming ISP).2. Small Size, Low Cost, and Easy ProductizationEach microcontroller chip is a complete microcomputer. For large-scale dedicated applications, it is possible to match and select from various microcontroller types, and custom chip designs can be made to ensure a good correspondence between chip functions and applications. In terms of pin packaging, some microcontrollers have reduced their pins to 8 or fewer, thus minimizing the size of application system printed circuit boards, reducing connectors, and simplifying installation. Among modern electronic devices, microcontrollers offer a good performance-to-price ratio, which is a significant reason for their widespread application.

3.2 Application Fields of Microcontrollers

Due to their excellent control performance and flexible embedded qualities, microcontrollers have found extensive applications in various fields in recent years. They can be broadly categorized into the following aspects:1. Smart Instruments and MetersMicrocontrollers are used in various instruments and meters, enhancing their functionality and accuracy, making them smarter, while also simplifying their hardware structure, thus facilitating the upgrade of instrument and meter products. Examples include various smart electrical measurement instruments and smart sensors.2. Mechatronic ProductsMechatronic products integrate mechanical technology, microelectronics technology, automation technology, and computer technology, characterized by intelligence. Microcontrollers can play a significant role in the development of mechatronic products. Typical products include robots, CNC machine tools, automatic packaging machines, currency counting machines, medical devices, printers, fax machines, and copiers.3. Real-time Industrial ControlMicrocontrollers can also be used for the collection and control of various physical quantities. The collection and control of physical parameters such as current, voltage, temperature, liquid level, and flow can be conveniently achieved using microcontrollers. In such systems, using microcontrollers as system controllers allows for the adoption of different intelligent algorithms based on the characteristics of the controlled objects, achieving desired control indicators, thus improving production efficiency and product quality. Typical applications include motor speed control, temperature control, and automatic production lines.4. Front-end Modules of Distributed SystemsIn complex industrial systems, distributed measurement and control systems are often used to complete the collection of a large number of distributed parameters. In such systems, microcontrollers serve as front-end collection modules for distributed systems, offering advantages such as reliable operation, convenient and flexible data collection, and low cost.5. Household AppliancesHousehold appliances represent another important application field for microcontrollers, with a very broad prospect. Examples include air conditioners, refrigerators, washing machines, rice cookers, high-end bathing equipment, and high-end toys. Additionally, in the transportation field, microcontrollers are widely used in automobiles, trains, airplanes, and spacecraft, such as in automatic driving systems, aerospace measurement and control systems, and black boxes.

4. Overview of Microcontroller Application System Development

4.1 Development of Microcontroller Application Systems

When designing microcontroller application systems, it is essential to equip them with corresponding application software after completing the hardware system design. Accurate hardware design and well-functioning software design are the design goals of a practical microcontroller application system. The process of achieving this goal is called the development of microcontroller application systems. As an integrated circuit chip that incorporates the basic components of a microcomputer, a microcontroller does not have development functions compared to general-purpose microcomputers and must rely on a development machine (a special computer system) to complete the following tasks: 1. Eliminate hardware faults and software errors in the application system; 2. The debugged program must be stored in the internal or external program memory chip of the microcontroller.1. Representation of InstructionsInstructions are commands that make the microcontroller perform certain operations. Inside the microcontroller, instructions are stored in the program memory in binary code in a specific order. Binary code is the machine code (or target code) that the computer can execute directly. For convenience in writing, inputting, and displaying, people usually write machine code in hexadecimal form. For example, the binary code 0000 0100B can be represented as 04H. The meaning of the instruction corresponding to 04H is to add 1 to the content of accumulator A. If written as INC A, it is much clearer; this is the symbolic representation of the instruction.2. Assembly or CompilationSymbolic instructions must be converted into machine code that the computer can execute and stored in the computer’s program memory. This conversion is called assembly. There are three common assembly methods: first, manual assembly, where designers refer to the microcontroller instruction encoding table to translate each symbolic instruction into hexadecimal machine code instructions, inputting them into the development machine via a keypad, then debugging and writing the debugged program into the program memory chip; second, using the assembly program of the development machine for assembly; third, using the assembly program equipped with a general-purpose microcomputer for cross-assembly, then transferring the target code to the development machine. Additionally, high-level languages (such as C51) can be used for designing microcontroller application programs. The high-level language source program edited in a PC is compiled and linked to form a target code file, which is then transferred to the development machine. This method has the advantages of short cycles, easy portability, and modification, making it suitable for developing more complex systems.

4.2 Traditional Development Methods for Microcontroller Application Systems

The microcontroller development system is also known as a development machine or emulator. The purpose of emulation is to use the resources of the development machine (CPU, memory, and I/O devices, etc.) to simulate the CPU, memory, and I/O operations of the target microcontroller application system and to track and observe the operating status of the target machine. Emulation can be divided into software simulation emulation and online emulation using the development machine. Software simulation emulation is low-cost and easy to use but cannot perform real-time debugging and fault diagnosis of the application system hardware. Below, only the online emulation method will be introduced.1. Development Using Standalone EmulatorsIs the 51 Microcontroller Still Relevant? A Look at Its Development History as an Outstanding Performer!Standalone emulators use the same type of microcontroller as the application system to form a single-board machine, equipped with LED displays and simple keyboards. This development system can perform online emulation of the microcontroller application system without the support of a general microcomputer system, facilitating debugging and modification of application software on-site. Additionally, this development system is equipped with a serial interface, allowing it to connect with a general microcomputer system. Thus, the source program can be edited, assembled, and debugged using the combination software equipped with the general microcomputer system. The debugged target program (i.e., machine code) can then be transferred to the emulator for program storage.2. Development Using Non-Standalone EmulatorsThis type of emulator is constructed using a general microcomputer and emulator. The emulator is connected to the general microcomputer via serial communication. This development method requires the support of a microcomputer, using the combination software equipped with the microcomputer system for source program editing, assembly, and emulation debugging. Some emulator interfaces are also equipped with EPROM writing sockets, allowing the user application program to be written into the EPROM chip after debugging is completed. Compared to the previous method, this development method is less convenient for on-site parameter modification and debugging.Is the 51 Microcontroller Still Relevant? A Look at Its Development History as an Outstanding Performer!Both of these development methods involve removing the microcontroller chip and program memory chip from the target system during development and inserting the emulator head drawn from the development machine, effectively lending the microcontroller from the development machine to the target machine. After debugging is completed, the emulator head is removed, and the microcontroller chip is reinserted, allowing the debugged program to be stored in the EPROM chip and inserted into the program memory socket of the target machine, enabling the target machine to operate independently.

4.3 Development of Microcontroller Development Methods

Due to the widespread adoption of microcontroller chip packaging forms and the rapid development of Flash memory technology, the traditional concepts of microcontroller application system development will be impacted. New microcontroller application system development technologies allow the microcontroller to be installed on the printed circuit board first, and then the program can be downloaded to the target system via a PC. For example, SST has launched the SST89C54 and SST89C58 chips, which have 20 KB and 30 KB of SuperFlash memory, respectively. This memory allows for high-speed read/write capabilities, enabling in-system programming (ISP) and in-application programming (IAP) functions. The application program can be edited, assembled (or compiled), and simulated on a PC before the target program is downloaded serially.Microchip’s RISC structure microcontroller PIC16F87X has a built-in online debugger (ICD) function, and the company has also provided a simple emulator and programmer with ICSP functionality. Since the chip has built-in detection circuit logic, no additional hardware emulator is required. The target system can be debugged and emulated using a serial cable connected to the PC (including the MPLAB-ICD module for communication and the MPLAB-ICD head connected to the target board).

Is the 51 Microcontroller Still Relevant? A Look at Its Development History as an Outstanding Performer!

Is the 51 Microcontroller Still Relevant? A Look at Its Development History as an Outstanding Performer!

Some Screenshots of Electronic Books

Is the 51 Microcontroller Still Relevant? A Look at Its Development History as an Outstanding Performer!

【Complete Set of Hardware Learning Materials Collection】

Is the 51 Microcontroller Still Relevant? A Look at Its Development History as an Outstanding Performer!

Leave a Comment