Atmega + LCD 40x4

Обсуждаем контроллеры компании Atmel.
Ответить
Аватара пользователя
Mon
Встал на лапы
Сообщения: 92
Зарегистрирован: Вс авг 21, 2011 23:12:37
Откуда: Харьков

Atmega + LCD 40x4

Сообщение Mon »

Прошу совета.
Есть atmega8, на порту B которой висит кварц.
Есть LCD 40x04 (KS0066 двухчиповый), который при имеющейся трассировки висит на ногах:
PD4 - PC0
PD5 - PC1
PD6 - PC2
PD7 - PC3
RW - PC4
RS - PC5
E1 - PD2
E2 - PD3

В СVAVR есть библиотека для подключения дисплея, но привязывается полностью к порту, а не к отдельным выводам МК, типа:
#

Код: Выделить всё

asm
   .equ __lcd_port=0x12 ;PORTB
#endasm


Вопрос есть ли библиотека, которая позволит настроится на подключения к разным выводам МК?
Будет ли работать, если ЛСД и кварц будут висеть на одном порту?
Или всё-таки тулить МК с большим количеством выводов и пользоваться стандартными средствами CVAVR?
выше головы не прыгнешь - ниже зад**цы не сядешь.
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

Re: Atmega + LCD 40x4

Сообщение AndTer »

Зачем плодить одинаковые сообщения? Там же уже началось обсуждение...
viewtopic.php?f=57&t=5560&p=3030671#p3030671
Глупый не задает вопросы. Глупый и так все знает.
Аватара пользователя
Mon
Встал на лапы
Сообщения: 92
Зарегистрирован: Вс авг 21, 2011 23:12:37
Откуда: Харьков

Re: Atmega + LCD 40x4

Сообщение Mon »

Решил, что мой задать вопрос в теме по CVAVR было некорректно с моей стороны по причине, что даже модератор не может ответить... (это не претензия к модератору, считаю, что не в ту тему написал)
выше головы не прыгнешь - ниже зад**цы не сядешь.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Atmega + LCD 40x4

Сообщение Аlex »

Могли бы попросить - я перенёс бы сообщения.
Ту тему почистил.
pokk
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Re: Atmega + LCD 40x4

Сообщение pokk »

Wizard в CVAVR вроде как позволяет указывать используемые выводы, правда сам им не когда не пользовался.
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Atmega + LCD 40x4

Сообщение pyzhman »

pokk писал(а):...вроде как позволяет...

Не позволяет. Всё жёстко привязано к одному из выбранных портов.

upd.
см. ниже -
viewtopic.php?p=3031751#p3031751
Последний раз редактировалось pyzhman Вт мар 07, 2017 07:45:06, всего редактировалось 1 раз.
Docendo discimus
Alkul
Держит паяльник хвостом
Сообщения: 933
Зарегистрирован: Ср апр 13, 2011 11:09:20
Откуда: Екатеринбург

Re: Atmega + LCD 40x4

Сообщение Alkul »

Mon писал(а):Вопрос есть ли библиотека, которая позволит настроится на подключения к разным выводам МК?

Что мешает её написать, если она Вам нужна?
Mon писал(а):Будет ли работать, если ЛСД и кварц будут висеть на одном порту?

Когда МК настроен на работу с внешним кварцем, это уже не выводы PB6, PB7 порта B, это выводы XTAL1, XTAL2. И, вообще говоря, если библиотека написана грамотно, она не затрагивает свободные линии порта, даже если использует часть линий этого порта.
Mon писал(а):Или всё-таки тулить МК с большим количеством выводов и пользоваться стандартными средствами CVAVR?

Можно и так. А можно, чуть подумав, поменять в библиотеке запись

Код: Выделить всё

__lcd_port=0x12 ;PORTB

на записи (если Вам надо подключиться по указанной Вами "имеющейся трассировке"),

Код: Выделить всё

__lcd_portc=0x15 ;PORTC
__lcd_portd=0x12 ;PORTD

после чего найти в библиотеке те места, где происходит изменение состояний линий управления LCD и там, где идет изменение состояния выводов E1 и Е2, подставить имя __lcd_portd, а в остальных местах написать __lcd_portc.

Кстати, в приведенном Вами отрывке кода из библиотеки ошибка. Или она не для ATMega8, так как у ATMega8 адрес 0x12 - это регистр PORTD. А коль скоро нашлась одна нестыковка, то их может быть и несколько. Если библиотека для другого МК, то её надо ВСЮ проверять на предмет соответствия именно с ATMega8.
Нельзя бездумно копировать, надо и мозги подключать. Вы вот в форум пишете, значит, интернет есть. Что мешает даташит на МК скачать и сравнить все?
pokk
Вымогатель припоя
Сообщения: 574
Зарегистрирован: Вт ноя 02, 2010 17:46:37

Re: Atmega + LCD 40x4

Сообщение pokk »

Не позволяет. Всё жёстко привязано к одному из выбранных портов.

А это тогда что такое ? CVAVR версии 2.05
Изображение
Вложения
Wizard.png
(39.95 КБ) 498 скачиваний
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Atmega + LCD 40x4

Сообщение pyzhman »

Не знал. Спасибо за инфу.
Docendo discimus
Аватара пользователя
Mon
Встал на лапы
Сообщения: 92
Зарегистрирован: Вс авг 21, 2011 23:12:37
Откуда: Харьков

Re: Atmega + LCD 40x4

Сообщение Mon »

За инфу спасибо.
По поводу ошибки, это пример из библиотеки был выбран. Ещё не писалось ничего.
В wizard пересмотрю, есть ли у него выбор ноги для e2.
За написание или редактирование библиотеки - увы опыт не тот, буду крайне долго отлаживать.
выше головы не прыгнешь - ниже зад**цы не сядешь.
Аватара пользователя
Mon
Встал на лапы
Сообщения: 92
Зарегистрирован: Вс авг 21, 2011 23:12:37
Откуда: Харьков

Re: Atmega + LCD 40x4

Сообщение Mon »

Alkul писал(а):после чего найти в библиотеке те места, где происходит изменение состояний линий управления LCD и там, где идет изменение состояния выводов E1 и Е2, подставить имя __lcd_portd, а в остальных местах написать __lcd_portc.

Где-то так и предполагал. Попробую - отпишусь или кину кусок библы для проверки, если косяки вылезут.

Mon писал(а):В wizard пересмотрю, есть ли у него выбор ноги для e2.

Wizard позволяет подключить только один одночиповый дисплей.

Если интересно, пока что вот такой вариант по плате (приложен файл).
Затея - БК для авто с ЭБУ с общением по протоколу iso 14230 kwp2000.

Добавлено after 2 hours 32 minutes 10 seconds:
Пока что, чтобы поиграться, включил как по инструкции к библиотеке =)
может ли кто-нибудь прокомментировать почему так выходит?
Версия протеуса 7.7

Код: Выделить всё

lcd_gotoxy(0,0);
            lcd_puts("0123456789012345678901234567890123456789");
            lcd_gotoxy(0,1);
            lcd_puts("0000011111222223333344444555556666677777");   
            lcd_gotoxy(0,2);
            lcd_puts("9999988888777776666655555444443333322222");
            lcd_gotoxy(0,3);
            lcd_puts("9876543210987654321098765432109876543210");


Чувствую себя бараном, но походу проще будет перетрассировать плату под 16-ю мегу, чем библиотеку допилить под разные выводы дисплея.
Вложения
1.JPG
(27.82 КБ) 311 скачиваний
кнопочная панель.lay
(660.97 КБ) 465 скачиваний
выше головы не прыгнешь - ниже зад**цы не сядешь.
Ответить

Вернуться в «AVR»