Subversion Repositories svnkaklik

Rev

Rev 410 | Go to most recent revision | 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