Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
25.04.2007, 00:19
|
|
Частый гость
Регистрация: 26.03.2007
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Atmega16, LCD, SPI
Здравствуйте, всем !
Подскажите, пожалуйста.
Есть Atmega16, на порте B висит LCD.
Хочу подключить по интерфейсу SPI микросхему памяти.
Возник вопрос, смогут ли они (LCD и память) работать параллельно на одном порту, ведь SPI выведен на порт B?
Или надо убирать индикатор на другой порт ?
Спасибо.
|
|
|
|
25.04.2007, 02:33
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Посмотрите ДШ на ЛСД - переводятся ли его ножки в высокоомное состояние. Если да то он не будет мешать SPI если его отключить програмно.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
25.04.2007, 10:38
|
|
Частый гость
Регистрация: 26.03.2007
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от avr123-nm-ru
|
Посмотрите ДШ на ЛСД - переводятся ли его ножки в высокоомное состояние. Если да то он не будет мешать SPI если его отключить програмно.
|
Спасибо за ответ.
А если я буду программно откдючать LCD, информация в этот момент на нем будет индицироваться ? Или он моргать будет ?
Извините за ламерские вопросы, начинающий я.
|
|
|
|
25.04.2007, 12:32
|
|
Вид на жительство
Регистрация: 05.09.2006
Сообщений: 360
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Вы же НЕ написали какой у Вас LCD, как подключен конкретно, в смысле какие выводы к каким ногам порта. Как в программе реализовано управление LCD. Нет вопроса - нет ответа.
|
|
|
|
25.04.2007, 12:45
|
|
Частый гость
Регистрация: 26.03.2007
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от nokazus
|
Вы же НЕ написали какой у Вас LCD, как подключен конкретно, в смысле какие выводы к каким ногам порта. Как в программе реализовано управление LCD. Нет вопроса - нет ответа.
|
Программное управление от стандартных библиотек.
LCD 4*20 на контроллере HD44780 подключен по четырехбитной шине.
Порт B ---- LCD
0 (40) ---- RS (4)
1 (41) ---- RW (5)
2 (42) ---- E (6)
3 ----
4 ss (44)-- D4 (11)
5 mosi (1)- D5 (12)
6 miso (2)- D6 (13)
7 sck (3)-- D7 (14)
Т.е. биты данных являются и выводами интерфейса SPI.
|
|
|
|
25.04.2007, 14:45
|
|
Почётный гражданин KAZUS.RU
Регистрация: 22.06.2004
Адрес: Харьков
Сообщений: 1,488
Сказал спасибо: 3,207
Сказали Спасибо 3,010 раз(а) в 686 сообщении(ях)
|
Сообщение от sliam
|
Порт B ---- LCD
0 (40) ---- RS (4)
1 (41) ---- RW (5)
2 (42) ---- E (6)
3 ----
4 ss (44)-- D4 (11)
5 mosi (1)- D5 (12)
6 miso (2)- D6 (13)
7 sck (3)-- D7 (14)
Т.е. биты данных являются и выводами интерфейса SPI.
|
Если SPI совмещено с линиями данных LCD (как в примере), то работать будет все.
Главное не допустить одновременной работы двух интерфейсов.
Если не трогать линий RW,RS и особенно E то индикатор будет показывать изображение занесенное ранее. Состояние линий данных может быть любым. Вот по ним как раз и будет происходить обмен.
|
|
|
|
25.04.2007, 16:00
|
|
Частый гость
Регистрация: 26.03.2007
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от lsa
|
Если SPI совмещено с линиями данных LCD (как в примере), то работать будет все.
Главное не допустить одновременной работы двух интерфейсов.
Если не трогать линий RW,RS и особенно E то индикатор будет показывать изображение занесенное ранее. Состояние линий данных может быть любым. Вот по ним как раз и будет происходить обмен.
|
Спасибо большое, все понятно.
Продолжаю вгрызаться в работу SPI.
|
|
|
|
26.04.2007, 07:43
|
|
Вид на жительство
Регистрация: 05.09.2006
Сообщений: 360
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
|
Я бы добавил к ответу lsa следующее.
1. Вы опять же не полностью указали подключение микросхемы памяти к SPI. Где нога CS?. Я не советую Вам совмещать ее с линией данных LCD, могут быть коллизии.
2. При таком подключении если использовать аппаратный порт SPI при установке бита SPIE в регистре управления выход MOSI настраивается как выход и отключается от порта B. Т.о. Вам нужно при обращении к памяти активировать SPI и прекращать обмен с LCD, а при обращении к LCD выключать SPI. Если Вам не важно быстродействие, для исключения коллизий сделайте обращение к памяти программно, используя не порт SPI, а порт B и подпрограммки чтения записи.
Удачи.
|
|
|
|
26.04.2007, 16:29
|
|
Частый гость
Регистрация: 26.03.2007
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Сообщение от nokazus
|
Я бы добавил к ответу lsa следующее.
1. Вы опять же не полностью указали подключение микросхемы памяти к SPI. Где нога CS?. Я не советую Вам совмещать ее с линией данных LCD, могут быть коллизии.
2. При таком подключении если использовать аппаратный порт SPI при установке бита SPIE в регистре управления выход MOSI настраивается как выход и отключается от порта B. Т.о. Вам нужно при обращении к памяти активировать SPI и прекращать обмен с LCD, а при обращении к LCD выключать SPI. Если Вам не важно быстродействие, для исключения коллизий сделайте обращение к памяти программно, используя не порт SPI, а порт B и подпрограммки чтения записи.
Удачи.
|
Спасибо большое, буду думать. Вчера все заработало, пока отдельно без индикатора, индикатор на другом порту пока. Насчет CS тоже думал, во время работы с памятью, общения с индикатором не будет, поэтому думаю что коллизий не должно быть.
Еще раз спасибо за консультации .
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
LCD Bolymin BC1602A & Atmega16
|
karsis |
Микроконтроллеры, АЦП, память и т.д |
1 |
13.12.2008 20:31 |
ATmega16+LCD плохая контрастность
|
Lockdog |
Микроконтроллеры, АЦП, память и т.д |
6 |
06.11.2008 09:04 |
ATmega16 в Proteus 6.9 SP3 Pro. не работает LCD на PORTC.
|
TiN_TM |
Микроконтроллеры, АЦП, память и т.д |
5 |
18.04.2007 12:37 |
ATMega16 + SD
|
melkij |
Микроконтроллеры, АЦП, память и т.д |
1 |
22.08.2006 08:01 |
atmega16
|
vas414 |
Микроконтроллеры, АЦП, память и т.д |
2 |
12.05.2006 00:10 |
Часовой пояс GMT +4, время: 07:41.
|
|