123AVR.COM Homepage
Forum Home Forum Home >Общение и обсуждения >Общение по электронике
  New Posts New Posts RSS Feed - Робота с экраном BO12864D
  FAQ FAQ  Forum Search   Register Register  Login Login

Форум восстановлен после взлома! Увы многие сообщения утеряны, остались только до 2013 года. Теперь форум копируется ежедневно, посему просьба вновь пользоваться! С уважением - админ ! (2015/08)

Робота с экраном BO12864D

 Post Reply Post Reply
Author
Message Reverse Sort Order
Максим View Drop Down
Guest
Guest
Post Options Post Options   Thanks (0) Thanks(0)   Quote Максим Quote  Post ReplyReply Direct Link To This Post Topic: Робота с экраном BO12864D
    Posted: 24 Feb 2008 at 20:33
 У меня BO12864D, кто нибудь может помочь?
 
Где нибудь мне почитать надо последовательность его включения но в нете ничего не нашел.
У меня так, дошел до того что вижу много точек в разнобой, могу менять контрастность, засвечивать полностью и полностью обнулять. Т.е. команды мой экран понимает, но
немогу записать в память и видить то, что туда записал.
Работа с внутренней памятью наверно нарушена.
Как с ней надо работать бит(команда/инфо) в 1-цу устанавливаю тестером проверил все ок. Что может быть не так. Страницы пробовал переключать, на экране ничего не меняется. Экран всегда показывает только три разных состояния:
разнобой причем всегда одинаковый
полный
пустой
Что я пропустил при пересылке данных
Если кто знает покажите в форуме текст программы кот засвечивает к примеру один пиксель в нужной точке.
 
int send_lcd_byte(char dc, char data)
{
 int i, delay=100;
 LCD_WR(0);
 LCD_DC = dc; 
 LCD_CS = 0;
 LCD_E(1);
 
 LCD_PORT = data;
 LCD_E(0);
 LCD_CS = 1;
 
 //LCD_WR(1);
 //for (i = 0; i < delay; i++) #asm("nop");
}

void main()
{
   int i,j;
   //Turn On             
   send_lcd_byte(0,0xAF);
   //Oscillator on
   send_lcd_byte(0,0xAB);
   //
  
   // Turn on:  Internal voltage booster
   //       Int. regulator
   //     Outpu opamp
 send_lcd_byte(0,0x2F);
 //Converter factor 5X
 send_lcd_byte(0,0x66);
 //icon row
 send_lcd_byte(0,0xA2);
 //Set N-line inversion N = 1
 send_lcd_byte(0,0x48);
 //send_lcd_byte(0,0x48);
 //Remap to 00H
 send_lcd_byte(0,0xA0);
 //send_lcd_byte(0,0xA9);
 //
 send_lcd_byte(0,0xC0);
 //Dark gray mode frame 2nd and 1st
 send_lcd_byte(0,0x8C);
 //Lower column adress = 2
 send_lcd_byte(0,0x02);
 //
 send_lcd_byte(0,0x97);
 send_lcd_byte(0,0x55);
 
 //Contrast
 send_lcd_byte(0,0x81);
 send_lcd_byte(0,0x2F);
 
 send_lcd_byte(0,0x24);
 
 //send_lcd_byte(0,0xF6);
 //send_lcd_byte(0,0x9);   //9,  10,  18  */
 
   //send_lcd_byte(0,0x00);
//   send_lcd_byte(0,0x4);
  
   send_lcd_byte(0,0xE1);

   send_lcd_byte(0,0xB0);

   for ( i = 0; i < 34000; i++) send_lcd_byte(1,0xF0);
 //send_lcd_byte(0,0xA7);
}
 
LCD_E(1), LCD_WR(0) - это макрос
 LCD_DC, LCD_CS - это define 
 
установка 1 и 0 на этих кфг пинах работает, проверял.
 
Экран мой рабочий(все как надо рисуеться) так как подключал его к другому девайсу, но к сожаления с разработчиком поговорить невозможно и кода его программы у меня нет. Что еще может быть, кажется уже все перепробовал?
 
Заранее благодарен.
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 11.03
Copyright ©2001-2015 Web Wiz Ltd.

Rating All.BY Rambler's Top100 ���� - �������. ������� ������