Subversion Repositories svnkaklik

Rev

Go to most recent revision | Blame | Last modification | View Log | Download

CCS PCW C Compiler, Version 3.110, 15448

               Filename: d:\@kaklik\programy\pic_c\robot\solarni_robot\2004\main.LST

               ROM used: 178 (17%)
                         Largest free fragment is 846
               RAM used: 3 (4%) at main() level
                         4 (6%) worst case
               Stack:    1 locations

*
0000:  MOVLW  00
0001:  MOVWF  0A
0002:  GOTO   012
0003:  NOP
....................  /* Program pro ovladani slunecniho robota */  
.................... /* (chodi se zapojenim Dark Walker rev.3  */  
.................... /* $Header: /programy/PIC_C/robot/solarni_robot/dalsi_verze/main.c 8     7.09.03 12:35 Kaklik $ */  
....................   
.................... #include "D:\@Kaklik\programy\PIC_C\robot\solarni_robot\dalsi_verze\main.h" 
....................  #include <16F84.h> 
....................  //////// Standard Header file for the PIC16F84 device ////////////////  
.................... #device PIC16F84  
.................... #list  
....................  
.................... #use delay(clock=32768)  
0004:  MOVLW  10
0005:  MOVWF  04
0006:  MOVF   00,W
0007:  BTFSC  03.2
0008:  GOTO   011
0009:  GOTO   00F
000A:  NOP
000B:  NOP
000C:  NOP
000D:  NOP
000E:  NOP
000F:  DECFSZ 00,F
0010:  GOTO   00A
0011:  RETLW  00
.................... #fuses LP,PUT,NOWDT  
....................   
....................  
....................   
.................... #define LED       PIN_B3   // LED  
.................... #define ON_TIME   75       // Cas sepnuti rele  
.................... #define meridlo   PIN_B2   // Napetovy supervisor  
.................... #define RESET     PIN_B0   // Pridrzeni RESETu  
....................   
.................... void rele1()   // Sepnuti prvniho rele  
.................... {  
....................    output_low(PIN_A1);  
....................    output_low(PIN_B4);  
....................    delay_ms(ON_TIME);  
....................    output_high(PIN_A1);  
....................    output_high(PIN_B4);  
.................... }  
....................   
.................... void motor()   // Sepnuti motoru  
.................... {  
....................    output_low(pin_A2);  
....................    output_low(pin_B1);  
....................    output_low(PIN_A4);  
....................    delay_ms(ON_TIME);  
....................    output_high(pin_A2);  
....................    output_high(pin_B1);  
....................    output_high(PIN_A4);  
.................... }  
....................   
....................   
.................... void main()  
.................... {  
0012:  CLRF   04
0013:  MOVLW  1F
0014:  ANDWF  03,F
....................   
....................    setup_counters(RTCC_INTERNAL,WDT_18MS);  
0015:  MOVLW  08
0016:  MOVWF  0C
0017:  BTFSS  0C.3
0018:  GOTO   021
0019:  MOVLW  07
001A:  CLRF   01
001B:  MOVLW  81
001C:  MOVWF  04
001D:  MOVF   00,W
001E:  ANDLW  C0
001F:  IORLW  0F
0020:  MOVWF  00
0021:  CLRWDT
0022:  MOVLW  81
0023:  MOVWF  04
0024:  MOVF   00,W
0025:  ANDLW  C0
0026:  IORWF  0C,W
0027:  MOVWF  00
....................   
....................    output_high(RESET);                       // vypnuti resetu od supervizoru  
0028:  BSF    03.5
0029:  BCF    06.0
002A:  BCF    03.5
002B:  BSF    06.0
....................   
....................    output_low(PIN_A2);        // vypni vsechno  
002C:  BSF    03.5
002D:  BCF    05.2
002E:  BCF    03.5
002F:  BCF    05.2
....................    output_low(PIN_A3);  
0030:  BSF    03.5
0031:  BCF    05.3
0032:  BCF    03.5
0033:  BCF    05.3
....................    output_low(PIN_B5);  
0034:  BSF    03.5
0035:  BCF    06.5
0036:  BCF    03.5
0037:  BCF    06.5
....................   
....................    output_high(LED);                         //  
0038:  BSF    03.5
0039:  BCF    06.3
003A:  BCF    03.5
003B:  BSF    06.3
....................    delay_ms(ON_TIME);                        // bliknuti LED  
003C:  MOVLW  C7
003D:  MOVWF  0C
003E:  DECFSZ 0C,F
003F:  GOTO   03E
0040:  NOP
0041:  NOP
....................    output_low(LED);                          //  
0042:  BSF    03.5
0043:  BCF    06.3
0044:  BCF    03.5
0045:  BCF    06.3
....................   
....................    output_high(PIN_A3);  
0046:  BSF    03.5
0047:  BCF    05.3
0048:  BCF    03.5
0049:  BSF    05.3
....................    delay_ms(3000);  
004A:  MOVLW  0C
004B:  MOVWF  0F
004C:  MOVLW  FA
004D:  MOVWF  10
004E:  CALL   004
004F:  DECFSZ 0F,F
0050:  GOTO   04C
....................    output_high(PIN_B5);  
0051:  BSF    03.5
0052:  BCF    06.5
0053:  BCF    03.5
0054:  BSF    06.5
....................    delay_ms(10000);  
0055:  MOVLW  28
0056:  MOVWF  0F
0057:  MOVLW  FA
0058:  MOVWF  10
0059:  CALL   004
005A:  DECFSZ 0F,F
005B:  GOTO   057
....................    output_low(PIN_B5);  
005C:  BSF    03.5
005D:  BCF    06.5
005E:  BCF    03.5
005F:  BCF    06.5
....................   
....................    output_high(PIN_A2);    // rozjezd  
0060:  BSF    03.5
0061:  BCF    05.2
0062:  BCF    03.5
0063:  BSF    05.2
....................    delay_ms(200);  
0064:  MOVLW  C8
0065:  MOVWF  10
0066:  CALL   004
....................    output_low(PIN_A3);  
0067:  BSF    03.5
0068:  BCF    05.3
0069:  BCF    03.5
006A:  BCF    05.3
....................    delay_ms(1000);  
006B:  MOVLW  04
006C:  MOVWF  0F
006D:  MOVLW  FA
006E:  MOVWF  10
006F:  CALL   004
0070:  DECFSZ 0F,F
0071:  GOTO   06D
....................    output_high(PIN_A3);  
0072:  BSF    03.5
0073:  BCF    05.3
0074:  BCF    03.5
0075:  BSF    05.3
....................    delay_ms(200);  
0076:  MOVLW  C8
0077:  MOVWF  10
0078:  CALL   004
....................    output_low(PIN_A3);  
0079:  BSF    03.5
007A:  BCF    05.3
007B:  BCF    03.5
007C:  BCF    05.3
....................    delay_ms(1000);  
007D:  MOVLW  04
007E:  MOVWF  0F
007F:  MOVLW  FA
0080:  MOVWF  10
0081:  CALL   004
0082:  DECFSZ 0F,F
0083:  GOTO   07F
....................    output_high(PIN_B5);  
0084:  BSF    03.5
0085:  BCF    06.5
0086:  BCF    03.5
0087:  BSF    06.5
....................    delay_ms(200);  
0088:  MOVLW  C8
0089:  MOVWF  10
008A:  CALL   004
....................    output_low(PIN_B5);  
008B:  BSF    03.5
008C:  BCF    06.5
008D:  BCF    03.5
008E:  BCF    06.5
....................    delay_ms(1000);  
008F:  MOVLW  04
0090:  MOVWF  0F
0091:  MOVLW  FA
0092:  MOVWF  10
0093:  CALL   004
0094:  DECFSZ 0F,F
0095:  GOTO   091
....................    output_high(PIN_B5);  
0096:  BSF    03.5
0097:  BCF    06.5
0098:  BCF    03.5
0099:  BSF    06.5
....................    delay_ms(200);  
009A:  MOVLW  C8
009B:  MOVWF  10
009C:  CALL   004
....................    output_low(PIN_B5);  
009D:  BSF    03.5
009E:  BCF    06.5
009F:  BCF    03.5
00A0:  BCF    06.5
....................   
....................    output_low(PIN_A2);        // vypni vsechno  
00A1:  BSF    03.5
00A2:  BCF    05.2
00A3:  BCF    03.5
00A4:  BCF    05.2
....................    output_low(PIN_A3);  
00A5:  BSF    03.5
00A6:  BCF    05.3
00A7:  BCF    03.5
00A8:  BCF    05.3
....................    output_low(PIN_B5);  
00A9:  BSF    03.5
00AA:  BCF    06.5
00AB:  BCF    03.5
00AC:  BCF    06.5
....................   
....................    output_low(RESET);                        // zapnuti resetu od supervisoru  
00AD:  BSF    03.5
00AE:  BCF    06.0
00AF:  BCF    03.5
00B0:  BCF    06.0
.................... }  
....................  
00B1:  SLEEP