Модуль арифметики  PIC16 assembler.

 

Думаю, что в настоящее время не многие используют ассемблер для программирования микроконтроллеров. Однако данная статья вполне может пригодиться

  • Студентам, изучающим ассемблер и пишущим курсовые, дипломные и т.д.
  • Программистам, поддерживающим старые проекты

Модуль был написан еще во времена MPLab 6.x. Соответственно файл проекта и окна просмотра переменных сформированы именно для него. Для новичков проще будет раздобыть старую версию MPLab, а опытным пользователям мои советы не потребуются.

Модуль выполнен на базе аналогичного модуля фирмы Microchip. Переработан, упрощен (выполнен для 24-х разрядных чисел с плавающей точкой), тексты программ обильно снабжены комментариями, добавлены дополнительные функции. В итоге модуль поддерживает следующие форматы чисел:

  • Microchip Float Point 24 разряда
  • Двоично-десятичные 16 разрядов
  • Двоичные целые 16 разрядов
  • Двоичные целые 32 разряда

И следующие функции

  • Преобразование целого двоичного числа в формат с плавающей точкой
  • Нормализацию числа в формате с плавающей точкой
  • Преобразование числа с плавающей точкой в целое двоичное
  • Умножение чисел с плавающей точкой
  • Деление чисел с плавающей точкой
  • Вычитание чисел с плавающей точкой
  • Сложение чисел с плавающей точкой
  • Вычисления квадратного корня (2 варианта - короткий и точный)
  • преобразования 32-х разрядного целого числа сотых долей секунды в формат времени и обратно
  • преобразования двоично-десятичного числа в двоичное и обратно
  • Процедура сложения 32-х разрядных целых чисел
  • Процедура умножения 32-х разрядного на 8-и разрядное.
  • Процедура деление 32-х разрядного на 8-и разрядное.

Дополнительно реализованы функции

  • Сумматор по двум каналам
  • Счетчик количества электричества

Для анализа кода рекомендуется использовать сформированные окна просмотра переменных, которые вложены в архив проекта.

Скачать проект - math.rar
 

 

Вопросы по электронике

Курочкин Александр Евгеньевич

Телефон: +7 950 909 00 54 (9-00 до 17-00 мск)

E-mail: breeze71@yandex.ru

Вопросы по механике

Курочкин Игорь Евгеньевич

Телефон: +7 910 940 40 18 (9-00 до 17-00 мск)

E-mail: breeze71@yandex.ru

© ООО "БРИЗ"

Адрес:  г.Тула, ул. Кутузова, д.108

Бесплатный конструктор сайтов - uCoz