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

 
 
> Помогите разобраться с символьным ЖКИ, HD44780
Pavel V.
сообщение Feb 20 2007, 10:49
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-06-06
Пользователь №: 17 742



Уже второй день пытаюсь оживить символьный ЖКИ под IAR. До этого момента использовал CodeVision и встроенную в него библиотеку, которая всегда работала как часы.

С IAR пришлось разбираться второпях, до этого с ним дела не имел.

Нашел кучу исходников библиотек для работы с HD44780, но толком ни одна так и не заработала. Пришлось разбираться самому, в результате чего была создана некая компиляция из кусков разных библиотек.

Она даже заработала и стала выводить на дисплей данные. Но радость моя была недолгая - программа работает крайне нестабильно. То все нормально, то выводится куча левых символов без какой-либо закономерности.

С железом это никак не может быть связано - с CodeVision все работало хорошо.

Много игрался с задержками, думал из-за них, но они как будто не влияют на этот глюк.

К сообщению прицепляю код, помогите, пожалуйста, разобраться! Или, быть может, у кого-то есть готовая библиотека для работы с этими ЖКИ?

Контроллер - ATmega48, частота 1 МГц.

Сообщение отредактировал Pavel V. - Feb 20 2007, 10:52
Прикрепленные файлы
Прикрепленный файл  main.txt ( 303 байт ) Кол-во скачиваний: 105
Прикрепленный файл  lcd.txt ( 4.59 килобайт ) Кол-во скачиваний: 162
 


--------------------
Good News Everyone!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Pavel V.
сообщение Feb 20 2007, 20:11
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-06-06
Пользователь №: 17 742



Что-то никак не получается ничего..

prottoss, я и Ваш код пробовал, не работает почему-то. У меня вопрос - при подключении по 4-битной шине, куда именно должны на шину подключаться пины DB4,5,6,7?

У меня в железе вот какой расклад:

PORTD.0 - RS
PORTD.1 - R/W
PORTD.2 - E
PORTD.3
PORTD.4 - DB4
PORTD.5 - DB5
PORTD.6 - DB6
PORTD.7 - DB7

Не подскажете, как должны при этом выглядеть настройки?

У меня сейчас вот так:

// Шина данных
#define LCD_PORTDATA PORTD
#define LCD_PINDATA PIND
#define LCD_DDRDATA DDRD

// Порт управления
#define LCD_PORTCTRL PORTD
#define LCD_PINCCTRL PIND
#define LCD_DDRCTRL DDRD

// Линии управления LCD
#define LCD_wire_RS (1 << PD0)
#define LCD_wire_RW (1 << PD1)
#define LCD_wire_E (1 << PD2)
#define LCD_wire_BL (1 << PD3) // (BackLight)

Правильно? Или в программе подразумевается, что шина данных должна находиться на порту, отличном от порта с линиями управления?

UPDATE
Ура! Заработало! Подправил свой исходный текcт в соответствии с рекомендациями Сергея Борщ. Теперь все стабильно smile.gif Видимо, все-таки с задержками у меня какая-то фигня была. Приведу текст к более красивому виду и выложу, мало ли кому пригодится!

Теперь на повестке дня чтение данных из АЦП по SPI.

Сообщение отредактировал Pavel V. - Feb 20 2007, 20:33


--------------------
Good News Everyone!
Go to the top of the page
 
+Quote Post
Николай Z
сообщение Aug 21 2007, 09:40
Сообщение #3


Местный
***

Группа: Участник*
Сообщений: 418
Регистрация: 20-08-07
Пользователь №: 29 930



Цитата(Pavel V. @ Feb 21 2007, 00:11) *
....
Приведу текст к более красивому виду и выложу, мало ли кому пригодится!
...
Теперь на повестке дня чтение данных из АЦП по SPI.


Не не стоит выкладывать... sad.gif
Везде полно реально работающих примеров для любой конкретной эволюшн борд...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Aug 21 2007, 12:17
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(Николай Z @ Aug 21 2007, 12:40) *
Везде полно реально работающих примеров для любой конкретной эволюшн борд...

Moderator:
Не стоит поднимать старые темы без всякой на то нужды и давать бесполезные советы.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post



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

 


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


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