Поиск по сайту: |
|
По базе: |
|
Главная страница > Программы |
|
|||||||||||||||||||||||||||
Библиотека математики с плавающей точкой для микроконтроллеров MSP430 компании Texas InstrumentsПакет FPP (Floating Point Package)- математика с плавающей точкой, необходим, если размер применяемых чисел очень велик. Пакет с плавающей точкой оперирует с 24-битовой и 40-битовой мантиссой и разработан для микроконтроллеров семейства MSP430. В пакет включены конвертеры, переводящие числа в двоичном и двоично-десятичном формате в числа в формате "плавающая точка". Предусмотрено и обратное преобразование. Пакет с плавающей точкой использует особенности RISC архитектуры семейства микроконтроллеров MSP430. В время работы подпрограммы, использующей пакет FPP, аргументы копируются в регистры R4 - R15 и все вычисления происходят там. После завершения вычислений результат сохраняется в вершине стека. Пакет с плавающей точкой (FPP) состоит из 3 файлов, поддерживающих формат .FLOAT (32 бита) и формат .DOUBLE (48 битов):
Подпрограммы, входящие в пакет FPP : FLT_ADD Сложение FLT_SUB Вычитание FLT_MUL Умножение FLT_DIV Деление FLT_CMP Сравнение FLT_SAV Сохранение всех используемых регистров в стеке FLT_REC Восстановление всех используемых регистров из стека CNV_BINxxx Преобразование двоичного числа в формат числа с плавающей точкой CNV_BCD_FP Преобразование двоично-десятичного числа в формат числа с плавающей точкой CNV_FP_BIN Преобразование числа в формате с плавающей точкой в двоичное число CNV_FP_BCD Преобразование числа в формате с плавающей точкой в двоично-десятичное число FLT_CMP Сравнение двух чисел в формате с плавающей точкой Использование регистров R5 - R12 в качестве буферов для хранения адреса аргумента, позволяет сохранить адресное пространство памяти. Аргументы не изменяются в результате вычисления и могу храниться или в ПЗУ или в ОЗУ. Прежде чем начинать вычисления, необходимо загрузить два указателя RPARG и RPRES адресами, указывающими на старшее слово будущих операндов (MSW). После возврата из подпрограммы вычисления, указатель вершины стека (SP), указывает на результат вычисления арифметических выражений. Результат вычисления с плавающей точкой всегда хранится по адресу указателя вершины стека (SP). Результаты основных арифметических операций (сложения, вычитания, умножения и деления) также хранятся по адресам @SP или 0(SP).Между вызовами подпрограмм FPP, все регистры могут свободно использоваться. Диапазон чисел, с которыми производит вычисления библиотека FPP. Наибольшее положительное число Двоичное : FF7FFFFFh Десятичное : 3.402823 x 10 38 Наименьшее положительное число Двоичное : 00000001h Десятичное : 2.938736 x 10 -39 Ноль : 00000000h, 0 = 0.0 Наименьшее отрицательное число Двоичное :00800000h Десятичное :-2.938736 x 10 -39 Наибольшее отрицательное число Двоичное : FFFFFFFFh Десятичное :-3.402823 x 10 38 Разрешение: 119.2093 x 10 -9 2 е. Число машинных циклов процессора MSP430, затрачиваемое на выполнение арифметических операций.
Подпрограмма сравнения работает значительно быстрее, чем подпрограммы арифметических операций. Знаковые числа сравниваются на первом шаге. Для дальнейшего сравнения рассматривается отношение двух аргументов... Библиотека FPP подключается к рабочей программе приведенной ниже командой:
При этом необходимо иметь ввиду, что размер подключаемой библиотеки FPP - 960 байт. Лучше всего разместить библиотеку FPP перед блоком указателей переходов по векторам прерывания, расположенным по адресу: FFE0h. В этом случае адрес библиотеки FPP будет : address H = FBD0h. Пример вычисления с использованием библиотеки FPP. (A х B) + C
Пример использования подпрограммы сравнения двух чисел.
Главная - Микросхемы - DOC - ЖКИ - Источники питания - Электромеханика - Интерфейсы - Программы - Применения - Статьи |
|
Впервые? | Реклама на сайте | О проекте | Карта портала тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru ©1998-2023 Рынок Микроэлектроники |
|