17578

Исследование команд для работы с битами PIC контроллера

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа № 3 Тема: Исследование команд для работы с битами PIC контроллера Деление без знаковых чисел Цель работы: изучение алгоритма деления без знаковых чисел и его реализация при помощи системы команд периферийного PIC контроллера в программной ср

Русский

2013-07-04

170 KB

6 чел.

Лабораторная работа № 3

Тема: «Исследование команд для работы с битами PIC контроллера»

«Деление без знаковых чисел»

Цель работы: изучение алгоритма деления без знаковых чисел и его реализация при помощи системы команд периферийного PIC контроллера в программной среде MPLAB.

Краткие теоретические сведения:

 Смысл реализации алгоритма деления без знаковых чисел объясняется отсутствием в системе PIC контроллера команды деления без знаковых чисел.

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

В алгоритме деления принимают участие делимое (dividend) и делитель (divider), частное (quotient) и остаток (remainder). Из математики известно, что велитель должен быть обязательно больше нуля, иначе в любой вычислительной системе возникнет особый случай недействительной операции. Приведенный алгоритм деления носит циклический характер и в конце цикла деления остаток либо равен нулю, либо болшье нуля; отрицательным по определению. Математический алгоритм деления можно представить в следующем виде: D=q*d+r, называемый алгоритмом деления Эвклида. Исходя из формулы 1 следует, что остаток r всегда меньше или равен частному q. Поскольку остаток не должен быть отрицательным, в цикле деления он восстанавливается до положительного значения.

Ход выполнения работы

2.1 Составить детальную блок-схему алгоритма с учетом программной модели PIC-16C71. Описать составленную блок-схему алгоритма при помощи системы команд PIC-16C71.

2.2 В программной среде MPLab создать исходный файл с расширением *.asm.

2.3 В среде MPLab создать соответствующий проект.

2.4 Использовать многооконный сервис программной среды MPLab: открыть вспомогательные окна File Registers, Special Function Register.

2.5 Внести в исходный текст программы значение: делимого, делителя.

2.6 Скомпилировать созданный проект и запустить на выполнение.

2.7 Создать скриншоты выполнения данного проекта, с дальнейшим их использованием при оформлении работы.

2.8 Объяснить: назначение команд в исходной программе, особенно команд работы с битами, а также образование остатка от деления по окончании действия программы.

2.9 Сделать определенные выводы.

2.10 Ответить на дополнительные вопросы относительно алгоритма и текста программы.

Блок-схема выполнения задачи

 


 

А также другие работы, которые могут Вас заинтересовать

50766. Работа по созданию векторных изображений 427.5 KB
  На страницу с логотипом размещаем 6 кнопокс 1 по 4 ссылки на конкретные страницы 5Вперед 6Назад Задание 4 Организуем гиперсвязь главной страницы с 4 второстепенными.
50767. Программное обеспечение для работы с векторными изображениями 460 KB
  Достигнув края экрана надпись появляется снова с противоположной стороны SLIDE Схоже с SCROLL но текст перемещается только один раз и останавливается DIRECTION=DOWN LEFT RIGHT UP Определяет направление скроллинга DOWN Движение вниз LEFT Движение справа налево. По умолчанию RIGHT Движение слева направо UP Движение вверх 3D объекты.
50769. Создание динамических Web-страниц 31.5 KB
  Цель: Научиться создавать динамические web-страницы. Разобрать на примерах их достоинства и недостатки. Создадим шаблон страницы следующего вида.
50770. Использование динамических переменных 27.5 KB
  Цель: Научиться использовать переменные разных типов. Задание 1. Создадим первую типовую программу на PHP
50771. Программирование циклов в РНР 31.5 KB
  Цель: Научиться использовать различные циклы. Задание 1. Проверить работоспособность кода программ из 3 примеров.
50772. Работа с массивами РНР 25.5 KB
  Цель: Научиться использовать массивы при написании программ. Разобрать особенности каждого вида массивов. Задание 1. Создать массив A 1-10 из десяти целых чисел.
50773. Работа с датой и временем 25 KB
  Цель: Научиться работать с датой и временем. Разобрать основные функции даты и времени. Задание 1. Проработать фрагменты кода из теоритической части. Задание 2. Вывести дату и время в различных форматах. Задание 3. Вывести дату и время на другой странице при помощи форм.
50774. Разработка макета динамических страниц 30 KB
  С страницу следующего примерного содержания Заголовок сайта Навигация Страница1 Страница2 Страница3 Содержание страницы 1 Информация об авторе...