Показано с 11 по 14 из 14

Тема: Быстрый старт на mk s8051f320. Начало.

Древовидный режим

  1. #1
    Moderator Аватар для Leff
    Регистрация
    26.04.2012
    Адрес
    Царевококшайск, Россия.
    Сообщений
    6,761

    Lightbulb Быстрый старт на mk s8051f320. Начало.

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

    Рассматриваю только варианты на микроконтроллере 8051 (совместимый с 8052).

    Для создания собственного проекта на МК 8051 нужно сделать несколько вещей:

    1. Купить программатор и демоплату.
    2. Нужно установить на компьютер компилятор (среду программирования) поддерживающий программатор и выбранный МК.
    3. Найти в интернет демопроект соответсвующий среде программирования и МК. Или написать свой.

    Варианты с прграммированием на Ассемблере не рассматриваю, т.к. они сложны для "этой категории" начинающих эмбеддеров. Язык Си намного проще в освоении - с ним и будем работать.
    У меня есть несколько вариантов демоплат, но так как мне нужны в настоящий момент микроконтроллеры фирмы SiLabs и я уже купил программатор и демоплату для МК S8051F320, то буду рассматривать этот вариант. Мне так проще.
    Фирма SiLabs предлагает свою среду программирования IDE, в которую можно подключить несколько разных компиляторов. Компиляторы могут быть платные и бесплатные - их выбор предлагается сделать пользователю. Одновременно с этим делается упор на программный продукт фирмы Keil, предлагают специальный драйвер программатора и т.д.
    В интернете пишут, что Keil взяли за основу компилятор Franklin (купили фирму вместе с ее продуктом) и усовершенствовали его. Мне приходилось раньше работать с компилятором Franklin, поэтому выбор среды программирования Keil предпочтителен.
    Есть еще популярный компилятор фирмы IAR, для МК 8051. Кстати, на его досовском варианте (DOS) мне посчастливилось изучать язык ANSI C.
    В ДОС удобно изучать еще и потому, что там все этапы компиляции видны, наглядны и доступны. Имеется его полное описание на русском языке. Что есть большая редкость.
    Предлагаю изучать язык программирования ANSI C и принципы работы компилятора на ДОС версии IAR. А сам учебный проект делать на современной windows версии Keil.
    Среды программирования Keil и IAR дают возможность делать небольшие учебные проекты с размером кода до 2 или 8 кБайт ( у всех фирм по разному, бывает до 32 кБайт). Обьем 8 кБайт достаточно для работы очень многих устройств. Трудно в 8 кб реализовать расчеты с плавающей точкой или интернет приложения, а портативный измерительный прибор или устройство автоматики - без проблем.

    Микроконтроллер Intel 8052 отличается от Intel 8051 расширенными возможностями. Традиционно их называют i8051, но фактически выпускаются только 8052.
    В старых моделях на кристалле был только микропроцессор. Например, в отечественном аналоге КР1816ВЕ31 (i8031) вообще не было никакой памяти - ни ПЗУ, ни ОЗУ. Только "голый" процессор. Вся память была внешней. В современных МК 8052 на криссталее установлена многократно перепрограммируемая память программ (Flash), электрически программируемая память (ПЗУ) данных , оперативная память (ОЗУ), а кроме этого АЦП, ЦАП, компараторы, ШИМ, Интерфейсы с аппаратной поддержкой - I2C, SPI, UART, USB, Ethernet и т.д. Все, что кроме памяти и ядра называют "периферией".
    В старых 8051 одна команда (типовая пересылка одного байта из регистра в регистр) выполнялась за 12 тактов генератора. Если частота генератора 12 мГц, то МК имел производительность 1 млн операций в секунду. Во многих современных 8052 одна операция выполняется за 1 такт, соответственно производительность равна тактовой частоте, при 25 мГц - 25 млн операций в секунду. Для сравнения IBM PC имел 8 Мгц генератор, 8-разрядную шину данных и одну команду выполнял за 12 тактов.
    Есть модели МК 8051 с тактовой частотой 400 мГц и более.
    Ядро 8051 удобно изучать по книге: Однокристальные микро ЭВМ. Справочник. Бобрыкин А.В. и др. М.: МИКАП, 1994 - 400 с.
    В интернете много электронных копий этой книги, - позже выложу ее на файлообменник.
    Язык программирования ANSI C подробно описан в документации к компилятору DOS IAR.
    Там же описание работы компилятора DOS IAR для МК 8051, что тоже является общим для всех других компиляторов - есть небольшие отличия, но не существенные. Сам принцип общий.
    Для начала нужно изучить материал, в книге "Однокристальные микро ЭВМ" начиная с 107 страницы, о принципах работы ядра 8051.
    Затем изучить описание языка ANSI C.
    Далее прочитать документацию на компилятор DOS IAR.
    Это необходимый минимум.
    Компилятор создает файл обычно формата HEX (расширение типа - name.hex, но бывают и другие форматы) который с помощью программатора загружается в область памяти программ (Flash). Этот код выполняется МК. Обычно всегда бывают ошибки - среды программирования предоставляют различные инструменты для отладки кода программы. Собственно этим они и отличаются друг от друга.

    Продолжение следует...
    Последний раз редактировалось Leff; 21.05.2012 в 10:10.

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •