Смекни!
smekni.com

Контроллеры (стр. 2 из 12)

Все языки программирования условно можно разделить на три уровня:

- машинный код;

- автокод (язык ассемблера);

- языки высокого уровня (процедурные языки - BASIC, FORTRAN, PASCAL, C, MODULA-2, ADA; и языки исскуственного интеллекта - LISP, PROLOG, SMALLTALK, OCCAM).

Машинно-ориентированные языки

Более понятные для ЭВМ - это так называемые машинно-ориентированные языки (машинный код и язык ассемблера). Более понятные для человека именуют языками высокого уровня.

Программное обеспечение на машинно-ориентированном языке экономично в эксплуатации, однако сравнительно высокая трудоемкость и длительность разработки программного обеспечения обуславливают преимущественное применение их для создания и развития программного обеспечения драйверов и операционных систем с целью наилучшего использования аппаратных особенностей каждой конкретной ЭВМ.

Языки высокого уровня

Алгоритмические языки (языки программирования высокого

уровня общего назначения) являются машинно-независимыми,

позволяют создавать компактные обозримые программы при относительно небольших затратах времени и труда программистов. Разработка программ значительно упрощается при использовании языков высокого уровня в качестве языков программирования. Однако при этом снижается эффективность программ по быстродействию и затратам памяти в сравнении с применением языка ассемблера. Но этот недостаток с лихвой перекрывается четкостью и легкостью написания программы.

Языки высокого уровня в свою очередь подразделяются на

языки процедурного (или императивного) и эвристического

(декларативного) стиля программирования (языки исскуственного интеллекта). Наиболее популярные языки программирования

ПЭВМ высокого уровня приведены в таблице 1.2.

Таблица 1.2.

Язык Год разработки Разработчик Основное применение
FORTRAN 1954 Дж. Бэкус (США) Математические расчеты, научные исследования
BASIC 1965 Дж. Кенеми (США) Обучение, тестовые программы
PASCAL 1971 Н.Вирт (Швейцария) Обучение, широкое применение
C 1972 Д.М.Ричи (США) Системное программирование
MODULA-2 1981 Н.Вирт (Швейцария) Разработка больших программных комплексов
LISP 1960 Дж. Маккарти (США) Системы искусственного интеллекта
PROLOG 1971 А.Колмедауэр (Франция) Принятие решений, логический вывод
SMALLTALK Середина 1970-х А.КейАнглия) Системы диалога со средствами машинной графики
OCCAM Начало 1980-х Фирма INMOS(Англия) Системы с параллельными процессами

Кроме того, в настоящее время появились языки так называемого 4-го поколения - это языки СУБД, электронных таблиц, интегрированных систем и т.д., которые предназначены для решения узкого круга задач прикладного характера (например, обработка баз данных), но зато еще больше, по сравнению с языками общего назначения, снижают затраты времени и труда на создание выходного продукта.

Специализированные языки.

Опыт применения ПЭВМ для построения прикладных систем обработки данных показывает, что самым эффективным инструментом создания контроллера являются не универсальные языки высокого уровня, а узкоспециализированные языки - как правило языки высокого манипулирования с особенностями микропроцессора. Характеристики контроллера при этом определяются, прежде всего, принятой в

организацией данных и типом используемого транслятора.

Системы управления контроллера - это программный продукт, обеспечивающий хранение, обновление и выборку информации, представленной в формализованном виде на различных носителях.

Существует множество контроллеров, представляемых различными

производителями. Наибольшее распространение получили контроллеры на основе микрокомплекта 8051. Наибольшую популярность среди них имеет микроконтроллер фирмы INTEL 8051.

С-51

ICC8051 поддерживает не только 8051 (КР1816ВЕ51), но и все другие микро-ЭВМ, использующие ту же основную архитектуру и систему команд (8032, 8044, 80515, 80525 и т.д.). Может потребоваться только изменение объявлений регистров специального назначения и портов ввода/вывода.

Особенности ICC8051 V.4.00:

- два режима компиляции: стандарт ANSI и стандарт ANSI + расширение языка для 8051

- Шесть моделей памяти, обеспечивающих поддержку любых задач, от совсем простых до сложных систем, использующих переключение банков памяти

- Дополнительный атрибут для переменных, определяющий тип памяти размещения: DATA, IDATA, XDATA или CODE

- Статическое размещение локальных переменных позволяет сгенерировать компактный и быстрый код

- Переменные типа SFR (регистр специального назначения) и BIT

(прямоадресуемые биты) могут объявляться и использоваться как стандартные типы данных в языке Си

- Возможность написания на Си функций-обработчиков прерываний (включая определение векторов прерываний) без использования ассемблера

- Поставляемые вместе с компилятором обьявления SFR и BIT, специфичных для каждого члена семейства кристаллов 8051.

Компилятор Си ICC8051 поддерживает все основные элементы языка Си в стандарте ANSI. Переменные располагаются в памяти, начиная со старшего байта и заканчиваются младшим ("старший байт - по младшему адресу").

Переменные всегда плотно упакованы в памяти, т.к. архитектура 8051 не требует выравнивания данных.

[1] Специфические для 8051 типы данных sfr и bit отличаются от стандартных типов данных языка Си, т.к. размещаются в особых областях памяти.

[2] Описание "char" эквивалентно "unsigned char", но может быть изменено на "signed char" с помощью опции компилятора -с.

[3] Перечисляемые переменные ("enum") размещаются с использованием наиболее короткого возможного типа данных, определяемого диапазоном перечисляемых констант - от "char" до "int".

Assembler (INTEL 8051)

Система микропрограммирования является набором компактных программных продуктов для разработки программ для микропроцессоров. СМ реализована для работы на ряде компьютеров, от небольших 16-разрядных персональных машин до 32-разрядных суперминикомпьютеров.

В нем имеется ряд примеров использования как стандартных", так и имеющих особенности средств СМ. Отметим, что независимые средства ассемблера СМ очень просты и эффективны.

СМ ассемблеры - это мощные МАКРО-ассемблеры со средствами перемещения

программ, с универсальными характеристиками и применением. Хотя ассемблеры созданы на базе одного и того же основного пакета, они обладают высокой степенью совместимости с ассемблерами разработчиков микропроцессоров. Основные предметы - это способы использования ассемблера, поддержка модульного программирования и связь с языками высокого уровня.

Все ассемблеры двухпроходные, выполняются как одна программа. Во время выполнения не создается временных файлов.

Все ассемблеры, так же как и ХLINK, используют для внутренних вычислений 32-разрядные структуры, что позволяет виртуально генерировать код любого размера (т.е. не существует предела в 64 кБайт, что могло бы затруднить использование процессоров типа 68000).

Для обеспечения совместимости внутри пакета было применено несколько компромиссных решений, с учетом совместимости с ассемблерами разработчиков микропроцессоров. Особенно это касается макро-конструкций, которые сильно различаются у различных разработчиков. Во многих отношениях, однако, СМ превосходит оригинальные ассемблеры. Следующая таблица дает грубое

представление о степени совместимости этого пакета:

Совместимы по:

- машинным командам (именам и синтаксису)

- директивам определения констант (именам и синтаксису)

- директивам распределения памяти (именам и синтаксису)

- разделителям

- меткам

- основным операторам (+,-,*,/)

- ORG и EQU

Не совместимы по:

- директивам перемещения

- расширениям операторов

- средствам условной трансляции

- опциям и командам управления ассемблером

- макросредствам.

Заметим, что средства, перечисленные в разделе "не совместимы", часто отличаются от оригинальных ассемблеров разработчиков только синтаксисом.

Наиболее популярными на сегодняшний день у программистов являются С-51 и Assembler 8051, так как оба они позволяют получать исходный код.

Постановка задачи

Результатом данного проектирования должен явиться программный продукт контроллера, обеспечивающий данными вычислитель о скорости летательного аппарата. Система должна обеспечивать считывание с датчиков и обработку данных, используя следующий набор операций: считывание, обработка, формирование слов, выдача на ЦАП приборной скорости.

Входными данными служат:

- счтанные данные с маски приборной скорости;

- счтанные данные с маски максимальной скорости;

Выходными формами служат :

- слово 206 в соответствии с РТМ;

- слово 207 в соответствии с РТМ;

- слово 271 в соответствии с РТМ;

- данные с ЦАП приборной скорости.

Кроме того, система должна включать в себя следующие подсистемы:

- контроль программного обеспечения;

- контроль о выходе из строя маски приборной скорости;

- контроль о выходе из строя маски максимальной скорости;

- контроль о превышении скорости более чем на 2 км/ч, сигнализируя о перегрузки;

- частота обновления минимальная 31 мсек по каждому значению и максимальная 60 мсек по каждому значению.

Цена младшего разряда по 206 и 207 слову 0,11575

В качестве базового языка программирования использовать

язык С-51 совместно с Assembler 8051.

Выводы

В настоящем разделе выпускной работы были проведены следующие работы: