Blame | Last modification | View Log | Download
CCS PCW C Compiler, Version 3.110, 15448Filename: d:\@kaklik\programy\pic_c\robot\auto\main.LSTROM used: 188 (18%)Largest free fragment is 836RAM used: 4 (11%) at main() level5 (14%) worst caseStack: 2 locations*0000: MOVLW 000001: MOVWF 0A0002: GOTO 0710003: NOP.................... #include "D:\@Kaklik\programy\PIC_C\robot\auto\main.h".................... #include <16C84.h>.................... //////// Standard Header file for the PIC16C84 device ////////////////.................... #device PIC16C84.................... #list........................................ #use delay(clock=4000000)0004: MOVLW 100005: MOVWF 040006: MOVF 00,W0007: BTFSC 03.20008: GOTO 0180009: MOVLW 01000A: MOVWF 0D000B: CLRF 0C000C: DECFSZ 0C,F000D: GOTO 00C000E: DECFSZ 0D,F000F: GOTO 00B0010: MOVLW 4A0011: MOVWF 0C0012: DECFSZ 0C,F0013: GOTO 0120014: NOP0015: NOP0016: DECFSZ 00,F0017: GOTO 0090018: RETLW 00.................... #fuses XT,NOWDT................................................................................ #DEFINE CIDLO1L PIN_B0.................... #DEFINE CIDLO1R PIN_B1.................... #DEFINE CIDLO2L PIN_B2.................... #DEFINE CIDLO2R PIN_B3........................................ #DEFINE RELE1 PIN_B5.................... #DEFINE RELE2 PIN_B6.................... #DEFINE MOTOR1 PIN_B4.................... #DEFINE MOTOR2 PIN_A0.................... #DEFINE MOTOR2a PIN_A1........................................ #DEFINE LASER PIN_A2........................................ #DEFINE L 0.................... #DEFINE R 1........................................ int cara;.................... int movement;........................................ void left().................... {.................... output_high(RELE1);*0041: BSF 03.50042: BCF 06.50043: BCF 03.50044: BSF 06.5.................... output_high(RELE2);0045: BSF 03.50046: BCF 06.60047: BCF 03.50048: BSF 06.6.................... delay_ms(100);0049: MOVLW 64004A: MOVWF 10004B: CALL 004.................... output_high(MOTOR1);004C: BSF 03.5004D: BCF 06.4004E: BCF 03.5004F: BSF 06.4.................... output_high(MOTOR2);0050: BSF 03.50051: BCF 05.00052: BCF 03.50053: BSF 05.0.................... output_high(MOTOR2a);0054: BSF 03.50055: BCF 05.10056: BCF 03.50057: BSF 05.10058: GOTO 0A4 (RETURN).................... }........................................ void right().................... {.................... output_low(RELE1);0059: BSF 03.5005A: BCF 06.5005B: BCF 03.5005C: BCF 06.5.................... output_low(RELE2);005D: BSF 03.5005E: BCF 06.6005F: BCF 03.50060: BCF 06.6.................... delay_ms(100);0061: MOVLW 640062: MOVWF 100063: CALL 004.................... output_high(MOTOR1);0064: BSF 03.50065: BCF 06.40066: BCF 03.50067: BSF 06.4.................... output_high(MOTOR2);0068: BSF 03.50069: BCF 05.0006A: BCF 03.5006B: BSF 05.0.................... output_high(MOTOR2a);006C: BSF 03.5006D: BCF 05.1006E: BCF 03.5006F: BSF 05.10070: GOTO 0B1 (RETURN).................... }........................................ void rovne().................... {.................... output_low(RELE1); // oba motory vpred*0029: BSF 03.5002A: BCF 06.5002B: BCF 03.5002C: BCF 06.5.................... output_high(RELE2);002D: BSF 03.5002E: BCF 06.6002F: BCF 03.50030: BSF 06.6.................... delay_ms(100);0031: MOVLW 640032: MOVWF 100033: CALL 004.................... output_high(MOTOR1);0034: BSF 03.50035: BCF 06.40036: BCF 03.50037: BSF 06.4.................... output_high(MOTOR2);0038: BSF 03.50039: BCF 05.0003A: BCF 03.5003B: BSF 05.0.................... output_high(MOTOR2a);003C: BSF 03.5003D: BCF 05.1003E: BCF 03.5003F: BSF 05.10040: RETLW 00.................... }........................................ void stop().................... {.................... output_low(MOTOR1);*0019: BSF 03.5001A: BCF 06.4001B: BCF 03.5001C: BCF 06.4.................... output_low(MOTOR2);001D: BSF 03.5001E: BCF 05.0001F: BCF 03.50020: BCF 05.0.................... output_low(MOTOR2a);0021: BSF 03.50022: BCF 05.10023: BCF 03.50024: BCF 05.1.................... delay_ms(100);0025: MOVLW 640026: MOVWF 100027: CALL 0040028: RETLW 00.................... }............................................................ void main().................... {*0071: CLRF 040072: MOVLW 1F0073: ANDWF 03,F.................... cara=L;0074: CLRF 0E.................... movement=R;0075: MOVLW 010076: MOVWF 0F.................... output_low(RELE1); // oba motory vpred0077: BSF 03.50078: BCF 06.50079: BCF 03.5007A: BCF 06.5.................... output_high(RELE2);007B: BSF 03.5007C: BCF 06.6007D: BCF 03.5007E: BSF 06.6.................... delay_ms(100);007F: MOVLW 640080: MOVWF 100081: CALL 004.................... while (true).................... {.................... if (!input(CIDLO1R)) cara=R; // cara vpravo0082: BSF 03.50083: BSF 06.10084: BCF 03.50085: BTFSC 06.10086: GOTO 0890087: MOVLW 010088: MOVWF 0E.................... if (!input(CIDLO1L)) cara=L; // cara vlevo0089: BSF 03.5008A: BSF 06.0008B: BCF 03.5008C: BTFSC 06.0008D: GOTO 08F008E: CLRF 0E............................................................ if (cara != movement)008F: MOVF 0F,W0090: SUBWF 0E,W0091: BTFSC 03.20092: GOTO 0B4.................... {.................... switch(cara)0093: MOVF 0E,W0094: ADDLW FE0095: BTFSC 03.00096: GOTO 0B40097: ADDLW 020098: GOTO 0B6.................... {.................... case L:.................... output_high(LASER);0099: BSF 03.5009A: BCF 05.2009B: BCF 03.5009C: BSF 05.2.................... stop();009D: CALL 019.................... rovne();009E: CALL 029.................... delay_ms(100);009F: MOVLW 6400A0: MOVWF 1000A1: CALL 004.................... stop();00A2: CALL 019.................... left();00A3: GOTO 041.................... movement=L;00A4: CLRF 0F.................... break;00A5: GOTO 0B4........................................ case R:.................... stop();00A6: CALL 019.................... rovne();00A7: CALL 029.................... delay_ms(100);00A8: MOVLW 6400A9: MOVWF 1000AA: CALL 004.................... output_low(LASER);00AB: BSF 03.500AC: BCF 05.200AD: BCF 03.500AE: BCF 05.2.................... stop();00AF: CALL 019.................... right();00B0: GOTO 059.................... movement=R;00B1: MOVLW 0100B2: MOVWF 0F.................... break;00B3: GOTO 0B4.................... }*00B6: BCF 0A.000B7: BCF 0A.100B8: BCF 0A.200B9: ADDWF 02,F00BA: GOTO 09900BB: GOTO 0A6.................... }.................... }*00B4: GOTO 082.................... }....................00B5: SLEEP