Depende de usted cuál elija programar la familia de microcontroladores 8051, ya que pueden programarse en lenguaje ensamblador y en “C” o podemos decir “C incrustado”
Por ejemplo :
- Programa LED parpadeante en lenguaje ensamblador:
- ¿Cómo funciona un cristal piezoeléctrico en el microcontrolador 8051?
- ¿Cuáles son las aplicaciones de los microcontroladores especialmente con la placa Arduino Uno?
- ¿Cuál es el sistema más pequeño capaz de ejecutar Linux por menos de $ 100?
- ¿Cuál es el mejor instituto de formación para empotrados y IOT en Jaipur?
- ¿Cuánto salario puedo esperar si me mudo a Bangalore con 3 años de experiencia en un inicio de sistemas integrados que me paga 6.4 lakhs CTC actualmente en Kochi (Kerala)?
supongamos que el led está conectado al pin 0 del puerto 1. Entonces, de acuerdo con eso
org 0000H
;programa principal
ESPALDA:
MOV P1, # 01H; escribir 00000001 para hacer que el led esté conectado al brillo del pin 0
LLAMAR retraso; llamar subrutina de retraso
MOV A, P1; mover datos al registro ‘A’ del microcontrolador
CPL A; complementar esos datos originales, así que no, es 11111110
MOV P1, A; moviendo el nuevo valor complementario de nuevo a p1 (puerto 1) pin 0
LLAMAR retraso; de nuevo llamando subrutina de retraso
sjmp BACK; hacer que el programa comience a ejecutarse nuevamente desde la etiqueta “BACK”
RETRASAR:
BACK1: MOV R6, # 200; carga reg. con valor (cualquier valor) mayor el valor grande es el retraso
BACK2: MOV R7, # 200; carga reg. con valor (cualquier valor)
DJNZ R7, BACK2; disminuye el valor en uno y salta a la etiqueta mencionada hasta que ese valor no llegue a cero
DJNZ R6, BACK1; disminuya el valor en uno y salte a la etiqueta mencionada hasta que ese valor no sea cero
ret; regresar al lugar donde se llama la subrutina
FIN; fin del programa
2. Programa LED parpadeante en C incrustado:
#include // declaraciones de registros de funciones especiales
// para la derivada 8051 prevista
sbit LED = P1 ^ 0; // Definición de pin LED
Retardo nulo (nulo); // Declaración de prototipo de función
vacío principal (vacío)
{
while (1) // bucle infinito
{
LED = 0; // LLEVADO EN
Retrasar();
LED = 1; // LLEVAR AFUERA
Retrasar();
}
}
Retardo nulo (nulo)
{
int j;
int i;
para (i = 0; i <10; i ++)
{
para (j = 0; j <10000; j ++)
{
}
}
}
Principalmente prefiero la codificación c para microcontroladores, ya que es fácil y práctico de usar. La codificación de ensamblaje requiere el conocimiento completo de todos los comandos de ensamblaje.
Además, este ejemplo es solo una explicación de cómo funcionan las cosas con los microcontroladores. Pero en el futuro, si tiene tareas más grandes que deben cumplir los microcontroladores, pero no solo hacer que permanezcan inactivos y pasar el tiempo simplemente parpadeando los LED: p, necesitaría codificarlos en “C”, ya que es un lenguaje de alto nivel que es fácil entender y puedes programar fácilmente tareas complicadas usándolo.
Por fin es tu decisión elegir