Red de conocimiento informático - Computadora portátil - ¿Cómo inicializar 12864?

¿Cómo inicializar 12864?

#include lt; reg52.hgt; //Incluye archivo de encabezado

#include lt;intrins.hgt;

#define uchar unsigned char //Simplifica la escritura de variables enteras y de caracteres

#define uint unsigned int

#define LCD_data P0 // Definición de pin

sbit LCD_RS = P2^2;

sbit LCD_RW = P2^3;

sbit LCD_EN = P2^4;

sbit LCD_PSB = P2^5

void delay_ms(unsigned int ms) // Retraso función 1ms

{

unsigned int i, j

for(j=0; jlt; =ms; j )

{

for(i=0;i lt;=120;i)

{}

}

}

void delay4us() //Función de retardo 4Us

{

_nop_();

_nop_();

_ nop_();

}

void lcd_checkBusy(void) //detectar indicador de ocupado

{

carácter sin firmar ocupado <; /p>

hacer{

LCD_EN = 0;

LCD_RS = 0;

LCD_RW = 1

delay4us(

LCD_EN = 1; // Lee los datos de la pantalla LCD en el flanco ascendente del terminal habilitado

ocupado = P0

delay4us(); p>

LCD_EN = 0;

}

while(busyamp; 0x80); // Determina si el bit más alto es 0, si es 0, está inactivo state

}

void lcd_wcmd(uchar cmd) //Escribir función de comando

{

lcd_checkBusy() //Detectar ocupado Estado

p> LCD_RS = 0;

LCD_RS = 0; //RS es de nivel bajo, ejecuta la operación de comando

LCD_RW = 0; nivel bajo, realizar operación de escritura

LCD_EN = 0

delay4us();

P0 = cmd; //Datos de comando

delay4us();

LCD _EN = 1; //Dale al terminal habilitado un flanco ascendente para guardar datos

delay4us();

LCD_EN = 0;

}

void lcd_wdat(uchar dat) //Función de escritura de datos

{

lcd_checkBusy().

LCD_RS = 1; //RS es de alto nivel, realiza operaciones de datos

LCD_RW = 0;

LCD_EN = 0; P0 = dat; //Mostrar datos en LCD

delay4us();

LCD_EN = 1; //Dar al terminal habilitado un flanco ascendente para guardar datos

delay4us();

LCD_EN = 0;

}

void lcd_init() //Inicializar LCD

{

LCD_PSB = 1; //Selecciona el modo paralelo

lcd_ wcmd(0x30); //Conjunto de instrucciones básicas

delay_ms(5);

lcd_wcmd(0x0C); //encender la pantalla

delay_ms(5);

lcd_wcmd(0x01); //borrar pantalla

delay_ms(5);

}

Simplemente llámalo en la función principal. (Esta función de inicialización configura la pantalla en formato de texto)