This work presents an integrated system oriented towards professionals who wish to acquire knowledge about microcontrollers in general and the PIC in particular, and the systems designed with them. It also described the methodology used to explain the C language characteristics that must meet professionals to develop programs with it.


Raising the level of self-learning is increasingly important in the different technologies, especially those that, like information technologies, have a character markedly horizontal. All technicians, regardless of their area of specialization, must know its characteristics and its applications.

This motivates interest in the development of integrated self-learning systems that facilitate

continuous training.

Integrated Self-learning Systems

The authors define an integrated system for learning a technology as a system that combines at least two of the following subsystems:

– A printed book or an electronic book presents the characteristics and concepts of a particular area of technology through a set of examples adequately selected.

– An interactive virtual laboratory associated with the book that allows the user to experiment

in a way that is very close to reality and prepares you to undertake experiments real.

– A real laboratory (trainer) facilitates experimentation for the user to memorize the main concepts and visualize the signals using a specific application (multimeter, oscilloscope, etc.) or instruments based on the computer, capable of measuring all kinds of electrical and non-electrical variables.

– A computer-based self-assessment system.

The technological electronic book remains defined as a book associated with a set of experiments that form a virtual laboratory. It facilitates the user with a better understanding of the concepts and prepares you to use a real laboratory properly. Each meaningful concept, of which it is necessary to acquire theoretical knowledge and practical, is associated with an experiment. It is also distinguished from a traditional book because it includes verbal explanations and videos.

The Virtual Laboratory [1] is an interactive multimedia tool that improves the learning of complex technologies. It has an intuitive and easy-to-use user interface and uses interactive simulated instrumentation with functionality similar to real instruments. It is in favor of the analysis of circuits rather than their design. It can also include experiments destructive that help prevents damage to fundamental laboratory components and equipment.

The pedagogical value of computer tools, electronic books, or laboratories virtual, it is today unquestionable. However, the authors attach great importance to conducting experiments with real instruments, components, and systems, as long as the didactic contents allow it.

Integrated System for Learning Microcontrollers

Microcontrollers are one of the main areas of Applied Electronics because they facilitate digital processors in many industrial products.

They are also a complex technology in which numerous concepts coexist interrelated, making it challenging to establish norms that guarantee both the reliability of systems based on them, such as their maintenance and the modification of their benefits throughout the design process.

In the particular case of PIC microcontrollers, an integrated system can remain chosen for out from a book, any variants explained above, and any professional simulators that can stay found in the market. However, the authors consider that, due to the low cost of implementation, it is possible to develop a general application board that can remain used to check the mentioned devices’ operation.

Regarding the programming tool, the authors suggest using MPLAB [4], which has been developed by Microchip. It is because:

– It is a free tool, owned by the microcontroller manufacturer.

– Allows you to edit, compile, and link the Program with great ease.

– Includes a simulation tool that provides results very close to reality.

It is distributed with a version of an assembly program but allows the integration of other C language compilers made by other companies.

Initially, a set of assembly language practices are proposed in which the microcontroller’s internal workings, as well as its interaction with various peripherals external. These practices are then recurring in C language in order to demonstrate the differences and advantages of programming in a high-level language.

C Language for Electronic Engineers

Sometimes developing assembly language programs takes too much time and effort. It is the case of programs with some complexity, such as those that perform calculations mathematicians.

Today C has become the most common high-level programming language used by microcontroller application programmers. It is due to several of its characteristics, among which are:

– It is a compact language, with few instructions and easy to learn.

– It is independent of the processor so programmers can focus more on the algorithms and leave aside the characteristics of the hardware on which the Program.

– Generates highly optimized machine language programs.

– It allows us to use structured data defined by the user that is very useful on behalf of

representing peripherals.

– It allows us to establish direct control of the hardware without giving up the advantages of a high-level language. It has instructions that act in an individual over the bits of a binary combination, just like an assembly language or low-level, combining them with useful flow control instructions (jumps conditionals, etc.), typical of high-level languages.

Although the C language has proven to be highly effective, it is not without some


– It lacks input/output instructions and handling of character strings, which can lead to a loss of portability due to having to use functions included in libraries of program design tools.

– The flexibility in writing the Program can generate execution errors that are not easily detected because they have a correct syntactic construction.

– A large number of operators and the precedence rules established in the C language promote the writing of highly complex expressions that are difficult to interpret.

– It requires the programmer to act systematically to achieve programs that are easy to keep.

One of the essential lines addressed in the C programming language topics consists of explaining its characteristics to design programs to systems with microcontrollers.

Much Attention is also professional to the compiler’s efficiency in generating the Program in machine language and the latter’s interaction with the processor architecture.

In accordance with the two previous aspects, the model to explain the language C’s characteristics starts with a brief theoretical explanation and ends with one or more examples that demonstrate the operation in the microcontroller of the explained topic.

The examples are simple to program snippets, such as those explaining the types of data, operators, or instructions. Other more complicated examples remain similarly labeled that develop programs with specific functionality, verified by recording these examples in the microcontroller’s memory placed in one of the board’s sockets SiDePIC-USB and run them later.

In general, the emphasis is not on the design of the algorithms. Instead of describing general techniques that are widely applicable in the design of systems with processors digital.


The self-learning system described facilitates the learning of PIC microcontrollers and the development of electronic control and communication systems based on them. It lends itself special Attention to programming in C language since one of the constants in systems with a microcontroller is using this language, which is considered a standard in the programming of such systems.

The methodology described has been used in different courses on PIC microcontrollers, at the numerous professionals from various technological branches interested in the subject.

Review Integrated System of Self-Learning of the Microcontroller.

Your email address will not be published. Required fields are marked *