2009-12-24 98 views

回答

2

我没有做过任何68HC11编程在很长一段时间,所以我不能给你确切的说明,但是你想要做更多或更少如下:

  1. 定义内存中的一个表,在[0-Pi/2]范围内的Sin(x)在一个象限上具有256(或者很多)值。
  2. 将您的输入转换为范围[0-Pi/2],以便跟踪它最初所处的哪个象限。例如,对于Q2,您需要值(Pi/2-x)。
  3. 查看表格中的调整值,如果原始角度位于第3或第4象限,则取消结果。当然

具体细节将取决于输入和输出范围,但一般来讲通过修改中,将使用索引寻址模式中,与所述索引寄存器指向到表中,或可选地,扩展寻址,与设置的偏移量操作码。

+0

谢谢。它帮助了很多。 – Digonto 2009-12-25 00:09:04

3

不要使用泰勒级数。

Google found this

4

如果你正在寻找一个浮点解决方案,你需要首先实现浮点运算。对于甚至不支持32位操作的68HC11来说,这部分将是不重要的。之后,计算罪很容易,但非常缓慢。 ;-)

使用查找表。

+3

+1:一个256条目查找表加上正弦函数的各种对称规则,可以给你真正的准确度。稍微的插值可以进一步改善它。 – 2009-12-24 19:13:32

+0

非常感谢。 – Digonto 2009-12-25 00:08:30

+0

@forhad:虽然“谢谢”很好,但您必须通过点击帮助您的答案下的复选标记来接受答案。这是本网站如何运作的重要元素。请阅读常见问题的更多信息。 – 2009-12-26 15:26:09