⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 phatpspv1.lst

📁 Embedded camera control program.
💻 LST
📖 第 1 页 / 共 5 页
字号:
09CC:  MOVWF  62
09CD:  MOVF   78,W
09CE:  MOVWF  61
09CF:  MOVF   77,W
09D0:  MOVWF  60
09D1:  MOVF   52,W
09D2:  MOVWF  67
09D3:  MOVF   51,W
09D4:  MOVWF  66
09D5:  MOVF   50,W
09D6:  MOVWF  65
09D7:  MOVF   4F,W
09D8:  MOVWF  64
09D9:  BCF    0A.3
09DA:  CALL   4C2
09DB:  BSF    0A.3
09DC:  MOVF   77,W
09DD:  MOVWF  60
09DE:  MOVF   78,W
09DF:  MOVWF  61
09E0:  MOVF   79,W
09E1:  MOVWF  62
09E2:  MOVF   7A,W
09E3:  MOVWF  63
09E4:  BCF    03.1
09E5:  MOVF   7A,W
09E6:  MOVWF  67
09E7:  MOVF   79,W
09E8:  MOVWF  66
09E9:  MOVF   78,W
09EA:  MOVWF  65
09EB:  MOVF   77,W
09EC:  MOVWF  64
09ED:  MOVLW  1B
09EE:  MOVWF  6B
09EF:  MOVLW  E4
09F0:  MOVWF  6A
09F1:  MOVLW  35
09F2:  MOVWF  69
09F3:  MOVLW  82
09F4:  MOVWF  68
09F5:  BCF    0A.3
09F6:  CALL   380
09F7:  BSF    0A.3
09F8:  MOVF   7A,W
09F9:  MOVWF  5A
09FA:  MOVF   79,W
09FB:  MOVWF  59
09FC:  MOVF   78,W
09FD:  MOVWF  58
09FE:  MOVF   77,W
09FF:  MOVWF  57
....................    r = r*y*y + qat[2];  
0A00:  MOVF   5A,W
0A01:  MOVWF  63
0A02:  MOVF   59,W
0A03:  MOVWF  62
0A04:  MOVF   58,W
0A05:  MOVWF  61
0A06:  MOVF   57,W
0A07:  MOVWF  60
0A08:  MOVF   52,W
0A09:  MOVWF  67
0A0A:  MOVF   51,W
0A0B:  MOVWF  66
0A0C:  MOVF   50,W
0A0D:  MOVWF  65
0A0E:  MOVF   4F,W
0A0F:  MOVWF  64
0A10:  BCF    0A.3
0A11:  CALL   4C2
0A12:  BSF    0A.3
0A13:  MOVF   77,W
0A14:  MOVWF  5C
0A15:  MOVF   78,W
0A16:  MOVWF  5D
0A17:  MOVF   79,W
0A18:  MOVWF  5E
0A19:  MOVF   7A,W
0A1A:  MOVWF  5F
0A1B:  MOVWF  63
0A1C:  MOVF   79,W
0A1D:  MOVWF  62
0A1E:  MOVF   78,W
0A1F:  MOVWF  61
0A20:  MOVF   77,W
0A21:  MOVWF  60
0A22:  MOVF   52,W
0A23:  MOVWF  67
0A24:  MOVF   51,W
0A25:  MOVWF  66
0A26:  MOVF   50,W
0A27:  MOVWF  65
0A28:  MOVF   4F,W
0A29:  MOVWF  64
0A2A:  BCF    0A.3
0A2B:  CALL   4C2
0A2C:  BSF    0A.3
0A2D:  MOVF   77,W
0A2E:  MOVWF  60
0A2F:  MOVF   78,W
0A30:  MOVWF  61
0A31:  MOVF   79,W
0A32:  MOVWF  62
0A33:  MOVF   7A,W
0A34:  MOVWF  63
0A35:  BCF    03.1
0A36:  MOVF   7A,W
0A37:  MOVWF  67
0A38:  MOVF   79,W
0A39:  MOVWF  66
0A3A:  MOVF   78,W
0A3B:  MOVWF  65
0A3C:  MOVF   77,W
0A3D:  MOVWF  64
0A3E:  MOVLW  A4
0A3F:  MOVWF  6B
0A40:  MOVLW  DB
0A41:  MOVWF  6A
0A42:  MOVLW  67
0A43:  MOVWF  69
0A44:  MOVLW  83
0A45:  MOVWF  68
0A46:  BCF    0A.3
0A47:  CALL   380
0A48:  BSF    0A.3
0A49:  MOVF   7A,W
0A4A:  MOVWF  5A
0A4B:  MOVF   79,W
0A4C:  MOVWF  59
0A4D:  MOVF   78,W
0A4E:  MOVWF  58
0A4F:  MOVF   77,W
0A50:  MOVWF  57
....................    r = r*y*y + qat[3];  
0A51:  MOVF   5A,W
0A52:  MOVWF  63
0A53:  MOVF   59,W
0A54:  MOVWF  62
0A55:  MOVF   58,W
0A56:  MOVWF  61
0A57:  MOVF   57,W
0A58:  MOVWF  60
0A59:  MOVF   52,W
0A5A:  MOVWF  67
0A5B:  MOVF   51,W
0A5C:  MOVWF  66
0A5D:  MOVF   50,W
0A5E:  MOVWF  65
0A5F:  MOVF   4F,W
0A60:  MOVWF  64
0A61:  BCF    0A.3
0A62:  CALL   4C2
0A63:  BSF    0A.3
0A64:  MOVF   77,W
0A65:  MOVWF  5C
0A66:  MOVF   78,W
0A67:  MOVWF  5D
0A68:  MOVF   79,W
0A69:  MOVWF  5E
0A6A:  MOVF   7A,W
0A6B:  MOVWF  5F
0A6C:  MOVWF  63
0A6D:  MOVF   79,W
0A6E:  MOVWF  62
0A6F:  MOVF   78,W
0A70:  MOVWF  61
0A71:  MOVF   77,W
0A72:  MOVWF  60
0A73:  MOVF   52,W
0A74:  MOVWF  67
0A75:  MOVF   51,W
0A76:  MOVWF  66
0A77:  MOVF   50,W
0A78:  MOVWF  65
0A79:  MOVF   4F,W
0A7A:  MOVWF  64
0A7B:  BCF    0A.3
0A7C:  CALL   4C2
0A7D:  BSF    0A.3
0A7E:  MOVF   77,W
0A7F:  MOVWF  60
0A80:  MOVF   78,W
0A81:  MOVWF  61
0A82:  MOVF   79,W
0A83:  MOVWF  62
0A84:  MOVF   7A,W
0A85:  MOVWF  63
0A86:  BCF    03.1
0A87:  MOVF   7A,W
0A88:  MOVWF  67
0A89:  MOVF   79,W
0A8A:  MOVWF  66
0A8B:  MOVF   78,W
0A8C:  MOVWF  65
0A8D:  MOVF   77,W
0A8E:  MOVWF  64
0A8F:  MOVLW  33
0A90:  MOVWF  6B
0A91:  MOVLW  8C
0A92:  MOVWF  6A
0A93:  MOVLW  1E
0A94:  MOVWF  69
0A95:  MOVLW  83
0A96:  MOVWF  68
0A97:  BCF    0A.3
0A98:  CALL   380
0A99:  BSF    0A.3
0A9A:  MOVF   7A,W
0A9B:  MOVWF  5A
0A9C:  MOVF   79,W
0A9D:  MOVWF  59
0A9E:  MOVF   78,W
0A9F:  MOVWF  58
0AA0:  MOVF   77,W
0AA1:  MOVWF  57
....................   
....................    res = y*res/r;  
0AA2:  MOVF   52,W
0AA3:  MOVWF  63
0AA4:  MOVF   51,W
0AA5:  MOVWF  62
0AA6:  MOVF   50,W
0AA7:  MOVWF  61
0AA8:  MOVF   4F,W
0AA9:  MOVWF  60
0AAA:  MOVF   56,W
0AAB:  MOVWF  67
0AAC:  MOVF   55,W
0AAD:  MOVWF  66
0AAE:  MOVF   54,W
0AAF:  MOVWF  65
0AB0:  MOVF   53,W
0AB1:  MOVWF  64
0AB2:  BCF    0A.3
0AB3:  CALL   4C2
0AB4:  BSF    0A.3
0AB5:  MOVF   77,W
0AB6:  MOVWF  5C
0AB7:  MOVF   78,W
0AB8:  MOVWF  5D
0AB9:  MOVF   79,W
0ABA:  MOVWF  5E
0ABB:  MOVF   7A,W
0ABC:  MOVWF  5F
0ABD:  MOVWF  63
0ABE:  MOVF   79,W
0ABF:  MOVWF  62
0AC0:  MOVF   78,W
0AC1:  MOVWF  61
0AC2:  MOVF   77,W
0AC3:  MOVWF  60
0AC4:  MOVF   5A,W
0AC5:  MOVWF  67
0AC6:  MOVF   59,W
0AC7:  MOVWF  66
0AC8:  MOVF   58,W
0AC9:  MOVWF  65
0ACA:  MOVF   57,W
0ACB:  MOVWF  64
0ACC:  BCF    0A.3
0ACD:  CALL   538
0ACE:  BSF    0A.3
0ACF:  MOVF   7A,W
0AD0:  MOVWF  56
0AD1:  MOVF   79,W
0AD2:  MOVWF  55
0AD3:  MOVF   78,W
0AD4:  MOVWF  54
0AD5:  MOVF   77,W
0AD6:  MOVWF  53
....................   
....................   
....................    if (flag)                              // for |x| > 1  
0AD7:  BTFSS  5B.1
0AD8:  GOTO   2F5
....................       res = PI_DIV_BY_TWO - res;  
0AD9:  BSF    03.1
0ADA:  MOVLW  DB
0ADB:  MOVWF  67
0ADC:  MOVLW  0F
0ADD:  MOVWF  66
0ADE:  MOVLW  49
0ADF:  MOVWF  65
0AE0:  MOVLW  7F
0AE1:  MOVWF  64
0AE2:  MOVF   56,W
0AE3:  MOVWF  6B
0AE4:  MOVF   55,W
0AE5:  MOVWF  6A
0AE6:  MOVF   54,W
0AE7:  MOVWF  69
0AE8:  MOVF   53,W
0AE9:  MOVWF  68
0AEA:  BCF    0A.3
0AEB:  CALL   380
0AEC:  BSF    0A.3
0AED:  MOVF   7A,W
0AEE:  MOVWF  56
0AEF:  MOVF   79,W
0AF0:  MOVWF  55
0AF1:  MOVF   78,W
0AF2:  MOVWF  54
0AF3:  MOVF   77,W
0AF4:  MOVWF  53
....................    if (s)  
0AF5:  BTFSS  5B.0
0AF6:  GOTO   2F9
....................       res = -res;  
0AF7:  MOVLW  80
0AF8:  XORWF  54,F
....................   
....................    return(res);  
0AF9:  MOVF   53,W
0AFA:  MOVWF  77
0AFB:  MOVF   54,W
0AFC:  MOVWF  78
0AFD:  MOVF   55,W
0AFE:  MOVWF  79
0AFF:  MOVF   56,W
0B00:  MOVWF  7A
.................... }  
....................   
.................... /////////////////////////////////////////////////////////////////////////////  
.................... //	float atan2(float y, float x)  
.................... /////////////////////////////////////////////////////////////////////////////  
.................... // Description :computes the principal value of arc tangent of y/x, using the  
.................... // signs of both the arguments to determine the quadrant of the return value  
.................... // Returns : returns the arc tangent of y/x.  
.................... // Date : N/A  
.................... //  
....................   
....................   
.................... float atan2(float y,float x)  
.................... {  
....................    float z;  
....................    int1 sign;  
....................    int quad;  
....................    sign=0;  
....................    quad=0; //quadrant  
....................    quad=((y<=0.0)?(x<=0.0)?:4):((x<0.0)?:1));  
....................    if(y<0.0)  
....................    {  
....................       sign=1;  
....................       y=-y;  
....................    }  
....................    if(x<0.0)  
....................    {  
....................       x=-x;  
....................    }  
....................    if (x==0.0)  
....................    {  
....................       if(y==0.0)  
....................       {  
....................       #ifdef _ERRNO  
....................       {  
....................          errno=EDOM;  
....................       }  
....................       #endif  
....................       }  
....................       else  
....................       {  
....................          if(sign)  
....................          {  
....................          return (-(PI_DIV_BY_TWO));  
....................          }  
....................          else  
....................          {  
....................          return (PI_DIV_BY_TWO);  
....................          }  
....................       }  
....................    }  
....................    else  
....................    {  
....................       z=y/x;  
....................       switch(quad)  
....................       {  
....................          case 1:  
....................          {  
....................             return atan(z);  
....................             break;  
....................          }  
....................          case 2:  
....................          {  
.................... //            return (atan(z)+PI_DIV_BY_TWO);  //2L3122  
....................             return (PI-atan(z));  
....................             break;  
....................          }  
....................          case 3:  
....................          {  
....................             return (atan(z)-PI);  
....................             break;  
....................          }  
....................          case 4:  
....................          {  
....................             return (-atan(z));  
....................             break;  
....................          }  
....................       }  
....................    }  
.................... }  
....................   
.................... //////////////////// Hyperbolic functions ////////////////////  
....................   
.................... ////////////////////////////////////////////////////////////////////////////  
.................... //	float cosh(float x)  
.................... ////////////////////////////////////////////////////////////////////////////  
.................... // Description : Computes the hyperbolic cosine value of x  
.................... // Returns : returns the hyperbolic cosine value of x  
.................... // Date : N/A  
.................... //  
....................   
.................... float cosh(float x)  
.................... {  
....................    return ((exp(x)+exp(-x))/2);  
.................... }  
....................   
.................... ////////////////////////////////////////////////////////////////////////////  
.................... //	float sinh(float x)  
.................... ////////////////////////////////////////////////////////////////////////////  
.................... // Description : Computes the hyperbolic sine value of x  
.................... // Returns : returns the hyperbolic sine value of x  
.................... // Date : N/A  
.................... //  
....................   
.................... float sinh(float x)  
.................... {  
....................   
....................    return ((exp(x) - exp(-x))/2);  
.................... }  
....................   
.................... ////////////////////////////////////////////////////////////////////////////  
.................... //	float tanh(float x)  
.................... ////////////////////////////////////////////////////////////////////////////  
.................... // Description : Computes the hyperbolic tangent value of x  
.................... // Returns : returns the hyperbolic tangent value of x  
.................... // Date : N/A  
.................... //  
....................   
.................... float tanh(float x)  
.................... {  
....................    return(sinh(x)/cosh(x));  
.................... }  
....................   
.................... ////////////////////////////////////////////////////////////////////////////  
.................... //	float frexp(float x, signed int *exp)  
.................... ////////////////////////////////////////////////////////////////////////////  
.................... // Description : breaks a floating point number into a normalized fraction and an integral  
.................... // power of 2. It stores the integer in the signed int object pointed to by exp.  
.................... // Returns : returns the value x, such that x is a double with magnitude in the interval  
.................... // [1/2,1) or zero, and value equals x times 2 raised to the power *exp.If value is zero,  
.................... // both parts of the result are zero.  
.................... // Date : N/A  
.................... //  
....................   
....................   
....................   
.................... #define LOG2 .30102999566398119521  
.................... float frexp(float x, signed int *exp)  
.................... {  
....................    float res;  
....................    int1 sign = 0;  
....................    if(x == 0.0)  
....................    {  
....................       *exp=0;  
....................       return (0.0);  
....................    }  
....................    if(x < 0.0)  
....................    {  
....................      x=-x;  
....................      sign=1;  
....................    }  
....................    if (x > 1.0)  
....................    {  
....................       *exp=(ceil(log10(x)/LOG2));  
....................       res=x/(pow(2, *exp));  
....................       

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -