Страница 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
Котокотов
Простите, если не в тему. Имеется вот такой девайс. От чего он, я не знаю. Похоже, что от автомобильного бортового компьютера. Но это лишь предположение. Куда его можно прикошачить? Или его нужно выкинуть?
А еще лучше объясните, как его подключить. Может он что и покажет.
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
Неужели ни кто не знает в чём проблема?