Blame | Last modification | View Log | Download
MPASM 02.80 Released BUDIC.ASM 7-22-2002 17:00:57 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 BUDIC.ASM 7-22-2002 17:00:57 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 BUDIC.ASM 7-22-2002 17:00:57 PAGE 3LOC OBJECT CODE LINE SOURCE TEXTVALUE0000 281B 00005 goto Start00006 ;--------------------0004 00007 org 400008 ;--------------------0004 281B 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 BUDIC.ASM 7-22-2002 17:00:57 PAGE 4LOC OBJECT CODE LINE SOURCE TEXTVALUE00047 ;----------------------------00048 ; Definice promenych00049 ;----------------------------0005000051 cblock000520000000C 00053 yyy0000000D 00054 xxx0005500056 endc00057000120017 00013 zap:0017 080F 00014 movf CT2, w0018 008D 00015 movwf xxx ;xxx promena z delay.asm0019 2005 00016 call Delay1ms001A 0008 00017 return00018 ;----------------------------------------------------00019001B 00020 Start:00021 page1001B 1683 M bsf STATUS,_RP0001C 3000 00022 movlw 00000000B ; inicializace citace a prescaleru001D 0081 00023 movwf TMR0001E 3000 00024 movlw 00000000B ; konfigurace preruseni001F 008B 00025 movwf INTCON0002600027 page10020 1683 M bsf STATUS,_RP00021 3000 00028 movlw 00000000B ; nastaveni portu na vstup nebo vystup0022 0085 00029 movwf PORTA ; 1=vstup 0=vystup0023 3043 00030 movlw 01000011B0024 0086 00031 movwf PORTB000320025 1781 00033 bsf TMR0, 7 ; vypni pull-up na PORTB (OPTION registr)0003400035 page00026 1283 M bcf STATUS,_RP0000360027 0103 00037 clrw ; vynulovani portu0028 0085 00038 movwf PORTA0029 0086 00039 movwf PORTB0004000041002A 00042 MainLoop:00043 ; movlw 50 ; Otacky00044 ; movwf CT200045 ; movlw 45 ; Pocet kroku zrychleni00046 ; movwf CT100047 ;rozj2:00048 ; decf CT2, f0004900050MPASM 02.80 Released BUDIC.ASM 7-22-2002 17:00:57 PAGE 5LOC OBJECT CODE LINE SOURCE TEXTVALUE002A 30FA 00051 movlw 250 ; Pocet otacek jednoho kroku zrychleni002B 0090 00052 movwf CT300053002C 3096 00054 movlw 150002D 0091 00055 movwf CT400056002E 30C8 00057 movlw 200002F 0092 00058 movwf CT5000590030 30FA 00060 movlw 2500031 0092 00061 movwf CT5000620032 00063 rozj: ; Rozjezd0032 1405 00064 bsf PORTA, 00033 1085 00065 bcf PORTA, 1 ;1000034 1105 00066 bcf PORTA, 200067 Delay 50035 3005 M movlw 50036 008D M movwf xxx0037 2005 M call Delay1ms0006800069 ; call zap000700038 1405 00071 bsf PORTA, 0 ;1100039 1485 00072 bsf PORTA, 1003A 1105 00073 bcf PORTA, 200074 Delay 5003B 3005 M movlw 5003C 008D M movwf xxx003D 2005 M call Delay1ms00075003E 1005 00076 bcf PORTA, 0 ;010003F 1485 00077 bsf PORTA, 10040 1105 00078 bcf PORTA, 200079 Delay 40041 3004 M movlw 40042 008D M movwf xxx0043 2005 M call Delay1ms000800044 1005 00081 bcf PORTA, 0 ;0110045 1485 00082 bsf PORTA, 10046 1505 00083 bsf PORTA, 200084 Delay 40047 3004 M movlw 40048 008D M movwf xxx0049 2005 M call Delay1ms00085004A 1005 00086 bcf PORTA, 0 ;001004B 1085 00087 bcf PORTA, 1004C 1505 00088 bsf PORTA, 200089 Delay 3004D 3003 M movlw 3004E 008D M movwf xxxMPASM 02.80 Released BUDIC.ASM 7-22-2002 17:00:57 PAGE 6LOC OBJECT CODE LINE SOURCE TEXTVALUE004F 2005 M call Delay1ms000900050 1405 00091 bsf PORTA, 0 ;1010051 1085 00092 bcf PORTA, 10052 1505 00093 bsf PORTA, 200094 Delay 30053 3003 M movlw 30054 008D M movwf xxx0055 2005 M call Delay1ms000950056 0B90 00096 decfsz CT3, f0057 2832 00097 goto rozj0009800099 ; decfsz CT1, f00100 ; goto rozj200101 ; goto rozj001020058 00103 rychle:0058 1405 00104 bsf PORTA, 00059 1085 00105 bcf PORTA, 1 ;100005A 1105 00106 bcf PORTA, 200107 Delay 2005B 3002 M movlw 2005C 008D M movwf xxx005D 2005 M call Delay1ms00108005E 3000 00109 movlw 0005F 0085 00110 movwf PORTA00111 Delay 30060 3003 M movlw 30061 008D M movwf xxx0062 2005 M call Delay1ms001120063 1005 00113 bcf PORTA, 0 ;0100064 1485 00114 bsf PORTA, 10065 1105 00115 bcf PORTA, 200116 Delay 20066 3002 M movlw 20067 008D M movwf xxx0068 2005 M call Delay1ms001170069 3000 00118 movlw 0006A 0085 00119 movwf PORTA00120 Delay 3006B 3003 M movlw 3006C 008D M movwf xxx006D 2005 M call Delay1ms00121006E 1005 00122 bcf PORTA, 0 ;001006F 1085 00123 bcf PORTA, 10070 1505 00124 bsf PORTA, 200125 Delay 20071 3002 M movlw 2MPASM 02.80 Released BUDIC.ASM 7-22-2002 17:00:57 PAGE 7LOC OBJECT CODE LINE SOURCE TEXTVALUE0072 008D M movwf xxx0073 2005 M call Delay1ms001260074 3000 00127 movlw 00075 0085 00128 movwf PORTA00129 Delay 30076 3003 M movlw 30077 008D M movwf xxx0078 2005 M call Delay1ms001300079 0B91 00131 decfsz CT4, f007A 2858 00132 goto rychle00133007B 00134 rychle2:00135007B 1405 00136 bsf PORTA, 0007C 1085 00137 bcf PORTA, 1 ;100007D 1105 00138 bcf PORTA, 200139 Delay 1007E 3001 M movlw 1007F 008D M movwf xxx0080 2005 M call Delay1ms001400081 3000 00141 movlw 00082 0085 00142 movwf PORTA00143 Delay 30083 3003 M movlw 30084 008D M movwf xxx0085 2005 M call Delay1ms001440086 1005 00145 bcf PORTA, 0 ;0100087 1485 00146 bsf PORTA, 10088 1105 00147 bcf PORTA, 200148 Delay 10089 3001 M movlw 1008A 008D M movwf xxx008B 2005 M call Delay1ms00149008C 3000 00150 movlw 0008D 0085 00151 movwf PORTA00152 Delay 3008E 3003 M movlw 3008F 008D M movwf xxx0090 2005 M call Delay1ms001530091 1005 00154 bcf PORTA, 0 ;0010092 1085 00155 bcf PORTA, 10093 1505 00156 bsf PORTA, 200157 Delay 10094 3001 M movlw 10095 008D M movwf xxx0096 2005 M call Delay1ms00158MPASM 02.80 Released BUDIC.ASM 7-22-2002 17:00:57 PAGE 8LOC OBJECT CODE LINE SOURCE TEXTVALUE0097 3000 00159 movlw 00098 0085 00160 movwf PORTA00161 Delay 30099 3003 M movlw 3009A 008D M movwf xxx009B 2005 M call Delay1ms009C 0B92 00162 decfsz CT5, f009D 287B 00163 goto rychle200164009E 00165 rychle3:009E 1405 00166 bsf PORTA, 0009F 1085 00167 bcf PORTA, 1 ;10000A0 1105 00168 bcf PORTA, 200169 Delay 100A1 3001 M movlw 100A2 008D M movwf xxx00A3 2005 M call Delay1ms0017000A4 3000 00171 movlw 000A5 0085 00172 movwf PORTA00173 Delay 200A6 3002 M movlw 200A7 008D M movwf xxx00A8 2005 M call Delay1ms0017400A9 1005 00175 bcf PORTA, 0 ;01000AA 1485 00176 bsf PORTA, 100AB 1105 00177 bcf PORTA, 200178 Delay 100AC 3001 M movlw 100AD 008D M movwf xxx00AE 2005 M call Delay1ms0017900AF 3000 00180 movlw 000B0 0085 00181 movwf PORTA00182 Delay 200B1 3002 M movlw 200B2 008D M movwf xxx00B3 2005 M call Delay1ms0018300B4 1005 00184 bcf PORTA, 0 ;00100B5 1085 00185 bcf PORTA, 100B6 1505 00186 bsf PORTA, 200187 Delay 100B7 3001 M movlw 100B8 008D M movwf xxx00B9 2005 M call Delay1ms0018800BA 3000 00189 movlw 000BB 0085 00190 movwf PORTA00191 Delay 200BC 3002 M movlw 200BD 008D M movwf xxxMPASM 02.80 Released BUDIC.ASM 7-22-2002 17:00:57 PAGE 9LOC OBJECT CODE LINE SOURCE TEXTVALUE00BE 2005 M call Delay1ms00192 ; decfsz CT3, f00BF 289E 00193 goto rychle30019400195 ;rychle4:00196 ; bsf PORTA, 000197 ; bcf PORTA, 1 ;10000198 ; bcf PORTA, 200199 ; Delay 100200 ;00201 ; movlw 000202 ; movwf PORTA00203 ; Delay 100204 ;00205 ; bcf PORTA, 0 ;01000206 ; bsf PORTA, 100207 ; bcf PORTA, 200208 ; Delay 100209 ;00210 ; movlw 000211 ; movwf PORTA00212 ; Delay 100213 ;00214 ; bcf PORTA, 0 ;00100215 ; bcf PORTA, 100216 ; bsf PORTA, 200217 ; Delay 100218 ;00219 ; movlw 000220 ; movwf PORTA00221 ; Delay 100222 ;00223 ; goto rychle40022400225 ;______________________________________________________________0022600227 ;----------------------------00228 ; Definice promenych00229 ;----------------------------0023000231 cblock002320000000E 00233 CT10000000F 00234 CT200000010 00235 CT300000011 00236 CT400000012 00237 CT500000013 00238 CT600239 endc0024000241 endMPASM 02.80 Released BUDIC.ASM 7-22-2002 17:00:57 PAGE 10SYMBOL TABLELABEL VALUECMPCT1 0000000ECT2 0000000FCT3 00000010CT4 00000011CT5 00000012CT6 00000013DelayDelay01Delay1ms 00000005EEADR_0 00000009EECON1_1 00000008EECON2_1 00000009EEDATA_0 00000008FSR 00000004IND0 00000000INTCON 0000000BMainLoop 0000002APCL 00000002PCLATH 0000000APORTA 00000005PORTB 00000006SBSCSNSNBSNCSNZSPSTATUS 00000003SZStart 0000001BTMR0 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 00000004MPASM 02.80 Released BUDIC.ASM 7-22-2002 17:00:57 PAGE 11SYMBOL TABLELABEL VALUE_ZERO 00000002__16C84__ 00000000__16F84 00000001page0page1rozj 00000032rychle 00000058rychle2 0000007Brychle3 0000009Eus10 0000000Cxxx 0000000Dyyy 0000000Czap 00000017MEMORY USAGE MAP ('X' = Used, '-' = Unused)0000 : X---XXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX0040 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX0080 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXAll other memory blocks unused.Program Memory Words Used: 189Program Memory Words Free: 835Errors : 0Warnings : 0 reported, 0 suppressedMessages : 0 reported, 0 suppressed