Главная » Просмотр файлов » Рябов В.Т. - Устройство и программирование однокристальных микроконтроллеров

Рябов В.Т. - Устройство и программирование однокристальных микроконтроллеров (1041592), страница 16

Файл №1041592 Рябов В.Т. - Устройство и программирование однокристальных микроконтроллеров (Рябов В.Т. - Устройство и программирование однокристальных микроконтроллеров) 16 страницаРябов В.Т. - Устройство и программирование однокристальных микроконтроллеров (1041592) страница 162017-12-26СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 16)

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

Другой микроконтроллер содержит программу монитор, также работающую с двух портовымОЗУ и выполняющую во взаимодействии с программой эмулятором выше стоящей персональной ЭВМ все перечисленные ранее функции отладки. Такой эмулятор может прекрасно справиться с эмуляцией микроконтроллера, включенного по шинной архитектуре,но все же, несмотря на все ухищрения, не вполне адекватен микроконтроллеру в портовой50архитектуре.Программная среда, поставляемая вместе с внутрисхемным эмулятором, содержитвнешнюю оболочку, обеспечивающую сквозную поддержку процесса разработки ПО: менеджер проектов, текстовый редактор, компиляторы с ассемблера и С, программный симулятор, отладчик с развитым сервисом и т.п.Программируя в специальной среде или пользуясь универсальными «открытыми»компиляторами, важно структурировать программное обеспечение.

Существует целый рядкоротких подпрограмм или утилит общего применения, которые применяются практически в каждой программе. Они составляют так называемое ядро или базовую операционную систему. Это:− программа тестирования микроконтроллера;− утилиты двойной арифметики там, где необходимы двухбайтовые целые;− утилиты арифметики с плавающей запятой, если это потребуется;− утилиты проверки целостности управляющей программы;− утилиты настройки приемопередатчика на стандартные протоколы обмена и утилиты реализации обмена;− диспетчер процессов или квантов в «жестком» реальном времени− утилиты расчета управляющих воздействий по типовым законам управления и т.п.Программа тестирования микроконтроллера является универсальной утилитой,проверяющей его работу (выполнение регламентированных операций) и поставляетсяфирмой – изготовителем МК.Утилиты двойной арифметики и утилиты арифметики с плавающей запятой такжеуниверсальны и коллектив разработчиков ПО обычно располагает проверенным комплектом таких подпрограмм.

То же можно сказать и об утилитах настройки приемопередатчика на стандартные протоколы обмена и реализации обмена.Для проверки целостности управляющей программы обычно всякий раз при включении просчитывают сумму ее кодов с нарастающим итогом и сравнивают с фактическойвеличиной суммы, которая просчитана заранее и записана в РПЗУ. При этом используюткоманду чтения в аккумулятор содержимого памяти программ:MOVC A, @A+DPTR.Управляющие программы следует писать, как совокупность отдельных взаимодействующих процессов или квантов (участков кода, выполняемых процессором непрерывно), запускаемых и выполняемых под управлением диспетчера. Такое написание лучшепереносится из программы в программу, допускает раздельную отладку, поэтому и прощеотлаживается и является естественным для процессов управления.

Далее рассмотрим процесс разработки такого диспетчера.Контрольные вопросы.1. Этапы и выполняемые работы при разработке программного обеспечения микроконтроллеров.2. Обеспечение работы ПО ЛМК в жестком реальном времени.3. Особенности разработки программного обеспечения ЛМК.4. Ошибки ПО на логическом и физическом уровне и методы их устранения.515.2. Диспетчер процессов для МК семейства MCS-51.Функции диспетчера процессов.Диспетчер процессов является минимальным ядром базовой операционной системы«жесткого» реального времени. Хороший диспетчер процессов должен:1) представлять пользователю гибкий программный интерфейс для управления очередностью запуска процессов во времени (синхрокванты) и запускать процессы взависимости от внешних событий в порядке очереди (интеркванты), либо безочереди (экстракванты);2) занимать минимальный объем резидентного ОЗУ, не ограничивать пользователя виспользовании регистров общего назначения и других ресурсов микроконтроллера;3) минимально загружать процессор процессом диспетчирования.Проектируемый диспетчер предназначен для управления синхроквантами, рядом интерквантов, перезапускаемых внешними событиями и экстраквантами, запускаемыми отдвух входов прерываний.Реальное время будет отсчитываться в диспетчере процессов с помощью коротких«тиков» с длительностью, определяемой пользователем и способной изменяться в пределахот долей миллисекунды до нескольких десятков миллисекунд и длинных тиков, длительность которых в 256 раз больше, чем у коротких.

Может быть, несколько странная системаотсчета времени по сравнению с привычными секундами, минутами и часами, но удобнаядля реализации в микроконтроллере. Реальное время будет фиксироваться и обрабатываться программой обработки прерываний таймера Т/С0. Этот таймер занят базовой операционной системой.

Пользователь в своей управляющей программе свободно может использоватьтаймер Т/С1.Процессы (синхрокванты) могут быть запущены на выполнение с задержкой до 255тиков (коротких или длинных). Тогда реализуемая диспетчером задержка синхроквантабудет составлять от одной миллисекунды (при тике в 1 мс) до минуты (65,536 с).Синхроквант будет управляться двумя флагами – статусом кванта и флагом кванта.Статус кванта предусмотрен для управления им из программы пользователя, флаг таймерабудет устанавливаться таймером при истечении заданной в кванте задержки времени.Квант будет запущен диспетчером, если установлены его статус и флаг.Распределение переменных диспетчера в памяти МКЕсли при программировании на языках высокого уровня переменным просто задаются символические имена и определяется их тип, при программировании на ассемблереесть возможность явно определить расположение переменных в адресном пространстверезидентной оперативной памяти МК.

Это повышает эффективность использования памяти и быстродействие программы.Проведем распределение переменных в памяти, отведем для хранения статусов ифлагов два байта из зоны битового процессора, что позволит нам эффективно работать сотдельными битами (очищать CLR bit и устанавливать их SETB bit командами битовогопроцессора).Ячейка резидентной памяти микроконтроллера с адресом 20h будет регистромстатусов квантов, каждый ее бит содержит статус соответствующего кванта в соответствиис таблицей 1. Биты этого регистра устанавливаются программно пользователем. Если пользователь хочет запустить какой-либо квант или периодически перезапускать его по истечениизаданной задержки, он должен установить в единицу статус этого кванта.

Если квант запускать не нужно – очистить соответствующий бит.52Таблица 5.1.Содержимое регистра статусов квантов (ячейки 20h)№ бита7Адрес бита 7Назначение SPR766SPR655SPR544SPR433SPR322SPR211SPR100SPR0Ячейка резидентной памяти микроконтроллера с адресом 21h будет регистромфлагов квантов, каждый ее бит содержит флаг соответствующего кванта в соответствиис таблицей 2. Флаги квантов устанавливаются в подпрограмме обработки прерыванийтаймера Т/С0. Такое двойное управление квантом с помощью флагов и статусов сделанодля того, чтобы максимально сократить время обработки прерывания. В подпрограммедля всех возможных квантов уменьшаются задержки и устанавливаются флаги, когда задержка истечет, а решение о запуске кванта примет диспетчер, если пользователем в своей программе установлен статус соответствующего кванта.Таблица 5.2.Содержимое регистра флагов квантов (ячейки 21h)№ бита7Адрес бита FhНазначение FPR76EhFPR65DhFPR54ChFPR43BhFPR32AhFPR219FPR108FPR0Ячейка с адресом 22h будет регистром размерности задержек квантов (устанавливается пользователем).

Если в соответствующий кванту бит записана единица, задержка отсчитывается в больших тиках, если ноль, в малых.Таблица 5.3.Содержимое регистра разрядности задержек квантов (ячейки 22h)№ бита76543210Адрес бита 17h16h15h14h13h12h11h10hНазначение RPR7RPR6RPR5RPR4RPR3RPR2RPR1RPR0Ячейка с адресом 23h – счетный регистр малых тиков. Система отсчета времениведется в малых тиках, период которых может быть настроен пользователем (исходнодлительность малого тика 1 мс) и в больших тиках, содержащих 256 малых. Тик, совпадающий с обнулением ячейки 23h, считается большим.Создадим систему отсчета реального времени. Таймер микроконтроллера может работать в четырех режимах (см. гл. 3.2).

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6358
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее