Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить

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

Сб янв 29, 2011 01:05:21

Sounds. я вот все сваи дисплеии и остольные модули давно соединяю с помощью разьёмов тогда и ошибок будет меньше.
если нужно могу тестовую програмку скинуть для пик шоб проверить работу модуля.
Вложения
экран.JPG
(170.97 KiB) Скачиваний: 901

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

Сб янв 29, 2011 11:25:13

Ethereal писал(а):Значит у тебя проблемы с переводом в уме двоичных чисел в шестнадцатеричные.


Да нет у меня таких проблемав. Просто когда оцифровываешь несколько сотен изо-байтиков, чисто по вероятности несколько штук накосячишь. А прога это делает на раз и без ошибок. Только у нее должны быть как минимум 2 режима, потому что бывают графические ЖКИ, у которых байтик разворачивается построчно, у других - поколонно. Со вторыми работать проще.

БАТАРЕЙКУС

Не люблю разделывать эти плоские кабели. Если протыкать их, еще куда ни шло, а если разделывать под пайку - заморишься, да и отламываются они легко. Пару раз вставил-вынул -- заполучи бодягу.

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

Вс янв 30, 2011 03:33:45

[/quote]Не люблю разделывать эти плоские кабели.[/quote]
а какж тогда быть, что вы можите предложить? я вот пака лутшей альтернативы невстречал.

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

Вс янв 30, 2011 14:53:46

БАТАРЕЙКУС писал(а):
Не люблю разделывать эти плоские кабели.

а какж тогда быть, что вы можите предложить? я вот пака лутшей альтернативы невстречал.

Если протыкать на обоих концах разъемами - таки да, а для пайки предпочитаю скрутить из МГТФок несколько пар. Не очень эстетично, зато нервы экономит.
Но это мое мнение.

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

Ср фев 02, 2011 13:51:18

не могу запустить дисплей
WG12864A (как у автора), мега16, 8МГц
менял только выводы: данные на портД, управление - портБ.
соединял шлейфом

залил для отладки "китайского" кота. Вроде, все сигналы идут, но ни одного пикселя не увидел

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

Ср фев 02, 2011 14:09:04

отбой
надо было контрастность питать с Vee
всё работает!

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

Чт фев 03, 2011 22:17:43

А кто нибудь собирал это чудо - деталей на три копейки?
http://labkit.ru/html/toys?id=435

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

Пн мар 14, 2011 23:05:03

Помогите народ. Пробую компилировать прогу в ICC for AVR, подключил файлы, которые даны сдесь для работы с графикой. При компиляции пишет:


!ERROR file 'ks_1.o': undefined symbol '_Delay_ms'
!ERROR file 'ks_1.o': undefined symbol '_Delay_mks'
C:\iccv7avr\bin\imakew.exe: Error code 1

В чем дело?

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

Вт мар 15, 2011 13:49:09

уважаемые помогите добавить логику выбора кристала

вот процедура инициализации
точнее просто установка всех пинов в 0а данных в 1
Код:
void OpenXLCD_1(void)
{
        DATA_PORT = 0;
        TRIS_DATA_PORT = 0xff;
        TRIS_RW = 0;                    // All control signals made outputs
        TRIS_RS = 0;
        TRIS_E = 0;
        RW_PIN = 0;                     // R/W pin made low
        RS_PIN = 0;                     // Register select pin made low
        E_PIN = 0;                      // Clock pin made low
}

а вот настоящая процедура инициализации
Код:
void OpenXLCD_2(unsigned char lcdtype)
{
        // Delay for 15ms to allow for LCD Power on reset
        DelayPORXLCD();
       
        TRIS_DATA_PORT = 0;             // Data port output
        DATA_PORT = 0b00110000;         // Function set cmd(8-bit interface)
        E_PIN = 1;                      // Clock the cmd in
        DelayFor18TCY();
        E_PIN = 0;
       
        // Delay for at least 4.1ms
        DelayXLCD5ms();

        DATA_PORT = 0b00110000;         // Function set cmd(8-bit interface)
        E_PIN = 1;                      // Clock the cmd in
        DelayFor18TCY();
        E_PIN = 0;

        // Delay for at least 100us
        DelayXLCD100();

        DATA_PORT = 0b00110000;         // Function set cmd(8-bit interface)
        E_PIN = 1;                      // Clock cmd in
        DelayFor18TCY();
        E_PIN = 0;
        TRIS_DATA_PORT = 0xff;          // Make data port input
        return;
}


вот процедура записи
Код:
        TRIS_DATA_PORT = 0;             // Make port output
        DATA_PORT = data;               // Write data to port
        RS_PIN = 1;                     // Set control bits
        RW_PIN = 0;
        DelayFor18TCY();
        E_PIN = 1;                      // Clock data into LCD
        DelayFor18TCY();
        E_PIN = 0;
        RS_PIN = 0;                     // Reset control bits
        TRIS_DATA_PORT = 0xff;          // Make port input
        RS_PIN = 1;                     // Set control bits
        RW_PIN = 0;
        DelayFor18TCY();
        E_PIN = 1;                      // Clock nibble into LCD
        DelayFor18TCY();
        E_PIN = 0;
        DelayFor18TCY();
        E_PIN = 1;                      // Clock nibble into LCD
        DelayFor18TCY();
        E_PIN = 0;


и соответственно
Код:
#define RW_PIN   PORTAbits.RA2   /* PORT for RW */
#define TRIS_RW  TRISAbits.TRISA2    /* TRIS for RW */
#define RS_PIN   PORTAbits.RA1   /* PORT for RS */
#define TRIS_RS  TRISAbits.TRISA1    /* TRIS for RS */
#define E_PIN    PORTAbits.RA3   /* PORT for D  */
#define TRIS_E   TRISAbits.TRISA3    /* TRIS for E  */

#define CS1_PIN  PORTAbits.RA4
#define TRIS_CS1 PORTAbits.TRISA4
#define CS2_PIN  PORTAbits.RA5
#define TRIS_CS2 PORTAbits.TRASA5    /выбор кристалов

а то я уже окончательно запутался

если поможете выложу схему и исходники управления WG12864A через юсб на 18f2550-18f2455

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

Вт мар 15, 2011 19:42:38

спрошу по другому
просто обьясните для тупого на пальцах какие сигналы подавать для инициализации и с какими временными задержками
сам ни как не могу понять

есть:

D7-D0
E
RW
RS
CS1
CS2

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

Пт мар 18, 2011 17:11:58

mdscorp писал(а):для тупого



Код:
1) выставляеш на RW, RS нулевые уровни.
2) подаёш единичный уровень(в дальнейшем "1") на Reset
3)ждёш 2мкс.
4)подаёш 1 на CS1, CS2.
5ждёш 2мкс.
6)подаёш 0 на Reset
7)ждёш 2мкс.
8)подаёш 1на Reset
9)ждёш 2мкс.
10)подаёш B'00111111' на D7-D0
11)ждёш 2мкс.
12)подаёш 1 на E
13) ждёш 12мкс
14)подаёш 0 на E
15) очищяеш D7-D0


всё после этого дисплей готов к работе.
ктото инициализацию может проводить немножко иначе но я делаю именно так и работает и менять нечё несобираюсь. мой дисплей чернеет (тоесть все пиксели экрана принимают единичные значения) после инициализации.

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

Пн мар 21, 2011 16:46:15

БАТАРЕЙКУС писал(а):для тупого


спасибо, очень доходчиво

оставлю может кому поможет
Код:
void OpenXLCD_2(unsigned char lcdtype)
{
        // Delay for 15ms to allow for LCD Power on reset
      DelayPORXLCD();
       
      TRIS_CTRL_PORT = 0;
      RW_PIN = 0;
        RS_PIN = 0;
       RST_PIN = 1;
      DelayXLCD5ms();                 //ждёш 2мкс.
      CS1_PIN = 1;
      CS2_PIN = 1;                    //4)подаёш 1 на CS1, CS2.
      DelayXLCD5ms();                 //5ждёш 2мкс.
       RST_PIN = 0;                    //6)подаёш 0 на Reset все ресет отпущен
      DelayXLCD5ms();                 //7)ждёш 2мкс.
       RST_PIN = 1;                    // 8)подаёш 1на Reset
      DelayXLCD5ms();                 // 9)ждёш 2мкс.
        TRIS_DATA_PORT = 0;             //
        DATA_PORT = 0b00111111;         // 10)подаёш B'00111111' на D7-D0
      DelayXLCD5ms();                 //11)ждёш 2мкс.
        E_PIN = 1;                      // Clock the cmd in
        DelayFor18TCY();
        E_PIN = 0;                      //12)подаёш 1 на E 13) ждёш 12мкс 14)подаёш 0 на E
        TRIS_DATA_PORT = 0;             //
        DATA_PORT = 0;   
 return;
}
Последний раз редактировалось mdscorp Пн мар 21, 2011 17:15:30, всего редактировалось 2 раз(а).

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

Пн мар 21, 2011 17:05:04

помогло?

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

Пн мар 21, 2011 17:06:38

да спасибо
осталось теперь со страницами разобратся

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

Ср мар 23, 2011 00:00:07

а что в них то непонятно там всё также элементарно выбираеш кристал и посылаеш команду и всё страница активна потом передаёш туда изображение. если на pic пишите могу пример скинуть.

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

Ср мар 23, 2011 15:13:56

было бы просто если бы весь код мой был, а так не очень при условии изучения языка по ходу дела

и в идеале я хочу сделать в пике только "типо развёртку" и посылать на него пакеты для вывода изображения с программы на ПК
я думаю отсылать по строке 64 байт за раз и выводить её потому что в главном цикле у меня только 2 инструкции,читать юарт и писать в жк

да на PIC если что у меня 18f2550 и да пример было бы не плохо заранее спасибо.

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

Ср мар 23, 2011 22:06:21

;----------
; назначение порты
;----------
;RC0 -шина данных
;RC1 -шина данных
;RC2 -шина данных
;RC3 -шина данных
;RC4 -шина данных
;RC5 -шина данных
;RC6 -шина данных
;RC7 -шина данных
;RB0 - Е1 ; 1 кристалл
;RB1 - Е2 ; 2 кристалл
;RB2 - RES ; сброс
;RA3 – RS (AO) выбор регистра данных / команд
;RA5 - E строб разрешение чтения / записи

Код:

                   movlw       B'10111000'         ; запить в экран номер
                   call        Stron_StolB         ;;  нулевой страницы

                   movlw       B'01000000'         ; запить в экран номер
                   call        Stron_StolB         ;  нулевой строки

                   movlw       B'10111111'         ; запить в экран номер
                   call        Stron_StolB         ; седьмой страницы

                   movlw       B'01111111'         ; запить в экран номер
                   call        Stron_StolB         ;  63-его столбца
;----------

Stron_StolB        bcf         PortA,3             ;
                   movwf       PortC               ;
                   call        Pause_10            ;
                   bsf         PortA,5             ;
                   call        Pause_10            ;
                   bcf         PortA,5             ;
                   clrf        PortC               ;
                   return                          ;
;----------

call Pause_10 ; задержка 2 мкс

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

Вт апр 05, 2011 03:08:18

Sounds писал(а):Подскажите а в чём можно символы рисовать?
Пробный он-лайн редактор символов.

Насчёт инкладов, иногда путанница из-за этого:
Код:
#include "somefile.h" // <- Инкладим файл с папки проекте
#include <somefile.h> // <- Инкладим файл с папки компилятора


Кстати. Попался мне дисплей от калькулятора Citizen: Платка - 14 выводов, микрухи HD44100H HD44780A00, сбоку надпись C1620H.
Можно где-нибудь найти схему назначения выводов? Питание подавал - линии выходили. Гуглил - куча хлама...

P.S.: Тут выбрал несколько дисплеев:
Ну, на счёт первого сомнений никаких. Всякий моддинг с ним везде и всюду найти можно. А вот два других? Не напрасная ли трата денег будет?
Все их планирую использовать в опытах с ПЛИС.

Или взять один 2.4" TFT LCD Display + Touch Panel + PCB adapter Module?

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

Чт апр 21, 2011 17:00:07

Ребят, помогите.
Есть необходимость подключить дисплей 12864 к микроконтроллеру с питанием 3,3 Вольт.
Как я понимаю есть несколько путей решения задачи:
1. Применить специальные микросхемы-согласователи уровней 5 - 3.3 В
2. Питать индикатор от 3.3 Вольта но подавать на него отрицательное напряжение -1,5 В на контраст ( Vo)

Вопрос - будет ли второй вариант нормально работать ?

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

Пт апр 22, 2011 16:58:49

Уважаемые, помогите разобраться с дисплеем WO12864A-TFH#, в нашем городе только такой и нашел.
Скачал даташит на него но не могу понять для чего у него выводы
2 - C86 -This is the MPU interface switch terminal.
с 9 по 14 - CAP2N, CAP2P, CAP1N, CAP1P, CAP3P, VOUT
27 - A0 - This is connect to the least significant bit of the Norman MPU address bus, and it determines whether the data bits are data or a command.

Это интерфейс UART или что вообще то?
И ещё:
вывод 3 - VR - это вывод отрицательно напряжения для регулировки контраста?
вывод 29 - /CS1 - выбор кристалла, если 1 - первый, 0 - второй?

Для питания у этого дисплея есть выводы (отдельно от шлейфа) A и K, как понимаю для подсветки, на них нужно 9 В?
Вложения
wo12864a_2E840d01.PDF
Вот даташит на дисплей
(531.09 KiB) Скачиваний: 444
Ответить