Parallax Propeller P8X32A Manual Del Usuario página 402

Tabla de contenido

Publicidad

Appendix B: Math Samples and Function Tables
Tabla de Seno ($E000-$F001)
La tabla de seno proporciona 2,049 muestras de 16-bit no signados en un rango de 0° a 90°,
(resolución 0.0439°).
Un pequeño monto de código ensamblador puede hacer espejo y cambiar la tabla de seno
para crear una tabla completa de seno/coseno que tiene 13-bit de resolución angular y 17-bit
de resolución de muestreo:
' Obtiene seno/coseno
'
'
Cuadrante: 1
'
angulo: $0000..$07FF $0800..$0FFF $1000..$17FF $1800..$1FFF
' tabla indice: $0000..$07FF $0800..$0001 $0000..$07FF $0800..$0001
'
espejo: +offset
'
cambio: +sample
'
' on entry: sin[12..0] tiene angulo (0° a justo debajo de 360°)
' on exit: sin tiene valor signado en rango de $0000FFFF ('1') a
' $FFFF0001 ('-1')
'
getcos
add
getsin
test
test
negc
or
shl
dirección word final
rdword sin,sin
negnz
getsin_ret
getcos_ret
ret
HUB en RDWORD)
sin_90
long
sin_180
long
sin_table
long
sin
long
Como en la tabla log y Anti-Log, la interpolación linear podría aplicar a la tabla d seno para
alcanzar mejores resoluciones.
Page 402 · Propeller Manual v1.1
2
-offset
+sample
sin,sin_90
'para coseno, suma 90°
sin,sin_90
wc 'obtiene cuadrante 2|4 en c
sin_sin_180
wz 'obtiene cuadrante 3|4 en nz
sin,sin
'si cuadrante 2|4, niega offset
sin,sin_table
'o en tabla sin dirección >> 1
sin,#1
'mueve a izquierda para obtener
'lee muestra word de $E000 a $F000
sin,sin
'39..54 ciclos de reloj
'(variacion debido a sincronizacion
$0800
$1000
$E000 >> 1
'tabla base seno movida a la derecha
0
3
4
+offset
-offset
-sample
-sample
'si cuadrante 3|4, niega muestra

Publicidad

Tabla de contenido
loading

Productos relacionados para Parallax Propeller P8X32A

Este manual también es adecuado para:

Propeller p8x32a-d40Propeller p8x32a-q44Propeller p8x32a-m44

Tabla de contenido