Работа с графическими ЖКИ на контроллере KS0108 и аналогах
- pictele
- Встал на лапы
- Сообщения: 89
- Зарегистрирован: Вт авг 04, 2009 20:40:37
- Откуда: Омск
- Контактная информация:
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
stanik писал(а):Уже решено)))
Если это вопрос-то еще нет.
- pictele
- Встал на лапы
- Сообщения: 89
- Зарегистрирован: Вт авг 04, 2009 20:40:37
- Откуда: Омск
- Контактная информация:
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
Нашел толковую статью в журнале РАДИО. 2009 номер 6 .
Изготовил макетку.Прошил контроллер.Нет не хочет мой индикатор работать.Индикатор исправен-проверял на другом устройстве.На ножках проца есть имульсы.Прогнал в PIC Simulator IDE.В симуляторе рисует картинку что надо..Все,вроде,четко,но индикатор не работает.Где-то что_то видать у меня не то.Ищу,Напомню,что у меня WG12864

Изготовил макетку.Прошил контроллер.Нет не хочет мой индикатор работать.Индикатор исправен-проверял на другом устройстве.На ножках проца есть имульсы.Прогнал в PIC Simulator IDE.В симуляторе рисует картинку что надо..Все,вроде,четко,но индикатор не работает.Где-то что_то видать у меня не то.Ищу,Напомню,что у меня WG12864

Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
По РАДИО у меня что-то не пошло (уже не помню что). Там написано для всех моделей в общем.
Для некоторых ЭТО не работает. На 3-ю ножку WG подал напряжение контрастности?
Пока его (Vc) нет - ничего не увидишь. Обычно Vc - отрицательный потенциал и не более -2 вольт.
А листинг инициализации WG можешь выложить? Хочеться посмотреть, может что там не так.
Если можешь - брось и схемку подключения WG<-->PIC. Кстати, у меня родственники в Омске живут.
Для некоторых ЭТО не работает. На 3-ю ножку WG подал напряжение контрастности?
Пока его (Vc) нет - ничего не увидишь. Обычно Vc - отрицательный потенциал и не более -2 вольт.
А листинг инициализации WG можешь выложить? Хочеться посмотреть, может что там не так.
Если можешь - брось и схемку подключения WG<-->PIC. Кстати, у меня родственники в Омске живут.
хочешь быть счастливым - немного подожди.
- pictele
- Встал на лапы
- Сообщения: 89
- Зарегистрирован: Вт авг 04, 2009 20:40:37
- Откуда: Омск
- Контактная информация:
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
[quote="Jursat"]По РАДИО у меня что-то не пошло (уже не помню что). Там написано для всех моделей в общем.
Александр Милевский нормальный мужик.Мы по интернету давно контачим.Фанат.Не думаю,чтоб ошибся.
Для некоторых ЭТО не работает. На 3-ю ножку WG подал напряжение контрастности?
Евстественно.
Пока его (Vc) нет - ничего не увидишь. Обычно Vc - отрицательный потенциал и не более -2 вольт.
А листинг инициализации WG можешь выложить? Хочеться посмотреть, может что там не так.
Да все,как обычно.Пробывал,перепысывал.=никакой разницы.
Если можешь - брось и схемку подключения WG<-->PIC. Кстати, у меня родственники в Омске живут.[
А у меня на Тарханкуте.Иногда езжу рыбачить/quote]
Александр Милевский нормальный мужик.Мы по интернету давно контачим.Фанат.Не думаю,чтоб ошибся.
Для некоторых ЭТО не работает. На 3-ю ножку WG подал напряжение контрастности?
Евстественно.
Пока его (Vc) нет - ничего не увидишь. Обычно Vc - отрицательный потенциал и не более -2 вольт.
А листинг инициализации WG можешь выложить? Хочеться посмотреть, может что там не так.
Да все,как обычно.Пробывал,перепысывал.=никакой разницы.
Если можешь - брось и схемку подключения WG<-->PIC. Кстати, у меня родственники в Омске живут.[
А у меня на Тарханкуте.Иногда езжу рыбачить/quote]
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
to Pictele:
Не может быть, чтоб все сделал правильно,- а WG не работает! Что-то не так. Пришли лист и схм по мылу. Всю схм не надо, - только ВГ-ПИК и лист инициализации ВГ. Все будет работать. jury_log@mail.ru
Не может быть, чтоб все сделал правильно,- а WG не работает! Что-то не так. Пришли лист и схм по мылу. Всю схм не надо, - только ВГ-ПИК и лист инициализации ВГ. Все будет работать. jury_log@mail.ru
хочешь быть счастливым - немного подожди.
-
stanik
- Родился
- Сообщения: 10
- Зарегистрирован: Чт июл 23, 2009 16:59:18
- Откуда: Perm
- Контактная информация:
Re:
lexmulya писал(а):Вот то что писал я.
Он чуток медлиннее из за того что я сначала читаю байт из ЖК меняю что надо и пишу назад(все это происходит с опросом статуса).
Если просто писать, то я незамечал как меняеться картинка.
Еще скорость можно повысить если держать буфер экрана в памяти и хитрый алгоритм что бы писать поочередно в разные кристаллы, один человек делал так, ему удалось выжать 70гц
А нет ни у кого исходника такого же только без чтения байта а только с записью..
Не получается переписать без чтения, то мусор какойто выводит то буквы скачут
Vze
- pictele
- Встал на лапы
- Сообщения: 89
- Зарегистрирован: Вт авг 04, 2009 20:40:37
- Откуда: Омск
- Контактная информация:
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
Вроде нашел причину.
Во всем виноват разьем.
Обнаружил,когда и контрастность пропала.
Ну,а на другом блоке все классно.
Нало плату переделывать и мтавить новый разьем.
Во всем виноват разьем.
Обнаружил,когда и контрастность пропала.
Ну,а на другом блоке все классно.
Нало плату переделывать и мтавить новый разьем.
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
Jursat писал(а):to lirik. Дисплей запустили?
Неа так он и не подал признаков жизни мяу-мяу
пока нет времени заниматься =(((
- pictele
- Встал на лапы
- Сообщения: 89
- Зарегистрирован: Вт авг 04, 2009 20:40:37
- Откуда: Омск
- Контактная информация:
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
Я запустил.WG12864.
Во первых это не совсем полный аналог МЭЛТа.
В reset сбрасывается нолем и в рабочее состояние-еденица.
Включать CS1и CS2 нужно нолем,а не еденицей.И CS1и CS2 поменять местами.
Все остальное без изменений.
Где бы еще по типу TIC32 найти что-то толковое???????
Может у кого что есть?
Во первых это не совсем полный аналог МЭЛТа.
В reset сбрасывается нолем и в рабочее состояние-еденица.
Включать CS1и CS2 нужно нолем,а не еденицей.И CS1и CS2 поменять местами.
Все остальное без изменений.
Где бы еще по типу TIC32 найти что-то толковое???????
Может у кого что есть?
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
(pictele) Включать CS1и CS2 нужно нолем,а не еденицей.И CS1и CS2 поменять местами.
В даташите все правильно. Просто его (WG) нужно перевернуть вверх ногами.
По Тику что-то попадалось,- надо поискать. Случайно это не И2С-шина?
Мур-р-р-р-р-р-р.
В даташите все правильно. Просто его (WG) нужно перевернуть вверх ногами.
По Тику что-то попадалось,- надо поискать. Случайно это не И2С-шина?
Мур-р-р-р-р-р-р.
хочешь быть счастливым - немного подожди.
- pictele
- Встал на лапы
- Сообщения: 89
- Зарегистрирован: Вт авг 04, 2009 20:40:37
- Откуда: Омск
- Контактная информация:
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
Jursat писал(а):(pictele) Включать CS1и CS2 нужно нолем,а не еденицей.И CS1и CS2 поменять местами.
В даташите все правильно. Просто его (WG) нужно перевернуть вверх ногами.
По Тику что-то попадалось,- надо поискать. Случайно это не И2С-шина?
Она самая...
Мур-р-р-р-р-р-р.
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
Простите, если не в тему. Имеется вот такой девайс. От чего он, я не знаю. Похоже, что от автомобильного бортового компьютера. Но это лишь предположение. Куда его можно прикошачить? Или его нужно выкинуть?
А еще лучше объясните, как его подключить. Может он что и покажет.
А еще лучше объясните, как его подключить. Может он что и покажет.
- GP1
- Поставщик валерьянки для Кота
- Сообщения: 2401
- Зарегистрирован: Пт май 23, 2008 19:32:22
- Откуда: Россия, Волгоград
- Контактная информация:
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
стандартный 16х2 символьный LCD индикатор, тема про них здесь
viewtopic.php?f=20&t=584
viewtopic.php?f=20&t=584
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
Спасибо. Есть еще один глупый вопрос. В эти индикаторы записывается какая либо информация, я имею в виду типа встроенной в него ПЗУ? Если да, то ее уже не стереть, так как этот индикатор БУ и он будет заточен под то, что его запрограмировали? Объясните, ПЛИЗ. А тему по приведенной ссылке я просмотрю на днях.
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
В этот дисплей встроен RAM, для хранения данных (которые вы должны туда записать, в частности - параметры отображения, а так же сами символы), а так же ROM, но в него вам доступ запрещен, поскольку в нем содержатся знакогенераторы.
Нет, ну, правда, туда залезть можно, и создать свой символ...
Нет, ну, правда, туда залезть можно, и создать свой символ...
Не умеешь - не берись, но не взявшись не научишься...
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
Всем привет!
Завалялась такая штука 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)
Правильно? Если нет то помогите с правильным решением.
Завалялась такая штука 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)
Правильно? Если нет то помогите с правильным решением.
- ibiza11
- Поставщик валерьянки для Кота
- Сообщения: 1900
- Зарегистрирован: Сб фев 21, 2009 13:11:40
- Откуда: Москва
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
Sounds, смысл не в названии портов, а в их назначении в конкретной программе. Как запрограммируешь, так и будет.
Ставим плюсы: )
Re: Работа с графическими ЖКИ на контроллере KS0108 и аналог
Посмотрите пожалуйста исходник что-то не запускается экранчик.
Главный текст программы:
Вспомогательная библиотека ks0108:
P.S.
Включено всё правильно.
Кварц внешний на 8 Мгц.
Питание корректное, в соответствие с мануалом.
Этот код переделал под CodeVisionAVR V2.03.4
В теории должно работать, а на практике не хочет((
Главный текст программы:
Код: Выделить всё
#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 и аналог
Неужели ни кто не знает в чём проблема?
