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

 
 
> Не отображается часть символов на LCD16x02, Не отображаетються 1й и третий символы
kyraxinoff
сообщение Nov 18 2010, 14:16
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 18-11-10
Пользователь №: 60 999



Возникли проблемы с отображением первых трех символов на LCD 16x02, не отображаеться только два символа,
при переходе на вторую строку все в порядке. Помогите. Пишу на AVR C , на ATMega8.
прилагаю программу в AVRStudio и проект протеус.
Прикрепленные файлы
Прикрепленный файл  LCD.rar ( 33.59 килобайт ) Кол-во скачиваний: 20
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
rezident
сообщение Nov 18 2010, 14:31
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Инициализация неверная. Первой после подачи питания должна быть команда выбора разрядности шины. В datasheet HD44780U есть пример последовательности команд при инициализации. См. Table 138-Bit Operation, 8-Digit Ч 2-Line Display Example with Internal Reset в datasheet.
Go to the top of the page
 
+Quote Post
kyraxinoff
сообщение Nov 19 2010, 07:22
Сообщение #3





Группа: Новичок
Сообщений: 3
Регистрация: 18-11-10
Пользователь №: 60 999



Почитав иструкцию и проделав все по Table 138-Bit Operation, 8-Digit Ч 2-Line Display Example with Internal Reset вообще изображение пропало. Немного почистив и переделав инициализацию в начале поставил объявление разрядности.

void lcd_init(void)
{
// Interface is 8 bits long.
lcd_com(0b00111000); // set8bit long
lcd_com(0b00111000); // set 8bit long
lcd_com(0b00111000); // set 8bit long
// Function set
lcd_com(0b00001000); // display off
lcd_com(0b00000001); //clear & sets on 0x00 addrss;
lcd_com(0b00000110); // increment
lcd_com(0b00001101); // disp on
lcd_com(0b10000000); // sets DDRAM adr. receives after sett
lcd_com(0b00000001); // sets DDRAM adr in 0
}

В результате первый знак отображается, второй и третий нет.


Сообщение отредактировал kyraxinoff - Nov 19 2010, 07:25
Go to the top of the page
 
+Quote Post
rezident
сообщение Nov 19 2010, 16:54
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Уточните, где вы проверяете: в "железе" или в Протеусе? И что там у вас с требуемыми при инициализации и вообще между командами паузами?
Go to the top of the page
 
+Quote Post
kamil_yaminov
сообщение Nov 21 2010, 12:25
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 395
Регистрация: 15-02-08
Из: Новосибирск
Пользователь №: 35 064



рекомендую симулятор ЖК http://www.geocities.com/dinceraydin/djlcdsim/djlcdsim.html
Go to the top of the page
 
+Quote Post

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

 


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


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