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

 
 
> IAR и LCD с контроллером HD4478, Как подключить, как применить библиотеку
vashurin
сообщение Apr 8 2008, 11:32
Сообщение #1





Группа: Новичок
Сообщений: 9
Регистрация: 8-04-08
Пользователь №: 36 568



help.gif

Привет всем решил прибегнуть на этот раз к помощи инета в решении проблемы.
суть такова.

есть у меня проект написанный на CVAR , я уже исчерпал доступные мне возможности этого ПО.
и прешил перейти на IAR.

все хорошо но вот в IAR нет библиотеки для ЖКИ.
поиски в интернете дали мне прикрепленный файл к этому сообщению. Я уверен что собравшиеся сдесь люди могут мне помочь.Прикрепленный файл  HD44780src.ZIP ( 4.68 килобайт ) Кол-во скачиваний: 260
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
prottoss
сообщение Apr 9 2008, 12:04
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Только седня:-) удалось прочитать корреспонденцию, потому извиняйте за задержку. Разъяснения:

1. g_Buffer - не нужен, это из основной программы. Вообще он служит для обновления данных в дисплее синхронно по прерыванию.



2. LCD_Clear() - и ежу понятно зачем нужна. Можно либо выкинуть, либо написать свою - текста нет, сами понимаете из за того же g_Buffer -а.



3. #include "systime.h" можно выкинуть - это хедер системного времени устройства. Задержки делались именно через системное время. Но так как выложил в сеть, сделал задержки средствами компилятора через __delay_cycles(...).



4. Для того, чтобы компилятор не ругался на макросы типа:

Error[Pe020]: identifier "DDRD" is undefined ....HD4478.c 176 надо подключить хедер ioavr.h.

Кстати, советую включать его во все файлы, работающие с переферией МК. ТОгда не надо будет подключать в каждом файле хедер конкретного МК, а достаточно будет определить МК через опции проекта.


--------------------
Go to the top of the page
 
+Quote Post
Roger
сообщение Jun 26 2010, 20:39
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 69
Регистрация: 27-06-06
Пользователь №: 18 383



Сегодня целый день пробывал запустить LCD (FDCC 1602L) c использованием этой библиотеки.
Получилось запусить только так...
Код
mcu_set_io();
    
    delay_ms(50);
    LCD_RQCMD();
    LCD_Bus_Write(0x20);
    delay_ms(5);
    LCD_Bus_Write(0x20);
    LCD_Bus_Write(0x80);
    delay_ms(5);
    LCD_Bus_Write(0x00);
    LCD_Bus_Write(0xC0);
    delay_ms(5);
    LCD_Bus_Write(0x00);
    LCD_Bus_Write(0x60);
    delay_ms(5);
    LCD_RQDATA();
    LCD_Bus_Write(0x30);
    LCD_Bus_Write(0x50);

Код
void LCD_Bus_Write(UCHAR data)
{    
  LCD_RQWR();
  UCHAR temp;
  temp = data & 0xf0;        
  LCD_PORTDATA &= 0x0f;    
  LCD_PORTDATA |= temp;    
  LCD_STARTSTB();     
  NOP();            
  LCD_ENDSTB();     

/*    SWAP(data);        
    
    temp = data & 0xf0;    
    LCD_PORTDATA &= 0x0f;    
    LCD_PORTDATA |= temp;    
    LCD_STARTSTB();    
    NOP();            
    LCD_ENDSTB();     
*/

}


Т.е. дисплей запускается если на него подавать сначала старшую тетраду, потом отдельно командой младушю тетраду, а так чтобы использовать закоментированный код, не получается....
Код
    SWAP(data);        
    temp = data & 0xf0;    
    LCD_PORTDATA &= 0x0f;    
    LCD_PORTDATA |= temp;    
    LCD_STARTSTB();    
    NOP();            
    LCD_ENDSTB();


Народ подскажите в чем может быть трабла. Однозначно что в выводе младшей тетрады.... Все уже проверил неоднократно...
LCD весит на PORTC
RS -> PC0
RD/RW -> PC1
E -> PC2
DW4..DW7 -> PC4..PC7

Тестировал как в Proteus так и на железке...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- vashurin   IAR и LCD с контроллером HD4478   Apr 8 2008, 11:32
- - gotty   А в чём собственно вопрос?   Apr 8 2008, 11:43
- - vashurin   Первое что меня интересует. Можно-ли использовать...   Apr 8 2008, 12:03
|- - gotty   а не думали обратиться за разьяснениями к автору б...   Apr 8 2008, 12:05
|- - gotty   Цитата(MrYuran @ Apr 8 2008, 16:29) Судя ...   Apr 8 2008, 13:48
- - vashurin   хотелось бы самому понять. как приспособить это де...   Apr 8 2008, 12:13
- - ГарикБаза   А я б поменял имя файла, точки смущают   Apr 8 2008, 12:14
- - vashurin   там с точками все нормально. но учту ща перепишу. ...   Apr 8 2008, 12:25
- - MrYuran   Для начала, я думаю, надо определить порты и пины,...   Apr 8 2008, 12:27
|- - IgorKossak   Цитата(MrYuran @ Apr 8 2008, 15:27) Для н...   Apr 8 2008, 12:39
- - vashurin   да порты определил, я не пойму для чего g_Buffer ...   Apr 8 2008, 12:40
|- - IgorKossak   Цитата(vashurin @ Apr 8 2008, 15:39) я не...   Apr 8 2008, 12:40
- - vashurin   Описание шин управления и данных между МП и ЖКИ в...   Apr 8 2008, 13:13
- - MrYuran   Судя вот по этому g_Buffer[1].Address = LCD_ROW2_...   Apr 8 2008, 13:29
- - vashurin   спасибо всем кто принимал сдесь участие, перелопат...   Apr 9 2008, 10:08
- - Roger   Проблема была в правильности задержек... Единстве...   Jun 27 2010, 05:44


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 03:03
Рейтинг@Mail.ru


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