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

📄 camera 5rd.lst

📁 Embedded camera control program.
💻 LST
📖 第 1 页 / 共 5 页
字号:
0C16:  MOVLW  35
0C18:  MOVWF  x89
0C1A:  MOVLW  81
0C1C:  MOVWF  x88
0C1E:  RCALL  05F0
0C20:  MOVFF  03,6B
0C24:  MOVFF  02,6A
0C28:  MOVFF  01,69
0C2C:  MOVFF  00,68
....................    res = res*y*y + pat[2];  
0C30:  MOVFF  6B,85
0C34:  MOVFF  6A,84
0C38:  MOVFF  69,83
0C3C:  MOVFF  68,82
0C40:  MOVFF  67,89
0C44:  MOVFF  66,88
0C48:  MOVFF  65,87
0C4C:  MOVFF  64,86
0C50:  RCALL  0860
0C52:  MOVFF  00,71
0C56:  MOVFF  01,72
0C5A:  MOVFF  02,73
0C5E:  MOVFF  03,74
0C62:  MOVFF  03,85
0C66:  MOVFF  02,84
0C6A:  MOVFF  01,83
0C6E:  MOVFF  00,82
0C72:  MOVFF  67,89
0C76:  MOVFF  66,88
0C7A:  MOVFF  65,87
0C7E:  MOVFF  64,86
0C82:  RCALL  0860
0C84:  MOVFF  00,75
0C88:  MOVFF  01,76
0C8C:  MOVFF  02,77
0C90:  MOVFF  03,78
0C94:  BCF    FD8.1
0C96:  MOVFF  03,87
0C9A:  MOVFF  02,86
0C9E:  MOVFF  01,85
0CA2:  MOVFF  00,84
0CA6:  MOVLW  3F
0CA8:  MOVWF  x8B
0CAA:  MOVLW  02
0CAC:  MOVWF  x8A
0CAE:  MOVLW  33
0CB0:  MOVWF  x89
0CB2:  MOVLW  83
0CB4:  MOVWF  x88
0CB6:  RCALL  05F0
0CB8:  MOVFF  03,6B
0CBC:  MOVFF  02,6A
0CC0:  MOVFF  01,69
0CC4:  MOVFF  00,68
....................    res = res*y*y + pat[3];  
0CC8:  MOVFF  6B,85
0CCC:  MOVFF  6A,84
0CD0:  MOVFF  69,83
0CD4:  MOVFF  68,82
0CD8:  MOVFF  67,89
0CDC:  MOVFF  66,88
0CE0:  MOVFF  65,87
0CE4:  MOVFF  64,86
0CE8:  RCALL  0860
0CEA:  MOVFF  00,71
0CEE:  MOVFF  01,72
0CF2:  MOVFF  02,73
0CF6:  MOVFF  03,74
0CFA:  MOVFF  03,85
0CFE:  MOVFF  02,84
0D02:  MOVFF  01,83
0D06:  MOVFF  00,82
0D0A:  MOVFF  67,89
0D0E:  MOVFF  66,88
0D12:  MOVFF  65,87
0D16:  MOVFF  64,86
0D1A:  RCALL  0860
0D1C:  MOVFF  00,75
0D20:  MOVFF  01,76
0D24:  MOVFF  02,77
0D28:  MOVFF  03,78
0D2C:  BCF    FD8.1
0D2E:  MOVFF  03,87
0D32:  MOVFF  02,86
0D36:  MOVFF  01,85
0D3A:  MOVFF  00,84
0D3E:  MOVLW  33
0D40:  MOVWF  x8B
0D42:  MOVLW  8C
0D44:  MOVWF  x8A
0D46:  MOVLW  1E
0D48:  MOVWF  x89
0D4A:  MOVLW  83
0D4C:  MOVWF  x88
0D4E:  RCALL  05F0
0D50:  MOVFF  03,6B
0D54:  MOVFF  02,6A
0D58:  MOVFF  01,69
0D5C:  MOVFF  00,68
....................   
....................    r = qat[0]*y*y + qat[1];  
0D60:  CLRF   x85
0D62:  CLRF   x84
0D64:  CLRF   x83
0D66:  MOVLW  7F
0D68:  MOVWF  x82
0D6A:  MOVFF  67,89
0D6E:  MOVFF  66,88
0D72:  MOVFF  65,87
0D76:  MOVFF  64,86
0D7A:  RCALL  0860
0D7C:  MOVFF  00,71
0D80:  MOVFF  01,72
0D84:  MOVFF  02,73
0D88:  MOVFF  03,74
0D8C:  MOVFF  03,85
0D90:  MOVFF  02,84
0D94:  MOVFF  01,83
0D98:  MOVFF  00,82
0D9C:  MOVFF  67,89
0DA0:  MOVFF  66,88
0DA4:  MOVFF  65,87
0DA8:  MOVFF  64,86
0DAC:  RCALL  0860
0DAE:  MOVFF  00,75
0DB2:  MOVFF  01,76
0DB6:  MOVFF  02,77
0DBA:  MOVFF  03,78
0DBE:  BCF    FD8.1
0DC0:  MOVFF  03,87
0DC4:  MOVFF  02,86
0DC8:  MOVFF  01,85
0DCC:  MOVFF  00,84
0DD0:  MOVLW  1B
0DD2:  MOVWF  x8B
0DD4:  MOVLW  E4
0DD6:  MOVWF  x8A
0DD8:  MOVLW  35
0DDA:  MOVWF  x89
0DDC:  MOVLW  82
0DDE:  MOVWF  x88
0DE0:  RCALL  05F0
0DE2:  MOVFF  03,6F
0DE6:  MOVFF  02,6E
0DEA:  MOVFF  01,6D
0DEE:  MOVFF  00,6C
....................    r = r*y*y + qat[2];  
0DF2:  MOVFF  6F,85
0DF6:  MOVFF  6E,84
0DFA:  MOVFF  6D,83
0DFE:  MOVFF  6C,82
0E02:  MOVFF  67,89
0E06:  MOVFF  66,88
0E0A:  MOVFF  65,87
0E0E:  MOVFF  64,86
0E12:  RCALL  0860
0E14:  MOVFF  00,71
0E18:  MOVFF  01,72
0E1C:  MOVFF  02,73
0E20:  MOVFF  03,74
0E24:  MOVFF  03,85
0E28:  MOVFF  02,84
0E2C:  MOVFF  01,83
0E30:  MOVFF  00,82
0E34:  MOVFF  67,89
0E38:  MOVFF  66,88
0E3C:  MOVFF  65,87
0E40:  MOVFF  64,86
0E44:  RCALL  0860
0E46:  MOVFF  00,75
0E4A:  MOVFF  01,76
0E4E:  MOVFF  02,77
0E52:  MOVFF  03,78
0E56:  BCF    FD8.1
0E58:  MOVFF  03,87
0E5C:  MOVFF  02,86
0E60:  MOVFF  01,85
0E64:  MOVFF  00,84
0E68:  MOVLW  A4
0E6A:  MOVWF  x8B
0E6C:  MOVLW  DB
0E6E:  MOVWF  x8A
0E70:  MOVLW  67
0E72:  MOVWF  x89
0E74:  MOVLW  83
0E76:  MOVWF  x88
0E78:  CALL   05F0
0E7C:  MOVFF  03,6F
0E80:  MOVFF  02,6E
0E84:  MOVFF  01,6D
0E88:  MOVFF  00,6C
....................    r = r*y*y + qat[3];  
0E8C:  MOVFF  6F,85
0E90:  MOVFF  6E,84
0E94:  MOVFF  6D,83
0E98:  MOVFF  6C,82
0E9C:  MOVFF  67,89
0EA0:  MOVFF  66,88
0EA4:  MOVFF  65,87
0EA8:  MOVFF  64,86
0EAC:  RCALL  0860
0EAE:  MOVFF  00,71
0EB2:  MOVFF  01,72
0EB6:  MOVFF  02,73
0EBA:  MOVFF  03,74
0EBE:  MOVFF  03,85
0EC2:  MOVFF  02,84
0EC6:  MOVFF  01,83
0ECA:  MOVFF  00,82
0ECE:  MOVFF  67,89
0ED2:  MOVFF  66,88
0ED6:  MOVFF  65,87
0EDA:  MOVFF  64,86
0EDE:  RCALL  0860
0EE0:  MOVFF  00,75
0EE4:  MOVFF  01,76
0EE8:  MOVFF  02,77
0EEC:  MOVFF  03,78
0EF0:  BCF    FD8.1
0EF2:  MOVFF  03,87
0EF6:  MOVFF  02,86
0EFA:  MOVFF  01,85
0EFE:  MOVFF  00,84
0F02:  MOVLW  33
0F04:  MOVWF  x8B
0F06:  MOVLW  8C
0F08:  MOVWF  x8A
0F0A:  MOVLW  1E
0F0C:  MOVWF  x89
0F0E:  MOVLW  83
0F10:  MOVWF  x88
0F12:  CALL   05F0
0F16:  MOVFF  03,6F
0F1A:  MOVFF  02,6E
0F1E:  MOVFF  01,6D
0F22:  MOVFF  00,6C
....................   
....................    res = y*res/r;  
0F26:  MOVFF  67,85
0F2A:  MOVFF  66,84
0F2E:  MOVFF  65,83
0F32:  MOVFF  64,82
0F36:  MOVFF  6B,89
0F3A:  MOVFF  6A,88
0F3E:  MOVFF  69,87
0F42:  MOVFF  68,86
0F46:  RCALL  0860
0F48:  MOVFF  00,71
0F4C:  MOVFF  01,72
0F50:  MOVFF  02,73
0F54:  MOVFF  03,74
0F58:  MOVFF  03,81
0F5C:  MOVFF  02,80
0F60:  MOVFF  01,7F
0F64:  MOVFF  00,7E
0F68:  MOVFF  6F,85
0F6C:  MOVFF  6E,84
0F70:  MOVFF  6D,83
0F74:  MOVFF  6C,82
0F78:  RCALL  0942
0F7A:  MOVFF  03,6B
0F7E:  MOVFF  02,6A
0F82:  MOVFF  01,69
0F86:  MOVFF  00,68
....................   
....................   
....................    if (flag)                              // for |x| > 1  
0F8A:  BTFSS  x70.1
0F8C:  BRA    0FC4
....................       res = PI_DIV_BY_TWO - res;  
0F8E:  BSF    FD8.1
0F90:  MOVLW  DB
0F92:  MOVWF  x87
0F94:  MOVLW  0F
0F96:  MOVWF  x86
0F98:  MOVLW  49
0F9A:  MOVWF  x85
0F9C:  MOVLW  7F
0F9E:  MOVWF  x84
0FA0:  MOVFF  6B,8B
0FA4:  MOVFF  6A,8A
0FA8:  MOVFF  69,89
0FAC:  MOVFF  68,88
0FB0:  CALL   05F0
0FB4:  MOVFF  03,6B
0FB8:  MOVFF  02,6A
0FBC:  MOVFF  01,69
0FC0:  MOVFF  00,68
....................    if (s)  
0FC4:  BTFSS  x70.0
0FC6:  BRA    0FCC
....................       res = -res;  
0FC8:  MOVLW  80
0FCA:  XORWF  x69,F
....................   
....................    return(res);  
0FCC:  MOVFF  68,00
0FD0:  MOVFF  69,01
0FD4:  MOVFF  6A,02
0FD8:  MOVFF  6B,03
.................... }  
0FDC:  GOTO   177A (RETURN)
....................   
.................... /////////////////////////////////////////////////////////////////////////////  
.................... //	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));  
....................       if (res == 1)  
....................       {  
....................          *exp=*exp+1;  
....................           res=.

⌨️ 快捷键说明

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