Rev 410 | Blame | Compare with Previous | Last modification | View Log | Download
CCS PCM C Compiler, Version 3.221, 27853 14-VI-05 22:12Filename: D:\KAKLIK\programy\PIC_C\mereni\otmer\otmer.LSTROM used: 122 words (12%)Largest free fragment is 902RAM used: 5 (7%) at main() level8 (12%) worst caseStack: 1 locations*0000: MOVLW 000001: MOVWF 0A0002: GOTO 0440003: NOP.................... #include "D:\KAKLIK\programy\PIC_C\mereni\otmer\otmer.h".................... #include <16F84.h>.................... //////// Standard Header file for the PIC16F84 device ////////////////.................... #device PIC16F84.................... #list........................................ #fuses NOWDT,XT, NOPUT, NOPROTECT.................... #use delay(clock=4000000)*002F: MOVLW 110030: MOVWF 040031: MOVF 00,W0032: BTFSC 03.20033: GOTO 0430034: MOVLW 010035: MOVWF 0D0036: CLRF 0C0037: DECFSZ 0C,F0038: GOTO 0370039: DECFSZ 0D,F003A: GOTO 036003B: MOVLW 4A003C: MOVWF 0C003D: DECFSZ 0C,F003E: GOTO 03D003F: NOP0040: NOP0041: DECFSZ 00,F0042: GOTO 0340043: RETLW 00................................................................................ #define DATA PIN_A1.................... #define CP PIN_A0.................... #define STROBE PIN_A2........................................ #include "shift_reg.c".................... ////////////////////////////////////////////////////////////////////////////////.................... // KNIHOVNA PRO OVLADANI POSUVNEHO REGISTRU.................... //.................... ////////////////////////////////////////////////////////////////////////////////.................... // definice.................... //#define DATA PIN_A1.................... //#define CP PIN_A0.................... //#define STROBE PIN_A2........................................ void putreg(unsigned int8 out) // zapise do registru 8bitovou promenou..................... {.................... int8 i;.................... output_low(STROBE);*0004: BSF 03.50005: BCF 05.20006: BCF 03.50007: BCF 05.2........................................ for(i=0;i<=7;i++)0008: CLRF 130009: MOVF 13,W000A: SUBLW 07000B: BTFSS 03.0000C: GOTO 02A.................... {.................... output_bit(DATA,bit_test(out,7-i));000D: MOVF 13,W000E: SUBLW 07000F: MOVWF 140010: MOVF 12,W0011: MOVWF 0C0012: MOVF 14,W0013: MOVWF 0D0014: BTFSC 03.20015: GOTO 01A0016: BCF 03.00017: RRF 0C,F0018: DECFSZ 0D,F0019: GOTO 016001A: BTFSC 0C.0001B: GOTO 01E001C: BCF 05.1001D: GOTO 01F001E: BSF 05.1001F: BSF 03.50020: BCF 05.1.................... output_low(CP);0021: BCF 05.00022: BCF 03.50023: BCF 05.0.................... output_high(CP);0024: BSF 03.50025: BCF 05.00026: BCF 03.50027: BSF 05.0.................... }0028: INCF 13,F0029: GOTO 009.................... output_high(STROBE);002A: BSF 03.5002B: BCF 05.2002C: BCF 03.5002D: BSF 05.2.................... }002E: RETLW 00.................... void reg_shift_left().................... {.................... }.................... void reg_shift_right().................... {.................... }............................................................ void main().................... {*0044: CLRF 040045: MOVLW 1F0046: ANDWF 03,F.................... int n=0;0047: CLRF 0F.................... int i;.................... putreg(1);0048: MOVLW 010049: MOVWF 12004A: CALL 004.................... while(true).................... {.................... i=1;004B: MOVLW 01004C: MOVWF 10.................... for(n=0;n<=7;n++)004D: CLRF 0F004E: MOVF 0F,W004F: SUBLW 070050: BTFSS 03.00051: GOTO 05C.................... {.................... putreg(i);0052: MOVF 10,W0053: MOVWF 120054: CALL 004.................... i=i<<1;0055: BCF 03.00056: RLF 10,F.................... Delay_ms(50);0057: MOVLW 320058: MOVWF 110059: CALL 02F.................... };005A: INCF 0F,F005B: GOTO 04E.................... i=0x80;005C: MOVLW 80005D: MOVWF 10.................... for(n=0;n<=7;n++)005E: CLRF 0F005F: MOVF 0F,W0060: SUBLW 070061: BTFSS 03.00062: GOTO 06D.................... {.................... putreg(i);0063: MOVF 10,W0064: MOVWF 120065: CALL 004.................... i=i>>1;0066: BCF 03.00067: RRF 10,F.................... Delay_ms(50);0068: MOVLW 320069: MOVWF 11006A: CALL 02F.................... };006B: INCF 0F,F006C: GOTO 05F.................... }006D: GOTO 04B........................................ while(true).................... {.................... putreg(~n);006E: MOVF 0F,W006F: MOVWF 110070: COMF 11,F0071: MOVF 11,W0072: MOVWF 120073: CALL 004.................... Delay_ms(100);0074: MOVLW 640075: MOVWF 110076: CALL 02F.................... n++;0077: INCF 0F,F.................... }0078: GOTO 06E.................... }....................0079: SLEEPConfiguration Fuses:Word 1: 3FF9 XT NOWDT NOPUT NOPROTECT