Перейти к содержимому


Универсальный контроллер с встроенным интерпретатором БЕЙСИК

Написано alexandergb

MCS-51 BASIC контроллер
Универсальный контроллер с встроенным интерпретатором БЕЙСИК Предлагаю 2 варианта однокристального контроллера со встроенным интерпретатором БЕЙСИК. В основе либо
1) ADuC842 (5V) - первый вариант,
2) AT89C51RE2 - второй вариант.

Оба варианта имеют встроенный интерпретатор БЕЙСИК, большей частью команд синтаксически совместимый с версией БЕЙСИКа для 8052 фирмы INTEL (1985 г) версии 1.1.
(см. описание прототипа языка - английский оригинал во вложении Basic52Manual.pdf).
Однако, имеются и отличия.
Первая группа отличий связана с расширением функций портов.
Так первый вариант имеет возможность чтения байта из любого из портов Р0 … Р3, аналого-цифрового преобразования любой из линий порта Р1, запись байта в любой из портов Р0, Р2, Р3 и цифроаналогового преобразования двух независимых ЦАП. Особенности архитектуры позволяют конфигурировать устройства с различным количеством входов и выходов программным способом.
Второй вариант имеет только цифровые входы и выходы - порты Р0..Р3, 2 линии Р6.
Сюда также относятся отличия связанные с другими отличиями архитектуры микроконтроллеров от "классического" 8052.
Вторая группа отличий - новые операторы, позволяющие записывать в энергонезависимое ЗУ пользовательские программы и данные, считывать их во время работы, автоматически загружать и/или исполнять любую из 9 сохраненных программ, а также осуществлять копирование/загрузку/отладку/сохранение на диске РС программ при помощи специально написанного приложения Basic Assistant.
Это приложение позволяет также наблюдать и управлять линиями портов во время отладки.


Третья группа отличий связана с изменением синтаксиса некоторых операторов, исключения некоторых операторов, в которых по моему мнению утрачена необходимость (печать на последовательный принтер, прерывание, программирование УФ РПЗУ, формирование звука и т.п.).

Первый вариант позволяет размещать программы объемом до 1,5К (во внутреннем представлении после токенизации). Это примерно соответствует 50-100 строк.
Второй - около 7,5К, что позволяет реализовать весьма сложные алгоритмы (например играть в шашки).
Однако, благодаря простоте, удобству и компактности языка, даже первый вариант
позволяет создавать весьма функциональные устройства (например, он опробован для автоматизации рабочих мест для сборки и контроля автомобильных пучков на промышленном предприятии).

Кроме того, разработам микротерминал (RS232) с ограниченным числом клавиш, позволяющий прямо на обьекте вносить изменения в программу/данные. Микротерминал содержит 8 строк по 22 символа, возможность ввода / вывода алфавитно-цифровых символов, зарезервированных ключевых слов БЕЙСИКа, а также однострочный встроенный редактор.
Оба варианта несравненно превосходят известные популярные разработки TinyBasic для контроллеров AVR фирмы Atmel, однако сильно уступают контроллерам Micromite (PIC32) см. http://geoffg.net/maximite.html


На основе однокристальных микроконтроллеров были построены контроллеры с конфигурацией 16 входов / 16 выходов, совместимых по уровням (+24В) с промышленными контроллерами.
Фото в документе Ознакомление.pdf .

Заинтересовавшихся прошу обращаться в личку
ag.b@mail.ru.

Прикрепленные файлы

  • Прикрепленный файл  Basic52Manual.pdf (776.59К)
  • Прикрепленный файл  Ознакомление.pdf (545.62К)