реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> проблема с LCD, ATMega16, CVAVR
Zolten
сообщение Sep 13 2007, 06:29
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 2-07-07
Пользователь №: 28 844



Проверял на 3-х LCD все фирмы Winstar на контроллере KS 0066.
Всё остальное работает отлично, а на ЖКИ одни квадратики.
Соединение перепроверил раз 10,пробовал компилировать в 3 разных версиях CVAVRа
уже даже не знаю что и делать crying.gif .
Может у кого нибуть были такие проблемы.
Зарание спасибо!
Go to the top of the page
 
+Quote Post
wodya
сообщение Sep 13 2007, 11:35
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 112
Регистрация: 27-03-07
Пользователь №: 26 549



Скорее всего проблема в инициализации. Этот вопрос уже обсуждался не так давно.
Go to the top of the page
 
+Quote Post
Zolten
сообщение Sep 14 2007, 04:29
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 2-07-07
Пользователь №: 28 844



LCD полностью исправные, проверил МЭЛТовской утилитой.
притом в симуляторе всё ОК, а на железе квадратики на верхней строке.
и еще если отключить R/W то контроллер виснит на строке записи в LCD.
Может ктонибуть подскажет как правильно в CVAVR инициализировать дисплей.
Go to the top of the page
 
+Quote Post
ALexx
сообщение Sep 14 2007, 06:54
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 243
Регистрация: 22-09-04
Из: Burbach, Germany
Пользователь №: 704



Цитата(Zolten @ Sep 14 2007, 07:29) *
Может ктонибуть подскажет как правильно в CVAVR инициализировать дисплей.


Если пользуетесь встроенными в КодВижн функциями, то в хелпе есть даже пример использования Обратите внимание на схему подключения ЖКИ, представленную там же:
Код
The LCD module must be connected to the port bits as follows:
[LCD]            [AVR Port]
RS (pin4) ------     bit 0
RD (pin 5) ------    bit 1
EN (pin 6) ------    bit 2
DB4 (pin 11) ---    bit 4
DB5 (pin 12) ---    bit 5
DB6 (pin 13) ---    bit 6
DB7 (pin 14) ---    bit 7


Если пишете свои функции работы с ЖКИ, то инициализация в соответствии с требованиями датащита (отправка определенных кодов, выдержка определенных времянок и т.д.)
У меня, например, успешно работает такой кусок кода:

Код
/*******************************************************************************
* Function Name  : Lcd_DisplayInit
* Description    : Инициализация ЖКИ
*******************************************************************************/
void LCD_DisplayInit(void){
// Далее следует код, который изменять не рекомендуется!!!
    pLCD_SetPortOut();
    conLCD_OUT.EN_BIT=0; conLCD_DIR.EN_BIT=1;
    conLCD_OUT.RS_BIT=0; conLCD_DIR.RS_BIT=1;
#ifdef RW_WORK
    conLCD_OUT.RW_BIT=0; conLCD_DIR.RW_BIT=1;    
#endif      

    delay_us(2);
    #ifdef DBUS8
        pLCD_OUT=0x30;
    #else  
        pLCD_OUT=(pLCD_OUT&0x0f)|0x20;
    #endif
    EN=1; delay_us(2); EN=0; delay_us(1500);  
    #ifdef DBUS8
        pLCD_OUT=0x30;
    #else
        pLCD_OUT=(pLCD_OUT&0x0f)|0x20;
    #endif
    EN=1; delay_us(2); EN=0;
    delay_us(1500);  //  ~1.5 мс

#ifdef DBUS8
    #if (NUMBER_OF_LINES >=2)
        LCD_WriteByte(COMMAND, FUNCTION_SET | BUS_8BIT | TWO_LINES | CHAR_5_8);
    #else
        LCD_WriteByte(COMMAND, FUNCTION_SET | BUS_8BIT | ONE_LINE | CHAR_5_8);
    #endif
#else
    #if (NUMBER_OF_LINES >=2)
        LCD_WriteByte(COMMAND, FUNCTION_SET | BUS_4BIT | TWO_LINES | CHAR_5_8);
    #else
        LCD_WriteByte(COMMAND, FUNCTION_SET | BUS_4BIT | ONE_LINE | CHAR_5_8);
    #endif
#endif

  LCD_WriteByte(COMMAND, DISP_ON_OFF | DIS_ON | UNDER_ON | BLINK_ON);
  LCD_WriteByte(COMMAND, ENTRY_MODE | CURS_INC | DIS_SHIFT_DIS);
  LCD_WriteByte(COMMAND, CLEAR);     
  LCD_WriteByte(COMMAND, GO_HOME);
}


После его выполнения экран очищается, появляется мигающий курсор и дисплей готов к работе.
Go to the top of the page
 
+Quote Post
backa
сообщение Sep 14 2007, 06:56
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 15-06-05
Из: Минск
Пользователь №: 6 028



Цитата(Zolten @ Sep 13 2007, 09:29) *
Проверял на 3-х LCD все фирмы Winstar на контроллере KS 0066.
Всё остальное работает отлично, а на ЖКИ одни квадратики.
Соединение перепроверил раз 10,пробовал компилировать в 3 разных версиях CVAVRа
уже даже не знаю что и делать crying.gif .
Может у кого нибуть были такие проблемы.
Зарание спасибо!

не много не в тему :
имеется LCD на KS0065B - не знаю какая распиновка и какой у него протокол (раньше работал с HD44700) . Может есть какие-то доки - поделитесь smile.gif ...
Go to the top of the page
 
+Quote Post
Zolten
сообщение Sep 14 2007, 07:22
Сообщение #6





Группа: Новичок
Сообщений: 5
Регистрация: 2-07-07
Пользователь №: 28 844



Цитата(ALexx @ Sep 14 2007, 10:54) *
Если пользуетесь встроенными в КодВижн функциями, то в хелпе есть даже пример использования Обратите внимание на схему подключения ЖКИ, представленную там же:
Код
The LCD module must be connected to the port bits as follows:
[LCD]            [AVR Port]
RS (pin4) ------     bit 0
RD (pin 5) ------    bit 1
EN (pin 6) ------    bit 2
DB4 (pin 11) ---    bit 4
DB5 (pin 12) ---    bit 5
DB6 (pin 13) ---    bit 6
DB7 (pin 14) ---    bit 7


Пользуюсь именно встроенными функциями.
Соединение проверил вроде правильно.
только у жки DB0-DB3 не подключены(так и должно быть?).
Go to the top of the page
 
+Quote Post
Zolten
сообщение Sep 14 2007, 08:23
Сообщение #7





Группа: Новичок
Сообщений: 5
Регистрация: 2-07-07
Пользователь №: 28 844



Всем спасибо за помошь!
Тема похоже закрыта.
Оказалось ЖКИ сидел на PORTC,
переставил на PORTB и все заработало!
толко непонятно что с портом С.
Go to the top of the page
 
+Quote Post
smk
сообщение Sep 14 2007, 10:00
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Цитата
толко непонятно что с портом С.

Все с ним хорошо. С следующий раз при запуске мастера обращайте внимание на порт или выбирайте сами из его менбю.


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
DiMomite
сообщение Sep 14 2007, 14:32
Сообщение #9


Участник
*

Группа: Свой
Сообщений: 47
Регистрация: 8-04-06
Из: Одесса
Пользователь №: 15 959



А на порту С, наверно, JTAG включенный оставили
Go to the top of the page
 
+Quote Post
Zolten
сообщение Sep 15 2007, 05:23
Сообщение #10





Группа: Новичок
Сообщений: 5
Регистрация: 2-07-07
Пользователь №: 28 844



Цитата(DiMomite @ Sep 14 2007, 18:32) *
А на порту С, наверно, JTAG включенный оставили

Да вы правы, про него какраз то и забыл.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 13:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01414 секунд с 7
ELECTRONIX ©2004-2016