roboforum.ru

Технический форум по робототехнике.

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

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

Shaab » 10 сен 2008, 19:57

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

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

EdGull » 10 сен 2008, 20:03

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

Добавлено спустя 2 минуты 41 секунду:
только если писать свою библу.

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

Shaab » 10 сен 2008, 20:55

1) исполнено
2) я посмотрел готовые либы, они на АСМе написаны...а у меня с ним как-то не сложилось(( может у кого-то есть готовая? :wink:

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

Myp » 10 сен 2008, 21:02

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

мб захотите тоже самое на баскоме написать

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

Shaab » 10 сен 2008, 21:57

Для CVAVR я видел либу, сейчас ее изучаю)) Но мне бы хотелось все-таки для Баскома.
Я бы сам попробовал написать, да только до сих пор не выяснил как писать процедуры/функции в бейсике :oops: я его просто недавно "попробовал в деле" и смог осилить пока только довольно простые конструкции

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

Tracer » 10 сен 2008, 22:11

Попробуй ЭТО (под WinAVR)
Вложения
lcdlibrary.zip
(21.82 КиБ) Скачиваний: 58

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

Shaab » 10 сен 2008, 23:37

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

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
Вместо указанных портов подставь свои. Впринципе должно получится :)

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

Shaab » 10 сен 2008, 23:53

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

Проверил, не работает...
Еще какие идеи есть?
Последний раз редактировалось Shaab 11 сен 2008, 00:00, всего редактировалось 1 раз.

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

K()X » 10 сен 2008, 23:56

У меня работает. :roll: Правда тока с портом A пробывал, но невижу препятствий чтобы настроить каждый pin на любой порт.
И после этой строки
конфигурируй тип дисплея, как обычно (строки, символы).

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

EdGull » 11 сен 2008, 07:21

речь о том что надо половину ног ЖКИ завести на порт А, а вторую на порт В.

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

K()X » 11 сен 2008, 08:55

В хелпе баскома так и сделанно-половина на один порт, половина на другой. Так что должно работать. Точнее не вижу причин, чтобы не работало.

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 от куда тогда вопросы?

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

avr123.nm.ru » 11 сен 2008, 09:11

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

Как обычно ... Вопросы из не читания документации.

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

чего тут неверно? у меня дисплей даже не инициализируется...


cron
Rambler\'s Top100 Mail.ru counter