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