0,0 → 1,250 |
CCS PCM C Compiler, Version 3.245, 27853 10-VI-06 10:23 |
|
Filename: D:\KAKLIK\programy\PIC_C\mereni\geiger\geiger.lst |
|
ROM used: 346 words (8%) |
Largest free fragment is 2048 |
RAM used: 10 (6%) at main() level |
19 (11%) worst case |
Stack: 2 locations |
|
* |
0000: MOVLW 00 |
0001: MOVWF 0A |
0002: GOTO 0E1 |
0003: NOP |
.................... #include "D:\KAKLIK\programy\PIC_C\mereni\geiger\geiger.h" |
.................... #include <16F88.h> |
.................... //////// Standard Header file for the PIC16F88 device //////////////// |
.................... #device PIC16F88 |
.................... #list |
.................... |
.................... #device adc=8 |
.................... |
.................... #FUSES NOWDT //No Watch Dog Timer |
.................... #FUSES HS //High speed Osc (> 4mhz) |
.................... #FUSES NOPUT //No Power Up Timer |
.................... #FUSES MCLR //Master Clear pin enabled |
.................... #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 |
.................... #FUSES NODEBUG //No Debug mode for ICD |
.................... #FUSES NOPROTECT //Code not protected from reading |
.................... #FUSES NOFCMEN //Fail-safe clock monitor disabled |
.................... #FUSES NOIESO //Internal External Switch Over mode disabled |
.................... |
.................... #use delay(clock=20000000) |
00CD: MOVLW 24 |
00CE: MOVWF 04 |
00CF: MOVF 00,W |
00D0: BTFSC 03.2 |
00D1: GOTO 0DF |
00D2: MOVLW 06 |
00D3: MOVWF 78 |
00D4: CLRF 77 |
00D5: DECFSZ 77,F |
00D6: GOTO 0D5 |
00D7: DECFSZ 78,F |
00D8: GOTO 0D4 |
00D9: MOVLW 7B |
00DA: MOVWF 77 |
00DB: DECFSZ 77,F |
00DC: GOTO 0DB |
00DD: DECFSZ 00,F |
00DE: GOTO 0D2 |
00DF: BCF 0A.3 |
00E0: GOTO 156 (RETURN) |
.................... #use rs232(baud=9600,parity=N,xmit=PIN_B3,rcv=PIN_B5,bits=8) |
* |
0004: BSF 03.5 |
0005: BCF 06.3 |
0006: BCF 03.5 |
0007: BCF 06.3 |
0008: MOVLW 08 |
0009: MOVWF 78 |
000A: NOP |
000B: NOP |
000C: NOP |
000D: BSF 78.7 |
000E: GOTO 01E |
000F: BCF 78.7 |
0010: RRF 2E,F |
0011: BTFSC 03.0 |
0012: BSF 06.3 |
0013: BTFSS 03.0 |
0014: BCF 06.3 |
0015: BSF 78.6 |
0016: GOTO 01E |
0017: BCF 78.6 |
0018: DECFSZ 78,F |
0019: GOTO 010 |
001A: NOP |
001B: NOP |
001C: NOP |
001D: BSF 06.3 |
001E: MOVLW A7 |
001F: MOVWF 04 |
0020: DECFSZ 04,F |
0021: GOTO 020 |
0022: NOP |
0023: NOP |
0024: BTFSC 78.7 |
0025: GOTO 00F |
0026: BTFSC 78.6 |
0027: GOTO 017 |
0028: RETLW 00 |
.................... |
.................... |
.................... |
.................... |
.................... void main() |
.................... { |
* |
00E1: CLRF 04 |
00E2: MOVLW 1F |
00E3: ANDWF 03,F |
00E4: BSF 03.5 |
00E5: BCF 06.3 |
00E6: BCF 03.5 |
00E7: BSF 06.3 |
00E8: BSF 03.5 |
00E9: BCF 1F.4 |
00EA: BCF 1F.5 |
00EB: MOVF 1B,W |
00EC: ANDLW 80 |
00ED: MOVWF 1B |
00EE: MOVLW 07 |
00EF: MOVWF 1C |
.................... unsigned int16 n; |
.................... |
.................... setup_adc_ports(NO_ANALOGS|VSS_VDD); |
00F0: BCF 1F.4 |
00F1: BCF 1F.5 |
00F2: MOVF 1B,W |
00F3: ANDLW 80 |
00F4: MOVWF 1B |
.................... setup_adc(ADC_OFF); |
00F5: BCF 03.5 |
00F6: BCF 1F.0 |
.................... setup_spi(FALSE); |
00F7: BCF 14.5 |
00F8: BSF 03.5 |
00F9: BCF 06.2 |
00FA: BSF 06.1 |
00FB: BCF 06.4 |
00FC: MOVLW 00 |
00FD: BCF 03.5 |
00FE: MOVWF 14 |
00FF: BSF 03.5 |
0100: MOVWF 14 |
.................... setup_timer_0(RTCC_EXT_H_TO_L|RTCC_DIV_1); |
0101: MOVF 01,W |
0102: ANDLW C7 |
0103: IORLW 38 |
0104: MOVWF 01 |
.................... setup_timer_1(T1_DISABLED|T1_DIV_BY_1); |
0105: BCF 03.5 |
0106: CLRF 10 |
.................... setup_timer_2(T2_DISABLED,0,1); |
0107: MOVLW 00 |
0108: MOVWF 78 |
0109: MOVWF 12 |
010A: MOVLW 00 |
010B: BSF 03.5 |
010C: MOVWF 12 |
.................... setup_ccp1(CCP_OFF); |
010D: BSF 06.0 |
010E: BCF 03.5 |
010F: CLRF 17 |
0110: CLRF 17 |
.................... setup_comparator(A0_A2_A1_A2_OUT_ON_A3_A4); |
0111: MOVLW 06 |
0112: BSF 03.5 |
0113: MOVWF 1C |
0114: MOVF 05,W |
0115: IORLW 07 |
0116: ANDLW E7 |
0117: MOVWF 05 |
0118: MOVLW 10 |
0119: MOVWF 77 |
011A: DECFSZ 77,F |
011B: GOTO 11A |
011C: NOP |
011D: MOVF 1C,W |
011E: BCF 03.5 |
011F: BCF 0D.6 |
.................... setup_vref(VREF_LOW|1|VREF_A2); |
0120: MOVLW E1 |
0121: BSF 03.5 |
0122: MOVWF 1D |
0123: BSF 05.2 |
.................... setup_oscillator(False); |
0124: CLRF 0F |
0125: MOVF 0F,W |
.................... |
.................... n=0; |
0126: BCF 03.5 |
0127: CLRF 22 |
0128: CLRF 21 |
.................... set_timer0(0); |
0129: CLRF 01 |
.................... While(true) |
.................... { |
.................... printf("%Lu0, %u\n\r", n++, get_timer0()); |
012A: MOVF 22,W |
012B: MOVWF 7A |
012C: MOVF 21,W |
012D: INCF 21,F |
012E: BTFSC 03.2 |
012F: INCF 22,F |
0130: MOVWF 23 |
0131: MOVF 7A,W |
0132: MOVWF 24 |
0133: MOVF 01,W |
0134: MOVWF 25 |
0135: MOVLW 10 |
0136: MOVWF 04 |
0137: MOVF 24,W |
0138: MOVWF 27 |
0139: MOVF 23,W |
013A: MOVWF 26 |
013B: GOTO 029 |
013C: MOVLW 30 |
013D: MOVWF 2E |
013E: CALL 004 |
013F: MOVLW 2C |
0140: MOVWF 2E |
0141: CALL 004 |
0142: MOVLW 20 |
0143: MOVWF 2E |
0144: CALL 004 |
0145: MOVF 25,W |
0146: MOVWF 26 |
0147: MOVLW 1B |
0148: MOVWF 27 |
0149: GOTO 097 |
014A: MOVLW 0A |
014B: MOVWF 2E |
014C: CALL 004 |
014D: MOVLW 0D |
014E: MOVWF 2E |
014F: CALL 004 |
.................... set_timer0(0); |
0150: CLRF 01 |
.................... Delay_ms(10000); |
0151: MOVLW 28 |
0152: MOVWF 23 |
0153: MOVLW FA |
0154: MOVWF 24 |
0155: GOTO 0CD |
0156: DECFSZ 23,F |
0157: GOTO 153 |
.................... } |
0158: GOTO 12A |
.................... } |
0159: SLEEP |
|
Configuration Fuses: |
Word 1: 3F2A HS NOWDT NOPUT MCLR NOBROWNOUT NOLVP NOCPD NOWRT NODEBUG CCPB0 NOPROTECT |
Word 2: 3FFC NOFCMEN NOIESO |