Установил на третьем компьютере с лицензионной операционной системой и все нормально заработало.Программку нужно подкорректировать,думаю вечером объясню.
Установил на третьем компьютере с лицензионной операционной системой и все нормально заработало.Программку нужно подкорректировать,думаю вечером объясню.
Вот пример схемы где на ППЗУ макросах можно реализовывать различные функции табличным способом .В данном ППЗУ зашита функция SIN в 90 ячейках ,через каждый градус (0-90) ,диапазон от 0 до1000 .Можно использовать в Шим задатчиках мощности (регуляторах),в функциональных генераторах ,итп.ППЗУ от AT!
Последний раз редактировалось rovki; 14.03.2011 в 12:45.
Измененный макрос ППЗУ 16х1,у которого дополнительный вход выборки ППЗУ вынесен для удобства наружу ,для задания поля адреса (0,1,2,3,4,......)
Есть задачки для AT! реализовать часть функций(популярных) с помощью рядов (итераций) ,там и факториал может сгодится .![]()
,ну что бы без таблицы ,три -четыре итерации и хорош.
не практично....
есть такое понятие, как "вещественное число с фиксированной точкой"
т.е. в вашем случае надо сделать диапозон значений не 0..1000, а 0..1024
--------------------
а я бы вообще сделал не так....
1) т.к. синус никогда не может быть больше 1, то бы сделал диапозон 1..2^31
нужную точность всегда можно получить соответствующим сдвигом!
2) т.к. диапозон 45..90 всегда модно получить из 0..45, то бы первый и не хранил бы....
3) опять же для точности, ну и свойств ПЗУ, делал бы не 1/360 круга, а 1/512
(т.е. диапозон 0..45 был бы 0..64)
4) самый интересный момент - я бы выбор ППЗУ сделал не по старшим битам, а по младшим!!!
тогда всегда можно уменьшить точность градуса взяв соответственно каждую второю, или каждую четвёртую ПэПэЗэУ-ху))
PS а ещё можно извратиться с интерполяцией промежуточных значений )))
1) "Искусственный Интеллект" по басурмански не так пишется...
2) не охота решать задачки просто что бы их решать...
не в школе же....
------------------
кстати, пока не поправят целочисленные операции
(не выложат поправленную версию программы)
это не возможно....
PS сделать что ли извлечение корня итерационным способом....
зачем мне вещественные числа (дроби в том числе) ,когда логика целочисленная (частный случай) ,мы ж не калькулятор делаем ,-все таймеры ,генераторы оперируют с целыми числами ,где "1" -это 1мсек.А взял 1000 потому что удобней из таблицы брадиса брать ,не связываясь с минутами ,секундами ,а только градусом и период Шим получается 1 сек на автомате.
про ШИМ в 1 сек я уже писал в соседней теме
PS а зачем ШИМ и SIN? не догоняю...
ник у меня AIфакториал![]()
Последний раз редактировалось AI!; 16.03.2011 в 01:44.
Умножьте на 60 и будет минута. Есть такие задачки с нагревом ,где подвод тепла нужно производить по какой либо кривулине .Для интегральных регуляторов с Шим которые я приводил в примерах ,мощьность нарастает линейно во времени ,что не всегда оправдано и экономично ,в ряде случаев хотелось бы ,что бы мошность сначала нарастала быстренько ,а потом скорость прирастания мощности падала со временем ,как ,например у SIN(0-90) .У других обьектов ,наоборот нужно тепло(мощность) сначала подавать (нарашивать ) потихоньку ,а потом с ускорением до заданного значения ,итд...