📄 camera1.lst
字号:
CCS PCM C Compiler, Version 3.211, 16465 04-Oct-05 13:51
Filename: D:\phuoc\laptrinhpic\CAMERA1.LST
ROM used: 1214 words (15%)
Largest free fragment is 2048
RAM used: 89 (24%) at main() level
101 (28%) worst case
Stack: 2 locations
*
0000: MOVLW 00
0001: MOVWF 0A
0002: GOTO 2D8
0003: NOP
.................... //Connecting with camera for reading and calculating the errors
....................
.................... #device PIC16F877 *=16 ADC=10
0004: BCF 0A.0
0005: BCF 0A.1
0006: BCF 0A.2
0007: ADDWF 02,F
0008: RETLW 41
0009: RETLW 43
000A: RETLW 4B
000B: RETLW 00
000C: BCF 0A.0
000D: BCF 0A.1
000E: BCF 0A.2
000F: ADDWF 02,F
0010: RETLW 53
0011: RETLW 57
0012: RETLW 20
0013: RETLW 31
0014: RETLW 20
0015: RETLW 31
0016: RETLW 20
0017: RETLW 38
0018: RETLW 30
0019: RETLW 20
001A: RETLW 31
001B: RETLW 34
001C: RETLW 33
001D: RETLW 0D
001E: RETLW 00
001F: BCF 0A.0
0020: BCF 0A.1
0021: BCF 0A.2
0022: ADDWF 02,F
0023: RETLW 43
0024: RETLW 52
0025: RETLW 20
0026: RETLW 31
0027: RETLW 38
0028: RETLW 20
0029: RETLW 34
002A: RETLW 34
002B: RETLW 0D
002C: RETLW 00
002D: BCF 0A.0
002E: BCF 0A.1
002F: BCF 0A.2
0030: ADDWF 02,F
0031: RETLW 50
0032: RETLW 4D
0033: RETLW 20
0034: RETLW 31
0035: RETLW 0D
0036: RETLW 00
0037: BCF 0A.0
0038: BCF 0A.1
0039: BCF 0A.2
003A: ADDWF 02,F
003B: RETLW 4D
003C: RETLW 4D
003D: RETLW 20
003E: RETLW 30
003F: RETLW 0D
0040: RETLW 00
0041: BCF 0A.0
0042: BCF 0A.1
0043: BCF 0A.2
0044: ADDWF 02,F
0045: RETLW 4C
0046: RETLW 4D
0047: RETLW 20
0048: RETLW 31
0049: RETLW 0D
004A: RETLW 00
004B: BCF 0A.0
004C: BCF 0A.1
004D: BCF 0A.2
004E: ADDWF 02,F
004F: RETLW 44
0050: RETLW 4D
0051: RETLW 20
0052: RETLW 30
0053: RETLW 0D
0054: RETLW 00
0055: BCF 0A.0
0056: BCF 0A.1
0057: BCF 0A.2
0058: ADDWF 02,F
0059: RETLW 54
005A: RETLW 43
005B: RETLW 20
005C: RETLW 0D
005D: RETLW 00
005E: CLRF 77
005F: CLRF 78
0060: BSF 03.5
0061: MOVF 24,W
0062: BCF 03.0
0063: BTFSC 25.0
0064: ADDWF 77,F
0065: RRF 77,F
0066: RRF 78,F
0067: BTFSC 25.1
0068: ADDWF 77,F
0069: RRF 77,F
006A: RRF 78,F
006B: BTFSC 25.2
006C: ADDWF 77,F
006D: RRF 77,F
006E: RRF 78,F
006F: BTFSC 25.3
0070: ADDWF 77,F
0071: RRF 77,F
0072: RRF 78,F
0073: BTFSC 25.4
0074: ADDWF 77,F
0075: RRF 77,F
0076: RRF 78,F
0077: BTFSC 25.5
0078: ADDWF 77,F
0079: RRF 77,F
007A: RRF 78,F
007B: BTFSC 25.6
007C: ADDWF 77,F
007D: RRF 77,F
007E: RRF 78,F
007F: BTFSC 25.7
0080: ADDWF 77,F
0081: RRF 77,F
0082: RRF 78,F
0083: BCF 03.5
0084: RETLW 00
*
0114: MOVF 74,W
0115: CLRF 78
0116: SUBWF 73,W
0117: BTFSC 03.0
0118: GOTO 11C
0119: MOVF 73,W
011A: MOVWF 77
011B: GOTO 128
011C: CLRF 77
011D: MOVLW 08
011E: MOVWF 75
011F: RLF 73,F
0120: RLF 77,F
0121: MOVF 74,W
0122: SUBWF 77,W
0123: BTFSC 03.0
0124: MOVWF 77
0125: RLF 78,F
0126: DECFSZ 75,F
0127: GOTO 11F
0128: RETLW 00
0129: BCF 72.6
012A: MOVF 71,W
012B: MOVWF 73
012C: MOVLW 64
012D: MOVWF 74
012E: CALL 114
012F: MOVF 78,W
0130: BTFSS 03.2
0131: GOTO 14F
0132: BTFSC 72.3
0133: GOTO 15B
0134: BTFSC 72.6
0135: GOTO 13C
0136: BTFSC 72.0
0137: GOTO 13C
0138: BTFSC 72.2
0139: GOTO 13C
013A: BTFSC 72.7
013B: GOTO 15B
013C: BTFSS 72.0
013D: GOTO 148
013E: BTFSC 72.7
013F: GOTO 15B
0140: BTFSC 72.6
0141: GOTO 148
0142: BTFSC 72.0
0143: GOTO 15B
0144: BTFSC 72.2
0145: GOTO 148
0146: BTFSC 72.7
0147: GOTO 15B
0148: MOVLW 20
0149: BTFSS 72.4
014A: MOVLW 30
014B: BTFSS 0C.4
014C: GOTO 14B
014D: MOVWF 19
014E: GOTO 15B
014F: BTFSS 72.7
0150: GOTO 156
0151: MOVLW 2D
0152: BTFSS 0C.4
0153: GOTO 152
0154: MOVWF 19
0155: BCF 72.7
0156: MOVLW 30
0157: ADDWF 78,W
0158: BTFSS 0C.4
0159: GOTO 158
015A: MOVWF 19
015B: BTFSC 72.6
015C: GOTO 165
015D: MOVF 77,W
015E: MOVWF 73
015F: MOVLW 0A
0160: MOVWF 74
0161: CALL 114
0162: MOVF 78,W
0163: BSF 72.6
0164: GOTO 12F
0165: BTFSS 72.7
0166: GOTO 16B
0167: MOVLW 2D
0168: BTFSS 0C.4
0169: GOTO 168
016A: MOVWF 19
016B: MOVLW 30
016C: ADDWF 77,W
016D: BTFSS 0C.4
016E: GOTO 16D
016F: MOVWF 19
0170: RETLW 00
.................... #include <16f877.h>
.................... //////// Standard Header file for the PIC16F877 device ////////////////
.................... //#device PIC16F877
.................... #list
....................
.................... #include <math.h>
.................... ////////////////////////////////////////////////////////////////////////////
.................... //// (C) Copyright 1996,2003 Custom Computer Services ////
.................... //// This source code may only be used by licensed users of the CCS C ////
.................... //// compiler. This source code may only be distributed to other ////
.................... //// licensed users of the CCS C compiler. No other use, reproduction ////
.................... //// or distribution is permitted without written permission. ////
.................... //// Derivative programs created using this software in object code ////
.................... //// form are not restricted in any way. ////
.................... ////////////////////////////////////////////////////////////////////////////
.................... //// ////
.................... //// History: ////
.................... //// * 9/20/2001 : Improvments are made to sin/cos code. ////
.................... //// The code now is small, much faster, ////
.................... //// and more accurate. ////
.................... //// ////
.................... ////////////////////////////////////////////////////////////////////////////
....................
.................... #ifndef MATH_H
.................... #define MATH_H
....................
....................
.................... #undef PI
.................... #define PI 3.141592654
....................
....................
.................... #define SQRT2 1.41421356
....................
.................... //float const ps[4] = {5.9304945, 21.125224, 8.9403076, 0.29730279};
.................... //float const qs[4] = {1.0000000, 15.035723, 17.764134, 2.4934718};
....................
.................... ///////////////////////////// Round Functions //////////////////////////////
....................
.................... float CEIL_FLOOR(float x, int n)
.................... {
.................... float y, res;
.................... long l;
.................... int1 s;
....................
.................... s = 0;
.................... y = x;
....................
.................... if (x < 0)
.................... {
.................... s = 1;
.................... y = -y;
.................... }
....................
.................... if (y <= 32768.0)
.................... res = (float)(long)y;
....................
.................... else if (y < 10000000.0)
.................... {
.................... l = (long)(y/32768.0);
.................... y = 32768.0*(y/32768.0 - (float)l);
.................... res = 32768.0*(float)l;
.................... res += (float)(long)y;
.................... }
....................
.................... else
.................... res = y;
....................
.................... y = y - (float)(long)y;
....................
.................... if (s)
.................... res = -res;
....................
.................... if (y != 0)
.................... {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -