Технический форум по робототехнике.
Shaab » 10 сен 2008, 19:57
Нужно подлключить LCD на HD44780 (4 строки, 40 символов) к 8й меге по 4х-битному интерфейсу. Стандартные заготовки расчитаны на использование или фиксированных пинов или пинов в произвольном порядке, но в пределах одного порта. А у меня по схеме линии контроля висят на порту С, а данные на порту D (схема изменению не подлежит). Если можно, то подскажите как реализовать задуманное для Bascom'а. В гугле искал, не помогло. Заранее спасибо за ответ.
EdGull » 10 сен 2008, 20:03
1. город заполни
2. насколько я знаю, нельзя.
Добавлено спустя 2 минуты 41 секунду:
только если писать свою библу.
Shaab » 10 сен 2008, 20:55
1) исполнено
2) я посмотрел готовые либы, они на АСМе написаны...а у меня с ним как-то не сложилось(( может у кого-то есть готовая?

Myp » 10 сен 2008, 21:02
наскока помню есть для CVAVR тут а форуме даже проскакивали
ктото из наших написал для себя на любые ноги
мб захотите тоже самое на баскоме написать
Shaab » 10 сен 2008, 21:57
Для CVAVR я видел либу, сейчас ее изучаю)) Но мне бы хотелось все-таки для Баскома.
Я бы сам попробовал написать, да только до сих пор не выяснил как писать процедуры/функции в бейсике

я его просто недавно "попробовал в деле" и смог осилить пока только довольно простые конструкции
Tracer » 10 сен 2008, 22:11
Попробуй ЭТО (под WinAVR)
- Вложения
-
lcdlibrary.zip
- (21.82 КиБ) Скачиваний: 58
Shaab » 10 сен 2008, 23:37
Нечто похожее у меня есть, только это для Сей и однокристального дисплея, а у меня 2х-кристальный)
Не спорю, можно конечно дописать 2й enable, да только как я уже говорил, не дружу с АСМом
и все-таки хотелось бы либу для Васика, уж больно он удобен
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 Вместо указанных портов подставь свои. Впринципе должно получится

Shaab » 10 сен 2008, 23:53
Слишком просто, но проверить стоит
Проверил, не работает...
Еще какие идеи есть?
Последний раз редактировалось
Shaab 11 сен 2008, 00:00, всего редактировалось 1 раз.
K()X » 10 сен 2008, 23:56
У меня работает.

Правда тока с портом A пробывал, но невижу препятствий чтобы настроить каждый pin на любой порт.
И после этой строки
конфигурируй тип дисплея, как обычно (строки, символы).
EdGull » 11 сен 2008, 07:21
речь о том что надо половину ног ЖКИ завести на порт А, а вторую на порт В.
K()X » 11 сен 2008, 08:55
В хелпе баскома так и сделанно-половина на один порт, половина на другой. Так что должно работать. Точнее не вижу причин, чтобы не работало.
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 от куда тогда вопросы?
avr123.nm.ru » 11 сен 2008, 09:11
EdGull писал(а):Shaab от куда тогда вопросы?
Как обычно ... Вопросы из не читания документации.
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
чего тут неверно? у меня дисплей даже не инициализируется...