Colección de citas famosas - Consulta de diccionarios - Lenguaje C para microcontrolador, marque los comentarios de cada elemento al final, gracias.

Lenguaje C para microcontrolador, marque los comentarios de cada elemento al final, gracias.

# include & ltreg52.h & gt//Llame al archivo de encabezado reg52.h

sbit rs=p2^6 //La definición de bit define el sexto bit de P2 como RS, y luego la operación RS es equivalente a la Operación P2^6.

sbit rw=p2^5; //Igual que arriba

sbit e=p2^7; //Igual que arriba

Carácter sin signo ocupado; //Defina la variable ocupada como una variable de carácter sin signo.

Void delay(unsigned char asf) //Esta es una función de retraso, el asf entre paréntesis es el tiempo de retraso.

{ while(ASF-);}//Cuando asf & gt=1, siempre está en este bucle hasta ASF

Lcd_busy()//Esto está escribiendo una función, pero agregue void al frente para convertirlo en void lcd_busy().

{ RS = 0; RW = 1; e = 1; P0 = retraso 0x80 (0x ff); // Asigne 0 a RS, 1 a RW, 1 a e, retrasos de salida de puerto P0 0xff durante tanto tiempo.

If(P0==0X00)//instrucción de juicio if Cuando P0=0x00, ejecute la siguiente instrucción ocupada=0x00.

busy = 0x00 //Asigne 0 a ocupado

De lo contrario //Si lo anterior no es cierto, ejecute ocupado = 0x001.

busy = 0x 01; //Igual que arriba

}

Write_cmd(unsigned char cmd)//Crea una subfunción cuyo lema define cmd como una variable de carácter sin signo.

{

Ocupado = 1; //Igual que arriba

Mientras (ocupado) porque ocupado = 1, siempre ejecutará las declaraciones entre llaves a continuación . Te falta un paréntesis aquí.

{

LCD_busy(); //Llama a la función lcd_busy() anterior.

RS = 0; RW = 0; e = 0; P0 = cmd// Las tres primeras son declaraciones de asignación, las mismas que las anteriores, y la última es para dar el valor de cmd a P0.

Retraso (0x ff); la función de retraso es la anterior

e = 1; //Asignación general

Retraso (0x ff); arriba

e = 0; //Asignación normal

}

Lcd_cmd()//Crea una subfunción como arriba.

{

write _ cmd (0x 38); llama a la función write_cmd (unsigned char cmd) anterior, donde a cmd se le asigna un valor de 0x38.

write _ cmd(0x 08); //Igual que arriba

write _ cmd(0x 01); //Igual que arriba

write _ cmd (0x 06) ;//Igual que arriba

write _ cmd(0x0c); //Igual que arriba

write _ cmd(0x 84); //Igual que arriba

}

Lcd_date()//Esta función se refiere a lcd_busy() arriba.

{

ocupado = 1;

cuando(ocupado)

LCD _ ocupado(); RS = 1; RW = 0; e = 0; P0 = 0X62

retraso (0x ff);

Función principal Main()

{ LCD_cmd(); LCD_date(); while(1);} Llame a LCD_cmd(); Y (1) es un bucle infinito y la función se ha ejecutado hasta ahora.