Blame | Last modification | View Log | Download
MPASM 02.80 Released OVLAD.ASM 7-12-2002 20:18:51 PAGE 1LOC OBJECT CODE LINE SOURCE TEXTVALUE00001 #include 16C84.INC00001 ;00002 ; Definice registru a zakladnich maker pro 16C8400003 ;00004 processor 16f8400005 radix D000060000 00007 __16C84__: ; Priznak modulu 16C840000800009 ; Definice registru0001000000000 00011 IND0 equ 00H ; 0&1 Pristup na neprimou adresu00000001 00012 TMR0 equ 01H ; 0 Real Time clock counter00000002 00013 PCL equ 02H ; 0&1 Spodni cast PC00000003 00014 STATUS equ 03H ; 0&1 Stavove bity00000000 00015 _CARRY equ 000000001 00016 _DC equ 100000002 00017 _ZERO equ 200000003 00018 _PD equ 300000004 00019 _TO equ 400000005 00020 _RP0 equ 500000006 00021 _RP1 equ 600000007 00022 _IRP equ 700000004 00023 FSR equ 04H ; 0&1 Ukazatel pro neprime adresovani00000005 00024 PORTA equ 05H ; 0&1 Data a rizeni portu A00000006 00025 PORTB equ 06H ; 0&1 Data a rizeni portu B00000008 00026 EEDATA_0 equ 08H ; 0 Data EEPROM00000008 00027 EECON1_1 equ 08H ; 1 Rizeni EEPROM00000000 00028 _EERD equ 000000001 00029 _EEWR equ 100000002 00030 _EEWREN equ 200000003 00031 _EEWRERR equ 300000004 00032 _EEIF equ 400000009 00033 EEADR_0 equ 09H ; 0 Adresa EEPROM00000009 00034 EECON2_1 equ 09H ; 1 Aktivacni pseudoregistr0000000A 00035 PCLATH equ 0AH ; 0&1 Horni cast PC pro move0000000B 00036 INTCON equ 0BH ; 0&1 Rizeni preruseni00000000 00037 _RBIF equ 0 ;00000001 00038 _INTF equ 100000002 00039 _T0IF equ 200000003 00040 _RBIE equ 300000004 00041 _INTE equ 400000005 00042 _T0IE equ 500000006 00043 _EEIE equ 600000007 00044 _GIE equ 70004500046 page0 macro00047 bcf STATUS,_RP000048 endm0004900050 page1 macro00051 bsf STATUS,_RP000052 endmMPASM 02.80 Released OVLAD.ASM 7-12-2002 20:18:51 PAGE 2LOC OBJECT CODE LINE SOURCE TEXTVALUE00053 ;00054 ; Sada maker pro porovnani a skoky00055 ;0005600057 ;--- Compare ---00058 CMP macro ZNAK, PROCEDURA ; if W=ZNAK then goto PROCEDURA00059 xorlw ZNAK ; if W#ZNAK then zachovej W a neskakej00060 btfsc STATUS,_ZERO00061 goto PROCEDURA00062 xorlw ZNAK00063 endm0006400065 ;--- Skip if Carry ---00066 SC macro00067 btfss STATUS,_CARRY00068 endm0006900070 ;--- Skip if not Carry ---00071 SNC macro00072 btfsc STATUS,_CARRY00073 endm0007400075 ;--- Skip if Zero ---00076 SZ macro00077 btfss STATUS,_ZERO00078 endm0007900080 ;--- Skip if not Zero ---00081 SNZ macro00082 btfsc STATUS,_ZERO00083 endm0008400085 ;--- Skip if Borrow ( Negative ) --- ( po odecitani )00086 SB macro00087 btsfsc STATUS,_CARRY00088 endm00089 SN macro00090 btfsc STATUS,_CARRY00091 endm0009200093 ;--- Skip if not Borrow ( Positive ) --- ( po odecitani )00094 SNB macro00095 btfss STATUS,_CARRY00096 endm00097 SP macro00098 btfss STATUS,_CARRY00099 endm0010000101 cblock 0CH ; Prvni volny registr00102 endc000020000 00003 org 000004MPASM 02.80 Released OVLAD.ASM 7-12-2002 20:18:51 PAGE 3LOC OBJECT CODE LINE SOURCE TEXTVALUE0000 281A 00005 goto Start00006 ;--------------------0004 00007 org 400008 ;--------------------0004 281A 00009 goto Start0001000011 #include Delay.asm00001 ;--- Macro na spozdeni 1ms az 255ms ---00002 Delay macro _ms00003 movlw _ms00004 movwf xxx00005 call Delay1ms00006 endm0000700008 ;--- Spozdeni v nasobcich 1.002ms ----0005 00009 Jednou:0005 0000 00010 nop0006 00011 Delay1ms:0006 3063 00012 movlw 99 ; 1 ms0007 008C 00013 movwf yyy ; goto 2 takty decfsz 1 kdyz 1 jinak 20008 200C 00014 call us10000150009 0B8D 00016 decfsz xxx, f000A 2805 00017 goto Jednou00018 ;---------------------------------000B 0008 00019 return ;2us0002000021 ;--- Spozdeni v nasobcich 10us ----000C 00022 us10: ; Prodleva (yyy * 10us)+3us00023000C 0000 00024 nop000D 0000 00025 nop000E 0000 00026 nop000F 0000 00027 nop0010 0000 00028 nop0011 0000 00029 nop0012 0B8C 00030 decfsz yyy, f0013 280C 00031 goto us100014 0000 00032 nop0015 0000 00033 nop0016 0000 00034 nop0017 0000 00035 nop0018 0000 00036 nop0019 0008 00037 return00038 ;-------------------------0003900040 ;----------------------------00041 ; Definice promenych00042 ;----------------------------0004300044 cblock000450000000C 00046 yyyMPASM 02.80 Released OVLAD.ASM 7-12-2002 20:18:51 PAGE 4LOC OBJECT CODE LINE SOURCE TEXTVALUE0000000D 00047 xxx0004800049 endc0005000012001A 00013 Start:00014 page1001A 1683 M bsf STATUS,_RP0001B 3000 00015 movlw 00000000B ; inicializace citace a prescaleru001C 0081 00016 movwf TMR0001D 3000 00017 movlw 00000000B ; konfigurace preruseni001E 008B 00018 movwf INTCON0001900020 page1001F 1683 M bsf STATUS,_RP00020 3000 00021 movlw 00000000B ; nastaveni portu na vstup nebo vystup0021 0085 00022 movwf PORTA ; 1=vstup 0=vystup0022 3043 00023 movlw 01000011B0023 0086 00024 movwf PORTB000250024 1781 00026 bsf TMR0, 7 ; vypni pull-up na PORTB (OPTION registr)0002700028 page00025 1283 M bcf STATUS,_RP0000290026 0103 00030 clrw ; vynulovani portu0027 0085 00031 movwf PORTA0028 0086 00032 movwf PORTB000330029 00034 MainLoop:0029 1586 00035 bsf PORTB, 3 ; Pridrz napajeni002A 1606 00036 bsf PORTB, 4002B 1585 00037 bsf PORTA, 3 ;Rozsvit LED0003800039 Delay 250002C 30FA M movlw 250002D 008D M movwf xxx002E 2006 M call Delay1ms00040002F 1185 00041 bcf PORTA, 3 ;Zhasni LED0004200043 Delay 2500030 30FA M movlw 2500031 008D M movwf xxx0032 2006 M call Delay1ms00044000450033 1105 00046 bcf PORTA, 20034 1085 00047 bcf PORTA, 10035 00048 smycka:0035 1C06 00049 btfss PORTB, 00036 2838 00050 goto LEDon0037 2835 00051 goto smyckaMPASM 02.80 Released OVLAD.ASM 7-12-2002 20:18:51 PAGE 5LOC OBJECT CODE LINE SOURCE TEXTVALUE0038 00052 LEDon:0038 1585 00053 bsf PORTA, 3 ;Rozsvit LED00054 Delay 2500039 30FA M movlw 250003A 008D M movwf xxx003B 2006 M call Delay1ms003C 1185 00055 bcf PORTA, 3 ;Zhasni LED00056 Delay 250003D 30FA M movlw 250003E 008D M movwf xxx003F 2006 M call Delay1ms0040 2835 00057 goto smycka00058 ;---------------000590006000061000620006300064 ;----------------------------00065 ; Definice promenych00066 ;----------------------------0006700068 cblock000690000000E 00070 CT10000000F 00071 CT20007200073 endc0007400075 endMPASM 02.80 Released OVLAD.ASM 7-12-2002 20:18:51 PAGE 6SYMBOL TABLELABEL VALUECMPCT1 0000000ECT2 0000000FDelayDelay1ms 00000006EEADR_0 00000009EECON1_1 00000008EECON2_1 00000009EEDATA_0 00000008FSR 00000004IND0 00000000INTCON 0000000BJednou 00000005LEDon 00000038MainLoop 00000029PCL 00000002PCLATH 0000000APORTA 00000005PORTB 00000006SBSCSNSNBSNCSNZSPSTATUS 00000003SZStart 0000001ATMR0 00000001_CARRY 00000000_DC 00000001_EEIE 00000006_EEIF 00000004_EERD 00000000_EEWR 00000001_EEWREN 00000002_EEWRERR 00000003_GIE 00000007_INTE 00000004_INTF 00000001_IRP 00000007_PD 00000003_RBIE 00000003_RBIF 00000000_RP0 00000005_RP1 00000006_T0IE 00000005_T0IF 00000002_TO 00000004_ZERO 00000002__16C84__ 00000000__16F84 00000001MPASM 02.80 Released OVLAD.ASM 7-12-2002 20:18:51 PAGE 7SYMBOL TABLELABEL VALUEpage0page1smycka 00000035us10 0000000Cxxx 0000000Dyyy 0000000CMEMORY USAGE MAP ('X' = Used, '-' = Unused)0000 : X---XXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX0040 : X--------------- ---------------- ---------------- ----------------All other memory blocks unused.Program Memory Words Used: 62Program Memory Words Free: 962Errors : 0Warnings : 0 reported, 0 suppressedMessages : 0 reported, 0 suppressed