What is microcontroller, what are the variaties, how to program

With the popularization of Ardunio applications, the concept of microcontroller has started to be established in our lives. Along with the concept of microcontroller, the scope of coding and programming has expanded. In the past, programming and coding concepts focused solely on writing computer programs. It is began to spread to a wider area with the spread of microcontroller applications. So what is a microcontroller? Is Ardunio a microcontroller? How does microcontrollers work? What is the difference between microprocessors? What kind of microcontrollers are available? What should be considered when choosing a microcontroller? How are microcontrollers programmed? This article will focus on these issues.

Are cards such as Ardunio, NodeMCU microcontroller?

Not exactly. Hardware such as Ardunio, NodeMCU, SparkCore are generally called development cards or kits. Of course, we can say that there are microcontroller and microcontroller related circuit elements in their structure. And they are products that facilitate the use of microcontrollers.

What is a microcontroller? What is the difference from the microprocessor?

The microcontroller has a more complex structure than the microprocessor, and includes CPU (CPU), RAM (RAM), input-output units, serial and parallel ports, counters, converters etc. In general, microcontrollers can be compared to mini computer systems designed to perform specific basic operations. Microprocessors are basically CPU (CPU), cache and input / output units. While microprocessors are designed to perform multiple operations at the same time, microcontrollers are the preferred systems in applications that can perform single work momentarily and require instant response due to this feature. For example, consider a washing machine. There are standard procedures and procedures that the machine must perform in certain programs. Here are microcontrollers appropriate for these machines. Because relatively inexpensive and programmable microcontrollers are sufficient to perform the basic operations that need to be carried out systematically and microcontrollers that contain the necessary units (ram, input / output units, counters) save the manufacturers from a big costs. If microprocessors were used instead of microcontrollers, both other units would have to be integrated into the system, and for a simple operation, too expensive and complex systems would have to be installed. Microprocessors are mostly used in general and multi-processing environments such as computers. Microcontrollers are mainly used in systems requiring automation and control spesific operations.

What are types of the microcontrollers? What should be considered when choosing a microcontroller?

We can handle microcontrollers in different varieties according to the companies they produce and their features. Some of these are:

Prodoced by Atmel:

They are generally known as Atmega chips.

There are such types like Atmega640,Atmega328P,Atmega64A etc.

Prodoced by Microchip:

They are generally known as PIC chips.

There are such types like PIC16F8770A, PIC10F200T, DISPIC30F1010A etc.

Prodoced by Intel:

Generally known as 8051, 8852 chips.

There are such types like P8051,80C51BH etc.

In addition, there are many microcontroller manufacturers and product types in the market. There is important in the selection of microcontrollers is the selection of products which are are for projects purpose and which do not increase the cost.

At consideration of microcontrollers there are factors like;

  • microcontrollers speed,
  • number of input-output pins,
  • memory capacity,
  • whether its interrupt capability,
  • other expected features(pwm pins, UART, comparing etc.)

At market there are microcontrollers on a wide range of price scales, it is appropriate to choose microcontrollers that will dominate your project and you can do what you want with your programming skills.

How are microcontrollers programmed?

Programming languages ​​such as Assembly, C, Basic are used in programming of microcontrollers. However, since it is difficult for everyone to do programming at the assembly language level, it is almost imperative for the general user to know the C language in microcontroller programming. Apart from this, it is possible to code at the block coding level for development cards such as Ardunio, but for the time being it only addresses the new learning level. With block-based programming, you cannot fully control the microcontroller and can not get what you want. But with the C language programming interface (IDE), you can program the microcontrollers.

A computer connection is required for the programming of microcontrollers. To do this, you must either create a circuit board yourself or purchase a programming card in which a commercially available for microcontrollers. If you are doing basic level projects, you can use microcontrollers with development boards like Ardunio and NodeMCU. But if you are an  engineering student or advanced project developer, you should either design or get the circuit board suitable for your microcontroller. In addition, you will use the microcontroller-compatible driver, programming interface (IDE), simulation software should be installed on your computer. After you do this, you can start coding and installing programs and trying them out.

For further information on programming of microcontrollers, you can search with microcontroller type (PIC programming, AVR programming etc.) 

Hope you will do best..