roboforum.ru

Технический форум по робототехнике.
Текущее время: 26 ноя 2024, 23:08

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




Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Proteus и OLED
СообщениеДобавлено: 14 окт 2015, 09:27 
Не в сети

Зарегистрирован: 09 апр 2014, 07:56
Сообщения: 86
Парни! Помогите пожалуйста подсоеденить в Proteus 8 вот этот дисплей(UG-2864HSWEG01) по i2c шине к Atmega8. Ни как не могу понять как подключать. Вроде как написано в даташите что D1 это SDA, а D0 это SCL. Вот только не понятно как их подключать в Proteus. На месте этих выводов две синие полоски. К сожалению с Proteus я почти не знаком, а проект надо кодить. Заранее ОГРОМНОЕ человеческое спасибо!
Вложение:
123 (2).png
123 (2).png [ 31.4 КиБ | Просмотров: 8830 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus и OLED
СообщениеДобавлено: 14 окт 2015, 11:06 
Не в сети
Аватара пользователя

Зарегистрирован: 07 янв 2005, 23:39
Сообщения: 228
Откуда: г.Норильск, Россия
прог. языки: Pascal, C, C++
ФИО: Раф Попов
Добрый день!
Синими полосками в Proteus обозначаются шины, то есть группы проводников. В данном случае в шины объединены выводы D0-D7 и BS0-BS2 дисплея.
К сожалению, у меня нет в библиотеке этого дисплея, поэтому я нарисовал свою шину D0-D7 и подключил к ней два вывода микроконтроллера:

Вложение:
bus2.jpg
bus2.jpg [ 32.02 КиБ | Просмотров: 8592 ]


Делается это таким образом. Сначала рисуется провод от нужной ножки контроллера к шине, потом провод выделяется правой клавишей мыши и из меню выбирается пункт "Place Wire Label", далее из выпадающего списка выбирается нужный проводник в шине.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus и OLED
СообщениеДобавлено: 14 окт 2015, 11:21 
Не в сети

Зарегистрирован: 09 апр 2014, 07:56
Сообщения: 86
MEXAHuK писал(а):
Добрый день!
Синими полосками в Proteus обозначаются шины, то есть группы проводников. В данном случае в шины объединены выводы D0-D7 и BS0-BS2 дисплея.
К сожалению, у меня нет в библиотеке этого дисплея, поэтому я нарисовал свою шину D0-D7 и подключил к ней два вывода микроконтроллера:

Вложение:
Вложение bus2.jpg больше недоступно


Делается это таким образом. Сначала рисуется провод от нужной ножки контроллера к шине, потом провод выделяется правой клавишей мыши и из меню выбирается пункт "Place Wire Label", далее из выпадающего списка выбирается нужный проводник в шине.

Огромное спасибо за ответ. Но почему-то у меня в выпадающем списке нет соотв портов. Я прописал вручную, но к сожалению ничего не заработало. Не могли бы вы мне помочь? Я использую Proteus 8 SP2 и в нем есть данный дисплей. На реальном устройстве все работает(там выведена шина i2c, всего 2 провода). Но вот как я понимаю тут нужно выполнить какие-то дополнительные настройки и возможно сделать дополнительную обвязку. К сожалению времени разбираться у меня практически нет :( Еще раз спасибо вам!
Вложение:
1234.png
1234.png [ 38.07 КиБ | Просмотров: 8943 ]


Прошивка для теста(Atmega8, 16Mhz ext.):
Вложение:
firmware.hex [4.54 КиБ]
Скачиваний: 552


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus и OLED
СообщениеДобавлено: 14 окт 2015, 11:48 
Не в сети
Аватара пользователя

Зарегистрирован: 07 янв 2005, 23:39
Сообщения: 228
Откуда: г.Норильск, Россия
прог. языки: Pascal, C, C++
ФИО: Раф Попов
А. Да :) Для того, чтобы выводы дисплея появились в списке, шине, которую вы пририсовали вручную к шине дисплея, надо тоже присвоить имя, например "D", при помощи "Place Wire Label".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus и OLED
СообщениеДобавлено: 14 окт 2015, 11:53 
Не в сети

Зарегистрирован: 09 апр 2014, 07:56
Сообщения: 86
MEXAHuK писал(а):
А. Да :) Для того, чтобы выводы дисплея появились в списке, шине, которую вы пририсовали вручную к шине дисплея, надо тоже присвоить имя, например "D", при помощи "Place Wire Label".

К сожалению не помогает :( Сделал так.
Вложение:
1234 (2).png
1234 (2).png [ 39.3 КиБ | Просмотров: 8990 ]


Добавлено спустя 2 минуты 48 секунд:
Почитал даташит(11 стр). Возможно не работает потому что у дивайса нет адреса. Как я понял он устанавливается замыканием порта B на +. Но как это сделать? Еще раз спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus и OLED
СообщениеДобавлено: 14 окт 2015, 12:43 
Не в сети
Аватара пользователя

Зарегистрирован: 07 янв 2005, 23:39
Сообщения: 228
Откуда: г.Норильск, Россия
прог. языки: Pascal, C, C++
ФИО: Раф Попов
Согласно даташиту, адрес устройства может быть или 0b0111100 или 0b0111101. Это выбирается битом SA0, который подсоединен к выводу D/C.
Пин R/W отвечает за режим работы - R/W = 0 - режим записи, R/W = 1 - режим чтения.
И еще написано, что и SDA и SCL надо подтянуть к плюсу. Обычно для этого используют резисторы 5-10 кОм.

Добавлено спустя 22 минуты 32 секунды:
В общем вот так, по моему, нужно:
для выбора I2C интерфейса надо установить BS0 = 0 , BS1 = 1, BS2 = 0;
D0 и D1 подтянуть через 2 кОм к плюсу;
R/W - на землю;
D/C - или на землю, или на плюс, не знаю, какая у вас там адресация в МК;


Последний раз редактировалось MEXAHuK 14 окт 2015, 15:53, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus и OLED
СообщениеДобавлено: 14 окт 2015, 14:39 
Не в сети

Зарегистрирован: 09 апр 2014, 07:56
Сообщения: 86
MEXAHuK писал(а):
Ненене. Просто D без [0..7]. Тогда протеус автоматом соединит эту шину с пинами дисплея. А сейчас это самостоятельная шина, к дисплею не подключенная.

UPD Хотя нет, вру. Нетлист показывает, что можно и так.
Щас даташиту посмотрю.

Добавлено спустя 23 минуты 43 секунды:
Согласно даташиту, адрес устройства может быть или 0b0111100 или 0b0111101. Это выбирается битом SA0, который подсоединен к выводу D/C.
Пин R/W отвечает за режим работы - R/W = 0 - режим записи, R/W = 1 - режим чтения.
И еще написано, что и SDA и SCL надо подтянуть к плюсу. Обычно для этого используют резисторы 5-10 кОм.

Добавлено спустя 22 минуты 32 секунды:
В общем вот так, по моему, нужно:
для выбора I2C интерфейса надо установить BS0 = 0 , BS1 = 1, BS2 = 0;
D0 и D1 подтянуть через 2 кОм к плюсу;
R/W - на землю;
D/C - или на землю, или на плюс, не знаю, какая у вас там адресация в МК;


Очень благодарен вам. А каким образом установить BS0-BS2? Подать на них питание? Адрес тоже не совсем понял как задать.

Добавлено спустя 1 час 15 минут 47 секунд:
Сделал так, но по прежнему ничего не работает. :( Адрес у меня в коде 0x3C
Вложение:
1234.png
1234.png [ 61.5 КиБ | Просмотров: 8750 ]


И так тоже не работает. Зато видно стало как данные якобы передаются. Мигают квадратики на выводах МК.
Вложение:
123.PNG
123.PNG [ 52.95 КиБ | Просмотров: 8764 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus и OLED
СообщениеДобавлено: 14 окт 2015, 18:29 
Не в сети
Аватара пользователя

Зарегистрирован: 07 янв 2005, 23:39
Сообщения: 228
Откуда: г.Норильск, Россия
прог. языки: Pascal, C, C++
ФИО: Раф Попов
Ушел с работы, доберусь до домашнего компа - попробую запустить.

Добавлено спустя 2 часа 37 минут 20 секунд:
Заработало :)

Вложение:
hello_mex.jpg
hello_mex.jpg [ 99.6 КиБ | Просмотров: 9894 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus и OLED
СообщениеДобавлено: 15 окт 2015, 03:17 
Не в сети

Зарегистрирован: 09 апр 2014, 07:56
Сообщения: 86
MEXAHuK писал(а):
Ушел с работы, доберусь до домашнего компа - попробую запустить.

Добавлено спустя 2 часа 37 минут 20 секунд:
Заработало :)

Вложение:
hello_mex.jpg

КРУТЯГ!!! :good: Спасибо. Вы сэкономили мне кучу времени. :Yahoo!: Получается нужно было подключить VSS, VDD и RES. Еще раз благодарю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Proteus и OLED
СообщениеДобавлено: 29 янв 2024, 17:51 
Не в сети

Зарегистрирован: 29 янв 2024, 16:37
Сообщения: 2
по I2C кто то в протеусе подключал. У меня визуализация не работает.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


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

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO