Главная » Просмотр файлов » Хартов В.Я. Микроконтроллеры AVR. Практикум для начинающих (2007)

Хартов В.Я. Микроконтроллеры AVR. Практикум для начинающих (2007) (1264222), страница 16

Файл №1264222 Хартов В.Я. Микроконтроллеры AVR. Практикум для начинающих (2007) (Хартов В.Я. Микроконтроллеры AVR. Практикум для начинающих (2007)) 16 страницаХартов В.Я. Микроконтроллеры AVR. Практикум для начинающих (2007) (1264222) страница 162021-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

При делении мантисс нарушение нормализации может возникнуть только влево на один разряд, так как деление нормализованных мантисс при условии шА > шВ дает целую часть частного, равную 1. Для деления нормализованных мантисс при условии шА < шВ нарушения нормализации нет (0,5 < шС < 1). 100 171чР рС = О, гоС = О Нет Ахои Вхоз Да т — зАЕзв, восстановление А и В, рС = рА — рВ Заем = 1? Нет Да рС=рСе127 рС=рС+127 н Счетчик циклов ~- 24 Выход Выход Сохранение мантиссы тА в стеке С = О? Да Бнт частного 1 Нет Извлечение из стека Сдвиг гпА и часгного тС влево Нет Конец? Да Мантисса тС нормализована? Нет Сдвиг пзС влево, рС = рС вЂ” 1, флаг С = 1 Нет Антнпереполнсние? Да Передача С -+ А, форматирование результата Выход 3. Арифметическая обработка дание!к Схема алгоритма деления чисел приведена на рис.

3.13. Вначале выполняется проверка делимого и делителя на равенство О. Если делитель равен О, устанавливается флаг ошибки !как при переполнении). Если делимое равно О, часпюе принимается равным О. Если операнды ненулевые, осуществляется преобразование формата каждого операнда и размещение их в прежних регистрах. После вычитания смещенных порядков смещение разности утрачивается, поэтому необходимо полученную разность порядков увеличить на значение смещения 127. При возникновении переполнения 1антипереполнения) выполняется выход с установленным флагом.

Далее следует циклическая процедура деления мантисс методом, известным как деление с восстановлением остатка. Особенностью деления является то, что перед вычитанием из мантиссы делимого (в дальнейшем остатка) она сохраняется в стеке. Это позволяет при получении отрицательной разности выполнить восстановление путем выборки из стека сохраненного значения. После завершения цикла деления проводится нормализация частного. В отличие от целочисленного деления, которое не допускает переполнения, деление с плавающей точкой позволяет получить результат (если мантисса шА > шВ), сдвинув мантиссу частного и увеличив порядок на 1. Особенностью программной реализации описываемого алгоритма деления является то, что уже после первого вычитания значение бита частного поступает в младший разряд регистра частного.

По окончании цикла этот бит окажется на позиции старшего разряда. Если он равен 1, это говорит о том, что шА > > шВ и сдвиг мантиссы проводить не надо. Частное пересылается на место делимого, и форматируется результат операции. Если старший бит мантиссы шС окажется равным О !п?А < п?В), для получения нормализованной мантиссы частного необходимо сдвинуть ее влево на один разряд и уменьшить порядок на 1. При возникновении заема фиксируется антипереполнение.

Деление чисел с плавающей точкой представлено листингом программы 3.7. Программа 3.7 ;Программа 3.7 деления чисел А/В с плавающей точкой . 1пс1пг!е "8515деб.ьпс" ;Файл определений для АТ9098515 ?.1пс1цг!е "ю8515йет.1пс" ;файл определений для Агюеча 8515 .г!ег теюр = г18 ;временный регистр 3.7. Операции над числами с плавающей точкой 101 Рис. 3.13. Схема алгоритма деления с плавающей точкой 3.7. Операиии над числами с плавающей точкой 103 3.

Арифметическая обработка данных 102 ;аккумуляторный регистр ;счетчик циклов .СЕЕ асс .Себ Спс .Г)ЕЕ рй .с)еб тйн .Се1 тАМ .деб тАЬ .бе1 рВ .беб тВН г17 = г18 г20 = г21 г22 г23 = г24 г25 4ОПрЕДеление делимого ;определение делителя .оеб тВМ = г2б .Себ тВЬ = г27 .Сей рС = г25 ;определение частного .Сей тСН = г29 .Сей тСМ = г30 .Се5 тСЬ = г31 .ог9 $000 1с1 гетр, 1ои(НАМЕНО))инициализация указателя стека опс яр1, Гетр 1б1 Гетр, Ь19й(НАМЕНО) оцг ярн, гетр с1г рС ;очищаем регистры частного с1г тС(, с1г тСМ с1г тСН гса11 ср В 0 ;проверка делителя В на 0 Ьгпе тО ;получение знака частного ;сохранение знака в Т ;восстановление рА и тАН ;при заеме яес Ь ч ац1Г тО: гса11 ср й 0 Ьгес) Оц1Г точ асс,рА еог асс,рВ Ьяг асс,7 гса11 тес гса11 янарАВ гса11 тес гса11 янарйВ ;Вычитание смещенных точ рС,рА япЬ рС,рВ Ьгсс Охчу1 161 Гетр,127 4выход с флагом ошибки деления ;проверка делимого А на 0 пвосстановление рВ и тВН ;оставляем их в своих регистрах порядков або рс,петр Ьгся Р1чу2 го1 тСМ го1 тСН с1с го1 шйЬ го1 пьАМ го1 пи)н бес СпТ Ьгпе Р1чГЗ г3тр Р1чрб го1 тС1 го1 тСМ го1 тСН бес рС ср1 рс,ОхЕЕ яес Ьгеч Сцйс яес г3тр фойе Ойчу1 1бй Гетр 127 ас(С рС,Гетр Ьгся Оц15 Деление мантисс (тс=тА О1чЕ2: 1б1 Спс,24 Ойчуз: рцян п1А1, рцяй тйМ рцяй тйН яцЬ тйЬ тВЬ яЬс тАМ,тВМ яЬс шАН,тВН Ьгсс Ойчу4 рор тйн рор шйМ рор тАЬ с1с г3тр Рйчу5 01чЕ4: яес Р1чЕ5 го1 тС1.

;Проверка нормализации яЬгс тСН, 7 и отсутствии переноса ппри отсутствии заема и наличии переноса /тн) ;инициализируем счетчик циклов ;сохраняем делимое тй (остаток) в стеке ;возвращаем остаток из стека, т.к. шй<тВ ;бит частного равен 0 ;бит частного равен 1 ;сдвиг частного влево )сдвиг делимого влево ;уменьшаем счетчик циклов пповторяем, пока Спс40 ;результат нормализован ,"сдвигаем мантиссу частного влево ;уменьшаем порядок частного ;С=1 ;выход с флагом антипереполнения 3.

Арифметическая обработка данных ,"подготовка результата ю для форматирования Вьчрб: шоч рв,РС шоч шьь,шсЬ шоч пвця,шеи шоч шли,шсн ПьчГ7: хса11 расК Яс1С: хэшр Сохе .Зпс1цде "х111Ь.авш" ;преобразование формата ;операция завершена Приведем ряд примеров на деление. В правом столбце операнды и частное представлены в базовом формате: !4: Х= 3/2 ЗГ400000 I 3Р000000 = 3г СООООО 32768:(-512) = — 64 47000000 / С4000000 = С2800000 -512: 2 =-256 С4000000 ! 40000000 = С3800000 Практическая часть Задания для самостоятельного программирования 1. Изменить модуль эмуляции арифметического устройства базовой программы, включив в него дополнительно одну из логических и(или) арифметических операций. 2. Для микроконтроллера АТшейа8515 проверить работу операций умножения по их описанию, открыв файл помощи по АЧК Ассемблеру, используя команды меню: Не1Р7А к?1 Тоо1в (7вег би)с1е.

В окне Н1т1 Не1р щелчком открыть А И7 АвветЫег, выбрать Рак~в и затем АТте8аВ515. Подробное описание каждой из команд умножения можно найти в разделе А УЯ АвветЫеН1ив1гисйоив. Задание 1. Открыв АЧК 8шд)о 4, создать проект. Загрузить программу 3.3 для проверки операций сложения и вычитания чисел с плаваюгпей точкой. Привести ряд примеров с разными значениями операндов, воспользовавшись ручной загрузкой операндов в регистры окна 11О. Подобрать операнды с равными и максимально различающимися порядками. Выполнить операции, фиксируя время их исполнения. Задание 2. Создать проект и загрузить программу 3.6 для умножения чисел с плавающей точкой. Привести ряд примеров с разными значениями операндов.

Оценить время выполнения операции умножения. Заменить программу умножения программой деления 3.7 и проверить ее работу. 3.7. Оиераиии над чисихии с плавающей точкой 105 3. Рассмотреть операцию умножения дробных чисел на примерах, Проверить результаты с помощью симулятора АЧК Япд(о 4. 4. Написать процедуру сложения (вычитаиия) 2-байтовых операндов для проверки с помощью БТК500. Сформировать признаки результата, как признаки 2-байтовой суммы (разности).

5. Написать макрос для двоично-десятичной коррекции прн сложении, равноценный команде )ЗА А в системе команд микроконтроллеров МС8-51. 6. Написать процедуру сложения (вычитания) двух 4-байтовых упакованных двоично-десятичных чисел. Контрольные вопросы 1. Какой бит в регистре 8КЕО определяет флаг заема? Каким значением флага определяется переполнение при вычитании чисел со знаком и без знака? 2.

При каком минимальном значении делимого возникает переполнение, если делитель равен 10? 3. Для каких 2 — 10 чисел (упакованных или распакованных) действительны приведенные программы 2-10 арифметики? Какие изменения следует внести в программные процедуры при изменении формата представления чисел? 4. Рассчитать диапазон чисел в зависимости от количества разрядов порядка для случаев и = 8, и = 11, где и — число разрядов. Написать формулу для расчета количества требуемых разрядов порядка при заданном числовом диапазоне. 5. Проанализировать точность результатов арифметических операций, используя бытовой и научный электронные калькуляторы. Дать рекомендации по выбору числового формата для программы электронного калькулятора на основе 8-разрядного микроконтроллера. 6.

Обьяснить, в каких случаях возникают переполнения (анти- переполнения) при выполнении операций с плавающей точкой. Привести примеры. 8. Изменить программы для обработки чисел с плавающей точкой: а) с усеченным форматом мантиссы (16 разрядов); б) с усеченным порядком в зависимости от выбранного диапазона обрабатываемых чисел. 106 3. Арифметическая обработка данньгк 9. Нарисовать схему алгоритма алгебраического сложения-вычитания чисел с плавающей точкой в дополнительных кодах. Дать опенку сложности разработанного алгоритма путем сравнения с описанным.

Написать программу и проверить ее работу с помощью отладчика. 4. ТАЙМЕРЫ МИКРОКОНТРОЛЛЕРОВ АТх8515 Цель работы — изучение основных режимов работы таймеров и их программирование, анализ схем включения таймеров для проведения исследований. Микроконтроллеры АУК в зависимости от класса (Т)пу, С1аза)с, Меда) и типа модели имеют в своем составе от одного до трех таймеров/счетчиков общего назначения — ТО, Т! и Т2.

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

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

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