Автор работы: Пользователь скрыл имя, 02 Марта 2015 в 16:37, реферат
Разработка систем управления и контроля с использованием однокристальных микроконтроллеров в настоящее время переживает настоящий бум. Системы на базе микроконтроллеров используются практически во всех сферах жизнедеятельности человека, и каждый день появляются все новые и новые области применения этих устройств. В последнее время в связи с бурным развитием электроники и схемотехники расширились возможности и самих микроконтроллеров, позволяющие выполнять многие задачи, ранее недоступные для реализации, такие, например, как обработка аналоговых сигналов.
Введение 2
1. Микроконтроллеры 8051 3
2. Интегрированная среда разработки 5
3. Интегрированная отладочная среда Franklin Software ProView для микроконтроллеров семейства MCS-51, 251, XA 7
Компилятор C51 7
Макроассемблер А51 8
Компоновщик 8
Отладка и тестирование 9
4. Keil uVision 10
Работа отладчика-симулятора Keil 14
5. Интегрированная отладочная среда uVision2 15
Заключение 16
Список используемых источников 17
Оглавление
Разработка систем управления и контроля с использованием однокристальных микроконтроллеров в настоящее время переживает настоящий бум. Системы на базе микроконтроллеров используются практически во всех сферах жизнедеятельности человека, и каждый день появляются все новые и новые области применения этих устройств. В последнее время в связи с бурным развитием электроники и схемотехники расширились возможности и самих микроконтроллеров, позволяющие выполнять многие задачи, ранее недоступные для реализации, такие, например, как обработка аналоговых сигналов. Одним из наиболее ранних микроконтроллеров, появившихся на рынке, является микроконтроллер 8051, разработанный фирмой Intel более двадцати лет назад. Несмотря на столь приличный возраст, классический 8051 и его клоны в настоящее время остаются одними из наиболее популярных при разработке систем управления и контроля. Хорошо продуманная архитектура и интуитивно понятная система команд оказывают решающее влияние на выбор многих разработчиков аппаратно-программных систем. Да и сами микроконтроллеры линейки 8051 постоянно развиваются, предлагая разработчику все новые и новые возможности. На основе базового кристалла 8051 созданы и успешно применяются устройства с развитой периферией и большими объемами памяти. Программирование микроконтроллеров в настоящее время значительно упростилось благодаря инструментальным средствам высокого уровня, разработанным ведущими фирмами. Сегодня микроконтроллеры можно программировать на языках С, Pascal, Basic, Forth и др., что во многом облегчает жизнь программистам, не знакомым с аппаратной частью этих устройств. В реферате будут рассмотрены среды разработки такие среды разработки как Franklin Software ProView, Keil uVision и другие.
Можно ли сосчитать количество микроконтроллеров, выполненных на ядре 8051? Попытаться сосчитать производителей 8051-совместимых микроконтроллеров еще как-то можно, но это непростая задача, так как история этого популярного семейства насчитывает уже около 30 лет, и многие такие компании не прекратили свое существование. Распространению этого микропроцессорного ядра способствовали несколько обстоятельств. Когда корпорация Intel представила 8051, потребители микроконтроллеров были уже неплохо знакомы с предыдущим поколениями — ядрами Intel 8041 и 8048. Удачное сочетание разнообразной периферии в одном кристалле, понятная архитектура и достаточно гибкая система команд 8051, а также вера в стабильность Intel послужили скорейшему успеху новинки, широкому внедрению во множестве разработок еще в начале жизненного пути семейства.
Впоследствии базовую архитектуру и систему команд стали использовать в своих продуктах и другие именитые производители — Philips, Atmel, Maxim/Dallas, Analog Devices, Winbond и множество других. Зачастую производители перемещали акцент в новом изделии: добавляли хорошо известное микропроцессорное ядро к собственной оригинальной, уникальной периферии, а не наоборот. Так поступила корпорация Analog Devices с семейством микроконтроллеров ADuC. Обладая технологией производства высококачественных аналого-цифровых преобразователей, инженеры Analog Devices создали однокристальные системы сбора/обработки аналоговых сигналов на основе ядер 8051 (ADuC8xxx) и ARM (ADuC7xxx), причем так, что влияние контроллерной части микросхемы не сказывается на качестве аналого-цифрового преобразования.
Аппаратная архитектура 8051 представлена на рисунке 1.1:
Рисунок 1.1 – Функциональная схема аппаратной части 8051
В микроконтроллере 8051 все вычисления выполняются в арифметико-логическом устройстве, являющемся частью базового процессорного модуля (CPU). Обмен данными, находящимися в оперативной памяти микроконтроллера, а также считывание команд выполняется по внутренней шине 8051. По этой шине осуществляется и обмен данными с портами ввода/вывода P1 – P3, с последовательным портом и таймерами. Внутренний контроллер шины формирует необходимые сигналы (EA, ALE, PSEN, RD/WR) для работы с внешней памятью про$ грамм и данных, а также сигнал сброса/начальной установки RST. Микроконтроллеры 8051 рассчитаны на работу с системами реального времени, которые могут генерировать определенные сигналы, требующие немедленной реакции микроконтроллера. Для обработки таких сигналов (или событий) служит аппаратно реализованная логика прерываний, позволяющая обрабатывать сигналы внешних источников, таймеров и последовательного порта.
Скорость выполнения операций в системе на базе 8051 зависит от тактовой частоты, с которой работает кристалл и которая может варьироваться от единиц до нескольких десятков мегагерц.
Интегрированная среда разработки – это Совокупность программных средств, поддерживающая все этапы разработки программного обеспечения от написания исходного текста программы до ее компиляции и отладки, и обеспечивающая простое и быстрое взаимодействие с другими инструментальными средствами (программным отладчиком-симуляторм и программатором).
Наличие в программной оболочке эмулятора встроенного редактора, встроенного менеджера проектов и системы управления, позволяют существенно облегчить работу разработчика, избавив его от множества рутинных действий. Для разработчика стирается грань между написанием программы, ее редактированием и отладкой. Переход от редактирования исходного текста к отладке и обратно происходит "прозрачно" и синхронно с активизацией соответствующих окон, менеджер проектов автоматически запускает компиляцию по мере необходимости и активизирует соответствующие окна программного интерфейса.
Столь же просто осуществляется и переход к отладке проекта с помощью имеющегося отладчика-симулятора, или приступить к "прошивке" ПЗУ отлаженной программой.
Некоторые модели внутрисхемных эмуляторов могут предоставлять пользователям и другие дополнительные возможности. Среди них отметим одну, хотя и достаточно специфическую, но в ряде случаев имеющую принципиальное значение: возможность построения многоэмуляторных комплексов, необходимых для отладки мультипроцессорных систем. Отличительной особенностью такого комплекса является возможность синхронного управления (с одного компьютера) несколькими эмуляторами.
В общем случае, различные модели внутрисхемных эмуляторов могут предоставлять пользователю возможности по контролю и управлению функционированием отлаживаемых устройств, с разного рода ограничениями. Например это может быть некорректное обрабатывание прерываний в пошаговом режиме, или запрет на использование последовательного порта и т.п.. Так же необходимо помнить, что каждая реальная модель эмулятора имеет свой набор поддерживаемых компиляторов. Некоторые фирмы производители эмуляторов сознательно идут на ограничение количества поддерживаемых компиляторов, в первую очередь это характерно для западных производителей. В этих случаях эмулятор умеет пользоваться только одним символьным форматом.
ProView это интегрированная
программная отладочная среда, включающая
полнофункциональный редактор, средства
управления проектами, встроенный
отладчик/симулятор с
При написании программ требуется преобразовывать текст на каком-либо языке программирования с помощью компилятора. Компилятор это программа, которая создает из исходного текста файл с объектным кодом. Отладочная среда поддерживает ANSI C (компилятор C51) и 8051 ассемблер, совместимый с Intel ASM51 (ассемблер A51).
Оптимизирующий кросс-компилятор С51 фирмы Franklin Software работает в среде Windows. Компилятор C51 создает код для микроконтроллеров семейства 8051 и дает разработчику гибкость программирования на С вместе с эффективностью и скороcтью работы программ на ассемблере.
Использование высокоуровневых языков программирования, таких как С, дает много преимуществ перед ассемблером:
С помощью библиотек в программы можно легко включать много функций, таких как преобразование данных, работа с числами с плавающей запятой и т.д.
Язык C очень популярен, и компиляторы с него доступны практически для всех типов микроконтроллеров и микропроцессоров. Это означает, что разработанное программное обеспечение можно легко переносить на другие вычислительные платформы.
Ассемблер A51 это Intel ASM51-совместимый компилятор для микроконтроллеров семейства 8051. Ассемблер транслирует исходный текст программы в объектный перемещаемый код. Макроопределения позволяют ускорить разработку, т.к. стандартные программные последовательности пишутся один раз. Ассемблер поддерживает работу с любыми ресурсами 8051-совместимых микроконтроллеров и настраивается индивидуально на работу с конкретным кристаллом.
Компоновщик L51 объединяет один или более объектных модуля в исполняемую программу. Компоновщик определяет абсолютные адреса для сегментов программ, написанных с помощью C51, ассемблера A51 или любого компилятора, совместимого с Intel ASM51. Компоновщик автоматически выбирает библиотеки и подсоединяет только необходимые модули из них.
Отладчик-симулятор WinSim позволяет производить отладку программ в исходных текстах компиляторов С и ассемблера. WinSim также позволяет программно симулировать любые функции контроллеров 8051 (последовательные порты, ввод/вывод, таймеры и т.д.), без использования аппаратных отладчиков. Отладку и тестирование программного обеспечения можно производить еще до того, как устройство будет готово в «железе».
«Bascom-8051» разработан фирмой MSC Electronics. Bascom-8051 – это программная среда для создания исполняемого кода микроконтроллеров семейства 8051. В основе Bascom-8051 находится компилятор программ, написанных на языке высокого уровня близкого к стандартному Бейсику. Кроме компилятора с состав пакета Bascom входит текстовый редактор, построчный отладчик-симулятор (с программными эмуляторами терминала, символьного индикатора, EEPROM), упрощенный эмулятор терминала (без файлового сервиса), контекстная информационно-справочная система и утилиты загрузки аппаратных эмуляторов и программаторов. Программы на Бейсике могут создаваться в любом текстовом редакторе, т.к. содержит только текстовые конструкции. Чтобы комментарии на русском языке были читаемы в окнах Bascom, тексты следует выполнять в кодировке «Windows» (ANSI).
Язык программирования Bascom составляют:
Производительность кода, созданного на основе библиотек Bascom на 25-50 % ниже аналогичных ассемблерных программ. По сравнению с программированием на ассемблере эффективность использования ресурсов оперативной памяти ниже на 30-50 %, программной – на 10-25 %. Однако, Bascom обеспечивает существенное сокращение затрат времени программирования. Кроме того, встроенная мощная поддержка многих стандартных физических устройств, наиболее часто применяемых в микропроцессорных системах, обеспечивает дополнительные удобства. По сравнению с компиляторами языка Си, Bascom дает намного более компактный код (60-80 % от кода Си при выполнении аналогичных задач). Еще одна особенность Bascom - минимальные начальные затраты по созданию работоспособной программы. Компиляция всего нескольких строк может дать полностью рабочую программу, пригодную для записи в кристалл.
Компилятор позволяет создавать программы для всех моделей микроконтроллеров, совместимых по набору команд со стандартным 8051. Предусмотрены средства настройки компилятора под любую модель процессора с любым набором дополнительных регистров относительно модели 8051 или 8052. Все имена регистров, используемые в программе, определяются внешним файлом, описывающим их адреса.
Компилятор позволяет расширять набор операторов и функций за счет наличия механизма определения процедур.
В результате компиляции могут быть получены файлы исполняемого кода в бинарном виде или HEX-формате. Компилятор также может создавать файлы сообщений (о распределении памяти и обнаруженных ошибках) и файлы для собственного отладчика.
Среда разработки, представляющая собой набор утилит для выполнения полного комплекса мероприятий по написанию программного обеспечения для микроконтроллеров.
Рисунок 4.1 – Главное окно среды разработки uVision
Keil uVision позволяет
работать с проектами любой
степени сложности, начиная с
введения и правки исходных
текстов и заканчивая