LCD (HD44780) к произвольным пинам

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

LCD (HD44780) к произвольным пинам

Сообщение Shaab » 10 сен 2008, 19:57

Нужно подлключить LCD на HD44780 (4 строки, 40 символов) к 8й меге по 4х-битному интерфейсу. Стандартные заготовки расчитаны на использование или фиксированных пинов или пинов в произвольном порядке, но в пределах одного порта. А у меня по схеме линии контроля висят на порту С, а данные на порту D (схема изменению не подлежит). Если можно, то подскажите как реализовать задуманное для Bascom'а. В гугле искал, не помогло. Заранее спасибо за ответ.
Shaab
 
Сообщения: 21
Зарегистрирован: 06 сен 2008, 12:33
Откуда: Москва

Re: LCD (HD44780) к произвольным пинам

Сообщение EdGull » 10 сен 2008, 20:03

1. город заполни
2. насколько я знаю, нельзя.

Добавлено спустя 2 минуты 41 секунду:
только если писать свою библу.
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: LCD (HD44780) к произвольным пинам

Сообщение Shaab » 10 сен 2008, 20:55

1) исполнено
2) я посмотрел готовые либы, они на АСМе написаны...а у меня с ним как-то не сложилось(( может у кого-то есть готовая? :wink:
Shaab
 
Сообщения: 21
Зарегистрирован: 06 сен 2008, 12:33
Откуда: Москва

Re: LCD (HD44780) к произвольным пинам

Сообщение Myp » 10 сен 2008, 21:02

наскока помню есть для CVAVR тут а форуме даже проскакивали
ктото из наших написал для себя на любые ноги

мб захотите тоже самое на баскоме написать
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: LCD (HD44780) к произвольным пинам

Сообщение Shaab » 10 сен 2008, 21:57

Для CVAVR я видел либу, сейчас ее изучаю)) Но мне бы хотелось все-таки для Баскома.
Я бы сам попробовал написать, да только до сих пор не выяснил как писать процедуры/функции в бейсике :oops: я его просто недавно "попробовал в деле" и смог осилить пока только довольно простые конструкции
Shaab
 
Сообщения: 21
Зарегистрирован: 06 сен 2008, 12:33
Откуда: Москва

Re: LCD (HD44780) к произвольным пинам

Сообщение Tracer » 10 сен 2008, 22:11

Попробуй ЭТО (под WinAVR)
Вложения
lcdlibrary.zip
(21.82 КиБ) Скачиваний: 58
Аватара пользователя
Tracer
 
Сообщения: 195
Зарегистрирован: 24 ноя 2004, 12:36
Откуда: Харьков

Re: LCD (HD44780) к произвольным пинам

Сообщение Shaab » 10 сен 2008, 23:37

Нечто похожее у меня есть, только это для Сей и однокристального дисплея, а у меня 2х-кристальный)
Не спорю, можно конечно дописать 2й enable, да только как я уже говорил, не дружу с АСМом :oops:
и все-таки хотелось бы либу для Васика, уж больно он удобен
Shaab
 
Сообщения: 21
Зарегистрирован: 06 сен 2008, 12:33
Откуда: Москва

Re: LCD (HD44780) к произвольным пинам

Сообщение K()X » 10 сен 2008, 23:45

Если в Баскоме, то попробуй вот так:
Config Lcdpin = Pin , Db4 = Porta.3 , Db5 = Porta.4 , Db6 = Porta.5 , Db7 = Porta.6 , E = Porta.1 , Rs = Porta.0
Вместо указанных портов подставь свои. Впринципе должно получится :)
Аватара пользователя
K()X
 
Сообщения: 25
Зарегистрирован: 10 сен 2008, 23:37
Откуда: Пенза.

Re: LCD (HD44780) к произвольным пинам

Сообщение Shaab » 10 сен 2008, 23:53

Слишком просто, но проверить стоит

Проверил, не работает...
Еще какие идеи есть?
Последний раз редактировалось Shaab 11 сен 2008, 00:00, всего редактировалось 1 раз.
Shaab
 
Сообщения: 21
Зарегистрирован: 06 сен 2008, 12:33
Откуда: Москва

Re: LCD (HD44780) к произвольным пинам

Сообщение K()X » 10 сен 2008, 23:56

У меня работает. :roll: Правда тока с портом A пробывал, но невижу препятствий чтобы настроить каждый pin на любой порт.
И после этой строки
конфигурируй тип дисплея, как обычно (строки, символы).
Аватара пользователя
K()X
 
Сообщения: 25
Зарегистрирован: 10 сен 2008, 23:37
Откуда: Пенза.

Re: LCD (HD44780) к произвольным пинам

Сообщение EdGull » 11 сен 2008, 07:21

речь о том что надо половину ног ЖКИ завести на порт А, а вторую на порт В.
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: LCD (HD44780) к произвольным пинам

Сообщение K()X » 11 сен 2008, 08:55

В хелпе баскома так и сделанно-половина на один порт, половина на другой. Так что должно работать. Точнее не вижу причин, чтобы не работало.
Аватара пользователя
K()X
 
Сообщения: 25
Зарегистрирован: 10 сен 2008, 23:37
Откуда: Пенза.

Re: LCD (HD44780) к произвольным пинам

Сообщение EdGull » 11 сен 2008, 08:58

действительно...

Код: Выделить всё
Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Portc.7 , Rs = Portc.6


Shaab от куда тогда вопросы?
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: LCD (HD44780) к произвольным пинам

Сообщение avr123.nm.ru » 11 сен 2008, 09:11

EdGull писал(а):Shaab от куда тогда вопросы?

Как обычно ... Вопросы из не читания документации.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: LCD (HD44780) к произвольным пинам

Сообщение Shaab » 11 сен 2008, 11:38

Вот код программы
Код: Выделить всё
$regfile = "m8def.dat"
$crystal = 12000000
'$sim


'in order for simulation to work correct, you need to specify the used pins
'for lcd4.lbx, the pins are fixed
'Rs = PortB.0
'RW = PortB.1        we dont use the R/W option of the LCD in this version so connect to ground
' E = PortB.2
'E2 = PortB.3        optional for lcd with 2 chips
'Db4 = PortB.4       the data bits must be in a nibble to save code
'Db5 = PortB.5
'Db6 = PortB.6
'Db7 = PortB.7

Config Lcdpin = Pin , Rs = Portd.3 , E = Portc.3 , E2 = Portc.4 , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7

Config Lcd = 40 * 4
Config Portc.2 = Output
Portc.2 = 0 / / притянул R / W к земле программно

Cls
Lcd "test"
Lowerline
Lcd "12345678"
Thirdline
Lcd "Line 3"
Fourthline
Lcd "Line 4"

End

чего тут неверно? у меня дисплей даже не инициализируется...
Shaab
 
Сообщения: 21
Зарегистрирован: 06 сен 2008, 12:33
Откуда: Москва

След.

Вернуться в Микроконтроллеры

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

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