Подключение MT-10t7 к МК atmega8 |
oleg-him | Дата: Понедельник, 20.12.2010, 17:52 | Сообщение # 11 |
Группа: Пользователи
Сообщений: 27
Статус: Offline
|
спасибо! всё нормально откомпилировалось, а цеплять блок индикации куда? как по схеме основной? PD4, PB2, PB5.
| |
|
|
|
eugenemcu | Дата: Понедельник, 20.12.2010, 18:00 | Сообщение # 12 |
Группа: Администраторы
Сообщений: 104
Статус: Offline
|
Я полагал, что у Вас ужё припаяно Да... давайте ка по имеющейся схеме. Только почему PD4, PB2, PB5? Я вижу: PB3 - MOSI, PB5 - SCK, PD5 - CS_LCD. Сигналы MOSI и SCK - это выход данных и синхронизации интерфейса SPI микроконтроллера (прямого отношения к ЖК не имеют, заливают данные в сдвиговый регистр).
| |
|
|
|
oleg-him | Дата: Понедельник, 20.12.2010, 18:25 | Сообщение # 13 |
Группа: Пользователи
Сообщений: 27
Статус: Offline
|
было припаяно, но я от основной схемы оторвал и к макетке приделал, так удобнее:)) да, точно, PB3 - MOSI, PB5 - SCK, PD5 - CS_LCD что-то я окосел совсем..или паяльный дым так торкает. сейчас по даташитам посмотрел, так и не понял какое напряжение на 595 будет соответствовать лог 0 или лог1. на вскидку лог1 где-то около 5 вольт. .лог 0 соответственно около 0.... наверное
| |
|
|
|
eugenemcu | Дата: Понедельник, 20.12.2010, 18:36 | Сообщение # 14 |
Группа: Администраторы
Сообщений: 104
Статус: Offline
|
Сейчас почти все цифровые микросхемы делаются по технологии КМОП в том числе серия HC. Для них всё что ниже 30% от напряжения питания на входах - суть ноль и всё что выше 70% - единица. Напряжения между 30 до 70% лучше не подавать войдут в линейный режим и будут греться. ATmega тоже КМОП-овская выдаёт лог. 0 - 0В, лог. 1 - напряжение питания, в нашем случае 5В.
| |
|
|
|
oleg-him | Дата: Понедельник, 20.12.2010, 19:07 | Сообщение # 15 |
Группа: Пользователи
Сообщений: 27
Статус: Offline
|
все выходы по нулям..... вроде всё правильно припаял, проверил
| |
|
|
|
eugenemcu | Дата: Понедельник, 20.12.2010, 19:17 | Сообщение # 16 |
Группа: Администраторы
Сообщений: 104
Статус: Offline
|
Престранно! Проверим запускается ли МК? Вставьте после строки InitAll(); Code while (1) { PORTD |=(1<<CS_LCD); DELAY_MS (5000); PORTD&=~(1<<CS_LCD); DELAY_MS (5000); } Должен дрыгать ногой CS_LCD с периодом 10 секунд. И ещё кое-что щас точнее скажу...
| |
|
|
|
eugenemcu | Дата: Понедельник, 20.12.2010, 19:29 | Сообщение # 17 |
Группа: Администраторы
Сообщений: 104
Статус: Offline
|
И ещё... есть такой вход у SPI - SS (вывод PB2 у меги8), может ловить помеху и стопорить передачу. Установил его как выход и записал единицу. Обновите проект и попробуйте ещё раз: http://eugenemcu.ru/forum_files/mt_10t7_v1.rar Надеюсь он у вас никуда не припаян, на нём не должно быть нуля во время передачи по SPI.
| |
|
|
|
eugenemcu | Дата: Понедельник, 20.12.2010, 19:54 | Сообщение # 18 |
Группа: Администраторы
Сообщений: 104
Статус: Offline
|
Замените проект. Я сделал передачу 0x55 в цикле каждую секунду. http://eugenemcu.ru/forum_files/mt_10t7_v1.rar
| |
|
|
|
oleg-him | Дата: Понедельник, 20.12.2010, 19:56 | Сообщение # 19 |
Группа: Пользователи
Сообщений: 27
Статус: Offline
|
последний код нормально работает! 0101010 как в аптеке))
| |
|
|
|
eugenemcu | Дата: Понедельник, 20.12.2010, 20:03 | Сообщение # 20 |
Группа: Администраторы
Сообщений: 104
Статус: Offline
|
Так... Нулевой разряд на выводе 15 должен быть 1, далее выводы 1...7 должны быть 0101010. То есть без сдвигов лишних. Можете пока проиграться... вместо SPDR=0x55; SPDR=0xF0 - должны быть выводы 4...7 в единице, остальные в нулях. Далее напишу вывод цифири в ЖК в виде простой последовательности в цикле с задержками, потом переделаем по-взрослому в виде специальной функции для записи по нужному адресу.
| |
|
|