0,0 → 1,225 |
CCS PCW C Compiler, Version 3.110, 15448 |
|
Filename: d:\@kaklik\programy\pic_c\robot\solarni_robot\dalsi_verze\main.LST |
|
ROM used: 141 (14%) |
Largest free fragment is 883 |
RAM used: 3 (4%) at main() level |
4 (6%) worst case |
Stack: 1 locations |
|
* |
0000: MOVLW 00 |
0001: MOVWF 0A |
0002: GOTO 048 |
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 7 14.05.03 23:21 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) |
* |
001B: MOVLW 10 |
001C: MOVWF 04 |
001D: MOVF 00,W |
001E: BTFSC 03.2 |
001F: GOTO 028 |
0020: GOTO 026 |
0021: NOP |
0022: NOP |
0023: NOP |
0024: NOP |
0025: NOP |
0026: DECFSZ 00,F |
0027: GOTO 021 |
0028: GOTO 083 (RETURN) |
.................... #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); |
* |
0004: BSF 03.5 |
0005: BCF 05.1 |
0006: BCF 03.5 |
0007: BCF 05.1 |
.................... output_low(PIN_B4); |
0008: BSF 03.5 |
0009: BCF 06.4 |
000A: BCF 03.5 |
000B: BCF 06.4 |
.................... delay_ms(ON_TIME); |
000C: MOVLW C7 |
000D: MOVWF 0C |
000E: DECFSZ 0C,F |
000F: GOTO 00E |
0010: NOP |
0011: NOP |
.................... output_high(PIN_A1); |
0012: BSF 03.5 |
0013: BCF 05.1 |
0014: BCF 03.5 |
0015: BSF 05.1 |
.................... output_high(PIN_B4); |
0016: BSF 03.5 |
0017: BCF 06.4 |
0018: BCF 03.5 |
0019: BSF 06.4 |
001A: GOTO 07E (RETURN) |
.................... } |
.................... |
.................... void motor() // Sepnuti motoru |
.................... { |
.................... output_low(pin_A2); |
* |
0029: BSF 03.5 |
002A: BCF 05.2 |
002B: BCF 03.5 |
002C: BCF 05.2 |
.................... output_low(pin_B1); |
002D: BSF 03.5 |
002E: BCF 06.1 |
002F: BCF 03.5 |
0030: BCF 06.1 |
.................... output_low(PIN_A4); |
0031: BSF 03.5 |
0032: BCF 05.4 |
0033: BCF 03.5 |
0034: BCF 05.4 |
.................... delay_ms(ON_TIME); |
0035: MOVLW C7 |
0036: MOVWF 0C |
0037: DECFSZ 0C,F |
0038: GOTO 037 |
0039: NOP |
003A: NOP |
.................... output_high(pin_A2); |
003B: BSF 03.5 |
003C: BCF 05.2 |
003D: BCF 03.5 |
003E: BSF 05.2 |
.................... output_high(pin_B1); |
003F: BSF 03.5 |
0040: BCF 06.1 |
0041: BCF 03.5 |
0042: BSF 06.1 |
.................... output_high(PIN_A4); |
0043: BSF 03.5 |
0044: BCF 05.4 |
0045: BCF 03.5 |
0046: BSF 05.4 |
0047: GOTO 088 (RETURN) |
.................... } |
.................... |
.................... |
.................... void main() |
.................... { |
0048: CLRF 04 |
0049: MOVLW 1F |
004A: ANDWF 03,F |
.................... |
.................... setup_counters(RTCC_INTERNAL,WDT_18MS); |
004B: MOVLW 08 |
004C: MOVWF 0C |
004D: BTFSS 0C.3 |
004E: GOTO 057 |
004F: MOVLW 07 |
0050: CLRF 01 |
0051: MOVLW 81 |
0052: MOVWF 04 |
0053: MOVF 00,W |
0054: ANDLW C0 |
0055: IORLW 0F |
0056: MOVWF 00 |
0057: CLRWDT |
0058: MOVLW 81 |
0059: MOVWF 04 |
005A: MOVF 00,W |
005B: ANDLW C0 |
005C: IORWF 0C,W |
005D: MOVWF 00 |
.................... |
.................... output_high(RESET); |
005E: BSF 03.5 |
005F: BCF 06.0 |
0060: BCF 03.5 |
0061: BSF 06.0 |
.................... |
.................... port_b_pullups (true); |
0062: BSF 03.5 |
0063: BCF 01.7 |
.................... |
.................... output_high(LED); |
0064: BCF 06.3 |
0065: BCF 03.5 |
0066: BSF 06.3 |
.................... delay_ms(ON_TIME); |
0067: MOVLW C7 |
0068: MOVWF 0C |
0069: DECFSZ 0C,F |
006A: GOTO 069 |
006B: NOP |
006C: NOP |
.................... output_low(LED); |
006D: BSF 03.5 |
006E: BCF 06.3 |
006F: BCF 03.5 |
0070: BCF 06.3 |
.................... |
.................... if (!input(pin_B5)) |
0071: BSF 03.5 |
0072: BSF 06.5 |
0073: BCF 03.5 |
0074: BTFSC 06.5 |
0075: GOTO 07A |
.................... { |
.................... port_b_pullups (false); |
0076: BSF 03.5 |
0077: BSF 01.7 |
.................... goto chyba; |
0078: GOTO 086 |
0079: BCF 03.5 |
.................... } |
.................... |
.................... port_b_pullups (false); |
007A: BSF 03.5 |
007B: BSF 01.7 |
.................... rele1(); |
007C: BCF 03.5 |
007D: GOTO 004 |
.................... |
.................... delay_ms(28000); |
007E: MOVLW 70 |
007F: MOVWF 0F |
0080: MOVLW FA |
0081: MOVWF 10 |
0082: GOTO 01B |
0083: DECFSZ 0F,F |
0084: GOTO 080 |
0085: BSF 03.5 |
.................... |
.................... chyba: |
.................... motor(); |
0086: BCF 03.5 |
0087: GOTO 029 |
.................... output_low(RESET); |
0088: BSF 03.5 |
0089: BCF 06.0 |
008A: BCF 03.5 |
008B: BCF 06.0 |
.................... } |
.................... |
008C: SLEEP |