Страница 6 из 15

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Пт авг 20, 2010 12:05:13
stanik
Уже решено)))

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Пт авг 20, 2010 15:01:06
pictele
stanik писал(а):Уже решено)))
Если это вопрос-то еще нет.

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Вс авг 22, 2010 21:57:50
pictele
Нашел толковую статью в журнале РАДИО. 2009 номер 6 .
Изготовил макетку.Прошил контроллер.Нет не хочет мой индикатор работать.Индикатор исправен-проверял на другом устройстве.На ножках проца есть имульсы.Прогнал в PIC Simulator IDE.В симуляторе рисует картинку что надо..Все,вроде,четко,но индикатор не работает.Где-то что_то видать у меня не то.Ищу,Напомню,что у меня WG12864

Изображение

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Пн авг 23, 2010 09:13:45
Jursat
По РАДИО у меня что-то не пошло (уже не помню что). Там написано для всех моделей в общем.
Для некоторых ЭТО не работает. На 3-ю ножку WG подал напряжение контрастности?
Пока его (Vc) нет - ничего не увидишь. Обычно Vc - отрицательный потенциал и не более -2 вольт.
А листинг инициализации WG можешь выложить? Хочеться посмотреть, может что там не так.
Если можешь - брось и схемку подключения WG<-->PIC. Кстати, у меня родственники в Омске живут.

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Пн авг 23, 2010 10:09:46
pictele
[quote="Jursat"]По РАДИО у меня что-то не пошло (уже не помню что). Там написано для всех моделей в общем.
Александр Милевский нормальный мужик.Мы по интернету давно контачим.Фанат.Не думаю,чтоб ошибся.

Для некоторых ЭТО не работает. На 3-ю ножку WG подал напряжение контрастности?

Евстественно.

Пока его (Vc) нет - ничего не увидишь. Обычно Vc - отрицательный потенциал и не более -2 вольт.
А листинг инициализации WG можешь выложить? Хочеться посмотреть, может что там не так.
Да все,как обычно.Пробывал,перепысывал.=никакой разницы.
Если можешь - брось и схемку подключения WG<-->PIC. Кстати, у меня родственники в Омске живут.[
А у меня на Тарханкуте.Иногда езжу рыбачить/quote]

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Пн авг 23, 2010 14:40:24
Jursat
to Pictele:

Не может быть, чтоб все сделал правильно,- а WG не работает! Что-то не так. Пришли лист и схм по мылу. Всю схм не надо, - только ВГ-ПИК и лист инициализации ВГ. Все будет работать. jury_log@mail.ru

Re:

Добавлено: Пн авг 30, 2010 14:32:12
stanik
lexmulya писал(а):Вот то что писал я.
Он чуток медлиннее из за того что я сначала читаю байт из ЖК меняю что надо и пишу назад(все это происходит с опросом статуса).
Если просто писать, то я незамечал как меняеться картинка.
Еще скорость можно повысить если держать буфер экрана в памяти и хитрый алгоритм что бы писать поочередно в разные кристаллы, один человек делал так, ему удалось выжать 70гц
А нет ни у кого исходника такого же только без чтения байта а только с записью..
Не получается переписать без чтения, то мусор какойто выводит то буквы скачут :(

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Пн авг 30, 2010 15:36:36
pictele
Вроде нашел причину.
Во всем виноват разьем.
Обнаружил,когда и контрастность пропала.
Ну,а на другом блоке все классно.
Нало плату переделывать и мтавить новый разьем.

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Ср сен 15, 2010 23:14:25
lirik
Jursat писал(а):to lirik. Дисплей запустили?
Неа так он и не подал признаков жизни мяу-мяу
пока нет времени заниматься =(((

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Чт сен 16, 2010 04:10:54
pictele
Я запустил.WG12864.
Во первых это не совсем полный аналог МЭЛТа.
В reset сбрасывается нолем и в рабочее состояние-еденица.
Включать CS1и CS2 нужно нолем,а не еденицей.И CS1и CS2 поменять местами.
Все остальное без изменений.

Где бы еще по типу TIC32 найти что-то толковое???????
Может у кого что есть?

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Чт сен 16, 2010 09:07:29
Jursat
(pictele) Включать CS1и CS2 нужно нолем,а не еденицей.И CS1и CS2 поменять местами.

В даташите все правильно. Просто его (WG) нужно перевернуть вверх ногами.
По Тику что-то попадалось,- надо поискать. Случайно это не И2С-шина?

Мур-р-р-р-р-р-р.

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Чт сен 16, 2010 09:14:57
pictele
Jursat писал(а):(pictele) Включать CS1и CS2 нужно нолем,а не еденицей.И CS1и CS2 поменять местами.

В даташите все правильно. Просто его (WG) нужно перевернуть вверх ногами.
По Тику что-то попадалось,- надо поискать. Случайно это не И2С-шина?
Она самая...

Мур-р-р-р-р-р-р.

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Вс окт 10, 2010 21:10:59
Котокотов
Простите, если не в тему. Имеется вот такой девайс. От чего он, я не знаю. Похоже, что от автомобильного бортового компьютера. Но это лишь предположение. Куда его можно прикошачить? Или его нужно выкинуть?
А еще лучше объясните, как его подключить. Может он что и покажет.
индикатор.JPG
(132.44 КБ) 959 скачиваний
индикатор 1.JPG
(162.06 КБ) 832 скачивания

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Вс окт 10, 2010 21:23:00
GP1
стандартный 16х2 символьный LCD индикатор, тема про них здесь
http://radiokot.ru/forum/viewtopic.php?f=20&t=584

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Вс окт 10, 2010 21:36:20
Котокотов
Спасибо. Есть еще один глупый вопрос. В эти индикаторы записывается какая либо информация, я имею в виду типа встроенной в него ПЗУ? Если да, то ее уже не стереть, так как этот индикатор БУ и он будет заточен под то, что его запрограмировали? Объясните, ПЛИЗ. А тему по приведенной ссылке я просмотрю на днях.

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Вс окт 10, 2010 21:44:27
Arlleex
В этот дисплей встроен RAM, для хранения данных (которые вы должны туда записать, в частности - параметры отображения, а так же сами символы), а так же ROM, но в него вам доступ запрещен, поскольку в нем содержатся знакогенераторы.
Нет, ну, правда, туда залезть можно, и создать свой символ...

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Чт окт 14, 2010 19:52:22
Sounds
Всем привет!
Завалялась такая штука http://www.chipdip.ru/product/me-glcd-128x64.aspx (НЕ РЕКЛАМА!!!), но я не совсем понимаю как его подключить к AVR atmega 16.
Немного почитав я сделал следующий вывод, что надо подключать так:
PORTC -> 9 to16(pin lcd)
PORTD.0->1(pin lcd)
PORTD.1->2(pin lcd)
PORTD.2->6(pin lcd)
PORTD.3->7(pin lcd)
PORTD.4->8(pin lcd)
PORTD.5->17(pin lcd)

Правильно? Если нет то помогите с правильным решением.

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Чт окт 14, 2010 22:21:46
ibiza11
Sounds, смысл не в названии портов, а в их назначении в конкретной программе. Как запрограммируешь, так и будет.

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Пт окт 15, 2010 00:26:13
Sounds
Посмотрите пожалуйста исходник что-то не запускается экранчик.
Главный текст программы:

Код: Выделить всё

#include <mega16.h>
#include <delay.h> //Включаем библиотеку для организации задержек 


#define SetBit(x,y) (x|=y)
#define ClrBit(x,y) (x&=~y)
#define TestBit(x,y) (x&y)

#define LCD_RST 0b00000001
#define LCD_E   0b00000010
#define LCD_RW  0b00000100
#define LCD_RS  0b00001000
#define LCD_CS2 0b00010000
#define LCD_CS1 0b00100000

#define LCD_DB PORTD
#define LCD_COM PORTC
  #include "ks0108.h"



void main()
{
 
 DDRC=0xFF;
 DDRD=0xFF; 
  
 init_lcd();
 
 delay_ms(10);
 
 clear();
 
 delay_ms(1);
 
 WriteXY(6,2,LCD_CS1); 
 delay_ms(1); 
 WriteData(0b01000100,LCD_CS1);
 WriteData(0b01001000,LCD_CS1);
 WriteData(0b11110000,LCD_CS1);
 WriteData(0b00001000,LCD_CS1);
 WriteData(0b00000100,LCD_CS1);
 WriteData(0b01100010,LCD_CS1);
 WriteData(0b01100001,LCD_CS1);
 WriteData(0b00000010,LCD_CS1);
 WriteData(0b00000100,LCD_CS1);
 WriteData(0b00001000,LCD_CS1);
 WriteData(0b10010000,LCD_CS1);
 WriteData(0b01010000,LCD_CS1);
 WriteData(0b10010000,LCD_CS1);
 WriteData(0b00001000,LCD_CS1);
 WriteData(0b00000100,LCD_CS1);
 WriteData(0b01100010,LCD_CS1);
 WriteData(0b01100001,LCD_CS1);
 WriteData(0b00000010,LCD_CS1);
 WriteData(0b00000100,LCD_CS1);
 WriteData(0b00001000,LCD_CS1);
 WriteData(0b11110000,LCD_CS1);
 WriteData(0b01001000,LCD_CS1);
 WriteData(0b01000100,LCD_CS1);
 
 WriteXY(6,3,LCD_CS1);
 WriteData(0b00001000,LCD_CS1);
 WriteData(0b00000100,LCD_CS1);
 WriteData(0b00000011,LCD_CS1);
 WriteData(0b00000100,LCD_CS1);
 WriteData(0b00001000,LCD_CS1);
 WriteData(0b00010000,LCD_CS1);
 WriteData(0b00100000,LCD_CS1);
 WriteData(0b01000100,LCD_CS1);
 WriteData(0b10001000,LCD_CS1);
 WriteData(0b10010000,LCD_CS1);
 WriteData(0b10010101,LCD_CS1);
 WriteData(0b10010010,LCD_CS1);
 WriteData(0b10010101,LCD_CS1);
 WriteData(0b10010000,LCD_CS1);
 WriteData(0b10001000,LCD_CS1);
 WriteData(0b01000100,LCD_CS1);
 WriteData(0b00100000,LCD_CS1);
 WriteData(0b00010000,LCD_CS1);
 WriteData(0b00001000,LCD_CS1);
 WriteData(0b00000100,LCD_CS1);
 WriteData(0b00000011,LCD_CS1);
 WriteData(0b00000100,LCD_CS1);
 WriteData(0b00001000,LCD_CS1); 
 
 while(1); 
}
Вспомогательная библиотека ks0108:

Код: Выделить всё

void WriteCom(unsigned char Com,unsigned char CS)
{ 
 SetBit(LCD_COM,CS); 
 ClrBit(LCD_COM,LCD_RS);
 ClrBit(LCD_COM,LCD_RW);
  #asm
          nop
          nop
      #endasm
 LCD_DB=Com;
 SetBit(LCD_COM,LCD_E);
  #asm
          nop
          nop
      #endasm
 ClrBit(LCD_COM,LCD_E);
delay_ms(4); // В ОРИГИНАЛЬНОЙ ПРОШИВКЕ  Delay_mks(4);
 ClrBit(LCD_COM,(LCD_CS1+LCD_CS2));
 //SetBit(LCD_COM,LCD_E);
}

void WriteData(unsigned char data,unsigned char CS)
{ 
 SetBit(LCD_COM,CS); 
 SetBit(LCD_COM,LCD_RS);
 ClrBit(LCD_COM,LCD_RW); 
  #asm
          nop
          nop
      #endasm
 LCD_DB=data;
 SetBit(LCD_COM,LCD_E);
  #asm
          nop
          nop
      #endasm 
 ClrBit(LCD_COM,LCD_E);
delay_ms(4);// В ОРИГИНАЛЬНОЙ ПРОШИВКЕ  Delay_mks(4);
 ClrBit(LCD_COM,(LCD_CS1+LCD_CS2));
 //SetBit(LCD_COM,LCD_E);
}

void WriteXY(unsigned char x,unsigned char y,const unsigned char CS)
{ 
 WriteCom(0xb8+y,CS);
 WriteCom(0x40+x,CS);
}

void init_lcd(void)
{ 
 SetBit(LCD_COM,LCD_RST);
 delay_ms(5);  
 WriteXY(0,0,(LCD_CS1+LCD_CS2));
 WriteCom(0xc0,(LCD_CS1+LCD_CS2));
 WriteCom(0x3f,(LCD_CS1+LCD_CS2));  
}

void clear(void)
{
 unsigned char x,y;
 for(x=0;x<64;x++)
 {
  for(y=0;y<8;y++)
  {
   WriteXY(x,y,(LCD_CS1+LCD_CS2));   
   WriteData(0,(LCD_CS1+LCD_CS2));   
  } 
 }
}
P.S.
Включено всё правильно.
Кварц внешний на 8 Мгц.
Питание корректное, в соответствие с мануалом.
Этот код переделал под CodeVisionAVR V2.03.4
В теории должно работать, а на практике не хочет((

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог

Добавлено: Пт окт 15, 2010 18:12:13
Sounds
Неужели ни кто не знает в чём проблема?