silver (16.12.2009 14:30, просмотров: 82) ответил koyodza на а что видно?
С инициализацией разобрался, проблема была не столько програмная,сколько аппаратная
void main(void)
{
WDTCN = 0xDE;
WDTCN = 0xAD;
SFRPAGE = CONFIG_PAGE;
P0MDOUT = 0x15;
P3MDOUT = 0xFF;
XBR2 = 0xC0;
LCD_init();
while (1);
}
void LCD_init()
{
delay (65535);
LCD_command (0x38);
delay (15000);
LCD_command (0x38);
delay (3000);
LCD_command (0x38);
delay (65535);
LCD_command (0x38);
delay (65535);
LCD_command (0x0D);
delay (65535);
LCD_command (0x06);
delay (65535);
LCD_command (0x01);
}
void delay (unsigned int time)
{
unsigned int i;
for (i=0; i<time; i++) {};
}
void LCD_command(unsigned char var)
{
LCD_rs = 0; //Selected command register
LCD_rw = 0; //We are writing in instruction register
LCD_en = 1; //Enable H->L
LCD_data = var; //Function set: 2 Line, 8-bit, 5x8 dots
LCD_en = 0;
}
мигает курсор. Следующим шагом ставлю подпрограмму построения символа
void LCD_senddata(unsigned char var)
{
LCD_rs = 1; //Selected data register
LCD_rw = 0; //We are writing
LCD_en = 1; //Enable H->L
LCD_data = var;
LCD_en = 0;
}
void LCD_build()
{
LCD_command(0x48); //Load the location where we want to store
LCD_senddata(0x04);
LCD_senddata(0x0E);
LCD_senddata(0x0E);
LCD_senddata(0x0E);
LCD_senddata(0x1F);
LCD_senddata(0x00);
LCD_senddata(0x04);
LCD_senddata(0x00);
}
но дисплей никак не реагирует, подскажите пожалуйста, почему так??