Share this

What is the development process of a microcontroller application system?

2026-04-06 05:59:21 · · #1

I. Feasibility Study

After determining the development topic, the first step is to conduct a research survey of potential solutions. This process is crucial; developing a good solution will make the subsequent development work much smoother. The research work mainly addresses the following issues:

(1) Understand the user’s needs and determine the design scale and overall framework.

(2) Understand the technical difficulties of software and hardware, and identify the main technical issues to be addressed.

(3) Conduct research on the main issues, search for relevant information at home and abroad, and determine a preliminary plan.

(4) Microcontroller application development technology is a combination of hardware and software technology, and the solution design must balance the division of labor between hardware and software. Sometimes hardware design will affect the software program structure. If adding a hardware interface chip to the system makes modularization of the system program possible and convenient, then the hardware overhead is worthwhile. When it does not affect the overall situation, replacing hardware with software is precisely the strength of computer technology.

(5) Adopt mature technologies that can be learned from as much as possible to reduce repetitive work.

II. Hardware System Design

The design of a microcontroller application system can be divided into two parts: one part is the design of digital circuit chips that directly interface with the microcontroller. This includes the expansion of memory and parallel interfaces, the expansion of timing and interrupt systems, interfaces for general external devices, and even interfaces for A/D and D/A chips. The other part is the design of circuits related to analog circuits, including signal shaping, transformation, isolation, and sensor selection; isolation and driving in output channels; and the selection of actuators. The following aspects should be considered when designing an application system:

(1) From the perspective of the bus concept of the application system, the design of each local system and channel interface should be integrated with the microcontroller as a whole. For example, whether the time of the chips is matched, whether the level is compatible, and whether bus isolation buffering can be implemented, so as to avoid the "hodgepodge" tactic.

(2) Select typical circuits that conform to the usage of microcontrollers as much as possible.

Figure 1. Flowchart of Microcontroller Application System Development and Design

(3) Employ new technologies and select new components and chips whenever possible. Use highly integrated chips to reduce the number of chips and the printed circuit board area. For example, use a new microcontroller with an extended multi-functional interface containing a 51 core to replace the large circuitry of the 8031. Use highly integrated and powerful digital or analog circuit chips with non-adhesive interfaces, such as those used in data acquisition systems, to replace the collection of many small-scale integrated circuit chips. Use PLD programmable logic devices to replace parts of the circuit design.

(4) Anti-interference design is an important part of hardware design, such as watchdog circuit, decoupling filter, channel isolation, and reasonable printed circuit board routing.

(5) When there are many interface chips in the system, the bus driving capability should be fully considered. When the load exceeds the allowable range, a bus driver must be added to ensure the reliable operation of the system.

(6) Printed circuit board design software, such as PROTEL, can be used for printed circuit board design.

III. Application Software Design

The implementation of measurement and control tasks in an application system ultimately relies on program execution. The quality of the application software design determines the system's efficiency and overall performance. The following aspects should be considered during software design:

(1) Adopt modular programming. Modular programming divides a long, complete program, such as a monitoring program, into several small functional program modules. After each module is independently designed, programmed, and debugged, they are finally assembled and linked together to form a complete program. Modular programming facilitates program portability and modification.

(2) Adopt a top-down programming approach. When designing the program, start with the main program of the system, and replace subordinate programs or subroutines with program flags. After the main program is completed, expand the flags to subordinate programs or subroutines.

(3) External devices and external events should communicate with the CPU via interrupts as much as possible. This facilitates system modularization and improves program efficiency.

(4) Some microcontroller development systems launched in recent years support high-level languages, such as C51 and PL/M96 programming and in-circuit debugging. Compared with assembly language programming, using high-level languages ​​can greatly improve development and debugging efficiency, and the quality of the resulting target code can be comparable to that of assembly language.

(5) Some practical subroutines have been published and can be used appropriately in program design, including running subroutines and control algorithm programs.

(6) The system's software design should fully consider anti-interference measures, such as digital filtering, software traps that cause program crashes, software watchdogs, and fault-tolerant design.

IV. Software and Hardware Debugging

A microcontroller application system involves feasibility studies, hardware design, printed circuit board design, fabrication and soldering, software development, and hardware and software debugging to verify the correctness of the theoretical design. Since microcontrollers lack self-development capabilities, debugging their application systems requires the assistance of a microcontroller development system.

The main functions of a microcontroller system are:

(1) Program input, editing and cross-assembly functions.

(2) Provide simulation RAM and simulation microcontroller.

(3) Supports source file tracing and debugging in user assembly language (some also support high-level languages).

(4) Most development devices currently have an interface with a general-purpose microcomputer, which can be used for debugging in a microcomputer environment.

(5) EPROM write function.

When debugging using the development equipment, the hardware circuit should be tested and confirmed to be functional first. Hardware debugging can be carried out using a block-by-block debugging method, starting with the easier parts and progressing to the more difficult ones, and debugging parts first, and then debugging the whole thing after all parts have passed. For block-by-block debugging of hardware, test programs for the corresponding modules can be written. Some test programs can be modified slightly to become functional module programs.

Once the hardware is basically working and the feasibility of memory allocation is verified, the main program is designed and debugged from top to bottom. Program debugging must be performed in a DEBUG environment, using breakpoint debugging or continuous debugging methods to find fault points by observing changes in the state of memory or related registers during program execution. The correctness of the hardware and software can also be verified by using instruments to test the state and waveforms of the circuit.

V. EPROM Curing

All programs that have passed debugging on the development device must eventually be run offline, which means burning the program running in the simulation ROM to the EPROM for offline execution. However, a program that runs normally on the development device may not necessarily run normally offline after being burned. If problems occur during offline execution, the cause needs to be analyzed, such as whether the bus driver function is insufficient or whether the timing of the interface chip operation is mismatched. The modified program needs to be rewritten.

Read next

CATDOLL 136CM Sasha

Height: 136cm Weight: 23.3kg Shoulder Width: 31cm Bust/Waist/Hip: 60/54/68cm Oral Depth: 3-5cm Vaginal Depth: 3-15cm An...

Articles 2026-02-22