... Всего-то подготовительная фаза к "выносным" индикационно-обрабатывающим "сомикроконтроллерам"... Правда там до комплекта еще кой-чего дособирать надо, но без излишних денюжкиных расходов и фанатизьму.
Продолжение жабодавной модернизации... Претерпели изменения схемки платок mcs51 и AVR40 - добавлен новый разъём и изменен бывший на линиях RxD/TxD на 14-ти контактный: архив shems Mcs52.spl7, AVR40.spl7 модуль на ПИКе претерпел вообще кардинальну переразборку : архив shems pic876a.spl7 отныне его назначение - периферийная "голова"... Соответственно добавились платки - расширители, аж три варианта: на одной из них установлены EEPROM 24C512 и датчик температуры/влажности DHT11 - архив shems expans_c.spl7 http://img.radiokot.ru/files/20529/i1yvkiykk.jpg ; вторая транзит с предустановленной панелькой под 2*24С512 - она же простое подключение кабеля с DS18B20 с подтягивающим резистором на линии данных ( если нету EEPROMок в панельке) - архив shems expans_d.spl7 и третья - "хитрый транзит" для светодиодных матриц с регфайлами и анодными ключами плюс коммуникационный транзит - архив shems expans_E.spl7 . Добавился в комплект кабло с датчиком DS18B20 на одном из концов архив shems ds18b20_wire.spl7 и фотки кабла http://img.radiokot.ru/files/20529/i1yvpkie4.jpg http://img.radiokot.ru/files/20529/i1yvqphaf.jpg. Причем предусматривается как непосредственное прямое подключение к выводам МК, так и подключение через ранее созданный адаптер (архив shems uLAN adapter.spl7). Добавились в комплект две ранее использовавшихся для отработки рекламных мигалок платки под 20-лапки для AT89C2051 архив shems flow_x8_2.jpeg http://img.radiokot.ru/files/20529/i1z4iz1a1.jpg и для ATtiny2313 архив shems tn2313.spl7 http://img.radiokot.ru/files/20529/i1z4jnj72.jpg они же предусматривают подключение регистрового файла как непосредственно, так и через комплекс переходников. Добавился простейший символьный 7-сегментный дисплейчик на 4 знакоместа архив shems testled_4x8.spl7 http://img.radiokot.ru/files/20529/i1z6sptqc.jpg . Также "на готове" схемка "удаленного" оптосимисторного ключика архив shems ключ_одиночный.jpeg. Вроде теперь можно и с программками побаловаться… собственно архивчик
В результате некоторой ленивой деятельности появилась видоизмененная схемка для макета с AT89S52(C52), оснащенная деморежимом присмотра текущей влажности и температуры с пристегнутой платки с датчиком DHT-11.
Вот так ноне выглядит сие устройство в сборе: http://img.radiokot.ru/files/20529/il5b9fo1r.jpg И переходник с DHT-11 с дополнительным джамперком поближе: http://img.radiokot.ru/files/20529/il5ba7ozk.jpg Температуру показывает в соответствии с ртутным термометром, насчет влажности – сложнее, нету с чем сравнить… Изменения претерпели и платки адаптеров (expans_C.lay и expans_d.lay в архиве – устранены ошибки). На платке расширения expsns_C появилась еще одна перемычка-джампер для подключения к свободному разъёму микроLAN адаптера с DS18B20 (на тот же разъём намечается и переходник связного адаптера – мож удастся сделать так, чтоб «не подрались»). Апетитус приходит с потреблением – попробую приладить внешний выносной датчик для совместного использования вместе с DHT-11. Ну и кой-чего дополнительного в режиме регулятора намутить. В последней версии программы t9.asm (
в архивчике в папочке «откомпилено» скомпилированные прошивки t9.bin и t9.hex – бинарный образ ПЗУ и интел HEX варианты) устранены некоторые «очепятки» и «сокрытие» окна менюшки календаря при «правой» прокрутке меню, хотя с другой стороны… та ошибка дает возможность ставить разные наборы «окон» на левую и правую прокрутки. Вобщем… пока устройство в стадии умысливания дальнейшего развития… Из ПЗУ захавано 6234 байта из 8192 возможных – в остатке еще 1958 байт, да и усушка/утруска пока особо не проводилась.
В процессе ленивых размышлений на тему «какую-бы пакость ещё удумать» для усложнения жисти программиста всплыла идея размещения части массива данных во внешнем EEPROM... Одначе туточки сразу повылазило некоторое количество «колючек». Допустим имеется два исходных текста: основной программы и области массивов
в которых обязательно повсплывают «перекрёстные ссылки»... Подставлять их вручную есть нерационально, тем более, что компилятор IDE может просто «далеко послать» такой исходник с заранее не определенными метками. Да и режим работы с внешней памятью данных в некоторых пределах поддерживают только компиляторы mcs51 (область XRAM/XSEG)… Создавать подобие DOS для применения в отношении 64-128 килобайт на основе 24С512 тоже вроде как-то некошерно... Вобщем пока стадия раздумий … а как бы сие приладить..??.. Мож кто-нибудь какую мыслю подкинет..?
В некоторых к.а. с *51-ым процессором доп."массивы данных" находятся в пзу-шках типа 24c** то есть в последовательных. Такой вариант подойдёт для проекта ?
_________________ < виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
Надысь попалась плата от к.а. с "двумями" 51-ыми .. "Атмельскими".. У йих тама "разделение труда" наблюдалося...
Так что несколько 51-ых , объединённых однопроводным ,"моноканалом" так сказать, вполне себе "уживутся" вместе (IMHO).
_________________ < виртуальная "кнопочка" >--( WWW ) <- Убедительная просьба интересующимся старыми компьютерами типа РК86 - не пишите в теме в барахолке, пишите Ваши вопросы в ( лс ) пожалуйста
То вариант "сетки", а здесь внешнее EEPROM данных. Т. е. исходная программа разделена на две части - одна собственно исполнимый код и размещена в целевом МК, а другая-таблицы векторов, строки данных и управляющих байтовых комбинаций, селекторных табличек, подтягиваемых по мере выполнения основной программы из внешней EEPROMки (притом, что ранее все те данные нерационально пожирали 2/3 ПЗУ проекта). И ещё... речь идет не о внутреннем EEPROM или расширенном ОЗУ данных, учитываемом во всех компиляторах, а именно о разделенном на две области физического размещения тексте одной программы с "параллельным" исполнением обеих фрагментов (не путать с секционированным ПЗУ одного исходника при последовательном исполнении каждой секции - как пример две пзушки 16 килобайт для программы с объёмом 32 кило - то для компилятора единая область CSEG/CODE, независимо внешним ПЗУ представлена или внутренним - лишь бы "перекрытия адресов" не случилось)... Хоша есть случаи разделяемого ОЗУ/ПЗУ программ-данных, но такая версия только для 51-й и в данный момент интереса не представляет - узкоспециализировано только для MCS51... А в моей задачке - внешний накопитель/источник не только данных, но и значений управляющих векторов для вычисляемых /программных переходов. О программном коде пока речь не идет, хоша тоже возможный случай (ежли иметь встроенный интерпритатор псевдокода и надлежащее быстродействие по перезагрузке сегментов исполнимого кода (подобие файла рисунка в http://radiokot.ru/cherdak/03/ , только "внешнего")... но... пока получить бы простую и относительно универсальную методу по подстановке значений ... да и сам бинарник для 24-й EEPROMки также скомпилить надобно (под "съедаемость" для icprog/winpic800)... Но там попроще - c51asm.exe с такой задачей спокохонько управляется, ежли все переменные в дополнительном дефайне указаны. Причем независимо к какому семейству потом полученную EEPROMку приладить понадобится. Возможно... создание условной сетки "сегментов" - условной опорной разметки массива EEPROM для последующей подстановки дефайном в целевой исходник, а затем обратный вариант для исходника массива... Но то задача весьма "трахотливая" и выполнима только в ручном режиме. Вот и гадаю... может я чего-то в работе компиляторов упустил, и желаемый эфект может быть получен более простым способом?
пока тестируется с дисплейчиком от касячего аппарата на тему "когда высадит акумулятор"...
В ходе копания с асмом выползло немного вопросов по теме "переназначение имен" для регистров РПД у ПИКушек и аналогичного головноболезного для предопределенных регистров у mcs51/avr. Чего получилось в "попытке трактовать "святое писание"" прицеплено тут:
не факт, что "абсолютно верно" - ежли кому чего возразить/добавить будет с удовольствием почитаю - просто где ни смотрел, подходящего материала так и не усмотрел (может смотрел не все и не так внимательно?)
Вроде как стабильно работает и от акумулятора, пока буду пытать на устойчивость. Обработчик ошибок предусмотрен, но недописан - в тесте пока не требуется. В исходнике интересно прописаный файл присвоения имен... Прицел на удаленную управляющую системку, пристежкой к базовому блочку на (пока) AT89S52...
Вот фотка того тест-термометра в собранно-смотанном виде: http://img.radiokot.ru/files/20529/kjmicvkxi.jpg дисплейчик держал изображение (сохранял контраст сегментов) в диапазоне питания схемки от 5 до 3,0 вольт.
В результате теоретических разборок с алгоритмами формирования CRC по просмотру файлика mlan_3a.txt обнаружена досадная ошибка (в дэмоверсии проекта pic16f676prj я контроль ответа датчика и контроль CRC не задействовал - вот и проскочило). Добавлен один промежуточный регистр m_tmp в def_uim.txt файл (указано в шапке) и некоторое отличие в части текста mlan_3a.txt от метки l_crc2.
Добавлена защита при "обрыве" (отсутствие ответа датчика при запросе), при КЗ выхода (постоянный 0 на линии данных датчика) и включен контроль CRC. На практике проверил обрыв/КЗ, ошибочное CRC симулятором не гонял - если б появилось, то в реале на макете мгновенная блокировка с соответствующим отображением имела бы место... НО не проверено практикой... пока работает...на прокрутку в симуляторе терпения не хватило... Ну и соответственно в схему добавился "волшебный джампер" для снятия блокировки после устранения аварийных условий (схемка в архиве с исходниками). Исходник не оптимизирован, несколько "перемешан" - возможно далее при развитии задач поутрушу.
Кстати... Схемка - не догма, индикатор на ЖКИ просто более экономичен, на светодиодном пару недель от акума с мобилки явно не проработает. Но... кому чего удобнее и "ближе к лапам":
там некоторые коррективы относительно самого модуля обслуживания дисплея и знакогенератора с перераспределением буфера вывода переписать надо... И отдельно разговор о "полном имитаторе" ЖКИ на светиках - это самостоятельная конструкция.
Размер сегментов дисплея не ограничен. Минимальная конфигурация 4 позиции. Номинальная 4 строки по 8 позиций (несколько измененная схема с регистровым файл-расширителем). Максимум ... на сколько интереса будет - светики тоже не дешовое удовольствие. Для начала очередная цель прицепить туды канал связи и сцепить с компом и/или тем индикативным термометром на пичке или внешней мордой на базовом блоке...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения