Отображение страниц памяти в ST7565S
Мужики помогите плиз! Надо оживить PE12864LRF-004-HP1 фирмы Powertip на базе контроллера ST7565S . Делаю инициализацию:
void init_LCD(void)
{
lcd_clear_RESET();//noga RESET =0
//delayms (1);//2,25 ms on 16 mHz
asm(" nop");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" nop");
asm(" nop");
lcd_set_RESET();//noga RESET =1
RESET();//podaem komandu RESET
delayms (1);//2,25 ms on 16 mHz
WriteComand(LCD_bias_set(0));//0: 1/9 bias
delayms (1);//2,25 ms on 16 mHz
WriteComand(Power_control_set(0xff));
delayms (1);//2,25 ms on 16 mHz
// WriteComand(DisplayON_OFF(1));
delayms (1);//2,25 ms on 16 mHz
WriteComand(V5_v_reg_in_re_rat_set(0xff));//Select internal resistor ratio(Rb/Ra) mode
delayms (1);//2,25 ms on 16 mHz
WriteComand(Elec_voume_mod_set());
WriteComand(Elec_voume_register_set(15));
WriteComand(Common_output_mode_select(0));//0: normal direction
WriteComand(ADC_select(0));//0: normal
delayms (10);//4,15 ms on 16 mHz
WriteComand(DisplayON_OFF(1));
}
вроде начинает работать.(видно как разворачиваются кристаллы ЖКИ)
Вывожу байт данный в пределах одной страницы ОЗУ ЖКИ:
WriteComand(Page_adress_set(17)); //устанавливаю адрес страницы
WriteComand(Column_address_set_upper_bit(0));//адрес колонки
WriteComand(Column_address_set_lower_bit(0));
WriteData(0xff);//пишу данные
WriteComand(DisplayON_OFF(1));//включаю дисплей
Эта код работает в пределах одной страницы, но мне нужно работать в пределах всей памяти.
Вопрос: как заполнять и отображать сразу всю карту памяти со всеми страницами.
Надпись типа:
//-----------------------первая сраница----------------
delayms (50);//4,15 ms on 16 mHz
WriteComand(DisplayON_OFF(0));//выключает дисплей
WriteComand(Page_adress_set(27));//установка адреса страницы
WriteComand(Column_address_set_upper_bit(0));//адрес колонки
WriteComand(Column_address_set_lower_bit(0));
WriteData(0xff);//пишу данные
//delayms (50);//4,15 ms on 16 mHz
//WriteComand(DisplayON_OFF(1));//включаю дисплей
//-----------------------------вторая страница---------------------
//WriteComand(DisplayON_OFF(1));
//delayms (100);//4,15 ms on 16 mHz
//WriteComand(DisplayON_OFF(0));
WriteComand(Page_adress_set(17)); //установка адреса страницы
WriteComand(Column_address_set_upper_bit(0)); //адрес колонки
WriteComand(Column_address_set_lower_bit(0));
WriteData(0xff); //пишу данные
WriteComand(DisplayON_OFF(1));//включаю дисплей
m1:
goto m1;
Проблема: высвечиваеться только последняя страница , та после которой идет команда WriteComand(DisplayON_OFF(1));//включаю дисплей. Предыдущая не высвечиваеться??...Что нужно сделать что высветить все страницы???
Флаг занятости не анализирую
с уважением Алексей
|