Blame | Last modification | View Log | Download
MPASM 02.80 Released OVLAD.ASM 7-21-2002 12:49:43 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-21-2002 12:49:43 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-21-2002 12:49:43 PAGE 3LOC OBJECT CODE LINE SOURCE TEXTVALUE0000 2817 00005 goto Start00006 ;--------------------0004 00007 org 400008 ;--------------------0004 2817 00009 goto Start0001000011 #include Delay.asm00001 ;--- Macro na spozdeni 1ms az 255ms ---00002 Delay macro ms00003 movlw ms00004 movwf xxx00005 call Delay1ms00006 endm0000700008 ;--- Macro na spozdeni 0,1ms az 2,5ms (10-250) ---00009 Delay01 macro us00010 movlw us00011 movwf yyy00012 call us100001300014 nop00015 nop ; Z duvodu vyrovnani poctu potrebnych taktu jako na Delay1ms00016 nop00017 return00018 endm00019 ;--- Spozdeni v nasobcich 1ms+2us ----000200005 00021 Delay1ms:0005 3063 00022 movlw 99 ; 1 ms0006 008C 00023 movwf yyy ; goto 2 takty decfsz 1 kdyz 1 jinak 20007 200C 00024 call us10000250008 0B8D 00026 decfsz xxx, f0009 2805 00027 goto Delay1ms000A 0000 00028 nop00029 ;---------------------------------000B 0008 00030 return ;2us0003100032 ;--- Spozdeni v nasobcich 10us ----000C 00033 us10: ; Prodleva (CT1 * 10us)000C 0000 00034 nop000D 0000 00035 nop000E 0000 00036 nop000F 0000 00037 nop0010 0000 00038 nop0011 0000 00039 nop0012 0000 00040 nop0013 0B8C 00041 decfsz yyy, f0014 280C 00042 goto us100015 0000 00043 nop0016 0008 00044 return00045 ;-------------------------00046MPASM 02.80 Released OVLAD.ASM 7-21-2002 12:49:43 PAGE 4LOC OBJECT CODE LINE SOURCE TEXTVALUE00047 ;----------------------------00048 ; Definice promenych00049 ;----------------------------0005000051 cblock000520000000C 00053 yyy0000000D 00054 xxx0005500056 endc00057000120017 00013 Start:00014 page10017 1683 M bsf STATUS,_RP00018 3000 00015 movlw 00000000B ; inicializace citace a prescaleru0019 0081 00016 movwf TMR0001A 3000 00017 movlw 00000000B ; konfigurace preruseni001B 008B 00018 movwf INTCON0001900020 page1001C 1683 M bsf STATUS,_RP0001D 3000 00021 movlw 00000000B ; nastaveni portu na vstup nebo vystup001E 0085 00022 movwf PORTA ; 1=vstup 0=vystup001F 3043 00023 movlw 01000011B0020 0086 00024 movwf PORTB000250021 1781 00026 bsf TMR0, 7 ; vypni pull-up na PORTB (OPTION registr)0002700028 page00022 1283 M bcf STATUS,_RP0000290023 0103 00030 clrw ; vynulovani portu0024 0085 00031 movwf PORTA0025 0086 00032 movwf PORTB00033000340026 00035 MainLoop:0026 30FF 00036 movlw 2550027 008E 00037 movwf CT10028 30FC 00038 movlw 2520029 008F 00039 movwf CT2002A 00040 rozj:00041002A 038E 00042 decf CT1, f00043002B 1405 00044 bsf PORTA, 0002C 1085 00045 bcf PORTA, 1 ;100002D 1105 00046 bcf PORTA, 2002E 2046 00047 call zap00048002F 1405 00049 bsf PORTA, 0 ;1100030 1485 00050 bsf PORTA, 1MPASM 02.80 Released OVLAD.ASM 7-21-2002 12:49:43 PAGE 5LOC OBJECT CODE LINE SOURCE TEXTVALUE0031 1105 00051 bcf PORTA, 20032 2046 00052 call zap000530033 1005 00054 bcf PORTA, 0 ;0100034 1485 00055 bsf PORTA, 10035 1105 00056 bcf PORTA, 20036 2046 00057 call zap000580037 0B8F 00059 decfsz CT2, f0038 283A 00060 goto ble0039 2849 00061 goto rychle00062003A 1005 00063 ble: bcf PORTA, 0 ;011003B 1485 00064 bsf PORTA, 1003C 1505 00065 bsf PORTA, 2003D 2046 00066 call zap00067003E 1005 00068 bcf PORTA, 0 ;001003F 1085 00069 bcf PORTA, 10040 1505 00070 bsf PORTA, 20041 2046 00071 call zap000720042 1405 00073 bsf PORTA, 0 ;1010043 1085 00074 bcf PORTA, 10044 1505 00075 bsf PORTA, 20045 2046 00076 call zap000770046 00078 zap:0046 080E 00079 movf CT1, w0047 008D 00080 movwf xxx ;xxx promena z delay.asm0048 2005 00081 call Delay1ms0008200083 ;----------------------------------------------------0049 00084 rychle:0049 1405 00085 bsf PORTA, 0004A 1085 00086 bcf PORTA, 1 ;100004B 1105 00087 bcf PORTA, 200088 Delay 3004C 3003 M movlw 3004D 008D M movwf xxx004E 2005 M call Delay1ms0008900090 ; bsf PORTA, 0 ;11000091 ; bsf PORTA, 100092 ; bcf PORTA, 200093 ; Delay00094004F 1005 00095 bcf PORTA, 0 ;0100050 1485 00096 bsf PORTA, 10051 1105 00097 bcf PORTA, 200098 Delay 30052 3003 M movlw 30053 008D M movwf xxxMPASM 02.80 Released OVLAD.ASM 7-21-2002 12:49:43 PAGE 6LOC OBJECT CODE LINE SOURCE TEXTVALUE0054 2005 M call Delay1ms0009900100 ; bcf PORTA, 0 ;01100101 ; bsf PORTA, 100102 ; bsf PORTA, 200103 ; Delay 2001040055 1005 00105 bcf PORTA, 0 ;0010056 1085 00106 bcf PORTA, 10057 1505 00107 bsf PORTA, 200108 Delay 30058 3003 M movlw 30059 008D M movwf xxx005A 2005 M call Delay1ms0010900110 ; bsf PORTA, 0 ;10100111 ; bcf PORTA, 100112 ; bsf PORTA, 200113 ; Delay 2005B 2849 00114 goto rychle00115 ;______________________________________________________________00116005C 1105 00117 bcf PORTA, 2005D 1085 00118 bcf PORTA, 100119005E 00120 smycka:005E 1C06 00121 btfss PORTB, 0005F 2861 00122 goto LEDon0060 285E 00123 goto smycka0061 00124 LEDon:0061 1585 00125 bsf PORTA, 3 ;Rozsvit LED00126 Delay 2500062 30FA M movlw 2500063 008D M movwf xxx0064 2005 M call Delay1ms0065 1185 00127 bcf PORTA, 3 ;Zhasni LED00128 Delay 2500066 30FA M movlw 2500067 008D M movwf xxx0068 2005 M call Delay1ms0069 285E 00129 goto smycka00130 ;---------------001310013200133001340013500136 ;----------------------------00137 ; Definice promenych00138 ;----------------------------0013900140 cblock00141MPASM 02.80 Released OVLAD.ASM 7-21-2002 12:49:43 PAGE 7LOC OBJECT CODE LINE SOURCE TEXTVALUE0000000E 00142 CT10000000F 00143 CT20014400145 endc0014600147 endMPASM 02.80 Released OVLAD.ASM 7-21-2002 12:49:43 PAGE 8SYMBOL TABLELABEL VALUECMPCT1 0000000ECT2 0000000FDelayDelay01Delay1ms 00000005EEADR_0 00000009EECON1_1 00000008EECON2_1 00000009EEDATA_0 00000008FSR 00000004IND0 00000000INTCON 0000000BLEDon 00000061MainLoop 00000026PCL 00000002PCLATH 0000000APORTA 00000005PORTB 00000006SBSCSNSNBSNCSNZSPSTATUS 00000003SZStart 00000017TMR0 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-21-2002 12:49:43 PAGE 9SYMBOL TABLELABEL VALUEble 0000003Apage0page1rozj 0000002Arychle 00000049smycka 0000005Eus10 0000000Cxxx 0000000Dyyy 0000000Czap 00000046MEMORY USAGE MAP ('X' = Used, '-' = Unused)0000 : X---XXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX0040 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXX------ ----------------All other memory blocks unused.Program Memory Words Used: 103Program Memory Words Free: 921Errors : 0Warnings : 0 reported, 0 suppressedMessages : 0 reported, 0 suppressed