La Red de Conocimientos Pedagógicos - Currículum vitae - 12864 papel

12864 papel

# incluir ltreg 51 . h gt;

# incluir ltintrins.h gt

# incluir ltstdio.h gt

#Definir carácter sin firmar uchar

# define primero _ add r0//Define la posición inicial de visualización de los caracteres/caracteres chinos.

sbit lcd_rs=p2^2;

sbit lcd_rw=p2^3;

sbit lcd_e=p2^4;

sbit pcb=p2^5;

uchar i,j;

Retraso no válido (milisegundos)

{

Cuándo (milisegundos)

{

for(j = 0; j lt120; j

}

}

bit); lcd_busy()

{resultado de bits;

LCD_RS = 0;

LCD_RW = 1;

LCD_E = 1; >

Resultado = (bit) (P0 amp0x 80);

LCD _ E = 0;

Devolver resultado

}

LCD_wcmd(uchar cmd) no válido

{

mientras(LCD _ ocupado());

LCD _ RS = 0;

LCD_RW = 0;

P0 = cmd

LCD_E = 1;

LCD_E = 0 ;

}

void lcd_wdata(uchar dat)

{

mientras(LCD _ ocupado());

LCD_RS = 1;

LCD_RW = 0;

P0 = dat

LCD_E = 1;

LCD_E = 0;

}

void lcd_initial()

{

LCD_wcmd(0x 30

Retraso(1);

LCD _ wcmd); (0x0C); //Enciende la pantalla, cierra el cursor, sin parpadear.

Delay(1);

LCD _ wcmd(0x 06); //Especifica la dirección del movimiento del cursor al escribir o leer datos.

Delay(1);

LCD _ wcmd(0x 01);

Delay(10); //El retraso aquí es más largo, de lo contrario será así. afectar las operaciones posteriores.

}

/* - Comando para borrar la pantalla*/

void Clr_Screen()

{

//Ten en cuenta la apariencia de 0x34.

LCD _ wcmd(0x 01);

Retraso (100);

}

void _ FU(uchar code* s); )

{

mientras(*s!=0)

{ LCD _ wdata(*s);

s; /p>

Retraso (10);

}

}

Vacío 1()

{

LCD_wcmd(0x 30);

Retraso(300);

LCD_wcmd(0x 80 first_Addr);

zi _ FU(" 2065 438 03 03 26 ");

Retraso(300);

LCD _ wcmd(0x 90 primer _ Dirección);

Zi_FU("Eléctrico 08-17 "

Retraso(300);

LCD _ wcmd(0x 88 primer _ Dirección

Zi_ Fu ("Neqi"); >

Retraso (300);

LCD _ wcmd (0x 98 primer _ Dirección

Retraso (500);

zi _ FU( " 2065 438 02 . 5 . 30 ");

}

void main()

{

PCB = 1;

mientras(1)

{

LCD _ inicial();

Tiempo de retardo(1000);

clr _ Screen();

Sensación 1();

Retraso(3000);

for(I = 8;i gt0;i-)

{

LCD _ wcmd(0x 18); // Una o dos líneas cambian a tres o cuatro líneas y la pantalla LCD se divide en dos pantallas y media.

Retraso(1000);

}

clr _ Screen();

Sensación 1();

LCD_wcmd(0x 34);

LCD_wcmd(0x 04);

Retraso(3000);

LCD_wcmd( 0x 04); //Volver a normal

Retraso (3000);

LCD _ wcmd(0x 34);

LCD _ wcmd(0x 03) //Permitir entrada de dirección de desplazamiento.

for(I = 0x 40; i lt0x7fi)

{

lcd_wcmd(1); //Desplaza el contenido de la pantalla verticalmente.

Delay(600); //Aumentar el retraso de la pantalla

}

}

}