CCS PCM C Compiler, Version 4.058s, 42064 03-V-08 12:38Filename: C:\RS\Prog\infra\infra.lstROM used: 470 words (6%)Largest free fragment is 2048RAM used: 47 (13%) at main() level50 (14%) worst caseStack: 2 worst case (1 in main + 1 for interrupts)*0000: MOVLW 000001: MOVWF 0A0002: GOTO 1110003: NOP0004: MOVWF 7F0005: SWAPF 03,W0006: CLRF 030007: MOVWF 210008: MOVF 0A,W0009: MOVWF 20000A: CLRF 0A000B: MOVF 04,W000C: MOVWF 22000D: MOVF 77,W000E: MOVWF 23000F: MOVF 78,W0010: MOVWF 240011: MOVF 79,W0012: MOVWF 250013: MOVF 7A,W0014: MOVWF 260015: MOVF 7B,W0016: MOVWF 270017: BCF 03.70018: BCF 03.50019: MOVLW 8C001A: MOVWF 04001B: BTFSS 00.5001C: GOTO 01F001D: BTFSC 0C.5001E: GOTO 032001F: MOVF 22,W0020: MOVWF 040021: MOVF 23,W0022: MOVWF 770023: MOVF 24,W0024: MOVWF 780025: MOVF 25,W0026: MOVWF 790027: MOVF 26,W0028: MOVWF 7A0029: MOVF 27,W002A: MOVWF 7B002B: MOVF 20,W002C: MOVWF 0A002D: SWAPF 21,W002E: MOVWF 03002F: SWAPF 7F,F0030: SWAPF 7F,W0031: RETFIE0032: BCF 0A.30033: BCF 0A.40034: GOTO 0BB.................... #include "C:\RS\Prog\infra\infra.h".................... #include <16F877A.h>.................... //////// Standard Header file for the PIC16F877A device ////////////////.................... #device PIC16F877A.................... #list........................................ #device adc=8........................................ #FUSES NOWDT //No Watch Dog Timer.................... #FUSES XT //Crystal osc <= 4mhz.................... #FUSES NOPUT //No Power Up Timer.................... #FUSES NOPROTECT //Code not protected from reading.................... #FUSES NODEBUG //No Debug mode for ICD.................... #FUSES NOBROWNOUT //No brownout reset.................... #FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O.................... #FUSES NOCPD //No EE protection.................... #FUSES NOWRT //Program memory not write protected........................................ #use delay(clock=4000000,RESTART_WDT)00F9: MOVLW 4100FA: MOVWF 0400FB: BCF 03.700FC: MOVF 00,W00FD: BTFSC 03.200FE: GOTO 11000FF: MOVLW 010100: MOVWF 780101: MOVLW BF0102: MOVWF 770103: CLRWDT0104: DECFSZ 77,F0105: GOTO 1030106: DECFSZ 78,F0107: GOTO 1010108: MOVLW 4A0109: MOVWF 77010A: DECFSZ 77,F010B: GOTO 10A010C: NOP010D: CLRWDT010E: DECFSZ 00,F010F: GOTO 0FF0110: RETLW 00.................... #use rs232(baud=600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)................................................................................ #define MAX_SLOVO 10 // Maximalni pocet znaku ve slovu........................................ int8 napis[2*MAX_SLOVO] ={'A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A'};*0124: MOVLW 410125: BCF 03.50126: MOVWF 280127: MOVWF 290128: MOVWF 2A0129: MOVWF 2B012A: MOVWF 2C012B: MOVWF 2D012C: MOVWF 2E012D: MOVWF 2F012E: MOVWF 30012F: MOVWF 310130: MOVWF 320131: MOVWF 330132: MOVWF 340133: MOVWF 350134: MOVWF 360135: MOVWF 370136: MOVWF 380137: MOVWF 390138: MOVWF 3A0139: MOVWF 3B........................................ #int_RDA.................... void RDA_isr(void).................... {.................... int n;.................... output_B(0x55);*00BB: BSF 03.500BC: CLRF 0600BD: MOVLW 5500BE: BCF 03.500BF: MOVWF 06.................... for(n=0;n<(MAX_SLOVO*2);n++)00C0: CLRF 4900C1: MOVF 49,W00C2: SUBLW 1300C3: BTFSS 03.000C4: GOTO 0D0.................... {.................... napis[n]=getc();00C5: MOVLW 2800C6: ADDWF 49,W00C7: MOVWF 0400C8: BCF 03.700C9: BTFSS 0C.500CA: GOTO 0C900CB: MOVF 1A,W00CC: MOVWF 00.................... restart_WDT();00CD: CLRWDT.................... }00CE: INCF 49,F00CF: GOTO 0C1.................... }....................00D0: BCF 0C.500D1: BCF 0A.300D2: BCF 0A.400D3: GOTO 01F.................... void main().................... {*0111: CLRF 040112: BCF 03.70113: MOVLW 1F0114: ANDWF 03,F0115: MOVLW 670116: BSF 03.50117: MOVWF 190118: MOVLW A20119: MOVWF 18011A: MOVLW 90011B: BCF 03.5011C: MOVWF 18011D: BSF 03.5011E: BSF 1F.0011F: BSF 1F.10120: BSF 1F.20121: BCF 1F.30122: MOVLW 070123: MOVWF 1C........................................ int slovo,pismeno,sloupec,j;............................................................ const int8 pis[26*5]={0b00000001,0b11110110,0b11110110,0b11110110,0b00000001,.................... 0b00000001,0b11110110,0b11110110,0b11110110,0b00000001,.................... 0b10000001,0b01111110,0b01111110,0b01111110,0b10111101,.................... 0b00000000,0b01111110,0b01111110,0b01111110,0b10000001,.................... 0b00000000,0b01110110,0b01110110,0b01111110,0b01111110,.................... 0b00000000,0b11110110,0b11110110,0b11111110,0b11111110,.................... 0b10000001,0b01111110,0b01110110,0b01110110,0b10000101,.................... 0b00000000,0b11110111,0b11110111,0b11110111,0b00000000,.................... 0b01111110,0b01111110,0b00000000,0b01111110,0b01111110,.................... 0b10111110,0b01111110,0b01111110,0b01111110,0b10000000,.................... 0b00000000,0b11110111,0b11110111,0b11101011,0b00011100,.................... 0b00000000,0b01111111,0b01111111,0b01111111,0b01111111,.................... 0b00000000,0b11111110,0b11110000,0b11111110,0b00000000,.................... 0b00000000,0b11101111,0b11011111,0b10111111,0b00000000,.................... 0b10000001,0b01111110,0b01111110,0b01111110,0b10000001,.................... 0b00000000,0b11110110,0b11110110,0b11110110,0b11111001,.................... 0b10000001,0b01111110,0b01111110,0b01111110,0b00000001,.................... 0b00000000,0b11110110,0b11110110,0b11110110,0b00001001,.................... 0b10111001,0b01110110,0b01110110,0b01110110,0b10001101,.................... 0b11111110,0b11111110,0b00000000,0b11111110,0b11111110,.................... 0b10000000,0b01111111,0b01111111,0b01111111,0b10000000,.................... 0b11000000,0b10111111,0b01111111,0b10111111,0b11000000,.................... 0b10000000,0b01111111,0b10000000,0b01111111,0b10000000,.................... 0b00011100,0b11101011,0b11110111,0b11101011,0b00011100,.................... 0b11111000,0b11110111,0b00000111,0b11110111,0b11111000,.................... 0b00011110,0b01101110,0b01110110,0b01111010,0b01111100};........................................ setup_adc_ports(NO_ANALOGS);*013C: BSF 03.5013D: BSF 1F.0013E: BSF 1F.1013F: BSF 1F.20140: BCF 1F.3.................... setup_adc(ADC_OFF);0141: BCF 03.50142: BCF 1F.0.................... setup_psp(PSP_DISABLED);0143: BSF 03.50144: BCF 09.4.................... setup_spi(SPI_SS_DISABLED);*013A: MOVLW FF013B: MOVWF 3C*0145: BCF 03.50146: BCF 14.50147: BCF 3C.50148: MOVF 3C,W0149: BSF 03.5014A: MOVWF 07014B: BCF 03.5014C: BSF 3C.4014D: MOVF 3C,W014E: BSF 03.5014F: MOVWF 070150: BCF 03.50151: BCF 3C.30152: MOVF 3C,W0153: BSF 03.50154: MOVWF 070155: MOVLW 010156: BCF 03.50157: MOVWF 140158: MOVLW 000159: BSF 03.5015A: MOVWF 14.................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);015B: MOVF 01,W015C: ANDLW C7015D: IORLW 08015E: MOVWF 01.................... setup_wdt(WDT_2304MS);015F: MOVLW 0F0160: MOVWF 770161: MOVLW 070162: BCF 03.50163: CLRF 010164: MOVLW 810165: MOVWF 040166: BCF 03.70167: MOVF 00,W0168: ANDLW F00169: IORLW 07016A: MOVWF 00016B: CLRWDT016C: MOVF 00,W016D: ANDLW F7016E: BTFSC 77.3016F: ANDLW F00170: IORWF 77,W0171: MOVWF 00.................... setup_timer_1(T1_DISABLED);0172: CLRF 10.................... setup_timer_2(T2_DISABLED,0,1);0173: MOVLW 000174: MOVWF 780175: MOVWF 120176: MOVLW 000177: BSF 03.50178: MOVWF 12.................... setup_comparator(NC_NC_NC_NC);0179: MOVLW 07017A: MOVWF 1C017B: MOVF 05,W017C: CLRWDT017D: MOVLW 02017E: MOVWF 77017F: DECFSZ 77,F0180: GOTO 17F0181: GOTO 1820182: MOVF 1C,W0183: BCF 03.50184: BCF 0D.6.................... setup_vref(FALSE);0185: BSF 03.50186: CLRF 1D........................................ enable_interrupts(INT_RDA);0187: BSF 0C.5.................... enable_interrupts(GLOBAL);0188: MOVLW C00189: BCF 03.5018A: IORWF 0B,F........................................ set_adc_channel(0);018B: MOVLW 00018C: MOVWF 78018D: MOVF 1F,W018E: ANDLW C7018F: IORWF 78,W0190: MOVWF 1F........................................ while(TRUE).................... {.................... for(slovo=0;slovo<2;slovo++)0191: CLRF 3D0192: MOVF 3D,W0193: SUBLW 010194: BTFSS 03.00195: GOTO 1D4.................... for(j=0;j<=100;j++) // Jedno slovo se zobrazi stokrat0196: CLRF 400197: MOVF 40,W0198: SUBLW 640199: BTFSS 03.0019A: GOTO 1D2.................... {.................... while(read_adc()<10); // Cekani na magnet019B: BSF 1F.2019C: BTFSC 1F.2019D: GOTO 19C019E: MOVF 1E,W019F: SUBLW 0901A0: BTFSC 03.001A1: GOTO 19B........................................ for(pismeno=0;pismeno<MAX_SLOVO;pismeno++)01A2: CLRF 3E01A3: MOVF 3E,W01A4: SUBLW 0901A5: BTFSS 03.001A6: GOTO 1D0.................... {.................... for(sloupec=0;sloupec<5;sloupec++)01A7: CLRF 3F01A8: MOVF 3F,W01A9: SUBLW 0401AA: BTFSS 03.001AB: GOTO 1CB.................... {.................... output_B(pis[(napis[slovo*MAX_SLOVO+pismeno]-0x40)*5+sloupec]);01AC: MOVF 3D,W01AD: MOVWF 4601AE: MOVLW 0A01AF: MOVWF 4701B0: CALL 0D401B1: MOVF 3E,W01B2: ADDWF 78,W01B3: ADDLW 2801B4: MOVWF 0401B5: BCF 03.701B6: MOVLW 4001B7: SUBWF 00,W01B8: MOVWF 4501B9: MOVWF 4601BA: MOVLW 0501BB: MOVWF 4701BC: CALL 0D401BD: MOVF 3F,W01BE: ADDWF 78,W01BF: CALL 03501C0: MOVWF 4801C1: BSF 03.501C2: CLRF 0601C3: BCF 03.501C4: MOVF 48,W01C5: MOVWF 06.................... delay_ms(1);01C6: MOVLW 0101C7: MOVWF 4101C8: CALL 0F9.................... }01C9: INCF 3F,F01CA: GOTO 1A8.................... delay_ms(2);01CB: MOVLW 0201CC: MOVWF 4101CD: CALL 0F9.................... }01CE: INCF 3E,F01CF: GOTO 1A3.................... }01D0: INCF 40,F01D1: GOTO 19701D2: INCF 3D,F01D3: GOTO 192.................... }01D4: GOTO 191.................... }01D5: SLEEPConfiguration Fuses:Word 1: 3F39 XT NOWDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD NOWRT