CCS PCM C Compiler, Version 4.058s, 42064 06-V-08 13:28Filename: C:\Documents and Settings\Administrator\Plocha\rotacni_display\SW\infra\infra.lstROM used: 553 words (7%)Largest free fragment is 2048RAM used: 48 (13%) at main() level51 (14%) worst caseStack: 2 worst case (1 in main + 1 for interrupts)*0000: MOVLW 000001: MOVWF 0A0002: GOTO 1360003: 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 0DE.................... #include ".\infra.h".................... #include <16F877A.h>.................... //////// Standard Header file for the PIC16F877A device ////////////////.................... #device PIC16F877A.................... #list........................................ #device adc=8........................................ #FUSES WDT //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)*00F7: MOVLW 4200F8: MOVWF 0400F9: BCF 03.700FA: MOVF 00,W00FB: BTFSC 03.200FC: GOTO 10E00FD: MOVLW 0100FE: MOVWF 7800FF: MOVLW BF0100: MOVWF 770101: CLRWDT0102: DECFSZ 77,F0103: GOTO 1010104: DECFSZ 78,F0105: GOTO 0FF0106: MOVLW 4A0107: MOVWF 770108: DECFSZ 77,F0109: GOTO 108010A: NOP010B: CLRWDT010C: DECFSZ 00,F010D: GOTO 0FD010E: BCF 0A.3010F: BCF 0A.40110: GOTO 1E5 (RETURN).................... #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] ={'[','[',92,'[','E',']','A','[',92,'[','[','^','_','_',']',96,'^','_','_','a'};*0149: MOVLW 5B014A: BCF 03.5014B: MOVWF 28014C: MOVWF 29014D: MOVLW 5C014E: MOVWF 2A014F: MOVLW 5B0150: MOVWF 2B0151: MOVLW 450152: MOVWF 2C0153: MOVLW 5D0154: MOVWF 2D0155: MOVLW 410156: MOVWF 2E0157: MOVLW 5B0158: MOVWF 2F0159: MOVLW 5C015A: MOVWF 30015B: MOVLW 5B015C: MOVWF 31015D: MOVWF 32015E: MOVLW 5E015F: MOVWF 330160: MOVLW 5F0161: MOVWF 340162: MOVWF 350163: MOVLW 5D0164: MOVWF 360165: MOVLW 600166: MOVWF 370167: MOVLW 5E0168: MOVWF 380169: MOVLW 5F016A: MOVWF 39016B: MOVWF 3A016C: MOVLW 61016D: MOVWF 3B.................... int8 otacky;........................................ #int_RDA.................... void RDA_isr(void).................... {.................... int n;.................... output_B(0x55);*00DE: BSF 03.500DF: CLRF 0600E0: MOVLW 5500E1: BCF 03.500E2: MOVWF 06.................... for(n=0;n<(MAX_SLOVO*2);n++)00E3: CLRF 4A00E4: MOVF 4A,W00E5: SUBLW 1300E6: BTFSS 03.000E7: GOTO 0F3.................... {.................... napis[n]=getc();00E8: MOVLW 2800E9: ADDWF 4A,W00EA: MOVWF 0400EB: BCF 03.700EC: BTFSS 0C.500ED: GOTO 0EC00EE: MOVF 1A,W00EF: MOVWF 00.................... restart_WDT();00F0: CLRWDT.................... }00F1: INCF 4A,F00F2: GOTO 0E4.................... }....................00F3: BCF 0C.500F4: BCF 0A.300F5: BCF 0A.400F6: GOTO 01F.................... void main().................... {*0136: CLRF 040137: BCF 03.70138: MOVLW 1F0139: ANDWF 03,F013A: MOVLW 67013B: BSF 03.5013C: MOVWF 19013D: MOVLW A2013E: MOVWF 18013F: MOVLW 900140: BCF 03.50141: MOVWF 180142: BSF 03.50143: BSF 1F.00144: BSF 1F.10145: BSF 1F.20146: BCF 1F.30147: MOVLW 070148: MOVWF 1C........................................ int slovo,pismeno,sloupec,j;............................................................ const int8 pis[33*5]={0b00000001,0b11110110,0b11110110,0b11110110,0b00000001, //A.................... 0b00000000,0b01110110,0b01110110,0b01110110,0b10001001, //B.................... 0b10000001,0b01111110,0b01111110,0b01111110,0b10111101, //C.................... 0b00000000,0b01111110,0b01111110,0b01111110,0b10000001, //D.................... 0b00000000,0b01110110,0b01110110,0b01111110,0b01111110, //E.................... 0b00000000,0b11110110,0b11110110,0b11111110,0b11111110, //F.................... 0b10000001,0b01111110,0b01110110,0b01110110,0b10000101, //G.................... 0b00000000,0b11110111,0b11110111,0b11110111,0b00000000, //H.................... 0b01111110,0b01111110,0b00000000,0b01111110,0b01111110, //I.................... 0b10111110,0b01111110,0b01111110,0b01111110,0b10000000, //J.................... 0b00000000,0b11110111,0b11110111,0b11101011,0b00011100, //K.................... 0b00000000,0b01111111,0b01111111,0b01111111,0b01111111, //L.................... 0b00000000,0b11111110,0b11110000,0b11111110,0b00000000, //M.................... 0b00000000,0b11101111,0b11011111,0b10111111,0b00000000, //N.................... 0b10000001,0b01111110,0b01111110,0b01111110,0b10000001, //O.................... 0b00000000,0b11110110,0b11110110,0b11110110,0b11111001, //P.................... 0b10000001,0b01111110,0b01111110,0b01111110,0b00000001, //Q.................... 0b00000000,0b11110110,0b11110110,0b11110110,0b00001001, //R.................... 0b10111001,0b01110110,0b01110110,0b01110110,0b10001101, //S.................... 0b11111110,0b11111110,0b00000000,0b11111110,0b11111110, //T.................... 0b10000000,0b01111111,0b01111111,0b01111111,0b10000000, //U.................... 0b11000000,0b10111111,0b01111111,0b10111111,0b11000000, //V.................... 0b10000000,0b01111111,0b10000000,0b01111111,0b10000000, //W.................... 0b00011100,0b11101011,0b11110111,0b11101011,0b00011100, //X.................... 0b11111000,0b11110111,0b00000111,0b11110111,0b11111000, //Y.................... 0b00011110,0b01101110,0b01110110,0b01111010,0b01111100, //Z.................... 0b11111111,0b11111111,0b11111111,0b11111111,0b11111111, //mezera.................... 0b00010111,0b00110011,0b01010101,0b11100110,0b11110111, //blesk.................... 0b11110000,0b11110111,0b11110111,0b00000001,0b11110111, //4.................... 0b00111101,0b01011110,0b01101110,0b01110110,0b01111001, //2.................... 0b00000000,0b01111110,0b01111110,0b01111110,0b00000000, //0.................... 0b11110111,0b11110111,0b11110111,0b11110111,0b11110111, //pomlka.................... 0b10001001,0b01110110,0b01110110,0b01110110,0b10001001, //8.................... };........................................ setup_adc_ports(AN0);*0170: BSF 03.50171: BCF 1F.00172: BSF 1F.10173: BSF 1F.20174: BSF 1F.3.................... setup_adc(ADC_CLOCK_INTERNAL);0175: BCF 1F.60176: BCF 03.50177: BSF 1F.60178: BSF 1F.70179: BSF 03.5017A: BCF 1F.7017B: BCF 03.5017C: BSF 1F.0.................... setup_psp(PSP_DISABLED);017D: BSF 03.5017E: BCF 09.4.................... setup_spi(SPI_SS_DISABLED);*016E: MOVLW FF016F: MOVWF 3D*017F: BCF 03.50180: BCF 14.50181: BCF 3D.50182: MOVF 3D,W0183: BSF 03.50184: MOVWF 070185: BCF 03.50186: BSF 3D.40187: MOVF 3D,W0188: BSF 03.50189: MOVWF 07018A: BCF 03.5018B: BCF 3D.3018C: MOVF 3D,W018D: BSF 03.5018E: MOVWF 07018F: MOVLW 010190: BCF 03.50191: MOVWF 140192: MOVLW 000193: BSF 03.50194: MOVWF 14.................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);0195: MOVF 01,W0196: ANDLW C70197: IORLW 080198: MOVWF 01.................... setup_wdt(WDT_2304MS);0199: MOVLW 0F019A: MOVWF 77019B: MOVLW 07019C: BCF 03.5019D: CLRF 01019E: MOVLW 81019F: MOVWF 0401A0: BCF 03.701A1: MOVF 00,W01A2: ANDLW F001A3: IORLW 0701A4: MOVWF 0001A5: CLRWDT01A6: MOVF 00,W01A7: ANDLW F701A8: BTFSC 77.301A9: ANDLW F001AA: IORWF 77,W01AB: MOVWF 00.................... setup_timer_1(T1_DISABLED);01AC: CLRF 10.................... setup_timer_2(T2_DISABLED,0,1);01AD: MOVLW 0001AE: MOVWF 7801AF: MOVWF 1201B0: MOVLW 0001B1: BSF 03.501B2: MOVWF 12.................... setup_comparator(NC_NC_NC_NC);01B3: MOVLW 0701B4: MOVWF 1C01B5: MOVF 05,W01B6: CLRWDT01B7: MOVLW 0201B8: MOVWF 7701B9: DECFSZ 77,F01BA: GOTO 1B901BB: GOTO 1BC01BC: MOVF 1C,W01BD: BCF 03.501BE: BCF 0D.6.................... setup_vref(FALSE);01BF: BSF 03.501C0: CLRF 1D........................................ enable_interrupts(INT_RDA);01C1: BSF 0C.5.................... enable_interrupts(GLOBAL);01C2: MOVLW C001C3: BCF 03.501C4: IORWF 0B,F........................................ set_adc_channel(0); // Prevodnik pro Hall01C5: MOVLW 0001C6: MOVWF 7801C7: MOVF 1F,W01C8: ANDLW C701C9: IORWF 78,W01CA: MOVWF 1F.................... output_B(0xFF); // Zhasneme01CB: BSF 03.501CC: CLRF 0601CD: MOVLW FF01CE: BCF 03.501CF: MOVWF 06........................................ otacky=0;01D0: CLRF 3C........................................ while(TRUE).................... {.................... for(slovo=0;slovo<2;slovo++)01D1: CLRF 3E01D2: MOVF 3E,W01D3: SUBLW 0101D4: BTFSS 03.001D5: GOTO 227.................... for(j=0;j<=20;j++) // Jedno slovo se zobrazi stokrat01D6: CLRF 4101D7: MOVF 41,W01D8: SUBLW 1401D9: BTFSS 03.001DA: GOTO 225.................... {.................... while(read_adc()<9); // Cekani na magnet01DB: BSF 1F.201DC: BTFSC 1F.201DD: GOTO 1DC01DE: MOVF 1E,W01DF: SUBLW 0801E0: BTFSC 03.001E1: GOTO 1DB.................... delay_ms(10);01E2: MOVLW 0A01E3: MOVWF 4201E4: GOTO 0F7........................................ for(pismeno=0;pismeno<MAX_SLOVO;pismeno++)01E5: CLRF 3F01E6: MOVF 3F,W01E7: SUBLW 0901E8: BTFSS 03.001E9: GOTO 21C.................... {.................... for(sloupec=0;sloupec<5;sloupec++)01EA: CLRF 4001EB: MOVF 40,W01EC: SUBLW 0401ED: BTFSS 03.001EE: GOTO 210.................... {.................... output_B(pis[(napis[slovo*MAX_SLOVO+pismeno]-0x41)*5+sloupec]);01EF: MOVF 3E,W01F0: MOVWF 4701F1: MOVLW 0A01F2: MOVWF 4801F3: CALL 11101F4: MOVF 3F,W01F5: ADDWF 78,W01F6: ADDLW 2801F7: MOVWF 0401F8: BCF 03.701F9: MOVLW 4101FA: SUBWF 00,W01FB: MOVWF 4601FC: MOVWF 4701FD: MOVLW 0501FE: MOVWF 4801FF: CALL 1110200: MOVF 40,W0201: ADDWF 78,W0202: CALL 0350203: MOVWF 490204: BSF 03.50205: CLRF 060206: BCF 03.50207: MOVF 49,W0208: MOVWF 06.................... delay_us(500);0209: CLRWDT020A: MOVLW A6020B: MOVWF 77020C: DECFSZ 77,F020D: GOTO 20C.................... }020E: INCF 40,F020F: GOTO 1EB.................... output_B(0xFF);0210: BSF 03.50211: CLRF 060212: MOVLW FF0213: BCF 03.50214: MOVWF 06.................... delay_us(500);0215: CLRWDT0216: MOVLW A60217: MOVWF 770218: DECFSZ 77,F0219: GOTO 218.................... }021A: INCF 3F,F021B: GOTO 1E6.................... if (otacky++>120) reset_cpu();021C: MOVF 3C,W021D: INCF 3C,F021E: SUBLW 78021F: BTFSC 03.00220: GOTO 2230221: CLRF 0A0222: GOTO 000.................... }0223: INCF 41,F0224: GOTO 1D70225: INCF 3E,F0226: GOTO 1D2.................... }0227: GOTO 1D1.................... }0228: SLEEPConfiguration Fuses:Word 1: 3F3D XT WDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD NOWRT