Blame | Last modification | View Log | Download
MPASM 02.80 Released BUDIC1.ASM 7-30-2002 15:15:48 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 BUDIC1.ASM 7-30-2002 15:15:48 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 BUDIC1.ASM 7-30-2002 15:15:48 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 BUDIC1.ASM 7-30-2002 15:15:48 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:00043002A 30FA 00044 movlw 250 ; Pocet otacek jednoho kroku zrychleni002B 0090 00045 movwf CT300046002C 30AA 00047 movlw 170002D 0091 00048 movwf CT400049002E 3096 00050 movlw 150MPASM 02.80 Released BUDIC1.ASM 7-30-2002 15:15:48 PAGE 5LOC OBJECT CODE LINE SOURCE TEXTVALUE002F 0092 00051 movwf CT5000520030 30FA 00053 movlw 2500031 0092 00054 movwf CT5000550032 00056 rozj: ; Rozjezd0032 1405 00057 bsf PORTA, 00033 1085 00058 bcf PORTA, 1 ;1000034 1105 00059 bcf PORTA, 200060 Delay 60035 3006 M movlw 60036 008D M movwf xxx0037 2005 M call Delay1ms00061000620038 1405 00063 bsf PORTA, 0 ;1100039 1485 00064 bsf PORTA, 1003A 1105 00065 bcf PORTA, 200066 Delay 6003B 3006 M movlw 6003C 008D M movwf xxx003D 2005 M call Delay1ms00067003E 1005 00068 bcf PORTA, 0 ;010003F 1485 00069 bsf PORTA, 10040 1105 00070 bcf PORTA, 200071 Delay 50041 3005 M movlw 50042 008D M movwf xxx0043 2005 M call Delay1ms000720044 1005 00073 bcf PORTA, 0 ;0110045 1485 00074 bsf PORTA, 10046 1505 00075 bsf PORTA, 200076 Delay 50047 3005 M movlw 50048 008D M movwf xxx0049 2005 M call Delay1ms00077004A 1005 00078 bcf PORTA, 0 ;001004B 1085 00079 bcf PORTA, 1004C 1505 00080 bsf PORTA, 200081 Delay 5004D 3005 M movlw 5004E 008D M movwf xxx004F 2005 M call Delay1ms000820050 1405 00083 bsf PORTA, 0 ;1010051 1085 00084 bcf PORTA, 10052 1505 00085 bsf PORTA, 200086 Delay 50053 3005 M movlw 50054 008D M movwf xxxMPASM 02.80 Released BUDIC1.ASM 7-30-2002 15:15:48 PAGE 6LOC OBJECT CODE LINE SOURCE TEXTVALUE0055 2005 M call Delay1ms000870056 0B90 00088 decfsz CT3, f0057 2832 00089 goto rozj00090000910058 00092 rychle:0058 1405 00093 bsf PORTA, 00059 1085 00094 bcf PORTA, 1 ;100005A 1105 00095 bcf PORTA, 200096 Delay 3005B 3003 M movlw 3005C 008D M movwf xxx005D 2005 M call Delay1ms00097005E 3000 00098 movlw 0005F 0085 00099 movwf PORTA00100 Delay 50060 3005 M movlw 50061 008D M movwf xxx0062 2005 M call Delay1ms001010063 1005 00102 bcf PORTA, 0 ;0100064 1485 00103 bsf PORTA, 10065 1105 00104 bcf PORTA, 200105 Delay 30066 3003 M movlw 30067 008D M movwf xxx0068 2005 M call Delay1ms001060069 3000 00107 movlw 0006A 0085 00108 movwf PORTA00109 Delay 5006B 3005 M movlw 5006C 008D M movwf xxx006D 2005 M call Delay1ms00110006E 1005 00111 bcf PORTA, 0 ;001006F 1085 00112 bcf PORTA, 10070 1505 00113 bsf PORTA, 200114 Delay 30071 3003 M movlw 30072 008D M movwf xxx0073 2005 M call Delay1ms001150074 3000 00116 movlw 00075 0085 00117 movwf PORTA00118 Delay 50076 3005 M movlw 50077 008D M movwf xxx0078 2005 M call Delay1ms001190079 0B91 00120 decfsz CT4, fMPASM 02.80 Released BUDIC1.ASM 7-30-2002 15:15:48 PAGE 7LOC OBJECT CODE LINE SOURCE TEXTVALUE007A 2858 00121 goto rychle00122007B 00123 rychle2:00124007B 1405 00125 bsf PORTA, 0007C 1085 00126 bcf PORTA, 1 ;100007D 1105 00127 bcf PORTA, 200128 Delay 3007E 3003 M movlw 3007F 008D M movwf xxx0080 2005 M call Delay1ms001290081 3000 00130 movlw 00082 0085 00131 movwf PORTA00132 Delay 30083 3003 M movlw 30084 008D M movwf xxx0085 2005 M call Delay1ms001330086 1005 00134 bcf PORTA, 0 ;0100087 1485 00135 bsf PORTA, 10088 1105 00136 bcf PORTA, 200137 Delay 30089 3003 M movlw 3008A 008D M movwf xxx008B 2005 M call Delay1ms00138008C 3000 00139 movlw 0008D 0085 00140 movwf PORTA00141 Delay 3008E 3003 M movlw 3008F 008D M movwf xxx0090 2005 M call Delay1ms001420091 1005 00143 bcf PORTA, 0 ;0010092 1085 00144 bcf PORTA, 10093 1505 00145 bsf PORTA, 200146 Delay 30094 3003 M movlw 30095 008D M movwf xxx0096 2005 M call Delay1ms001470097 3000 00148 movlw 00098 0085 00149 movwf PORTA00150 Delay 30099 3003 M movlw 3009A 008D M movwf xxx009B 2005 M call Delay1ms009C 0B92 00151 decfsz CT5, f009D 287B 00152 goto rychle200153009E 00154 rychle3:009E 1405 00155 bsf PORTA, 0MPASM 02.80 Released BUDIC1.ASM 7-30-2002 15:15:48 PAGE 8LOC OBJECT CODE LINE SOURCE TEXTVALUE009F 1085 00156 bcf PORTA, 1 ;10000A0 1105 00157 bcf PORTA, 200158 Delay 300A1 3003 M movlw 300A2 008D M movwf xxx00A3 2005 M call Delay1ms0015900A4 3000 00160 movlw 000A5 0085 00161 movwf PORTA00162 Delay 200A6 3002 M movlw 200A7 008D M movwf xxx00A8 2005 M call Delay1ms0016300A9 1005 00164 bcf PORTA, 0 ;01000AA 1485 00165 bsf PORTA, 100AB 1105 00166 bcf PORTA, 200167 Delay 300AC 3003 M movlw 300AD 008D M movwf xxx00AE 2005 M call Delay1ms0016800AF 3000 00169 movlw 000B0 0085 00170 movwf PORTA00171 Delay 200B1 3002 M movlw 200B2 008D M movwf xxx00B3 2005 M call Delay1ms0017200B4 1005 00173 bcf PORTA, 0 ;00100B5 1085 00174 bcf PORTA, 100B6 1505 00175 bsf PORTA, 200176 Delay 300B7 3003 M movlw 300B8 008D M movwf xxx00B9 2005 M call Delay1ms0017700BA 3000 00178 movlw 000BB 0085 00179 movwf PORTA00180 Delay 200BC 3002 M movlw 200BD 008D M movwf xxx00BE 2005 M call Delay1ms00BF 0B90 00181 decfsz CT3, f00C0 289E 00182 goto rychle30018300C1 00184 rychle4:00C1 1405 00185 bsf PORTA, 000C2 1085 00186 bcf PORTA, 1 ;10000C3 1105 00187 bcf PORTA, 200188 Delay 200C4 3002 M movlw 200C5 008D M movwf xxxMPASM 02.80 Released BUDIC1.ASM 7-30-2002 15:15:48 PAGE 9LOC OBJECT CODE LINE SOURCE TEXTVALUE00C6 2005 M call Delay1ms0018900C7 3000 00190 movlw 000C8 0085 00191 movwf PORTA00192 Delay 200C9 3002 M movlw 200CA 008D M movwf xxx00CB 2005 M call Delay1ms0019300CC 1005 00194 bcf PORTA, 0 ;01000CD 1485 00195 bsf PORTA, 100CE 1105 00196 bcf PORTA, 200197 Delay 200CF 3002 M movlw 200D0 008D M movwf xxx00D1 2005 M call Delay1ms0019800D2 3000 00199 movlw 000D3 0085 00200 movwf PORTA00201 Delay 200D4 3002 M movlw 200D5 008D M movwf xxx00D6 2005 M call Delay1ms0020200D7 1005 00203 bcf PORTA, 0 ;00100D8 1085 00204 bcf PORTA, 100D9 1505 00205 bsf PORTA, 200206 Delay 200DA 3002 M movlw 200DB 008D M movwf xxx00DC 2005 M call Delay1ms0020700DD 3000 00208 movlw 000DE 0085 00209 movwf PORTA00210 Delay 200DF 3002 M movlw 200E0 008D M movwf xxx00E1 2005 M call Delay1ms0021100E2 28C1 00212 goto rychle400213 ;______________________________________________________________0021400215 ;----------------------------00216 ; Definice promenych00217 ;----------------------------0021800219 cblock002200000000E 00221 CT10000000F 00222 CT200000010 00223 CT300000011 00224 CT400000012 00225 CT5MPASM 02.80 Released BUDIC1.ASM 7-30-2002 15:15:48 PAGE 10LOC OBJECT CODE LINE SOURCE TEXTVALUE00000013 00226 CT600227 endc0022800229 endMPASM 02.80 Released BUDIC1.ASM 7-30-2002 15:15:48 PAGE 11SYMBOL 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 BUDIC1.ASM 7-30-2002 15:15:48 PAGE 12SYMBOL TABLELABEL VALUE_ZERO 00000002__16C84__ 00000000__16F84 00000001page0page1rozj 00000032rychle 00000058rychle2 0000007Brychle3 0000009Erychle4 000000C1us10 0000000Cxxx 0000000Dyyy 0000000Czap 00000017MEMORY USAGE MAP ('X' = Used, '-' = Unused)0000 : X---XXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX0040 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX0080 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX00C0 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXX------------- ----------------All other memory blocks unused.Program Memory Words Used: 224Program Memory Words Free: 800Errors : 0Warnings : 0 reported, 0 suppressedMessages : 0 reported, 0 suppressed