Linguagem para Programar Microcontroladores: Assembly, C ou Basic
Num processador (microprocessador ou microcontrolador), o significado de cada instrução do conjunto de instruções está embutido ao nível do hardware, nos circuitos, mais precisamente no bloco do processador denominado decodificador de instrução. Tais instruções são denominadas “opcodes” (códigos operacionais). Apesar das instruções poderem ser escritas em código binário, em função da arquitetura dos processadores disponíveis, o tamanho mínimo das instruções e dos dados utilizado normalmente é de oito bits, o que caracteriza um Byte. A este nível, para facilitar o trabalho dos programadores, o código pode ser escrito na notação de dígitos hexadecimal (dois dígitos em hexadecimal para cada Byte). Dizemos que códigos escritos desta forma são escritos em linguagem de máquina.
Porém, este método de escrever o código é complexo e exige o conhecimento de um grande número de códigos operacionais e a criação de programas para microcontroladores e microprocessadores pode se tornar uma tarefa desgastante á medida que aumenta a complexidade da aplicação desenvolvida. Os primeiros dispositivos programáveis tinham seus programas escritos em linguagem de código de máquina, os quais eram geralmente inseridos através de um teclado de uma unidade de programação, em formato de dígitos hexadecimais.
O trabalho de programação era assim bastante complexo tomando um longo tempo dos programadores, o que o tornava também muito oneroso. Aliado a isso, a sempre crescente demanda pela programação de sistemas, para facilitar o trabalho de escrever código de baixo nível, foi desenvolvido um sistema onde grupos de códigos operacionais semelhantes receberam nomes que lembram suas funções e que os tornaram muito mais práticos de serem usados. Estes nomes são denominados mnemônicos. Isto provocou o surgimento de uma nova forma de programação, dando origem à linguagem Assembly, que consiste numa forma de representação dos códigos de máquina usando mnemônicos, ou seja,