Заголовок сообщения: Подключение LCD 16x2 на шину данных к 8051+EEPROM (Bascom).
Добавлено: Вс ноя 12, 2017 18:42:34
Встал на лапы
Зарегистрирован: Пн мар 31, 2014 22:11:00 Сообщений: 136
Рейтинг сообщения:0
В интернете почти ничего не нашел по этой теме. Потратил несколько дней. Своих знаний не хватает. Есть стандартный дисплей 16х2 типа 1602 итд. Есть камень 80С51 (80С52) совместимый + 27С512 через защелку 74HC573 ( плата от старой кассы). Куда подключать D0-D7 вроде как понятно. А вот куда RS,E, RW - НУ СОВСЕМ НИКАК((. В Bascom предлагается вот такой код:
Код:
Config Lcd = 16 * 2 Config Lcdbus = 8 $lcd = &HC000 'writing to this address will make the E line of the LCD high $lcdrs = &H8000 Lcd "Hello world" End
Что это за адреса? Откуда они берутся??? Как в итоге подключить дисплей, чтобы он отображал текст?
Это адреса, записанные шестнадцатиричными цифрами, а поелику по четыре hex-цифры, то определены 16бит адреса . Они берутся из текста программы, который Вы изволили привести. ( в тексте они появляются при наборе оного программистом )
Если Вам сие непонятно, то разъяснить далее не получится никак, ибо выйдет объяснение непонятного через другое непонятное. Пожалуйста детализируйте уровень Вашего понимания и более развёрнуто что именно Вам непонятно, тогда будет возможно Вам помочь.
_________________ < виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
.. RS дисплея я соединяю с 39 контактом МК (AD0). .. .. Сигнал E дисплея соединяю с сигналом A15 (ну или A13, судя по адресу A000??)
RW - GND ..
А почему Вам показалось ,что так надо соединять ? ( У меня тоже есть трудности с пониманием аглицкой мовы, но я прогоняю через разные переводчики, далее пытаюсь понять на основании сопоставления с описаниями и.м.с. ,имеющихся в нормальном переводе и здравого смысла ) То есть Вы не поняли что такое енти самые "RS" , "E" и "RW" - так ?
_________________ < виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Заголовок сообщения: Re: Подключение LCD 16x2 на шину данных к 8051+EEPROM (Basco
Добавлено: Вс ноя 12, 2017 20:59:02
Встал на лапы
Зарегистрирован: Пн мар 31, 2014 22:11:00 Сообщений: 136
Рейтинг сообщения:0
The RS line of the LCD must be connected to the address line A0. Ну это из описания. RW - GND. Как в варианте с 4 pin. Установка адреса А000 поднимает сигнал Е на дисплее в высокий уровень. Ну и я уже некоторые схемы посмотрел в гугле. Откуда дым? Пока в симуляторе всё. Да, куда их подключать? Хотя бы судя по официальному описанию.
.. RS line of the LCD must be connected to the address line A0. Ну это из описания ..
Надо разобраться с линией RS C "RW" всё ясно - в дисплейчик всегда только запись, никогда чтение не производится. С "E" тоже ясно - для экономии на деширации берут A1510 и дисплейчик занимает верхние 32k адресного пространства в.п.д. , но ( ! ) обязательно посмотрите в какой части в.п.п. Вы при этом подключили п.з.у. в.п.п. ( как правильно подключить п.з.у. в.п.п. посмотрите например вот там : digteh.ru/MCS51/pam_cntr.php -рис.1 )
_________________ < виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Заголовок сообщения: Re: Подключение LCD 16x2 на шину данных к 8051+EEPROM (Basco
Добавлено: Пн ноя 13, 2017 02:28:02
Встал на лапы
Зарегистрирован: Пн мар 31, 2014 22:11:00 Сообщений: 136
Рейтинг сообщения:0
В итоге вот это заработало: E пришлось бросить на WR ( 16 нога МК). Методом тыка ((. RS - нога 21 МК. RW - GND
Config Lcd = 16 * 2 Config Lcdbus = 8 $lcd = &H8000 (что теперь делает эта команда, кроме как переводит в режим 8 бит??) $lcdrs = &H0100 (это RS на А8 нога 21 МК) Lcd "HELLO LCD" End
По даташит с сигналом Е на адресной шине не заработало. Символы отображались через один или вообще произвольно из строки.
А если второй дисплей вешать, то им управлять через другой RS?
PS Проверил в железе. Надпись выводится. Жаль, что сигнал Е можно только так криво подключить... Странно, что по официальному описанию не заработало.
.. Методом тыка .. .. .. Жаль, что сигнал Е можно только так криво подключить ..
Жаль другое - что "метод тыка" без попыток осознать что и к чему и без изучения "матчасти" .
А сигнал "Е" можно не только "так криво" - можно и правильно. Но для этого п.з.у. в.п.п. надо сначала правильно подключить ( как - уже сказал где посмотреть, да почитайте что такое сигнал "PSEN" и зачем он нужен. ) Сигнал "RS" Вы подключили на младший бит старшего байта адреса , то есть на бит№8 - таким образом дисплейчик занял все нечётные 256-и-байтные блоки адресного пространства в.п.д.
_________________ < виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Заголовок сообщения: Re: Подключение LCD 16x2 на шину данных к 8051+EEPROM (Basco
Добавлено: Вт ноя 14, 2017 03:57:40
Встал на лапы
Зарегистрирован: Пн мар 31, 2014 22:11:00 Сообщений: 136
Рейтинг сообщения:0
Подключено вот так, как на скриншоте. Это почти копия подключения платы от кассы. Может оно и не правильно... Только там Е подключен на 15 ногу МК. И это, видимо, совсем нереально сделать. PSEN как по Вашей ссылке подключен.
Больше, чем это я не понимаю. А по описанию из Bascom с сигналом Е не получилось.
По описанию работы сигналов LCD, сигнал Е, вообще имеет низкий уровень изначально. В то же время сигнал WR ( который в качестве Е и от которого LCD заработало) имеет изначально высокий уровень. Это мне тоже не понятно. Или вот, например, захотел я сделать управление LCD своими средствами... а как записывать в порт P0 свои данные, когда этот порт постоянно общается с ПЗУ? Простая запись в порт типа P0=&Bxxxxxxxx + доп сигналы (RS,E) с других портов ничего не дает. Во время подачи этих сигналов на шине уже не то, что я там выставляю.
=== Попытался понять еще раз про сигнал PSEN. Есть подозрение, что в одном случае адресное пространство задается как все сразу, которое есть, а в другом случае ровно столько, сколько занимает программа в ПЗУ и дальше адреса свободны. В коммутации второй вариант это PSEN на 20 и 22 ногу ПЗУ одновременно? В симуляторе это ничего не дало. Цифры 1234567890 печатаются, как и раньше 13579, если Е висит на А15. Судя по схемам сигнал PSEN подключается на 22 ногу ПЗУ и все. А что с ним еще можно сделать?
Заголовок сообщения: Re: Подключение LCD 16x2 на шину данных к 8051+EEPROM (Basco
Добавлено: Чт ноя 16, 2017 19:47:35
Встал на лапы
Зарегистрирован: Пн мар 31, 2014 22:11:00 Сообщений: 136
Рейтинг сообщения:0
Цитата из книги про BASCOM Кулиша М.Л. "Линия «E» индикатора подключается через инвертор к линии процессора «Wr»(P3.6). Линия «RS» подключается к формирователю адреса A0 (регистру, защелкиваемому сигналом ALE). Линия «RW» индикатора заземляется, т.к. чтение из индикатора не производится"
Значит, решение в BASCOM может быть только таким. Правда вот сигнал Е работает и без инвертора. Проверил в железе. Осталось непонятным, можно ли повесить на шину еще что-то? Например, еще одну 8 битную защелку в качестве порта. Ведь при каждой записи WR индикатор может ловить мусор с шины.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения