0,0 → 1,132 |
CCS PCW C Compiler, Version 3.110, 15448 |
|
Filename: d:\@kaklik\programy\pic_c\robot\solarni_robot\main.LST |
|
ROM used: 47 (5%) |
Largest free fragment is 977 |
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 |
.................... #include "D:\@Kaklik\programy\PIC_C\robot\solarni_robot\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: GOTO 02B (RETURN) |
.................... #fuses LP,PUT,NOWDT |
.................... |
.................... |
.................... |
.................... #define LED pin_B3 |
.................... #define ON_TIME 100 // Cas sepnuti rele |
.................... #define meridlo pin_B2 |
.................... |
.................... 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() |
.................... { |
.................... 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 rele2() |
.................... { |
.................... output_low(pin_B5); |
.................... output_low(pin_A0); |
.................... delay_ms(ON_TIME); |
.................... output_high(pin_A0); |
.................... output_high(pin_B5); |
.................... } |
.................... |
.................... void main() |
.................... { |
0012: CLRF 04 |
0013: MOVLW 1F |
0014: ANDWF 03,F |
.................... output_high(pin_B0); |
0015: BSF 03.5 |
0016: BCF 06.0 |
0017: BCF 03.5 |
0018: BSF 06.0 |
.................... |
.................... While (true) |
.................... { |
.................... output_high(LED); |
0019: BSF 03.5 |
001A: BCF 06.3 |
001B: BCF 03.5 |
001C: BSF 06.3 |
.................... delay_ms(25); //vystavni blikani |
001D: MOVLW 42 |
001E: MOVWF 0C |
001F: DECFSZ 0C,F |
0020: GOTO 01F |
0021: NOP |
.................... output_low(LED); |
0022: BSF 03.5 |
0023: BCF 06.3 |
0024: BCF 03.5 |
0025: BCF 06.3 |
.................... Delay_ms(1000); |
0026: MOVLW 04 |
0027: MOVWF 0F |
0028: MOVLW FA |
0029: MOVWF 10 |
002A: GOTO 004 |
002B: DECFSZ 0F,F |
002C: GOTO 028 |
.................... } |
002D: GOTO 019 |
.................... |
.................... /* rele1(); |
.................... |
.................... while (!input(meridlo)) |
.................... |
.................... delay_ms(100); |
.................... |
.................... rele2(); |
.................... |
.................... while (!input(meridlo)) |
.................... |
.................... delay_ms(100); |
.................... |
.................... motor(); |
.................... |
.................... output_low(pin_B0); |
.................... */ |
.................... } |
.................... |
002E: SLEEP |