Rev 410 | Blame | Last modification | View Log | Download
CCS PCM C Compiler, Version 4.090, 47914 23-I-10 18:05
Filename: D:\svnKaklik\programy\C\PIC_C\mereni\serva\PIC16F88\tester.lst
ROM used: 294 words (7%)
Largest free fragment is 2048
RAM used: 8 (2%) at main() level
9 (2%) worst case
Stack: 1 locations
*
0000: MOVLW 00
0001: MOVWF 0A
0002: GOTO 02D
0003: NOP
.................... #include "tester.h"
.................... #include <16F88.h>
.................... //////// Standard Header file for the PIC16F88 device ////////////////
.................... #device PIC16F88
.................... #list
....................
.................... #device adc=8
.................... #fuses NOWDT,INTRC_IO, NOPUT, MCLR, BROWNOUT, NOLVP, NOCPD, NOWRT, NODEBUG, NOPROTECT, FCMEN, IESO
.................... #use delay(clock=4000000)
0004: MOVLW 22
0005: MOVWF 04
0006: BCF 03.7
0007: MOVF 00,W
0008: BTFSC 03.2
0009: GOTO 018
000A: MOVLW 01
000B: MOVWF 78
000C: CLRF 77
000D: DECFSZ 77,F
000E: GOTO 00D
000F: DECFSZ 78,F
0010: GOTO 00C
0011: MOVLW 4A
0012: MOVWF 77
0013: DECFSZ 77,F
0014: GOTO 013
0015: GOTO 016
0016: DECFSZ 00,F
0017: GOTO 00A
0018: RETLW 00
0019: MOVLW 12
001A: SUBWF 23,F
001B: BTFSS 03.0
001C: GOTO 02C
001D: MOVLW 23
001E: MOVWF 04
001F: BCF 03.7
0020: MOVLW FC
0021: ANDWF 00,F
0022: BCF 03.0
0023: RRF 00,F
0024: RRF 00,F
0025: MOVF 00,W
0026: BTFSC 03.2
0027: GOTO 02C
0028: GOTO 02A
0029: NOP
002A: DECFSZ 00,F
002B: GOTO 029
002C: RETLW 00
....................
....................
....................
.................... #DEFINE servo1 PIN_B1
.................... #DEFINE servo2 PIN_A3
.................... #DEFINE servo3 PIN_A2
.................... #DEFINE servo4 PIN_A0
.................... #DEFINE SW PIN_B2
....................
.................... void main()
.................... {
002D: CLRF 04
002E: BCF 03.7
002F: MOVLW 1F
0030: ANDWF 03,F
0031: MOVLW 62
0032: BSF 03.5
0033: MOVWF 0F
0034: MOVF 0F,W
0035: BCF 1F.4
0036: BCF 1F.5
0037: MOVF 1B,W
0038: ANDLW 80
0039: MOVWF 1B
003A: MOVLW 07
003B: MOVWF 1C
.................... int i;
....................
.................... port_b_pullups(TRUE);
003C: BCF 01.7
.................... setup_adc_ports(NO_ANALOGS|VSS_VDD);
003D: BCF 1F.4
003E: BCF 1F.5
003F: MOVF 1B,W
0040: ANDLW 80
0041: MOVWF 1B
.................... setup_adc(ADC_OFF);
0042: BCF 03.5
0043: BCF 1F.0
.................... setup_spi(FALSE);
0044: CLRF 14
.................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
0045: BSF 03.5
0046: MOVF 01,W
0047: ANDLW C7
0048: IORLW 08
0049: MOVWF 01
.................... setup_timer_1(T1_DISABLED);
004A: BCF 03.5
004B: CLRF 10
.................... setup_timer_2(T2_DISABLED,0,1);
004C: MOVLW 00
004D: MOVWF 78
004E: MOVWF 12
004F: MOVLW 00
0050: BSF 03.5
0051: MOVWF 12
.................... setup_comparator(NC_NC_NC_NC);
0052: MOVLW 07
0053: MOVWF 1C
0054: MOVF 05,W
0055: MOVWF 05
0056: MOVLW 03
0057: MOVWF 77
0058: DECFSZ 77,F
0059: GOTO 058
005A: MOVF 1C,W
005B: BCF 03.5
005C: BCF 0D.6
.................... setup_vref(FALSE);
005D: BSF 03.5
005E: CLRF 1D
....................
.................... while(true)
.................... {
.................... While(input(SW))
.................... {
005F: BSF 06.2
0060: BCF 03.5
0061: BTFSS 06.2
0062: GOTO 0B1
.................... output_high(servo1);
0063: BSF 03.5
0064: BCF 06.1
0065: BCF 03.5
0066: BSF 06.1
.................... Delay_us(1500);
0067: MOVLW 01
0068: MOVWF 22
0069: CALL 004
006A: MOVLW 02
006B: MOVWF 22
006C: MOVLW F7
006D: MOVWF 23
006E: CALL 019
006F: DECFSZ 22,F
0070: GOTO 06C
.................... output_low(servo1);
0071: BSF 03.5
0072: BCF 06.1
0073: BCF 03.5
0074: BCF 06.1
....................
.................... output_high(servo2);
0075: BSF 03.5
0076: BCF 05.3
0077: BCF 03.5
0078: BSF 05.3
.................... Delay_us(1500);
0079: MOVLW 01
007A: MOVWF 22
007B: CALL 004
007C: MOVLW 02
007D: MOVWF 22
007E: MOVLW F7
007F: MOVWF 23
0080: CALL 019
0081: DECFSZ 22,F
0082: GOTO 07E
.................... output_low(servo2);
0083: BSF 03.5
0084: BCF 05.3
0085: BCF 03.5
0086: BCF 05.3
....................
.................... output_high(servo3);
0087: BSF 03.5
0088: BCF 05.2
0089: BCF 03.5
008A: BSF 05.2
.................... Delay_us(1500);
008B: MOVLW 01
008C: MOVWF 22
008D: CALL 004
008E: MOVLW 02
008F: MOVWF 22
0090: MOVLW F7
0091: MOVWF 23
0092: CALL 019
0093: DECFSZ 22,F
0094: GOTO 090
.................... output_low(servo3);
0095: BSF 03.5
0096: BCF 05.2
0097: BCF 03.5
0098: BCF 05.2
....................
.................... output_high(servo4);
0099: BSF 03.5
009A: BCF 05.0
009B: BCF 03.5
009C: BSF 05.0
.................... Delay_us(1500);
009D: MOVLW 01
009E: MOVWF 22
009F: CALL 004
00A0: MOVLW 02
00A1: MOVWF 22
00A2: MOVLW F7
00A3: MOVWF 23
00A4: CALL 019
00A5: DECFSZ 22,F
00A6: GOTO 0A2
.................... output_low(servo4);
00A7: BSF 03.5
00A8: BCF 05.0
00A9: BCF 03.5
00AA: BCF 05.0
....................
.................... Delay_ms(10);
00AB: MOVLW 0A
00AC: MOVWF 22
00AD: CALL 004
.................... }
00AE: BSF 03.5
00AF: GOTO 05F
00B0: BCF 03.5
....................
.................... While(!input(SW))
.................... {
00B1: BSF 03.5
00B2: BSF 06.2
00B3: BCF 03.5
00B4: BTFSC 06.2
00B5: GOTO 123
.................... for(i=0; i<100; ++i)
00B6: CLRF 21
00B7: MOVF 21,W
00B8: SUBLW 63
00B9: BTFSS 03.0
00BA: GOTO 0EC
.................... {
.................... output_high(servo1);
00BB: BSF 03.5
00BC: BCF 06.1
00BD: BCF 03.5
00BE: BSF 06.1
.................... Delay_us(1000);
00BF: MOVLW 01
00C0: MOVWF 22
00C1: CALL 004
.................... output_low(servo1);
00C2: BSF 03.5
00C3: BCF 06.1
00C4: BCF 03.5
00C5: BCF 06.1
....................
.................... output_high(servo2);
00C6: BSF 03.5
00C7: BCF 05.3
00C8: BCF 03.5
00C9: BSF 05.3
.................... Delay_us(1000);
00CA: MOVLW 01
00CB: MOVWF 22
00CC: CALL 004
.................... output_low(servo2);
00CD: BSF 03.5
00CE: BCF 05.3
00CF: BCF 03.5
00D0: BCF 05.3
....................
.................... output_high(servo3);
00D1: BSF 03.5
00D2: BCF 05.2
00D3: BCF 03.5
00D4: BSF 05.2
.................... Delay_us(1000);
00D5: MOVLW 01
00D6: MOVWF 22
00D7: CALL 004
.................... output_low(servo3);
00D8: BSF 03.5
00D9: BCF 05.2
00DA: BCF 03.5
00DB: BCF 05.2
....................
.................... output_high(servo4);
00DC: BSF 03.5
00DD: BCF 05.0
00DE: BCF 03.5
00DF: BSF 05.0
.................... Delay_us(1000);
00E0: MOVLW 01
00E1: MOVWF 22
00E2: CALL 004
.................... output_low(servo4);
00E3: BSF 03.5
00E4: BCF 05.0
00E5: BCF 03.5
00E6: BCF 05.0
....................
.................... Delay_ms(10);
00E7: MOVLW 0A
00E8: MOVWF 22
00E9: CALL 004
.................... }
00EA: INCF 21,F
00EB: GOTO 0B7
....................
.................... for(i=0; i<100; ++i)
00EC: CLRF 21
00ED: MOVF 21,W
00EE: SUBLW 63
00EF: BTFSS 03.0
00F0: GOTO 122
.................... {
.................... output_high(servo1);
00F1: BSF 03.5
00F2: BCF 06.1
00F3: BCF 03.5
00F4: BSF 06.1
.................... Delay_us(2000);
00F5: MOVLW 02
00F6: MOVWF 22
00F7: CALL 004
.................... output_low(servo1);
00F8: BSF 03.5
00F9: BCF 06.1
00FA: BCF 03.5
00FB: BCF 06.1
....................
.................... output_high(servo2);
00FC: BSF 03.5
00FD: BCF 05.3
00FE: BCF 03.5
00FF: BSF 05.3
.................... Delay_us(2000);
0100: MOVLW 02
0101: MOVWF 22
0102: CALL 004
.................... output_low(servo2);
0103: BSF 03.5
0104: BCF 05.3
0105: BCF 03.5
0106: BCF 05.3
....................
.................... output_high(servo3);
0107: BSF 03.5
0108: BCF 05.2
0109: BCF 03.5
010A: BSF 05.2
.................... Delay_us(2000);
010B: MOVLW 02
010C: MOVWF 22
010D: CALL 004
.................... output_low(servo3);
010E: BSF 03.5
010F: BCF 05.2
0110: BCF 03.5
0111: BCF 05.2
....................
.................... output_high(servo4);
0112: BSF 03.5
0113: BCF 05.0
0114: BCF 03.5
0115: BSF 05.0
.................... Delay_us(2000);
0116: MOVLW 02
0117: MOVWF 22
0118: CALL 004
.................... output_low(servo4);
0119: BSF 03.5
011A: BCF 05.0
011B: BCF 03.5
011C: BCF 05.0
....................
.................... Delay_ms(10);
011D: MOVLW 0A
011E: MOVWF 22
011F: CALL 004
.................... }
0120: INCF 21,F
0121: GOTO 0ED
.................... }
0122: GOTO 0B1
.................... }
0123: BSF 03.5
0124: GOTO 05F
....................
.................... }
0125: SLEEP
Configuration Fuses:
Word 1: 3F78 NOWDT NOPUT MCLR BROWNOUT NOLVP NOCPD NOWRT NODEBUG CCPB0 NOPROTECT INTRC_IO
Word 2: 3FFF FCMEN IESO