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

В.Т. Рябов - Разработка и отладка программного обеспечения микропроцессорной системы управления, страница 7

PDF-файл В.Т. Рябов - Разработка и отладка программного обеспечения микропроцессорной системы управления, страница 7 Системы автоматического управления (САУ) (МТ-11) (15753): Книга - 7 семестрВ.Т. Рябов - Разработка и отладка программного обеспечения микропроцессорной системы управления: Системы автоматического управления (САУ) (МТ-11) - P2017-12-27СтудИзба

Описание файла

PDF-файл из архива "В.Т. Рябов - Разработка и отладка программного обеспечения микропроцессорной системы управления", который расположен в категории "". Всё это находится в предмете "системы автоматического управления (сау) (мт-11)" из 7 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "системы автоматического управления (сау)" в общих файлах.

Просмотр PDF-файла онлайн

Текст 7 страницы из PDF

Тогда в тексте не должно появиться сюрпризов для компилятора, который ориентирован на DOS.Вызовем файл Disp09.asm на редактирование и, прежде всего переименуем его, чтобысохранить оригинал. Дадим ему имя D1_<номер подгруппы>.asm. Далее это будет D1_1.asm.Изменения в текст D1_1.asm следует вносить в зону -USER PROGRAMM MEMORY-.Прежде всего, определитесь с именами своих квантов и внесите их в зону пользовательскихвекторов -user vectors-. Она нужна для связывания жестких адресов запуска квантов из диспетчера и имен квантов (символических адресов), которые Вы собираетесь создавать. Жестко закрепит их в памяти только линковщик.Например, в первой работе Вам будет предложено настроить диспетчер квантов на заданный «тик», допустим, в 1.2 миллисекунды. Требуется так выбрать начальное значениечисла, от которого начинает считать таймер, чтобы к моменту его переполнения, а таймершестнадцати разрядный и переполняется при 65535 или FFFFh в шестнадцатеричной нотации.

Младший байт начала счета записывается в регистр настройки малого тика 25h старшийбайт – в регистр 24h. В начале подпрограммы обработки прерываний таймера его счетныерегистры TL0 и TH0 обновляются этими значениями.Таймер считает машинные циклы микроконтроллера, длительность которых определяется подключенным к нему кварцевым резонатором. Частота резонатора составляет11000кГц.

Машинный цикл длится 12 периодов резонатора и составляет 12/11 мкс. За 1.2 мсдолжно пройти 1200х12/11 = 1309 = 51Dh машинных цикла. FFFFh - 51Dh = FAE2h. Значит,таймер должен считать от числа FAE2h и в ячейку 24h должно быть записано FAh, а в ячейку25h - E2h. Но это приблизительные значения, их нужно уточнить наилучшим образом экспериментально и здесь нам поможет сам диспетчер процессов вместе с аппаратнопрограммным эмулятором.Создадим квант нулевого приоритета с именем, например, TIKTAK и будем перезапускать его через 10 тиков.

Внутри этого кванта будем фиксировать число его вызовов. Делатьэто удобно с использованием регистра указателя данных DPTR, поскольку этот регистр шестнадцати разрядный и в ассемблере есть операция его инкрементирования (увеличения значения на единицу): INC DPTR.Тогда квант запишется следующим образом:;--------------------------------- user quants-------------------------------------TIKTAK:INC DPTR; инкрементировать DPTRMOV 08h,#0Ah; запустить нулевого приоритета через десять тиковRET; возврат из кванта в диспетчер- 23 -Теперь следует связать этот квант с нулевым приоритетом и определить для диспетчераадрес входа в него. Для этого следует записать в зону векторов -user vectors- следующее:;-----------------------USER PROGRAMM MEMORY---------------------;----------------------------------user vectors-----------------------------------ORG 149h;-------name thread0----------LJMP TIKTAKНе забудьте удалить точку с запятой перед переходом LJMP.

Все остальное в зоне векторов оставляем пока без изменений.Теперь подготовим условия для нормальной работы этого кванта. Это будем делать вподпрограмме начальной настройки пользователя. Дадим ей имя START. Прежде всего, пропишем эту подпрограмму в зоне векторов пользователя после директивы ORG 162h:;-------name user-start programmORG 162hLJMPSTARTЗдесь достаточно просто удалить точку с запятой, чтобы команда перестала восприниматься компилятором как комментарий.В программе начальной настройки следует обнулить регистр DPTR, связать квантTIKTAK с малым «тиком» и запустить его. Описывается эта подпрограмма в зоне пользователя, но порядок подпрограмм может быть любым, до или после TIKTAK.START:MOV DPTR, #0CLR 22.0MOV 08h,#0AhSETB 20.0RETПрограммное обеспечение готово.

Обсудим, как мы будем использовать его. Средстваэмулятора позволяют нам точно следить за временем. Чтобы начальная инициализация диспетчера не влияла на точность расчетов, зададим точку останова по адресу 4Eh. Это адресперед входом в петлю диспетчера, после чего диспетчер начнет нормально работать. Запустив программу, в точке останова обнулим счетчик времени эмулятора и снова запустим программу на исполнение. Подождем около минуты и остановим программу. Из окна службывремени считаем значение времени исполнения программы с точностью до микросекунды иопределим «тик» диспетчера:Тик = Time x 10/DPTR.Здесь время умножается на 10, так как наш процесс перезапускался через 10 тиков.Осталось, многократно повторяя перезапуск, подобрать значение ячейки 25h так, чтобывремя тика наилучшим образом соответствовало заданному значению.

Найти значение ячейки, дающее наилучший результат.6.3. Компиляция программы.Для компиляции в Windows XP придется пользоваться командной строкой. Вызовитеее, например, из меню Пуск\Выполнить. Наберите в ней для запуска компилятора:C:\WORK\A8051 D1_1.asm D1_1.lst D1_1.objИ Вы запустите файл D1_1.asm на ассемблирование. В результате в директорииWORK будут созданы файл листинга D1_1.lst и файл с объектным кодом D1_1.obj, которыйпослужит нам заготовкой для создания загрузочного модуля исполняемой программы.Правила написания командной строки для A8051.exe:A8051 <inputfile><.ext> <list-file><.ext> <output-file><.ext> <options>A8051 <исходный файл> [<файл листинга>] [<об'ектный файл>] [<oпции>]X Cross referense and simbol tableВключить в листинг таблицу перекрестных ссылок и символов;P=nn - nn lines/pageЧисло строк на странице листинга;- 24 -E -list only errorsВ листинг включить только ошибки;F Formatted listСформатировать ассемблерный листинг по фиксированным полям,вне зависимости от того, как сформатирован исходный текст;W Wide list with file nest levelВвести в листинг параметры <всего строк><уровень вложенности><локальный номер строки>.

По умолчанию включается только информацияоб общем количестве прочитанных строк.P Put local simbols in objectВключить в объектный код информацию о локальных символах.Как локальные, так и глобальные символы будут присутствоватьв карте загрузки, создаваемой XLINKом, с правильно перемещеннымиадресами.? Выводит список доступных опций и предлагает пользователю выбратьнеобходимые.После того, как будут устранены все синтаксические ошибки и создан файл с объектным кодом D1_1.obj, можно приступать к созданию загрузочного модуля программы. Делает его линковщик XLINK.EXE из командной строки:C:\WORK\ XLINK D1_1.obj –c8051 -o D1_1.hex -l D1_1link.lstКомандная строка линковщика по организации гораздо сложнее, чем у компилятора.Интерпретируем ее для нашего примера.D1_1.obj –входной файл, он у нас один.–c8051 тип микроконтроллера 8051.-o D1_1.hex –выходной файл, загрузочный модуль.-l D1_1link.lst файл листинга.Полученный загрузочный модуль D1_1.hex можно загружать в память эмулятора.Для этого следует сначала поместить загрузочный файл в директорию С:\Lab-09\WORK, запустить эмулятор С:\Lab-09\E52.exe.

Вызвать клавишей F8 корневое меню и следуя его указаниям загрузить файл в память эмулятора.Осталось только подобрать задержку таймера.- 25 -7. Задание на лабораторную работу №1"ОТЛАДКА ДИСПЕТЧЕРА ПРОЦЕССОВ"1. Изучить методы разработки и отладки программного обеспечения (ПО) для локальных микроконтроллеров на однокристальных микроЭВМ.2. Ознакомиться с работой аппаратно-программного эмулятора Е52 и настройкой экранный интерфейса.3. Составить функциональную схему процесса разработки и отладки ПО, отражающуювзаимодействие персонального компьютера, программно-аппаратного эмулятора, локального микроконтроллера и объекта. Где какая программа работает и какие функции выполняет?4.

Составить и оттранслировать программу для настройки диспетчера процессов.Первые четыре пункта следует выполнить в качестве домашнего задания.5.Загрузить, проверить работоспособность и, при необходимости отладить оттранслированную программу настройки диспетчера.6. Настроить резидентный таймер на заданный тик, подобрать задержку, исследовать зависимость длительности задержки от содержимого регистров таймера счетчика TH0 иTL0. Варианты длительности тиков приведены в таблице.Вариант Значение «тика» Вариант Значение «тика» Вариант Значение «тика»11,1 мс112,1 мс213,1 мс21,2 мс122,2 мс223,2 мс31,3 мс132,3 мс233,3 мс41,4 мс142,4 мс243,4 мс51,5 мс152,5 мс253,5 мс61,6 мс162,6 мс263,6 мс71,7 мс172,7 мс273,7 мс81,8 мс182,8 мс283,8 мс91,9 мс192,9 мс293,9 мс102,0мс203,0мс304,0мс7.

Найти время диспетчирования: период от возврата управления диспетчеру до запускакванта пользователя, при том, что условия его запуска выполнены.8. Сохранить и распечатать текст программы диспетчера и прокомментировать его.- 26 -8. УСТРОЙСТВО И ПРИНЦИП РАБОТЫ ШАГОВОГО ДВИГАТЕЛЯШаговый двигатель (ШД) - это электрическая машина, позволяющая преобразовыватьимпульсы управления в угловые или линейные перемещения фиксированной величины. ШДпо типу движения бывают двух видов: поступательные и вращательные. По конструкцииШД вращательного движения представляют собой многофазные синхронные двигатели с явно выраженными полюсами, рассчитанные на работу в широком диапазоне частот управляющих импульсов, включая нулевую (фиксацию ротора при питании фазной обмотки постоянным током). ШД различаются прежде всего числом фаз и типом магнитной системы.Большинство конструкцийШД имеет от двух до шестифаз.

По типу магнитнойсистемы ШД делятся надвигатели с активным ротором и на двигатели с пассивным ротором. Статор иротор имеют зубцы, черезкоторые замыкается магнитное поле, на роторезубцов,какправило,меньше, причем шаг зубцовна статоре и роторе одинаков.Ротор активного ШД(рис. 4, а) представляет собой конструкцию типазвездочки из постоянныхмагнитов. На полюсныхвыступах 1 - 4 статора размещены обмотки двух фаз Iи II. Обмотки одной фазыРис.

4. Конструкции двухфазного шагового двигателя с акрасполагаются на противотивным ротором (а) и четырехфазного шагового двигателя сположных полюсах и сопассивным ротором (б)единены последовательно.Когда по обмоткам I фазыпротекает ток положительного направления (интервал to - t1), не нагруженный внешним моментом ротор зафиксирован в положении, при котором ось полюсов ротора 1 - 4 расположена по оси статора 1 - 3. При отключении фазы I и включении с отрицательной полярностьюфазы II (интервал t1 - t2) ротор, поворачиваясь по часовой стрелке, фиксируется в положении, когда полюс 2 ротора располагается по оси полюса 2 статора, а полюс 5 ротора - по осиполюса 4 статора. Подобным образом на интервале t2 - t3 ось полюсов ротора 3 - 6 расположится по оси полюсов статора 1 - 3, а на интервале t3 - t4 ось полюсов 1 - 4 ротора зафиксируется по оси полюсов 2 - 4 статора.

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