Since the invention of the transistor and later the integrated circuit, the constant development
of digital electronics has given rise to increasingly complex devices. Among them the
microprocessors and microcontrollers. Microcontrollers are present in almost every
electronic devices in our daily lives.
The microprocessor is in charge of executing programs. only execute instructions
programmed in low-level language, performing simple arithmetic and logical operations, such as
add, subtract, multiply, divide, binary logics, jump instructions and memory accesses.

Внутри микроконтроллера находится микропроцессор, но в него интегрированы и другие элементы: память (программа и данные, порты для управления входами и выходами, преобразователи, счетчики, генераторы, коммуникационные модули и т. д.). Существует множество различных конфигураций микроконтроллеров с различными функциями, чтобы иметь возможность выбирать разные модели в зависимости от потребностей проекта. Программа переносится на микровнутреннее ПЗУ (память программ) в процессе программирования. PIC или PICmicro — это семейство микроконтроллеров производства Microchip. Это микроконтроллеры типа RISC (компьютер с сокращенным набором инструкций). Инструкции предназначены для PIC, как буквы алфавита для английского языка. Имея определенное их количество и правильно расположив их, мы сможем создать нужную нам программу. PIC использует набор инструкций на языке ассемблера, количество которых может варьироваться от 33 для младших PIC до 70 для high-end. Инструкции классифицируются среди тех, которые выполняют операции между аккумулятором и константой, между аккумулятором и позицией памяти, кондиционированием и инструкциями перехода/возврата, реализацией прерывания и переходом в режим низкого потребления, называемый спящим. В зависимости от особенностей и набора инструкций PIC делятся на семейства: PIC10F, PIC12F, PIC16F, PIC18F, dsPIC и др.

buses
The bus (or channel) is a digital system for transferring data between computer components.
a computer or processor or between devices. There are two types of transfer on buses:
• Serial: The bus is only capable of transferring data bit by bit. That is, the bus has
a single cable or track that transmits the information.
• Parallel: The bus allows several bits to be transferred simultaneously, for example 8 bits, 16
bits etc. For each bit a wire or track is necessary.
Although parallel transfer seems much more efficient at first glance, this
has drawbacks:
• The clock frequency on the parallel bus has to be lower.
• The length of the cables that make up the bus is limited, since from
given length, the probability that the bits arrive out of order is high.