Easyelectronics.ru

Электроника для всех
Текущее время: 20 ноя 2018, 11:01

Часовой пояс: UTC + 5 часов



    • JLCPCB - Прототипы 10 PCBs всего за 2$ (100*100mm, 2-layer)
    • Как мы делаем платы, смотрите на YouTube
    • Крупнейшая китайская фабрика прототипов. 300000+ заказчиков и 10000+ заказов в день!
    • LCSC - Крупнейший китайский онлайн магазин комплектующих.

Начать новую тему Ответить на тему  [ Сообщений: 134 ]  На страницу Пред.  1, 2, 3, 4, 5, 6
Автор Сообщение
 Заголовок сообщения: Re: Pinboard2 & LCD
СообщениеДобавлено: 17 мар 2014, 22:22 
Старожил
Аватара пользователя

Зарегистрирован: 06 янв 2012, 18:49
Сообщения: 801
Откуда: Новый Уренгой
К сообщению добавил архив, для работы с дисплеем используется 4-х битная шина, подключение следующее:
Используется только порт A, пин от дисплея RW подключен к земле, остальные так:
LCD_RS - GPIO_Pin_0
LCD_EN - GPIO_Pin_1
LCD_DB4 - GPIO_Pin_2
LCD_DB5 - GPIO_Pin_3
LCD_DB6 - GPIO_Pin_4
LCD_DB7 - GPIO_Pin_5

При отладке основной проблемой было то что при создании по даташиту таймингов и команд, дисплей работал через раз, но методом тыка подобрал режим при котором вероятность работы при любом включении стала 100%, если нужно могу сделать осциллограммы :-) всех пинов :-)
Проект сделан в кокосе.


Вложения:
LCD_sample 4bit.7z [102.21 Кб]
Скачиваний: 108

_________________
selenur.ru
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Pinboard2 & LCD
СообщениеДобавлено: 18 мар 2014, 09:25 
Старожил
Аватара пользователя

Зарегистрирован: 06 янв 2012, 18:49
Сообщения: 801
Откуда: Новый Уренгой
В моменте инициализации дисплея у меня в файле LCD.c есть такой код
lcd_send(0b00100000,COMMAND);
LCDStrobe(); <----- очень важная штука
Delay_ms(5);
lcd_send(0b00101000,COMMAND);
Delay_ms(40);

В даташите написано что нужно установить на пинах данных 0010 сделать строб пина ENABLE, потом установить 0000 снова сделать строб, потом снова установить 0010 и сделать строб, и так далее, но инициализация не всегда проходила, но как только добавил ещё один строб, выделил в коде выше, так дисплей стал отлично инициализироваться. Судя по всему таким образом все-таки удается его переключить в 4-х битный режим... :-)

_________________
selenur.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Pinboard2 & LCD
СообщениеДобавлено: 18 дек 2014, 18:26 
Только пришел

Зарегистрирован: 18 дек 2014, 18:08
Сообщения: 7
Дабы не плодить темы.

Начались глюки PB2r2. Модуль с мегой16. Вчера написал хело-ворлд для LCD-экрана (на асме, простыню в столбик), все работало. Сегодня написал библиотеку под дисплей, тоже все работало, до недавних пор. На ровном месте, после очередного включения платы работать перестало. Дисплей не заводится ни с библиотекой, ни с простыней.

Решил зашить (проверить контроллер) одну из старых программ со светодиодами, и заметил такую вещь. При НАЖАТОМ РЕСЕТЕ МК на порте А происходит полный фарш. на РА0 - 3.7 В, на РА1 - прямоугольный импульс переменной частоты. Через раз при старте МК появлялось лог.1 на РА1 и РА2. Порт А никак не задействован в работе с ЛСД.

Заменил контроллер, дважды. У всех трёх всё одно и то же - ЛСД не заводится, на порте А - фарш (даже со стертым флешем и нажатым ресетом). Повторюсь - и хело-ворлд в столбик, и библиотека на ЛСД работали.

Что такое происходит? Куда смотреть? Сам, боюсь, не разберусь.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Pinboard2 & LCD
СообщениеДобавлено: 18 дек 2014, 18:36 
Старожил
Аватара пользователя

Зарегистрирован: 17 апр 2010, 08:38
Сообщения: 4858
Откуда: Усинск, республика Коми
Как подключен дисплей?

_________________
хаос это непознанный порядок


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Pinboard2 & LCD
СообщениеДобавлено: 18 дек 2014, 18:48 
Только пришел

Зарегистрирован: 18 дек 2014, 18:08
Сообщения: 7
D0-D7 => PC0-PC7, PB0 => RS, PB1 => RW, PB2 => E.

Боюсь, что дисплей вообще не при делах окажется.

В аттаче файлы хело-ворлда. Проверьте кто-нибудь на работоспособность. Писалось для 8 МГЦ


Вложения:
lcd.zip [2.64 Кб]
Скачиваний: 94
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Pinboard2 & LCD
СообщениеДобавлено: 18 дек 2014, 19:07 
Старожил
Аватара пользователя

Зарегистрирован: 17 апр 2010, 08:38
Сообщения: 4858
Откуда: Усинск, республика Коми
На порт выведен JTAG. Он отключен? Просто у меня был похожий случай. Я что-то отлаживал, потом порт перестал отвечать. Я думал, что спалил его. А причина была проста - нужно в программе его отключать, установив соответствующий бит регистра. Ну или через фьюзы. Как только добавил команду отключения JTAG, то сразу все заработало как раньше.

_________________
хаос это непознанный порядок


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Pinboard2 & LCD
СообщениеДобавлено: 18 дек 2014, 19:26 
Только пришел

Зарегистрирован: 18 дек 2014, 18:08
Сообщения: 7
Fuse D9 E4. 11[jtag] 0[spien] 11001 11100100. Отключен. Я их не менял. Снял МК с модуля. на пине РА0, все равно ~2 вольта висит.

Проверьте портянку кода кто-нибудь на железе.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Pinboard2 & LCD
СообщениеДобавлено: 19 дек 2014, 18:58 
Администратор
Аватара пользователя

Зарегистрирован: 16 янв 2010, 06:09
Сообщения: 6251
Откуда: Челябинск
Ну так пин идет на переменник и джампер по умолчанию стоит. С него и идут эти напруги.

_________________
Хозяин дома


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Pinboard2 & LCD
СообщениеДобавлено: 20 дек 2014, 16:38 
Только пришел

Зарегистрирован: 18 дек 2014, 18:08
Сообщения: 7
В итоге заменил индикатор, работает.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 134 ]  На страницу Пред.  1, 2, 3, 4, 5, 6

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: shooroop


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB